Владимир R Schamber55
Рейтинг
1 153
№ 1 272 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Город
Potsdam
На сайте с
2025 года
Юридический статус
Самозанятый

Автоматизация hreflang для 7 сайтов WordPress: en-US/en-CA/en-GB/en-NZ/en-SG/en-AE/en-ZA + x-default

Описание

Клиенту нужно было настроить hreflang на масштабе для сети из 7 отдельных сайтов WordPress на разных доменах (не multisite). Язык один (English), регионы разные: en-US, en-CA, en-GB, en-NZ, en-SG, en-AE, en-ZA + x-default.
На каждом сайте — до ~1 500 страниц, контент регулярно пополняется.

Основная сложность: страницы есть не на всех доменах одновременно. Если выводить “статичный” набор hreflang для каждой страницы, он быстро начинает ссылаться на 404/редиректы, появляются ошибки валидаторов и “сломанные” кластеры с отсутствующими обратными ссылками (return tags).

Цель проекта: настроить корректный hreflang в <head> без ручной привязки страниц, чтобы система оставалась стабильной при добавлении новых страниц и при работе кэша/CDN.

Решение

Сделал лёгкое кастомное решение на WordPress в виде отдельного плагина, которое автоматизирует hreflang для страниц по шаблону /store/{slug}/.

Что реализовано:

Настроена строгая карта домен → locale: en-US, en-CA, en-GB, en-NZ, en-SG, en-AE, en-ZA и x-default (fallback на основной домен).

Важный нюанс: для основного домена выводится en-US и отдельно x-default (как fallback).

Главный принцип: hreflang выводится только для тех доменов, где страница реально существует (HTTP 200) — без “угадывания” и без ссылок на 404/редиректы.

Как определялось “существует ли slug на другом домене”:

Вместо медленных кросс-доменных проверок при каждом просмотре страницы, использовал store-sitemap каждого сайта как источник правды.

Из sitemap собирается список доступных /store/{slug}/ и кэшируется по доменам.

Добавил инструмент для безопасного обновления кэша (sync) по кнопке — можно запускать в любой момент.

Внедрение:

Старт на staging, затем пилот только на разделе /store/.

После проверки — раскатка на остальные домены, контроль отсутствия дублей hreflang от других плагинов/настроек, очистка кэшей.

Результат

Корректный блок <link rel="alternate" hreflang="…"> выводится в <head> на страницах /store/{slug}/ по всем доменам.

Hreflang формируется только для реально существующих страниц, поэтому нет ссылок на 404/редиректы.

Проверка краулером показала стабильную картину:

0 non-200 hreflang URLs

0 Missing Return Links (после полной раскатки и очистки кэша)

Настроен удобный процесс сопровождения: при добавлении новых страниц достаточно обновить sitemap-кэш (без ручной привязки страниц).

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Онлайн калькулятор расхода ЛКМ по действующему ГОСТ для промышленной компании.
Онлайн калькулятор расхода ЛКМ по действующему ГОСТ для промышленной компании.
97
Веб-разработка и IT TenderCRM Pro — настольная CRM для тендеров: дедлайны, чек-листы, напоминания (Windows 11)
TenderCRM Pro — настольная CRM для тендеров: дедлайны, чек-листы, напоминания (Windows 11)
56
Веб-разработка и IT Форма заявки для бронирования трансфера на 4-х языках (WordPress-плагин)
Форма заявки для бронирования трансфера на 4-х языках (WordPress-плагин)
79
Веб-разработка и IT Контентный сайт ForGamblers.io — гид по онлайн-казино Канады
Контентный сайт ForGamblers.io — гид по онлайн-казино Канады
123