Пример правильного и оптимального 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
разрешено показывать, но может и всплыть когда-нибудь дамп вашей базы или файл сброса пароля админа ✌?
Закрывайте от индексации все порты на сервере, все ссылки, которыми мы в Яндекс.Почте обмениваемся, индексируются поисковиком, стоило один раз скинуть клиенту лично на почту ссылку с портом, как через неделю весь сайт на порту был проиндексирован, а исходный сайт был исключен из результатов поиска, как дубль.
Пример правильного и оптимального 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
разрешено показывать, но может и всплыть когда-нибудь дамп вашей базы или файл сброса пароля админа ?
Закрывайте от индексации все порты на сервере, все ссылки, которыми мы в Яндекс.Почте обмениваемся, индексируются поисковиком, стоило один раз скинуть клиенту лично на почту ссылку с портом, как через неделю весь сайт на порту был проиндексирован, а исходный сайт был исключен из результатов поиска, как дубль.
No Comments
Comments are closed.