Рейтинг: 1 153
не верифицирован
Всего отзывов: 0
  • Работ в портфолио: 8
  • Типовых услуг: 1
  • Работ на продажу: 1
  • Возраст: 42 года
  • Зарегистрирован: 07.09.2025
  • Образование: Cпециалитет
Был на сайте:

Автоматизация 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-кэш (без ручной привязки страниц).

Презентация проекта

2026-02-18_08-49-36.png

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

0