Настройка файла robots.txt для WordPress: оптимальный пример кода

Настройка файла robots.txt для WordPress

В этой статье я представлю оптимальный пример кода для файла robots.txt для WordPress, который вы можете использовать на своих веб-сайтах.

Содержание

  • Оптимальный код для robots.txt для WordPress
  • Версия 1 (менее строгая)
  • Версия 2 (строгая)
  • Директивы (анализ кода)
  • ВАЖНО: Сортировка правил
  • Проверка robots.txt и документация
  • robots.txt в WordPress
  • robots_txt
  • do_robotstxt
  • Рекомендации
  • Ошибочные рекомендации
  • Спорные рекомендации
  • Не запрещайте /wp-admin/admin-ajax.php
  • Не запрещайте /wp-includes/
  • Не запрещайте ленты: */feed
  • Нестандартные директивы
  • clean-param
  • crawl-delay (устарело)
  • host (устарело)
  • Заключение

Зачем нужен файл robots.txt?

Файл robots.txt нужен для того, чтобы указать поисковым роботам, какие разделы и страницы сайта они могут посещать, а какие нет. Страницы, закрытые от индексации, не будут представлены в поисковых системах (например, в Яндексе или Гугле).

Пример файла robots.txt

Также можно запретить доступ к странице с помощью мета-тега robots или заголовка HTTP X-Robots-Tag. Преимущество файла robots.txt в том, что поисковые роботы сначала обращаются к этому файлу и уже на основании его правил решают, какие страницы индексировать.

Если вы закрыли страницу в robots.txt, то робот просто пропустит её, не запрашивая сервер. А если вы закрываете страницу через заголовок X-Robots-Tag или мета-тег, то роботу нужно будет сначала сделать запрос к серверу, чтобы проверить, что там.

Таким образом, файл robots.txt позволяет экономить время робота и ресурсы сервера.

Пример:
Представим, у нас на сайте 10,000 страниц, из которых всего 3,000 являются уникальными и полезными, а остальные 7,000 — это архивы, страницы пагинации и т.п. Если мы закроем доступ к этим 7,000 страницам через robots.txt, робот проиндексирует 3,000 страниц за меньшее время, чем если бы он должен был проверять все 10,000 страниц.

Оптимальный код для robots.txt для WordPress

Важно понимать, что приведенный ниже код является универсальным примером для файла robots.txt. Для каждого конкретного сайта его следует адаптировать. Если вы не уверены, что делаете, лучше обратиться за помощью к специалистам.

Версия 1 (менее строгая)

Эта версия более предпочтительна, так как она не запрещает индексацию файлов ядра WordPress или папки wp-content.

User-agent: *                   # Создать секцию правил для всех роботов.
Disallow: /cgi-bin              # Стандартная папка на хостинге.
Disallow: /wp-admin/            # Закрыть админку.
Allow: /wp-admin/admin-ajax.php # Разрешить AJAX.
Disallow: /?                    # Все параметры запроса на главной странице.
Disallow: *?s=                  # Поиск.
Disallow: *&s=                  # Поиск.
Disallow: /search               # Поиск.
Disallow: /author/              # Архив автора.
Disallow: */embed$              # Все встраивания.
Disallow: */xmlrpc.php          # Файл API WordPress.
Disallow: *utm*=                # Ссылки с utm-тегами.
Disallow: *openstat=            # Ссылки с openstat-тегами.

# Одна или несколько ссылок на файл карты сайта.
Sitemap: http://example.com/sitemap.xml
Sitemap: http://example.com/sitemap.xml.gz

_Не забудьте заменить MARKDOWN_HASH5ababd603b22780302dd8d83498e5172MARKDOWNHASH на ваш сайт.

Версия 2 (строгая)

В этой версии мы строго контролируем доступ почти ко всему, связанному с WordPress. Я бы не рекомендовал этот код, так как он запрещает индексацию почти всего и может привести к проблемам с доступностью.

User-agent: *
Disallow: /cgi-bin             # Стандартная папка на хостинге.
Disallow: /wp-                 # Все, что относится к WP.
Disallow: /wp/                 # Директория, где установлено ядро WP.
Disallow: /?                   # Все параметры запроса на главной странице.
Disallow: *?s=                 # Поиск.
Disallow: *&s=                 # Поиск.
Disallow: /search              # Поиск.
Disallow: /author/             # Архив автора.
Disallow: */embed$             # Все встраивания.
Disallow: */xmlrpc.php         # Файл API WordPress.
Disallow: *utm*=               # Ссылки с utm-тегами.
Disallow: *openstat=           # Ссылки с openstat-тегами.

Allow:    */wp-*/*ajax*.php    # AJAX-запросы.
Allow:    */wp-sitemap         # карта сайта (основная и вложенная).
Allow:    */uploads            # открываем загрузки и пр.

Директивы (анализ кода)

User-agent:

Эта директива указывает, для какого робота применяются правила. Есть два варианта:

  1. User-agent: * — правила применяются ко всем поисковым роботам.
  2. User-agent: ИМЯ_РОБОТА — правила применяются для конкретного робота. Например: User-agent: Yandex, User-agent: Googlebot.

Disallow:

Эта директива запрещает роботу переходить по указанным ссылкам. Например:

Disallow: /cgi-bin             # Закрыть скрипты на сервере.
Disallow: *?s=                 # Закрыть страницы поиска.

Allow:

Эта директива позволяет открывать доступ к определённым страницам, даже если они подпадают под другие запреты.

ВАЖНО: Сортировка правил

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

Проверка robots.txt и документация

Вы можете проверить, правильно ли работают ваши правила, используя такие инструменты:

robots.txt в WordPress

Важно понимать, что файл robots.txt по умолчанию не должен существовать в корне вашего сайта, иначе сервер будет показывать его содержимое, и динамическое создание правил не будет работать.

В WordPress запрос к /robots.txt обрабатывается не стандартным образом и позволяет вам делать изменения через админ-панель или SEO плагины.

Пример кода для изменения robots.txt

add_action( 'robots_txt', 'customize_robots_txt' );

function customize_robots_txt( $output ) {
    $output .= "Disallow: /cgi-binn";
    $output .= "Disallow: /? n";
    return $output;
}

Теперь, когда вы зайдете на /robots.txt, вы увидите обновленный файл с правилами.

Рекомендации

  1. Не повторяйте карту сайта для каждого User-agent. Это не нужно, карта сайта должна указана только один раз.

  2. Не запрещайте wp-content, wp-includes и другие папки. Это устаревшие рекомендации.

Заключение

Помните, что изменения в файле robots.txt вступят в силу только через несколько месяцев. Появились слухи, что Google может игнорировать некоторые правила, но чаще всего их игнорирование связано с ошибками в самом файле.

Leave a Reply

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