Исключенные страницы: документ является неканоническим

Очень странная произошла вещь с одним сайтом, созданном на OpenCart. Все страницы выпали из индекса Яндекса — осталось только одна — главная. Первая мысль — сайт попал под фильтр. Но это не обычный сайт, а интернет-магазин, который, кстати, приносит доход его владельцу.

Я впервые написал Платону Щукину с просьбой указать причину происшедшего.

Что же это могло произойти? Описание товаров почти все уникальные, сайт еще не продвигался и обратных ссылок пока нет.

Неканонический документ

baranq / Shutterstock.com

В панели Яндекс.Вебастера в разделе «Исключенные страницы» находится информация о страницах, которые не были проиндексированы роботом.

В этом разделе находится информация о страницах, которые не были проиндексированы роботом при посещении сайта. Часто индексирование страниц намеренно запрещается вебмастером – это не является ошибкой и исправления не требует. Иногда могут возникать неполадки на стороне вашего сервера или сайта, что ведет к нежелательному исключению страниц, в этом случае проблему рекомендуется устранить.

В настройках вы самостоятельно можете указать, к какой категории относится та или иная причина исключения.

Страницы запрещены к индексированию вебмастером или не существуют
HTTP-статус: Ресурс не найден (404) ? 1
Документ запрещен в файле robots.txt ? 21
Документ является неканоническим ? 109

Я проверил все три категории

Ресурс не найден

Там все ОК, судя по всему кто-то набирал УРЛ в адресной строке и ошибся.

Документ запрещен в файле robots.txt

Я проверил, здесь всё правильно, эти страницы индексировать не нужно.

 

/index.php?route=account/account
/index.php?route=account/address
/index.php?route=account/download
/index.php?route=account/edit
/index.php?route=account/forgotten
/index.php?route=account/login
/index.php?route=account/newsletter
/index.php?route=account/order
/index.php?route=account/password
/index.php?route=account/register
/index.php?route=account/return
/index.php?route=account/return/insert
З/index.php?route=account/transaction
/index.php?route=account/wishlist
/index.php?route=affiliate/account
/index.php?route=checkout/cart
/index.php?route=checkout/checkout
/index.php?route=checkout/quickcheckout
/index.php?route=checkout/voucher
/index.php?route=product/search
/index.php?route=product/search&filter_tag=Product Name

 

Документ является неканоническим

А вот тут уже интересно.

В коде документа в тэге содержится параметр rel=»canonical», содержащий канонический адрес страницы, по которому она индексируется роботом. Как правило, тег с атрибутом rel=»canonical» прописывают на дублирующих страницах сайта, в этом случае ничего исправлять не требуется.

Если страницы дублями не являются и должны индексироваться роботом, то вам необходимо убрать атрибут из их исходного кода. Более подробную информацию об использовании rel=»canonical» вы можете прочитать на следующей странице нашей Помощи.

Также в этом разделе могут присутствовать страницы, содержащие в коде документа мета-тег, и поэтому вместо них индексируются html-версии. Подробнее об индексировании AJAX-сайтов вы также можете прочитать в нашей Помощи.

Далее идет список УРЛ карточек продуктов (здесь их приводить не буду).

Теперь давайте размышлять вместе. Значит так. Что мы имеем? >Недоработку в OpenCart или странную реакцию Яндекса?

Смотрим что находится в коде страницы товара. Да там есть тег <link> с параметром rel=»canonical».

<link href="http://site.ru/product-name" rel="canonical" />

Дело в том, что УРЛ, указанный в теге <link> совпадает с УРЛ самой страницы. Она что камикадзе? Что за суицит такой? Я понимаю, если бы УРЛ страницы, в коде которой был бы этот тег, указывающий на оригинал, тогда вопросов нет.

Теперь проверяем страницу этого поста моего блога, который работает на Вордпресс.

<link rel="canonical" href="http://www.fortress-design.com/isklyuchennye-stranicy-dokument-yavlyaetsya-nekanonicheskim/" />

И что? И чем отличаются теги на этих двух страницах? Только тем, что у OpenCart rel="canonical" после ссылки, у WordPress — вначале. Но при этом мой блог отлично индексируется. Почему так? Где логика?

Значит Яндекс думает, что в Опенкарт эти карточки товара неканонические, а являются дублями оригинальных страниц. Но они как раз и являются оригиналами. Мда, наверное придется убирать из кода этот тег. Зачем мне проблемы? То что не нужно, я и сам закрою от индексации в robots.txt.

Читаем из Помощи Яндекса

Атрибут rel=»canonical» тега <link>

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

<code>www.site.ru/pages?id=2
www.site.ru/blog</code>

Если предпочитаемый адрес — /blog, это нужно отразить в коде страницы /pages?id=2:

<code>&lt;link rel="canonical" href="http://www.examplesite.ru/blog"/&gt;</code>

Робот считает ссылку с атрибутом rel=»canonical» не строгой директивой, а предлагаемым вариантом, который учитывается, но может быть проигнорирован.

Например, робот может не использовать указанный вами адрес, если:

  • Документ по каноническому адресу недоступен для индексирования.
  • В качестве канонического адреса указывается URL в другом домене или поддомене.
  • Вы указали несколько канонических адресов.
  • Martin

    Так решение было найдено? Как убрать этот атрибут?

    • http://www.fortress-design.com fortresseo

      Martin, конечно этот тэг убрать было несложно, просто просмотрел все исходники, где генерится этот код и убрал его. Вот и все.

  • Евгений

    Подскажите пожалуйста в каком файле и что нужно удалить чтобы атрибут rel=»canonical» не был на страницах с товаром?

    • http://www.fortress-design.com fortresseo

      Я поиском в Дримвивере прошелся по сайту и он сам нашел все страницы.

  • Vladimir

    Здравствуйте. Обратил внимание, что на моем сайте (под OpenCart) такая же ситуация. Большое количество страниц у которых атрибут canonical, ссылающихся на свою же страницу, исключены из поиска.

    И еще я обратил внимание на порядок следования атрибутов. Может попробовать поменять порядок атрибутов в соответствии с примером, указанным на Yandex?

    А теперь вопрос, а как это можно сделать? Я не силен в html. Кто-нибудь может подсказать в каких файлах и что надо написать, чтобы атрибуты поменялись местами?
    Заранее благодарю.

    • http://www.fortress-design.com fortresseo

      Владимир, приведите, пожалуйста, пример, указанный Яндексом. И фрагмент кода с вашего сайта. И мы сравним, как отличается порядок следования атрибутов.

  • Роман

    Так как все таки убрали каноникал на страницах товара?

    • http://www.fortress-design.com fortresseo

      Открыл в редакторе страницу с кодом и удалил строку, где написано каноникал вот и всё.

      • Роман

        так это убирает со всех товаров в том числе и с дублей тоже

        • http://www.fortress-design.com fortresseo

          Я сейчас не помню в одном ли файле я тогда удалял. Но если вы вносите изменение в один файл и строка исчезает со всех страниц, значит она формируется только кодом из одной страницы. Но лучше убрать со всех страниц, чем даже на основной будет стоять каноникал. А дубли страниц можно закрыть в robots.txt 🙂