Задать вопрос
@ProgerMir

Какой будет правильный Robots.txt для Wordpress (привел пример структуры)?

Здравствуйте. Читал ответы из поиска, они написаны несколько лет назад и некоторые правила там явно неактуальны (host, например). Структура корня выглядит так:

cgi-bin
wp-admin
wp-content
wp-includes
.htaccess
index.php
license.txt
readme.html
wp-activate.php
wp-blog-header.php
wp-comments-post.php
wp-config-sample.php
wp-config.php
wp-cron.php
wp-links-opml.php
wp-load.php
wp-login.php
wp-mail.php
wp-settings.php
wp-signup.php
wp-trackback.php
xmlrpc.php

Подойдет ли ниже составленный robots.txt (и такие же правила если дублировать ниже для User-Agent: Yandex, для Гугла вроде необязательно):

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

Sitemap: example.com/sitemap.xml
Sitemap: example.com/sitemap.xml.gz
  • Вопрос задан
  • 126 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Профессия Интернет-маркетолог с нуля до PRO
    7 месяцев
    Далее
  • АБИУС
    Применение нейросетевых технологий и ИИ-агентов в маркетинге
    2 месяца
    Далее
  • МИПО
    Интернет-маркетинг
    5 месяцев
    Далее
Решения вопроса 2
opium
@opium
Просто люблю качественно работать
Для Яндекса дублировать не нужно, User-agent: * его уже покрывает. Отдельный блок с User-agent: Yandex нужен только для Clean-param (через него удобнее выкидывать UTM из индекса, чем через Disallow).

И главное: Sitemap: должен быть абсолютным URL с протоколом: https://example.com/sitemap.xml. Без https:// некорректно обрабатывается.

В остальном всё ок.
Ответ написан
vpetrov
@vpetrov
частный SEO-специалист
Коллеги уже дали хорошие ответы. Добавлю немного по логике:
а) Надо убедиться, что поисковым роботам доступны служебные файлы, отвечающие за доступность контента: css, js, шрифты. Убедитесь, что в запрещённых для сканирования папках таких файлов нет, или внесены настройки, разрешающие доступ к этим файлам. Если этого не сделать, сайт может быть признан неадаптированным для мобильных устройств и потерять в ранжировании. Ну, бывает что и часть контента может быть недоступной из-за ошибок с доступом к JS и CSS. Проверяется это достаточно просто с помощью того же Screaming Frog SEO Spider.
б) robots.txt - это в основном про сканирование, а не управление индексированием. Это разные процессы, хотя и пересекающиеся. Здесь просто список директив, управляющим доступом к ресурсам сайта.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
temnu
@temnu
SEO-специалист
Здравствуйте. Закрывать страницы с параметрами "?" в URL (включая UTM-метки) это плохая идея, так показатели страниц с параметрами не будут подклеиваться к основным страницам.

Хорошей идеей будет настроить rel=canonical и составить XML карту сайта с корректными версиями URL, это позволит избежать индексации страниц с параметрами и "подклеить" их к основным версиям страниц (без параметров). Если сделаете это, то robots.txt получится следующий:

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

Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/sitemap.xml.gz

Также можно сгенерировать Clean-Param (его учитывает Яндекс) и включить его в конце файла robots.txt, после директив Sitemap.
Ответ написан
Комментировать
@oexce
универсального «правильного» robots.txt для WordPress нет, всё зависит от структуры сайта и SEO-задач. в вашем примере основные правила корректны (/wp-admin/, admin-ajax.php, поиск, sitemap). однако Disallow: /? лучше убрать, так как он может блокировать полезные URL с параметрами. также нет смысла закрывать wp-content и wp-includes, поскольку поисковикам нужен доступ к CSS, JS и изображениям. правила для utm и openstat допустимы, но современные поисковые системы обычно сами корректно обрабатывают такие параметры. для большинства сайтов достаточно минимального robots.txt с закрытием админки, страниц поиска и указанием sitemap.
Ответ написан
Комментировать
ImidgX
@ImidgX
webmaster freelancer (full stack)
Могу предложить свой вариант robots.txt
  • запрещаем служебные wp дирректории
  • разрешаем статические ресурсы, которые могут находится в служебных wp дирректориях
  • запрещаем поиск, отзывы, вложения и т.п.
  • запрещаем адреса с параметрами, потому что есть адреса без параметров, пусть индексируются они (а если всё же есть важный контент для индексации, то почему бы не сделать для него отдельный индексируемый адрес)
  • запрещаем всякие рекламные параметры, на которые в последнее время часто "жалуется" Я.вебмастер (хотя можно для Яндекса завести свою секцию и уже там использовать Clean-param)


User-agent: *
Allow: /wp-*/*.css
Allow: /wp-*/*.js
Allow: /wp-*/*.jpg
Allow: /wp-*/*.png
Allow: /wp-*/*.gif
Allow: /wp-*/*.woff
Allow: /wp-*/*.woff2
Disallow: /author/
Disallow: /wp-
Disallow: /readme
Disallow: *?s=
Disallow: *&s=
Disallow: */reviews/
Disallow: */attachment/
Disallow: */embed
Disallow: */page/ 
Disallow: *ycl=
Disallow: *gcl=
Disallow: *cpa=
Disallow: *utm=
Disallow: *clid=
Disallow: *openstat=
Disallow: *etext=
Disallow: /?
Disallow: /*?
Disallow: */?
Sitemap: https://domain.ru/sitemap.xml
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы