Настраиваем robots.txt для магазина на базе ПО OpenCart
Начнём с небольшого экскурса на тему для чего нужен свод правил для поисковых роботов в виде файла robots.txt.
Как известно, в этом текстовом файле описываются разделы, страницы или файлы сайта, которые должны быть проиндексированы или проигнорированы роботами поисковых систем (ПС). Кроме того, там могут быть описаны условия поведения роботов на сайте, такие как частота сканирования или параметры сканирования. Более подробную информацию можно получить на одноименном ресурсе по адресу http://robotstxt.org.ru.
Создание файла robots.txt преследует как минимум две цели:
1) Исключение страниц из поискового индекса той или иной поисковой системы;
2) Оптимизация нагрузки на сайт со стороны поисковых роботов.
Руководствуясь первой целью, владелец сайта, как правило, заботится о позициях ресурса в поисковых выдачах через релевантные страницы, которые не должны повторяться в процессе индексации. Другими словами, страницы с повторяющимися или неактуальными данными должны быть исключены.
Наконец стоить помнить, что отсутствие правил для поисковых роботов и сетевых сканеров делает поведение последних, без преувеличения, агрессивным. То, что большая часть оплаты за хостинг уходит на роботов, признают немногие. И только немногие при создании такого файла как robots.txt преследуют вторую цель.
В Интернете довольно много примеров файла robots.txt для OpenCart. Остановимся на типовом упрощённом варианте и рассмотрим его особенности ниже:
User-Agent: * Disallow: /*.js Disallow: /*.css Disallow: /*.jpg Disallow: /*.jpeg Disallow: /*.gif Disallow: /*.png Disallow: /*? Allow: /index.php?route=feed/sitemap_pro Allow: /index.php?route=product/category&path= Allow: /*?path= Allow: /index.php?route=product/product&product_id= Allow: /index.php?route=product/product&path= Allow: /*?product_id= Allow: /index.php?route=information/information&information_id= Allow: /index.php?route=product/special User-agent: YandexImages Disallow: / Allow: /image/cache User-agent: Googlebot-Image Disallow: / Allow: /image/cache User-agent: msnbot-media Disallow: / Allow: /image/cache Sitemap: http://domain.com/index.php?route=feed/sitemap_pro
Такой поисковик как Google "всеяден" (другие не исключение) - всё что не запрещено, то может быть проиндексировано. Часто индексируются элементы интерфейса (картинки, стили, скрипты), которые создают только "мусор" для поисковой выдачи и лишнюю нагрузку на сайт. Поэтому для всех ПС без исключения запрещаем индексировать оформление сайта.
Дальше, обратите внимание, в данном примере не перечисляются динамические пути, т.е. относительные ссылки с параметрами. Вместо этого определён полный запрет для них через правило Disallow: /*? и последующее разрешение необходимых нам путей с использованием директивы Allow.
Сделано это по нескольким причинам. Во-первых, перечислить все возможные ссылки с динамическими параметрами при большом количестве модулей затруднительно. Помните, что Google обрабатывает блоки кода JavaScript и извлекает относительные пути (формирует ссылки) из запросов типа Ajax. Во-вторых, некоторые разработчики поисковых систем считают себя "особенными", например команда Mail.Ru, которая периодически меняет User-Agent поискового робота и последовательность параметров в URL при индексации (если робот встретит правило Disallow: /*?sort, то он перестроит запрос таким образом, чтобы параметр sort в ссылке шел после амперсанда &).
Теперь о медиаконтенте. Последнее время базы данных ПС по изображениям переполнены данными, в связи с этим появление картинок в индексе происходит со значительной задержкой, года три назад об этом сообщал Яндекс. Похоже ситуация не особо изменилась, поскольку при отсутствии явных инструкций для медиа-роботов, индексация по изображениям не выполняется (или выполняется со значительной задержкой, на усмотрение ПС). Поэтому блоки с соответствующими директивами User-Agent должны быть указаны отдельно, а индексация разрешена строго по определенному пути (для OpenCart это /image/cache).
В заключении хотелось бы предупредить начинающих, что создавая файл свода поисковых правил, вы как бы публикуете подобие карты сайта, не только для поисковых роботов, но и для сетевых сканеров, направленных на поиск уязвимостей и парсинг. Не стоит прописывать пути, которые в контенте не встречаются или недоступны для гостевой учётной записи. Например, такие пути как /admin или /download.