Google: почему rel=canonical может игнорироваться на сайтах, использующих JS

Сотрудник Google Джон Мюллер ответил в Reddit на вопрос касательно проблем с атрибутом rel=canonical на сайте, использующем Angular JS.

Автор вопроса написал:

«У меня проблемы с каноническими URL на сайте, и я считаю, что это связано с Angular JS, используемым в HTML. Для тысяч страниц на сайте Google игнорирует каноническую ссылку и выбирает собственный вариант. Проблема в том, что страница, которую Google выбирает, неправильная».

Мюллер ответил так:

«В случае канонических ссылок первый вопрос со стороны Google будет таким: “Эти URL для одинакового контента?”. Если контент разный, то почему Google должен думать иначе».

При наличии проблем ответ обычно попадает в одну из двух категорий:

  • Эти URL возвращают преимущественно одинаковый контент;
  • URL-структура настолько запутана, что Google не может эффективно проверить их все и должен угадывать.

Далее Мюллер коснулся непосредственно JavaScript:

«В случае JS-сайтов причина обычно находится на стороне контента. Например, если вы используете настройку типа SPA, где статический HTML преимущественно одинаковый, а чтобы увидеть уникальный контент, должен быть запущен JavaScript, то если этот JS не может быть выполнен должным образом, то контент в конечном итоге будет выглядеть одинаковым».

Есть несколько причин, почему JavaScript может не выполняться так, как следует. В их числе:

  • «Капризный» код;
  • Иногда ресурсы (JS-файлы) или ответы сервера (запросы API и т.п.) могут блокироваться robots.txt;
  • Иногда JS просто требует слишком много времени для обработки.

Если код работает для Googlebot, что можно определить с помощью инструмента проверки оптимизации для мобильных устройств, тогда стоит оценить, не вызвана ли проблема скоростью обработки.

Но есть один нюанс – это отсутствие чёткого ориентира или жёсткой границы для проверки. Кроме того, страница редко загружается одинаково в ходе отдельных проверок.

Исходя из этого, Мюллер дал следующий совет:

«Мой способ – это посмотреть, сколько времени занимает проверка в инструменте оптимизации для мобильных устройств, а затем использовать webpagetest.org, чтобы узнать, сколько времени может занять загрузка критически важного/ уникального контента и как много ресурсов для этого требуется. Чем больше требуется ресурсов, тем больше времени уйдёт на загрузку критического контента и тем выше вероятность, что у Google возникнут проблемы с его индексацией».

В итоге Мюллер предположил, что Google может воспринимать обе страницы, приведённые автором вопроса, как имеющие одинаковый контент. Из этого следует, что поисковик не видит уникальный контент на каждой странице. Это может происходить потому, что загрузка уникального контента может требовать слишком большого количества запросов. Или же ответы возвращаются слишком долго. В результате Googlebot фокусируется на HTML, а не контенте, загружаемом с помощью JavaScript.

Решить эту проблему можно путём уменьшения зависимостей и задержки, отметил Мюллер.

Напомним, с лучшими SEO-практиками по каноникализации URL можно ознакомиться в статье.

preview Яндекс выпустил бортовой компьютер для автомобилей

Яндекс выпустил бортовой компьютер для автомобилей

Яндекс представил собственный бортовой компьютер для автомобилей. Устройство можно установить вместо штатной мультимедийной системы или музыкального проигрывателя
preview Google News может прекратить работу в Европе

Google News может прекратить работу в Европе

Google рассматривает вопрос закрытия сервиса Google News в Европе
preview Роскомнадзор активизировал блокировку мессенджера Telegram

Роскомнадзор активизировал блокировку мессенджера Telegram

Роскомнадзор предпринял очередную попытку заблокировать запрещенный в России мессенджер Telegram - ведомство добавило в реестр запрещенных сайтов более 1000 IP-адресов
preview Google начал создавать блоки с ответами из PDF-файлов

Google начал создавать блоки с ответами из PDF-файлов

Западные вебмастера заметили, что Google начал создавать блоки с ответами из PDF-файлов. Ранее поисковик использовал с этой целью только фрагменты контента с сайтов
preview Французский регулятор оштрафовал Google на 50 млн евро за нарушение GDPR

Французский регулятор оштрафовал Google на 50 млн евро за нарушение GDPR

Национальная комиссия по информационным технологиям и свободе Франции (CNIL) оштрафовала Google на 50 млн евро за нарушение Общего регламента по защите данных пользователей ЕС...
preview Яндекс готовит перезапуск проекта Яндекс.Автобусы

Яндекс готовит перезапуск проекта Яндекс.Автобусы

Проект Яндекс.Автобусы будет закрыт в Беларуси, а в России продолжит работать в качестве агрегатора