РАБОТАЮ ВО ВСЕХ ГОРОДАХ РОССИИ
ВРЕМЯ РАБОТЫ С 9:00 ДО 20:00
Создание файла robots.txt
Наш сайт проиндексирован и казалось бы что еще нужно? Однажды обнаруживаешь, что проиндексировались абсолютно не нужные страницы, такие как вход и регистрация пользователя, лист стилей, формат pdf и мало ли что еще увидит поисковик... Вот тут и понимаешь важность файла робот.
Урок 12. Создание файла robots.txt
В этом уроке попробуем ответить на следующие вопросы:
- Как правильно создать robots txt.
- Для чего нужен файл робот - какие страницы закрывать от индексации поисковиками.
- Пример файла robots txt для разных случаев.
Основные секции
User-agent: Yandex
User-agent: Googlebot
User-agent: *
Между каждой секцией пустая строка. Т.е. прописали директивы для юзер агента яндекса, затем пустая строка и начинаем заполнять для следующего паука.
Как создать файл робот.
- Формат файла robots.txt - простой текстовый файл, создается в обычном блокноте.
- Местонахождение файла робот - корневая директория сайта.
- Пустой файл robots.txt или его отсутствие означает разрешение на индексирование всего сайта.
- Большие robots.txt (более 256 Кб) считаются полностью разрешающими
- Регистр написания имени файла - только нижний.
- При копировании файла с помощью ftp-клиента, его нужно настроить на текстовый режим обмена файлами.
Что должно обязательно быть в файле robots.txt? Две директивы: «User-agent» и «Disallow».
Существуют еще и дополнительные записи для различных поисковых систем. Например, Яндекс для определения главного зеркала веб-сайта до 2018 года использовал директиву «Host».
От 20 марта 2018 Блог Яндекса для вебмастеров оповестил о замене директивы хост на 301 редирект. Теперь паук не будет обращать внимание на прежнюю запись. Для того, чтобы главное зеркало не изменилось, нужно настроить постраничный редирект 301 со всех не главных зеркал сайта.
Можно в роботсе не удалять запись, но она никакой роли играть не будет.
Источник новости и инструкции для вебмастеров: https://yandex.ru/blog/webmaster/301-y-redirekt-polnostyu-zamenil-direktivu-host
Напишем себе шпаргалку о записях в директивах.
Обязательная директива «User-agent»
Запись «User-agent» содержит в себе название поискового робота.
- Если обращение происходит абсолютно ко всем поисковикам, то пишем символ звездочку «*», выглядит это так:
User-agent: *
- Если нужно обратиться к роботу Яндекса, то запись будет выглядеть так:
User-agent: Yandex
Обязательная директива «Disallow»
Директива «Disallow» укажет поисковому роботу, какие файлы, каталоги запрещается индексировать.
- Если сайт открыт для индексирования весь, то нужно писать так:
Disallow:
или
Allow: /
- Наложим запрет на индексацию файла links.html из корневой папки. Тогда запись будет такой:
Disallow: /links.html
Теперь запретим индесирование файла my.html, находящегося в папке «noybot». Это будет выглядеть так:
Disallow: /noybot/my.html
- Запретим индексацию определенных директорий, например, содержащих файлы форума - папка «forum» и папку со сценариями «cgi-bin». Это значит, что все, что находится в этих папках не будет доступно для поисковиков. Выглядеть запись будет так:
Disallow: /cgi-bin/
Disallow: /forum/
Зная этот минимум, мы уже можем написать свой файл робот и запретить в нем индексировать какие-либо файлы или любые папки вместе с их содержимым.
Впрочем, эта шпаргалка минимальна. И требует продолжения. Что мы и сделаем.
- Можно запретить индексировать страницы и директории, название которых начинается с одних и тех же символов. Запрет накладывается всего одной записью «Disallow».
Например, запретим к индексированию директории и файлы, начинающиеся с символов my. Это папки my, my1, my2 и страницы my.html, mylove.html и тому подобное. Для этого пропишем так:
Disallow: /my
- В директиве «Disallow» разрешено пользоваться регулярными выражениями, но не во всех поисковых системах. Google поддерживает символы «*» (звездочка - любая последовательность символов) и «$» (доллар - окончание строки).
Что это дает нам? Можно запретить индексацию файлов с определеным расширением, например, «htm», достаточно написать:
Disallow: *.htm$
Еще пример запрета индексации файлов PDF для гугл
User-agent: Googlebot
Disallow: *.pdf$
Другой вариант решить эту задачу - это создать отдельный каталог pdf и размещать документы PDF в нем. Тогда пишем так:
User-agent: *
Disallow: /pdf/
Директива «Host»
Директива «Host» используется для определения главного зеркала сайта. С ее помощью можно выбрать url, под которым будет проиндексирован веб-сайт. Эта директива поддерживается русскими поисковиками, такими как Яндекс, Рамблер, Апорт.
Без этой директивы робот яндекса выберет основное зеркало самостоятельно, а все другие имена получат запрет к индексации. Т.к. директиву «Host» понимают не все поисковики, поэтому саму запись нужно вставлять обязательно после «Disallow», в конце блока.
Записывается следующим образом:
Host: www.site.ru
На что еще обратить внимание? На поведение гугл при встрече с директивой хост. Google игнорирует всю секцию, где прописана директива «Host». Это решаемо, для гугл нужно создать свой блок с записями.
Например:
User-Agent: * # Все поисковый системы
Disallow: /admin/ # Запрет директории админ и всех, файлов этой папки
Host: www.mainsite.ru # Главное зеркало
User-Agent: Googlebot # Личный блок для гугла
Disallow: /admin/ # Запрет директории гуглом
Пожалуй, минимум о создании robots txt составила. Это только фундамент знаний, еще много возможностей управлять индексацией своего сайта предоставляет файл робот.
Добавлю еще один пример файла роботс, где правила для бота яндекса прописываются в отдельной секции, а другая секция для всех роботов.
User-agent: Yandex
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Host: www.master-live.ru
User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Все о роботе можно почитать по этой ссылке яндекса вебмастера .
Какие страницы сайта лучше закрывать от индексации поисковиками с помощью файла робот.
Для чего нужно закрывать страницы от индексации?
Очень просто, поисковый робот походит по сайту, проиндексирует все, что ему вздумается и уйдет. А вы потом с удивлением замечаете, что в выдачу попали страницы с технической информацией, а большая информативная статья не проиндексирована. Устал робот и не дошел до важной страницы вашего сайта.
Что ж можно закрыть от роботов, дабы они зря не тратили время на ненужные для выдачи страницы сайта?
Можно закрыть от индексации админ. раздел сайта, директории /images/ с графической информацией. Хотя учтите, что файл робот может прочитать любой желающий, а знаете что будет, если написать «не смотреть, здесь секрет»? Вот то-то... А поиск по картинкам в различных поисковых системах? Тоже посетителей привлекает.
Если вы владелец интернет-магазина, то можно закрыть служебные страницы с осуществлением покупки.
А чтобы не привлекать внимание к файлам, стандартные названия которых говорят о многом, можно создать специальную папку и хранить их в ней. А в файле robots.txt запретить индексацию только этой папки.
Примеры файла robots txt.
# - означает начало комментариев
User-agent: Yandex
Disallow: / # блокирует доступ ко всему сайту
User-agent: Yandex
Disallow: /cgi-bin # блокирует доступ к страницам начинающимся с '/cgi-bin'
Использование спецсимволов "*" и "$"
User-agent: Yandex
Disallow: /cgi-bin/*.aspx
# запрещает '/cgi-bin/example.aspx' и '/cgi-bin/private/test.aspx'
Disallow: /*private # запрещает не только '/private', но и '/cgi-bin/private'
Директива Host - Внимание! Не актуально!
#Если www.mysite.ru главное зеркало сайта, то robots.txt
#для всех сайтов из группы зеркал выглядит так
User-Agent: *
Disallow: /forum
Disallow: /cgi-bin
Host: www.mysite.ru
Цитата из мануала яндекса "Важно: в целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву 'Host' необходимо добавлять в группе, начинающейся с записи 'User-Agent', непосредственно после директив 'Disallow'('Allow')."
Директива Sitemap
User-Agent: *
Disallow: /forum
Disallow: /cgi-bin
Sitemap: https://mysite.ru/sitemaps.xml
Рекомендация "Блок кода, адресованный всем паукам (User-Agent: *) должен быть последним для уменьшения проблем интерпретации с некоторыми старыми роботами." - не знаю насколько это критично.
Между блоками записи для разных поисковых роботов пробел. Эту рекомендацию дал яндекс.
Из всего обозначенного полный вариант роботса с директивой хост и ссылкой на карту сайта xml будет выглядеть так:
User-Agent: Yandex
Disallow: /forum
Disallow: /cgi-bin
Allow: /
Host: www.mysite.ru
Sitemap: https://mysite.ru/sitemaps.xml
User-Agent: *
Disallow: /forum
Disallow: /cgi-bin
Allow: /
Sitemap: https://mysite.ru/sitemaps.xml
Письмо от гугл: Googlebot не может получить доступ к файлам CSS и JS
Вебмастера в замешательстве: пришло письмо от гугл по поводу невозможности гугл боту получить доступ к некоторым файлам стилей и скриптов ("...
Googlebot не может получить доступ к файлам CSS и JS на сайте..." Выясним, что отвечает и как объясняет ситуацию сотрудник поддержки поисковой системы.
Для начала уточню, что письма пришли к владельцам сайтов на разных cms. Это и джумла, и друпал, и дле, и вордпресс и т.д.
В своем аккаунте вебмастера вы можете проверить, как видит бот сайт и к каким именно файлам он не может получить доступ из-за запрета в роботсе. Нажмите "посмотреть как Googlebot" и выбирайте не пк, а для мобильных устройств. Там есть три варианта, попробуйте все на всякий случай.
Гугл в своем сообщении рекомендует проверить так: "Просканируйте сайт, выбрав параметр "Mobile: smartphone", чтобы убедиться, смогут ли смартфоны корректно обрабатывать контент."
К тому же модератор Google пояснил об отношении этих писем к мобильным устройствам, а не дестопных. И понижение позиций, о которых говорится в письме, относится к мобильному поиску.
Andrey Lipattsev
28.07.2015 в 19:31Поводов для паники нет. Если скрипт или таблица не формируют контент сайта или не влияют принципиально на его доступность на мобильных устройствах, то беспокоиться здесь не о чем. Насколько мне известно, наиболее популярные счётчики в таких сообщениях не должны использоваться как примеры. Есть обратные сведения?
Бот указывает, что не может увидеть файлы плагинов, модулей, тем. Они, как правило, закрыты на любых движках. Зачем всю техническую информацию разрешать индексировать, так ведь мы всегда рассуждали? Но можно открыть отдельные заблокированные файлы в роботсе.
Как открыть в роботсе только файлы CSS и JS - примеры
Изменить роботс для Joomla с помощью директивы Allow
Allow: /templates/*.css
Allow: /templates/*.js
Allow: /components/*.css
Allow: /components/*.js
Allow: /media/*.js
Allow: /media/*.css
Allow: /plugins/*.css
Allow: /plugins/*.js
Пример изменения роботса для DLE
Allow: /engine/classes/*.css
Allow: /engine/classes/*.js
Пример изменения файла роботс для вордпресс
В этом образце гугл не имел доступ к файлам некоторых плагинов и темы. У каждого это будет свой список, но принцип один и тот же. Можно создать отдельный отсек в роботсе для гугл бота, скопировать содержимое из общего отсека и там добавить открытые к индексации нужные файлы.
Например, вот конкретный список для открытия файлов к сканированию
User-agent: Googlebot
Allow: /wp-includes/js/*.js
Allow: /wp-content/plugins/contextual-related-posts/css/default-style.css
Allow: /wp-content/plugins/wordpress-popular-posts/style/wpp.css
Allow: /wp-content/plugins/wp-downloadmanager/download-css.css
Allow: /wp-content/themes/ваша_тема/js/*.js
А теперь напишем короче роботс для гугл бота и с другим примером. Так будет правильнее:
User-agent: Googlebot
Allow: /wp-content/plugins/*.css
Allow: /wp-content/plugins/*.js
Allow: /wp-content/plugins/*.gif
Allow: /wp-content/themes/*.css
Allow: /wp-content/themes/*.js
Allow: /wp-includes/js/*.js
Allow: /wp-includes/*.css
Таким образом, посмотрев в отчете сканирования адреса недоступных файлов, можно внести изменения в свой robots.txt.
Измененный роботс отправьте в Search Console. После этого в вебмастере проверьте новым сканированием.
Как выглядит правильный файл robots.txt для Wordpress. Предлагаю посмотреть логику создания файла роботс и примеры с использованием отсеков для разных пауков.
Обычно файл создается очень легко в текстовом редакторе или обычном блокноте виндовс. Этот вариант подойдет всем, кто имеет доступ к файлам сервера. Но бывают и другие услуги хостеров, когда к сайту у вас есть только доступ через админку.
В таком случае используйте замечательный плагин вордпресс. Он незаменим, если доступ к блогу только через админ панель.
Плагин для создания файла robots в wordpress - KB Robots.txt
Процесс создания быстр и легок, не рекомендуется использовать, если ваш блог находится не в корневой папке, а в подпапке.
Скачать плагин по ссылке: https://wordpress.org/extend/plugins/kb-robotstxt/
После установки плагина, нужно всего лишь заполнить форму необходимым текстом. Что же нужно писать? Прочитайте общие сведения о том, как создать robots на страницах сайта.
Как выглядит файл robots.txt для Wordpress?
Для вордпресс нужно написать следующее:
User-agent: * |
Что означает данный файл робот?
Все, что вписано после Disallow: #запретит индексацию поисковиками страниц, системных папок, rss feed-ов, тегов, поисковых результатов.
Allow: #здесь указываем путь до папки с мультимедийными файлами.
Sitemap: #укажем путь карты сайта.
Пример полного правильного роботса для разных пауков с настроенным чпу - название постов:
User-agent: *
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: /comments
Disallow: */comments
Disallow: /index.php?s=
Disallow: */trackback
Disallow: /*?*
Disallow: /*?
Disallow: /*?replytocom
Disallow: /tag/
Disallow: /page/
Disallow: /201*/
Disallow: /author
User-agent: Yandex
Crawl-delay: 5
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: /comments
Disallow: */comments
Disallow: /index.php?s=
Disallow: */trackback
Disallow: /*?*
Disallow: /*?
Disallow: /*?replytocom
Disallow: /tag/
Disallow: /page/
Disallow: /201*/
Disallow: /author
Host: site.ru
User-agent: Googlebot-Image
Disallow:
Allow: /*
User-agent: Mediapartners-Google
Disallow:
Allow: /*
Sitemap: https://site.ru/sitemap.xml
Правильный robots txt для joomla
Рассмотрим в joomla настройку robots txt. Файл роботс находится в корне сайта, его адрес https://ваш_сайт /robots.txt. Пример robots.txt для CMS Joomla. С его помощью мы запретим к индексации файлы.
В блокноте пишем следующий код. Его можно изменять под свои нужды. В данном примере мы дополнили стандартный роботс джумлы и запретили индексировать дубли страниц, файлы с расширениями pdf, swf, ссылки print=1, mailto, указали главное зеркало и путь к карте сайта sitemap.xml. В джумле адрес этой карты может иметь вид https://ваш_сайт /index.php?option=co ... 1&view=xml
Для чего запрещают индексировать файлы pdf и другие второстепенные для сайта? Это делается для того, чтобы поисковик ходил по более важным страницам, а не плутал по не столь нужным. Устанет, так и не дойдет до главного контента.
Настройка robots txt для joomla
User-agent: *
Allow: /index.php?option=com_xmap&sitemap=1&view=xml&no_html=1
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: /*.pdf
Disallow: /*.swf
Disallow: /*print=1
Disallow: /*mailto/
Disallow: /index.php?
Disallow: /index.php
Disallow: /index.html
Disallow: /home
Sitemap: https://ваш_сайт/index.php?option=com_xmap&sitemap=1&view=xml&no_html=1
User-agent: Yandex
Allow: /index.php?option=com_xmap&sitemap=1&view=xml&no_html=1
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: /*.pdf
Disallow: /*.swf
Disallow: /*print=1
Disallow: /*mailto/
Disallow: /index.php?
Disallow: /index.php
Disallow: /index.html
Disallow: /home
Host: ваш_сайт.ру
Sitemap: https://ваш_сайт /index.php?option=com_xmap&sitemap=1&view=xml&no_html=1
По этой же теме:
О тонкостях сео в джумле читайте в уроке 2. SEO оптимизация в joomla
Полезные ссылки и информация о файле robots.
Перечень названий поисковых роботов можно посмотреть в специальных разделах поисковиков «помощь веб-мастеру».
Вот некоторые из них:
Google – «googlebot»;
Яндекс – «Yandex»;
Рамблер – «StackRambler»;
Yahoo – «Yahoo! Slurp»;
MSN – «msnbot».
Информация о файле робот на русском.
Помощь яндекса: все об использовании robots.txt.
Сообщение от Яндекса о новых правилах обработки директив Allow и Disallow в файле robots.txt
7.03.2012
Изменение касается тех страниц, которые попадают под действия нескольких директив 'Allow' и/или 'Disallow'.
В этом случае будет применяться директива с наибольшей длиной префикса URL. При определении длины префикса спецсимвол '*' не учитывается.
Если на вашем сайте в robots.txt совместно используются директивы 'Allow' и 'Disallow', пожалуйста, проверьте их на соответствие новым стандартам с помощью формы проверки robots.txt в панели вебмастера.