Обратите внимание! Недорогие виртуальные серверы в Амстердаме (Нидерланды). Оплата в рублях картами банков РФ, СБП, электронными деньгами. Подробнее.

Жесткий robots.txt для статейника на WordPress

Опубликовано: 4 июня 2017 / Обновлено: 14 августа 2017
Раздел(ы): 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

Настройка постоянных ссылок в WordPress

WordPress плагин для sitemap.xml

Создадим карту для поисковых роботов. Вариантов много, например: Google XML Sitemaps

Google XML Sitemap

WordPress плагин Google XML Sitemap

WordPress плагин для построения карты сайта

Карта сайта делается как страница, то есть для посетителя человека, а не поискового робота. Я использую WP Sitemap Page. Не забудьте добавить на нее ссылку на главной странице вашего сайта. В моем примере страница с картой сайта имеет адрес https://sitename.tld/sitemap/

WordPress плагин WP Sitemap Page

WordPress плагин WP Sitemap Page

Проверка статусов ответа 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

Все просто…

  1. User-agent: * — нижеследующие инструкции для всех роботов
  2. Disallow: / — запрещаем к индексации весь сайт
  3. Allow: /$ — разрешаем индексировать главную страницу
  4. Allow: /post/ — разрешаем индексировать страницы начинающиеся с /post/
  5. Allow: /sitemap — разрешаем индексировать карту сайта
  6. Allow: /*.js — разрешаем индексировать скрипты JavaScript
  7. Allow: /*.css — разрешаем индексировать таблицы стилей
  8. Allow: /*.png — разрешаем индексировать изображения png
  9. Allow: /*.jpg — разрешаем индексировать изображения jpg
  10. Crawl-delay: 10 — просим поискового робота «делать паузы между подходами»
  11. Host: https://sitename.tld — указываем основное зеркало сайта
  12. Sitemap: https://sitename.tld/sitemap.xml — указываем карту сайта для роботов

Как работает этот robots.txt

Поисковый робот заходит на сайт и видит главную страницу. Она разрешена к индексации и он ее обрабатывает. На ней он находит внутренние ссылки. В том числе карту сайта (не забудьте добавить на нее ссылку на главной), которая разрешена к индексации. Посетив ее робот узнает о всех ваших страницах.

Консультация с Платоном Щукиным

Я отправил этот robots.txt для проверки в службу поддержки Яндекс и получил положительный ответ:

Согласование robots.txt в Яндекс

Ответ службы поодержки Яндекс

Результаты и выводы

С помощью приведенного файла robots.txt мы позволили поисковым роботам индексировать только страницы сайта находящиеся по адресу /post/, главную страницу и карту сайта для людей /sitemap. Все остальное полностью запрещено.

Ложка дегтя. Файл robots.txt — это всего лишь рекомендации для поисковиков, что делать, а что нет. Я надеюсь, что поисковики Google и Яндекс соблюдают правила игры.

Благодарности

При написании статьи были использованы следующие ресурсы:

  1. https://yandex.ru/support/webmaster/controlling-robot/robots-txt.xml

Обсуждение (комментарии к статье)

  1. Спасибо, за эту статью, но меня интересует другое. Я увидел у вас под комментариями кнопку Отправить и согласие на обработку. Напишите, как ее сделать без плагинов, очень нужная вещь. Поподробнее.

    1. Сергей, это просто. Нужно всего лишь добавить в форму checkbox (галочка о согласии) с параметром required (делает это поле обязательным для заполнения).

      У меня это выглядит так:

      <input type="checkbox" required /> Далее какой-то текст...

      Работает это в HTML5, подробнее здесь — http://htmlbook.ru/html/input/required

          1. Это скорее в файле, а не в папке. Все зависит от реализации вашего сайта. Названия папок и файлов могут быть совершенно разными. У меня блог на WordPress, я использую тему в которой форма комментирования реализована как отдельный файл (wp-content/themes/mytheme/comment.php). Вам нужно искать что-то подобное на своем сайте. Либо (справедливо для сайта на WordPress) попробуйте добавить следующий код в файл functions.php вашей темы:

            //Чек бокс Конфиденциальность
            
            add_action('comment_form', 'flagok_privacy_policy');
            function flagok_privacy_policy($id) {
              if (!is_user_logged_in()) :
                print '<div class="chekprivacypolicy"><input type="checkbox" required />
            Нажимая кнопку "Отправить" Вы даете свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом от 27.07.2006 №152-ФЗ "О персональных данных".
            </div>';
              endif;
            }
            
  2. Вот в этой статье https://dampi.ru/pravilnyiy-robots-txt-dlya-sayta-na-wordpress я как раз подробно описал то, что если открыть uploads для всех ботов, то в индексе появляются загруженные PDF и прочие текстовые файлы. А в яндекс вебмастере, в отчете «Исключенные страницы» появляются сообщения об ошибке при индексировании картинок, мол содержимое не поддерживается. Прежде чем писать и давать советы, сообщения GSC и ЯВебмастера пробовали анализировать?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности сайта.
© Юрий Рассадников, 2011 - 2024
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 18 | 0,310 сек. | 9.52 МБ