Вчера, в ходе небольшой, но очень интересной беседы, касаемой отношению поисковиков к дублям страниц, был затронут забавный аспект — индексируют ли поисковики содержимое страниц, адреса которых содержат символ решётки «#» (он же хеш, шарп и др.)? По логике вещей, индексация должна вестись, в противном случае сайты, владельцы которых не озадачиваются представлением однотипного содержимого двумя путями (с помощью технологии AJAX и/или обычного HTML), оказываются «в пролёте».
Известно, что наличие в адресной строке параметров, вида ?par1=1, может создавать дубль существующей страницы. При этом, поисковик склонен считать подобные адреса разными, но находя на них одинаковое содержимое, может применять различные санкции к сайту (вплоть до АГС, если сайт содержит множество дублей и уже имеет у ПС не очень хорошую репутацию). А как же поисковые системы ведут себя, встретив ссылку с символом хеша? Результат оказался для меня забавным и даже непредсказуемым.
В общем виде, схему адреса можно представить в виде:
протокол://доменное.имя/путь?параметры#якорь
При этом, параметров может быть несколько, в этом случае они разделяются символом амперсанд «&». Якорь раньше использовался для быстрого перемещения внутри страницы (если после решётки указать идентификатор к. л. тега, страница будет автоматически проскроллена к началу этого элемента), но в свете развития AJAX перенял структуру параметров, разделяемых амперсандом.
Первое, что требовалось — быстро загнать страницы в индекс. Я исходил из того, что если результаты работы быстробота приведут к выводу решётки в поисковой выдаче, то и после того, как страница попадёт в основной индекс, ситуация окажется аналогичной.
Для эксперимента были написаны две статьи, которые я одновременно выложил на сайт и попытался натравить на них быстроробота (при этом, использовал в адресах якорь #data). Мне повезло, через весьма непродолжительное время одна из страниц влетела в индекс. В выдаче красовалась ссылка без якоря, из чего следовало, что поисковики не считают ссылки, различающиеся только якорями, самостоятельными страницами.
Но как же быть сайтам, которые используют загрузку содержимого без перезагрузки всей страницы? Здесь пришлось активнее зарыться в поиск, в результате которого нашлись легитимные способы, официально представленные на сайтах поисковых гигантов. Для этого потребуются некоторые телодвижения и, возможно, ковыряния в коде или настройках CMS. Но кто говорил, что будет легко?
Я напишу лишь о самом минимуме и дам ссылки на соответствующие страницы, по которой интересующиеся смогут найти дополнительную информацию.
Первое, что сто́ит сделать — использовать якорь не с символом решётки, а в конструкции #! которая даёт понять боту, что это ссылка на запрос AJAX-содержимого.
Далее, робот должен получать HTML содержимое (если запрос отдаёт, например, JSON данные, они индексироваться не будут). Это значит, что сайт оперирует кусками чистого HTML кода, которые заменяют часть указанной страницы или добавляют что-то. HTML содержимое в данном случае должно быть доступно по тому же адресу, но с параметром ?_escaped_fragment_=. При этом, ПС не индексирую страницы, содержащие в параметрах значение _escaped_fragment_=, и показывают «правильные» ссылки, в виде #!.
Для дополнительных подробностей (например, что делать, если для главной страницы не требуется указание якоря, или какая-то страница не содержит AJAX содержимое) можно ознакомиться с соответствующими страницами:
Яндекс: Индексация AJAX в блоге и помощи
Google: руководство для разработчиков по сканированию AJAX и вопросы по AJAX
днём интернета
шоколадкой для работы мозга
коробочкой ароматного чая для бодрости
продлением хостинга на +1 месяц
Хороший эксперимент, подтверждающий, что бояться дублей через решетку не стоит. А вот если индексация таких страниц нужна, придется поломать голову. Спасибо за интересный эксперимент!
Надежда, спасибо за возможность провести это небольшое исследование исследование .
Да, я уже когда нажала enter, увидела масло масляное
Благодарю ! Задумался на счет этой проблемы, когда решил сделать обновление рандомного текста анекдотов в футере ( через нажатие на ссылку с якорем ) Значит можно не бояться индексации якоря, а интересно учтется ли анкор ? B что еще придумать для обновления анекдотов?
Здравствуйте.
Новая страница в выдачу не добавляется.
Но зачем же Вы сделали перезагрузку страницы для вывода очередной строки? Это не особо рационально. Лучше отправлять точечный AJAX-запрос и подменять содержимое на странице.
А вообще можно ли оставлять на сайте просто ссылки с решеткой (и ничего кроме решетки в ней нет)?
Добрый день.
Конечно! Подобная ссылка называется якорем. Основное предназначение — дать быструю навигацию в пределах страницы.
Для этого элементу присваится id (идентификатор), а в ссылке пишется #id (решётка и этот идендификатор). При клике страница автоматически перемотается к указанному элементу.