hreflang

hreflang — это аннотация, сообщающая поисковому движку, что у страницы есть равнозначные версии на других языках или для других регионов, и какая из них какая. Её объявляют элементами link в head документа, HTTP-заголовками Link либо внутри XML-карты сайта; карту обычно проще всего держать корректной, потому что всё соответствие лежит в одном сгенерированном файле, а не повторяется на каждой странице каждой локали. Механика неумолима ровно в одном: набор должен быть взаимным. Каждая страница языковой группы обязана ссылаться на все остальные страницы группы, включая саму себя. Версию, на которую ссылаются, но которая не отвечает тем же, обычно игнорируют, и поскольку ошибка нигде не проявляется, неполный набор ведёт себя в точности как отсутствие аннотации. Запись x-default называет версию, которую отдавать, когда ни один из перечисленных языков посетителю не подходит. Второй надёжный источник ошибок — сами коды. Язык задаётся кодом ISO 639-1, за которым может следовать регион по ISO 3166-1 Alpha-2: значит en-GB, а не en-UK, — и вот что чаще всего сбивает: uk сам по себе означает украинский язык, а вовсе не Великобританию. Один только регион невалиден никогда; языковая часть обязательна. Стоит ясно проговорить, чего hreflang не делает. Это не фактор ранжирования, и он ничего не объединяет: два перевода остаются двумя страницами, конкурирующими по собственным заслугам каждая на своём рынке. Проблему дублей он тоже не решает — каждая локализованная страница должна нести каноникал на саму себя, а каноникал, ведущий с одного языка на другой, полностью отменяет аннотацию. Проверять стоит поломки структурные, а не редакторские: аннотации, ведущие на адреса с редиректом, с 404 или с noindex; новую локаль, появившуюся в маршрутах, но не в карте сайта; переводы, сгенерированные по адресу, о котором аннотация не знает. Генерируйте соответствие из того же источника, что и маршруты, и весь этот класс проблем исчезает.

Похожие термины

Ещё термины: Инструменты разработки