Не так давно, Яндекс стал учитывать атрибут rel="canonical" . Я в этом убедился на своей шкуре. Специальных экспериментов не ставил, просто так получилось. ) Читайте.
В конце мая этого года, на официальном блоге яндекс поиска была опубликована новость – “Поддержка атрибута rel=”canonical” роботом Яндекса [1]”. Яндекс наконец-то стал учитывать атрибут canonical.
Атрибут тега <link> rel="canonical" используется для того, чтобы объяснить поисковому роботу, какая страница сайта является канонической. Если сайт имеет две или более страниц с одинаковым содержанием, но с разными адресами, то тег показывает роботам, какую страницу следует считать канонической. Яндекс.Помощь вебмастеру: rel="canonical" [2]
Непроизвольный эксперимент с атрибутом rel="canonical"
Эксперимент №1 — Кривые темы WordPress
В некоторых темах wordpress сделан вывод тега <link> с атрибутом rel="canonical". Тема этого блога сделана на основе одной из готовых тем, где как раз и был сделан вывод тега <link> с атрибутом canonical.
Я проверял корректность вывода url указанного в этом теге в статьях, но не проверял корректность url в рубриках и на главной странице. Так бы и не заметил ошибки, если бы яндекс не стал учитывать canonical.
После очередного обновления поисковой базы, я увидел, что в выдаче яндекса по запросу, которому соответствует последняя опубликованная на блоге запись, появилась главная страница блога. Заголовок сниппета в выдаче был как у последней статьи.
Почему?!
Я сразу сел писать гневное письмо Платону — как так, что там у вас за баги.
Написал. Перед отправкой письма, на всякий случай, решил посмотреть код страниц блога. Посмотрел. )) В коде главной страницы, я увидел, что в теге с атрибутом rel="canonical" отображается url последней записи на блоге, а на страницах рубрик, отображается url последней записи опубликованной в этой рубрике. То есть, ошибки у меня на сайте. Пока Яндекс не учитывал canonical, я этого не замечал.
Тема WordPress, на основе которой была сделана моя тема блога, была сделана криво. На главной странице и в рубриках, в теге <link> с атрибутом rel="canonical", выводился url последних записей, а не url главной и рубрик.
Код в шаблоне header.php был такой:
<link rel="canonical" href="<?php the_permalink(); ?>" />
Исправил. Теперь всё нормально.
Но и это ещё не всё. )
Эксперимент №2 — Кривые руки
В какой-то момент заметил, что один мой сайт, который имел около 30 страниц в индексе, вылетел из индекса. Сначала осталось 5 страниц. Я подумал АГС. После следующего обновления поисковой базы, осталась только главная страница. Бан, подумал я. )
В принципе, было за что. Контента мало, а полезного — совсем нету. Предположил, что какой-то интересный запрос попал в топ и кто-то пожаловался. Как итог, наложение фильтра. Плюс прогонял сайт по трастовым профилям. Может фильтр за спамные ссылки.
Расстроился и смирился. Забыл на несколько дней. Потом в один прекрасный день подумал, а вдруг это тоже связано с тем, что яндекс стал учитывать атрибут canonical. Вдруг и там накосячил с этим атрибутом.
И точно. На всех страницах сайта выводился url главной страницы. Посмотрел данные по сайту в панели вебмастера. Робот исключил все страницы именно из-за того, что на всех страницах была указана главная страница как каноническая.
В коде документа в тэге link содержится параметр rel="canonical", указывающий на другой (канонический) документ. Вместо данного документа проиндексирован канонический.
Исправил. Вернее, совсем убрал этот тег.
Часть страниц через пару АПов вернулась в индекс. Вернуться и остальные.
Странно, но Google всё показывал как надо. Главная – с заголовком главной, посты – со своими заголовками. Может тоже учитывал, но по своему. )
Вот такой практический пример того, что Яндекс теперь действительно учитывает атрибут canonical. Да ещё как учитывает. ) Лучше не прописывать тег link с canonical’ом, чем прописать криво.