Жесткий robots.txt для статейника на WordPress
Раздел(ы): WordPress, Вебмастеру, Поисковая оптимизация
Просмотры: 2172
Комментарии: 7
В этой статье я приведу пример файла robots.txt оптимизированный под WordPress для тех вебмастеров, кто считает, что от поискового робота нужно скрыть все кроме самих постов.
Рекомендации от Яндекс по оптимизации индексирования
Я буду опираться на рекомендации поисковой системы Яндекс — https://yandex.ru/support/webmaster/robot-workings/helping-robot.html
Если кратко, то:
- Закрываем все ненужное, в том числе и результаты поиска;
- Создаем файл sitemap (sitemap.xml) для поисковых роботов;
- Создаем карту сайта (sitemap.html) на которой есть ссылки на все страницы сайта;
- Проверяем, чтобы при посещении несуществующих страниц сервер отдавал статус 404 (not found) .
Как закрыть все ненужное от индексации
Чтобы максимально закрыть все ненужное от индексации необходимо запретить все, а потом разрешить только то, что нам надо. То есть закрываем индексацию всего сайта, а потом добавляем разрешения на индексацию определенных страниц. Будет удобнее если все разрешенные страницы будут расположены по одному адресу.
Настройка постоянных ссылок WordPress
Сформируем для записей WordPress уникальный путь. Например /post/. Делается это в пункте настройки постоянных ссылок:
WordPress плагин для sitemap.xml
Создадим карту для поисковых роботов. Вариантов много, например: Google XML Sitemaps
WordPress плагин для построения карты сайта
Карта сайта делается как страница, то есть для посетителя человека, а не поискового робота. Я использую WP Sitemap Page. Не забудьте добавить на нее ссылку на главной странице вашего сайта. В моем примере страница с картой сайта имеет адрес https://sitename.tld/sitemap/
Проверка статусов ответа 404 для несуществующих страниц
Для проверки ответов сервера воспользуемся панелью вебмастера в Яндексе — https://webmaster.yandex.ru/.
Пример robots.txt для индексации только постов
Если все готово, то есть мы выделили для постов отдельный адрес от корня сайта, создали XML карту для поисковых роботов и карту сайта со ссылками на все записи для людей, то можно запретить все остальные адреса для индексации:
User-agent: * Disallow: / Allow: /$ Allow: /post/ Allow: /sitemap Allow: /*.js Allow: /*.css Allow: /*.png Allow: /*.jpg Crawl-delay: 10 Host: https://sitename.tld Sitemap: https://sitename.tld/sitemap.xml
Пояснения к файлу robots.txt
Все просто…
- User-agent: * — нижеследующие инструкции для всех роботов
- Disallow: / — запрещаем к индексации весь сайт
- Allow: /$ — разрешаем индексировать главную страницу
- Allow: /post/ — разрешаем индексировать страницы начинающиеся с /post/
- Allow: /sitemap — разрешаем индексировать карту сайта
- Allow: /*.js — разрешаем индексировать скрипты JavaScript
- Allow: /*.css — разрешаем индексировать таблицы стилей
- Allow: /*.png — разрешаем индексировать изображения png
- Allow: /*.jpg — разрешаем индексировать изображения jpg
- Crawl-delay: 10 — просим поискового робота «делать паузы между подходами»
- Host: https://sitename.tld — указываем основное зеркало сайта
- Sitemap: https://sitename.tld/sitemap.xml — указываем карту сайта для роботов
Как работает этот robots.txt
Поисковый робот заходит на сайт и видит главную страницу. Она разрешена к индексации и он ее обрабатывает. На ней он находит внутренние ссылки. В том числе карту сайта (не забудьте добавить на нее ссылку на главной), которая разрешена к индексации. Посетив ее робот узнает о всех ваших страницах.
Консультация с Платоном Щукиным
Я отправил этот robots.txt для проверки в службу поддержки Яндекс и получил положительный ответ:
Результаты и выводы
С помощью приведенного файла robots.txt мы позволили поисковым роботам индексировать только страницы сайта находящиеся по адресу /post/, главную страницу и карту сайта для людей /sitemap. Все остальное полностью запрещено.
Ложка дегтя. Файл robots.txt — это всего лишь рекомендации для поисковиков, что делать, а что нет. Я надеюсь, что поисковики Google и Яндекс соблюдают правила игры.
Благодарности
При написании статьи были использованы следующие ресурсы:
Спасибо, за эту статью, но меня интересует другое. Я увидел у вас под комментариями кнопку Отправить и согласие на обработку. Напишите, как ее сделать без плагинов, очень нужная вещь. Поподробнее.
Сергей, это просто. Нужно всего лишь добавить в форму checkbox (галочка о согласии) с параметром required (делает это поле обязательным для заполнения).
У меня это выглядит так:
Работает это в HTML5, подробнее здесь — http://htmlbook.ru/html/input/required
Далее какой-то текст…
Юрий, а куда конкретно этот код вставить?
Сергей, в форму комментирования между тегами <form> и </form>
ЮРИЙ, в какой именно папке это находится?
Это скорее в файле, а не в папке. Все зависит от реализации вашего сайта. Названия папок и файлов могут быть совершенно разными. У меня блог на WordPress, я использую тему в которой форма комментирования реализована как отдельный файл (wp-content/themes/mytheme/comment.php). Вам нужно искать что-то подобное на своем сайте. Либо (справедливо для сайта на WordPress) попробуйте добавить следующий код в файл functions.php вашей темы:
Вот в этой статье https://dampi.ru/pravilnyiy-robots-txt-dlya-sayta-na-wordpress я как раз подробно описал то, что если открыть uploads для всех ботов, то в индексе появляются загруженные PDF и прочие текстовые файлы. А в яндекс вебмастере, в отчете «Исключенные страницы» появляются сообщения об ошибке при индексировании картинок, мол содержимое не поддерживается. Прежде чем писать и давать советы, сообщения GSC и ЯВебмастера пробовали анализировать?