Чотири правила, які забезпечують інтерпретацію набору
Hreflang — це кластер анотацій, тому помилки з одного боку можуть вплинути на те, як Google інтерпретує зв’язок. Google каже, що відсутні зворотні посилання або інші недійсні анотації можуть бути проігноровані або неправильно інтерпретовані; це не обіцяє, що одна помилка завжди анулює весь кластер.
- Повний: кожна версія в групі перелічує всі інші версії.
- Взаємне: якщо X вказує на Y, Y має вказувати назад на X. Відсутні зворотні посилання можуть спричинити ігнорування або неправильне тлумачення анотацій.
- Із самопосиланням: кожна сторінка перелічує саму себе поряд з іншими.
- Дійсний: коди мають читатися як справжні коди мови та регіону.
Правило взаємності вловлює команди, оскільки hreflang описує зв’язки між сторінками, а не властивість однієї сторінки окремо. Розгортайте відповідні зворотні посилання разом, щоб кожен опублікований зв’язок був завершеним, коли Google сканує будь-яку сторону.
Де розміщувати анотації
Доступні три розміщення, і за дією вони рівноцінні. Оберіть одне й користуйтеся ним усюди — змішувати їх по сайту означає отримати наполовину оголошені набори.
| Спосіб | Найкраще для | На що зважати |
|---|---|---|
| Елементи link у HTML | Малі та середні сайти | Вага сторінки, коли версій багато |
| Заголовки HTTP | PDF та інші файли поза HTML | Обмеження розміру заголовків на великих наборах |
| Записи в карті сайту | Великі сайти, багато мов | Тримати їх в узгодженні із самими сторінками |
<link rel="alternate" hreflang="en" href="https://example.com/guide/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/guide/" />
<link rel="alternate" hreflang="pt-br" href="https://example.com/pt-br/guide/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/guide/" /> Зверніть увагу, що англійська сторінка в прикладі перелічує саму себе. Це і є самопосилання, і його відсутність — з великим відривом найпоширеніший дефект у решті уважних реалізацій, бо воно виглядає надлишковим і для будь-кого, хто впорядковує шаблон, читається як помилка.
Коди й ті, яких не існує
Мова — це ISO 639-1. За нею необов'язково може йти дефіс і регіон за ISO 3166-1 Alpha 2. Сам лише регіон ніколи не дійсний: неможливо сказати «ця сторінка для Канади», не сказавши, якою мовою.
| Код | Присуд | Чому |
|---|---|---|
| uk | Дійсний — це українська | uk означає українську мову, а не Велику Британію |
| uk-UA | Дійсний | Українська, як її пишуть для України |
| UA | Недійсний | Регіон без мови |
| en-GB | Дійсний | Англійська для Великої Британії; її код — GB |
| eu | Недійсний як регіон | ЄС не є кодом країни |
| en-UK | Недійсний | Кодом країни для Великої Британії є GB |
Для чого призначений x-default
x-default ловить мови, яких ви не перелічили. Це запасний варіант для відвідувача, чия мова не збігається з жодною з ваших версій, і його природне місце — сторінка вибору або головна сторінка, що сама скеровує відвідувачів.
Це не спосіб призначити основну версію. Спрямувати x-default на англійську сторінку, бо англійська відчувається як усталена, означає сказати системі, що незіставлений відвідувач із Японії чи Туреччини має отримати англійську. Можливо, це й так — але вирішувати це варто свідомо, а не за звичкою.
Hreflang і канонічна адреса — різні роботи
Ця пара плутається частіше за будь-яку іншу в технічному SEO, і наслідок помилки тяжкий. Канонічна адреса каже «індексуй цю іншу URL замість мене». Hreflang каже «ця інша URL — той самий вміст для іншої аудиторії».
Спрямуйте канонічну адресу вашої німецької сторінки на англійську — і ви сказали системі, що німецьку взагалі не слід індексувати. Це прибирає її з результатів і водночас ламає набір hreflang, який на неї посилався. Кожна локалізована сторінка має бути канонічною сама до себе й описувати сестер через hreflang.