Що таке канонічна URL-адреса і коли її використовувати
Канонічна URL-адреса - це одна адреса, яку ви призначаєте справжньою версією сторінки, щоб пошукові системи консолідували кожен її дублікат в один результат. Ви заявляєте її через <link rel="canonical" href="..."> у <head> сторінки, або через заголовок відповіді Link, і адреса, яку ви вказуєте, має бути абсолютною.
Що насправді робить rel=canonical
Той самий контент зазвичай досяжний за більш ніж однією URL-адресою. Параметри відстеження, ідентифікатори сесії, кінцевий слеш, http поряд з https, www поряд з голим доменом, версія для друку, відсортований список: кожен із них - окрема URL-адреса, що обслуговує ті самі слова. Лишена без уваги, пошукова система обирає одну з них сама, і вона може обрати не ту, яку обрали б ви.
Канонічне посилання - це те, як ви робите цей вибір явним:
<link rel="canonical" href="https://example.com/shoes">
Link: <https://example.com/shoes>; rel="canonical"
Варто засвоїти дві властивості. По-перше, це підказка, а не інструкція. Google зважує її разом із редиректами, внутрішніми посиланнями, записами карти сайту й самим контентом, і може обрати, і обирає, інше канонічне посилання, ніж те, яке заявили ви. По-друге, воно консолідує, а не видаляє. Сигнали від дубліката накопичуються на канонічній версії, і саме цим воно відрізняється від noindex, де дублікат просто перестає існувати для пошуку.
Самопосилальні канонічні URL-адреси
Кожна індексована сторінка має заявляти саму себе своєю ж канонічною версією. Звучить надлишково, і це найкорисніший із трьох рядків, бо саме він нейтралізує параметри, яких ви не передбачили. Коли /shoes?utm_source=newsletter заявляє https://example.com/shoes, URL-адреса кампанії автоматично згортається в чисту замість того, щоб конкурувати з нею.
Три правила, щоб зробити це правильно: використовуйте абсолютні URL-адреси разом зі схемою, видавайте рівно один елемент canonical на сторінку (сторінка з двома конфліктними канонічними посиланнями отримує ігнорування обох), і тримайте канонічне посилання узгодженим з рештою ваших сигналів. Канонічне посилання, що вказує на URL-адресу, яка кудись редиректить, чи повертає 404, чи несе noindex, надсилає суперечливі інструкції й отримує знижку в довірі.
Міждоменні канонічні URL-адреси
Канонічне посилання може вказувати на інший домен. Це правильний механізм, коли ви синдикуєте статтю на партнерський сайт чи агрегатор новин: копія на їхньому домені заявляє вашу URL-адресу канонічною, тож пошукові рейтинги накопичуються на вашому оригіналі, а не на їхній републікації.
Це також те, що робить канонічні посилання небезпечними. Ніщо не заважає сторінці номінувати URL-адресу на хості, з яким у неї немає жодного зв'язку, і ніщо в синтаксисі не робить випадкове міждоменне канонічне посилання таким, що виглядає неправильним. Саме звідси береться збій staging.
Збій staging-канонічного посилання
Більшість фреймворків і систем керування контентом будують канонічне посилання, з'єднуючи налаштовану базову URL-адресу з поточним шляхом. Ця базова URL-адреса живе у змінній середовища, рядку опції бази даних чи конфігураційному файлі, і вона різна в кожному середовищі. Коли значення staging потрапляє в продакшн, кожна сторінка на живому сайті заявляє, що справжня версія живе за адресою https://staging.example.com/....
Те, що відбувається далі, тихе й повільне. Живі сторінки й далі повертають 200 і й далі обслуговують правильний контент. Але кожна з них каже Google, що авторитетна копія десь-інде, а те десь-інде або недосяжне, або захищене паролем, або має noindex. Сторінки починають випадати з результатів по одному повторному обходу за раз, і оскільки немає помилки, за якою можна було б сповістити, перший сигнал зазвичай - графік трафіку тижнем пізніше. Виправлення описано в посібнику виправлення канонічного посилання, що вказує на staging.
Канонічне посилання, редирект чи noindex
Ці три вживають як взаємозамінні, а вони не взаємозамінні:
- 301-редирект - коли дублікат взагалі не має бути досяжним. Найсильніший наявний сигнал, і правильна відповідь для скасованої URL-адреси чи переїзду домену.
- rel=canonical - коли обидві URL-адреси мають лишатися досяжними, але ранжуватися має лише одна. Параметри, версії для друку, синдиковані копії, фільтровані списки.
- noindex - коли сторінка має лишатися досяжною й не має ранжуватися, а еквівалентної сторінки для консолідації немає. Внутрішні результати пошуку, сторінки подяки, розділи акаунта.
Не поєднуйте їх. Канонічне посилання на сторінці з noindex суперечливе, бо ви одночасно просите консолідацію в сторінку й просите ігнорувати цей самий зв'язок.
Перевірте, що ви насправді віддаєте
Читання шаблону - не перевірка, бо edge-воркери, плагіни й серверна логіка всі впроваджують канонічні посилання, яких немає у вашому репозиторії. Замість цього читайте відповідь: curl -s https://example.com/ | grep -i 'rel="canonical"'. Для однієї сторінки безкоштовний перевіряльник канонічних посилань розв'язує тег і каже, чи вказує він на саму сторінку, на іншу URL-адресу на тому самому хості, на http-версію чи на інший хост. Щоб перевірити весь сайт, безкоштовний інструмент обходу сайту звітує про статус канонічного посилання для кожної URL-адреси, позначаючи сторінки, де його немає, і сторінки, де воно вказує кудись-інде. Стежити за вашими ключовими сторінками на предмет дня, коли значення зміниться, - це те, що робить опція Indexability на HTTP-моніторі HostTracker - див. SEO-моніторинг.