Пример правильного и оптимального robots.txt для 1С Битрикс, с учетом параметров, css, js, постраничной навигации и т.д.
User-Agent: *
Disallow: /*nav-*
Disallow: /bitrix/
Disallow: /upload/
Disallow: /local/
Disallow: /search/
Disallow: /compare/
Disallow: /personal/
Disallow: /rss/
Disallow: /auth/
Disallow: /login/
Disallow: /webstat/
Disallow: /desktop_app/
Disallow: /ajax/
Disallow: /test/
Disallow: /404.php
Disallow: /*index*.php$
Disallow: */index.php
Disallow: /*?*
Allow: /bitrix/components/
Allow: /bitrix/templates/
Allow: /local/components/
Allow: /local/templates/
Allow: /bitrix/cache/
Allow: /bitrix/css/
Allow: /bitrix/js/
Allow: /bitrix/images/
Allow: /bitrix/panel/
Allow: /upload/iblock/
Allow: /upload/medialibrary/
Allow: /upload/resize_cache/main/
Allow: /upload/resize_cache/iblock/
Allow: /upload/resize_cache/medialibrary/
Allow: /*?question=*
Allow: /*?review_id=*
Allow: /*.css
Allow: /*.js
Host: https://tuning-soft.ru
Sitemap: https://tuning-soft.ru/sitemap.xml
Подробный разбор правил robots.txt
Это означает, что данные правила применяются ко всем поисковым роботам.
User-Agent: *
Запрещает индексировать новую постраничную навигацию D7.
Disallow: /*nav-*
Данный набор правил запрещает индексировать всякие служебные папки движка, админку, загрузки, модули, результаты поиска, сравнение, персональный раздел, авторизацию, статистику хоста, десктопное приложение, аяксы, тестовые разделы, ошибку 404, т.е. всякий ненужный в результатах поиска мусор.
Disallow: /bitrix/
Disallow: /upload/
Disallow: /local/
Disallow: /search/
Disallow: /compare/
Disallow: /personal/
Disallow: /rss/
Disallow: /auth/
Disallow: /login/
Disallow: /webstat/
Disallow: /desktop_app/
Disallow: /ajax/
Disallow: /test/
Disallow: /404.php
Запрещает индексировать дубли страниц index.php
, index1.php
, index2.php
и т.д.
Disallow: /*index*.php$
Disallow: */index.php
Запрещает индексировать по умолчанию все параметры типа: ?PAGEN_1
, ?sort=asc&order=desc
Disallow: /*?*
Разрешаем индексировать в публичной, доступной всем части сайта: компоненты, шаблоны, изображения, кэш, css, js и т.д.
Тут обратите внимание, выше папки /bitrix/
+ /local/
полностью запрещено индексировать, но правилами ниже по коду можно переопределять или дополнять разрешения, т.к. в них есть как служебные, так и публичные данные, необходимые и поисковиками и пользователям.
Allow: /bitrix/components/
Allow: /bitrix/templates/
Allow: /local/components/
Allow: /local/templates/
Allow: /bitrix/cache/
Allow: /bitrix/css/
Allow: /bitrix/js/
Allow: /bitrix/images/
Allow: /bitrix/panel/
Здесь аналогично, выше папка /upload/
полностью запрещена для индексации, а ниже по коду открываем для робота отдельные, необходимые папки, это изображения главного модуля, модуля инфоблоки, медиабиблиотека и динамический ресайз превьюшек.
Allow: /upload/iblock/
Allow: /upload/medialibrary/
Allow: /upload/resize_cache/main/
Allow: /upload/resize_cache/iblock/
Allow: /upload/resize_cache/medialibrary/
Данные параметры вопросов и отзывов относятся к моим решениям, они лишь для примера, в каком месте нужно добавлять параметры для индексации своего проекта, их лучше удалить.
Обратите внимание, выше мы закрывали все параметры директивой Disallow: /*?*
в этом месте добавляйте только необходимые параметры, которые должны быть разрешены для индексации, все остальные параметры необходимо закрывать, это все мусор, который замедляет индексацию, лишние итерации поисковика и нагрузка на сайт, вплоть до падения сервера.
Allow: /*?question=*
Allow: /*?review_id=*
Это разрешает индексировать все публичные css и js, это важно при проверке проекта на Удобство просмотра на мобильных устройствах или в Google PageSpeed Insights может всплыть закрытый стиль, из-за которого у проекта могут быть проблемы.
Allow: /*.css
Allow: /*.js
Здесь указываем хост проекта, для https
именно так, с указанием протокола.
Host: https://tuning-soft.ru
Здесь указываем путь к карте сайта проекта, обратите внимание, нужно отступить одну строку.
Sitemap: https://tuning-soft.ru/sitemap.xml
Постраничная навигация/пагинация
Очень спорный момент, вы часто можете встретить правила типа:
Disallow: /*nav-*
Disallow: /*?PAGEN
Disallow: /*PAGEN_1=Disallow: /*SHOWALL
Данные правила запрещают индексировать постраничку, это правильно, но если у сайта есть карта sitemap.xml
, если карты сайта нет, то постраничка должна быть открыта для индексирования, иначе робот может не найти другие страницы, что в постраничке окажутся на 2-й и далее страницах, а при наличии карты сайта все будет проиндексировано.
Порядок в коде
Еще хочу сказать, как например мне удобно ориентироваться в карте и копировать ее из проекта в проект, ежегодно что-то добавлять в нужное место, не копаясь в сотнях строк непонятных правил.
1-й пример, все запрещающие правила для проекта я добавляю выше строки Disallow: /bitrix/
User-Agent: *
Disallow: /shop/*&*
Disallow: /shop/*nav-*
Disallow: /demo/
Disallow: /inc/
Disallow: /yenisite.resizer2/
Disallow: /bitrix/
2-й пример: все разрешающие правила для параметров проекта я добавляю внизу перед Allow: /*.css
Allow: /*?question=*
Allow: /*?review_id=*
Allow: /*.css
Allow: /*.js
Два параметра для вопросов и отзывов у себя можете удалить, две строчки, я пока еще с ними экспериментирую, их и не так много, парочка параметров обычно максимум набирается.
Советы
Все закрытые, системные, административные скрипты и папки закрывайте формой входа на сайт, правила в файле robots.txt все равно не запрещают роботу ходить по сайту и сканировать все что доступно по ссылке, просканирует и загрузит в базу вообще все, хоть всю админку, а в результатах поиска будет показывать что в robots.txt
разрешено показывать, но может и всплыть когда-нибудь дамп вашей базы или файл сброса пароля админа ✌😊
Закрывайте от индексации все порты на сервере, все ссылки, которыми мы в Яндекс.Почте обмениваемся, индексируются поисковиком, стоило один раз скинуть клиенту лично на почту ссылку с портом, как через неделю весь сайт на порту был проиндексирован, а исходный сайт был исключен из результатов поиска, как дубль.