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

 4 июня 2017      
 WordPress / Вебмастеру / Поисковая оптимизация      
 комментариев 6      
 758

В этой статье я приведу пример файла 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
Поделись этой страницей с друзьями!

Прочтите это обязательно

Как скрыть email на сайте от спам-ботов

Несколько примеров как защитить адрес электронной почты опубликованной у вас на сайте. Основной принцип защиты ...

HTML & CSS css email html wordpress Далее
SiSoft Sandra_Amazon

Не Амазоном единым: обзор и тестирование облачной IaaS SIM-Cloud

Несмотря на гегемонию AWS на мировом рынке облачных сервисов, пытливый ум всегда найдёт повод и возможность по ...

Обзоры хостинга хостинг Далее

Обсуждение: 6 комментариев

  1. Сергей:

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

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

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

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

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

      Ответить
      1. Сергей:

        Далее какой-то текст…

        Юрий, а куда конкретно этот код вставить?

        Ответить
        1. Сергей, в форму комментирования между тегами <form> и </form>

          Ответить
          1. Сергей:

            ЮРИЙ, в какой именно папке это находится?

          2. Это скорее в файле, а не в папке. Все зависит от реализации вашего сайта. Названия папок и файлов могут быть совершенно разными. У меня блог на 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;
            }
            

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

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

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности.

2018 © Технический блог
SQL - 101 | 0,319 сек. | 9.46 МБ
доступность сайта