hreflang: розмітка мовних версій
hreflang — розмітка, яка повідомляє пошуку, що у сторінки є версії на інших мовах або для інших країн, і яка кому призначена. Без неї багатомовний сайт ризикує конкурувати сам з собою.
Як це виглядає
На кожній мовній версії перераховуються всі версії, включаючи її саму, з вказівкою мови і за необхідності регіону. Додатково вказують запасний варіант для решти країн. Розмітка розміщується в коді сторінки, у заголовках відповіді або в карті сайту — спосіб не важливий, важлива повнота.
Правила, які порушують найчастіше
| Правило | Що ламається при порушенні |
|---|---|
| Посилання повинні бути взаємними | Одностороння розмітка ігнорується цілком |
| Кожна версія посилається і на себе | Набір вважається неповним |
| Адреси — канонічні і робочі | Редирект або 404 обнуляє зв'язок |
| Код мови за стандартом | Описка в коді вимикає правило |
| Регіон вказується тільки разом з мовою | Один регіон без мови не працює |
Коли вона потрібна
- Сайт існує на кількох мовах.
- Є версії на одній мові для різних країн — наприклад, для України та Польщі.
- Частина контенту перекладена, а частина ні: тоді розмічають тільки реально існуючі пари.
Часте непорозуміння: мова і країна
Код мови обов'язковий, код країни — ні. Запис тільки з мовою означає «ця версія для всіх, хто читає цією мовою», а з мовою і країною — «для цієї мови в цій країні». Вказувати один регіон без мови не можна: така строка ігнорується. І пам'ятайте, що регіон тут про країну користувача, а не про те, де стоїть сервер.
Як перевірити
Подивіться вихідний код сторінки і переконайтеся, що версії перераховані повністю і взаємно. У нашій базі знань, наприклад, кожна стаття існує на чотирьох мовах зі своєю адресою — і пов'язані вони саме цією розміткою; подробиці в статті про мовні версії.