Robots txt wordpress правильный

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

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

Как создать robots.txt для WordPress

Чтобы приступить к созданию правильного файла, для начала давайте поймем, где находится robots.txt WordPress. Он располагается в корне сайта. Чтобы просмотреть корневые папки и файлы вашего проекта, необходимо воспользоваться любым FTP-клиентом, для этого просто нужно нажать на настроенное «Соединение».

Чтобы посмотреть содержимое нашего служебного файла, достаточно просто набрать в адресной строке после имени сайта robots.txt. Пример: https ://mysite .com /robots .txt

WordPress robots.txt где лежит вы знаете, осталось взглянуть, как должен выглядеть идеальный служебный файл для указанного выше движка.

  1. В первую очередь в файле необходимо указать пусть к карте сайта:

Sitemap: http://web-profy.com/sitemap.xml

  1. А теперь непосредственно правильная структура файла robots.txt для WordPress:

Disallow: /wp-admin

Disallow: /wp-includes

Disallow: /wp-content/plugins

Disallow: /wp-content/cache

Disallow: /wp-content/themes

Disallow: /trackback

Disallow: */trackback

Disallow: */*/trackback

Disallow: */*/feed/*/

Disallow: */feed

User-agent: Yandex

Disallow: /wp-admin

Disallow: /wp-includes

Disallow: /wp-content/plugins

Disallow: /wp-content/cache

Disallow: /wp-content/themes

Disallow: /trackback

Disallow: */trackback

Disallow: */*/trackback

Disallow: */*/feed/*/

Disallow: */feed

Host: mysite.com

Sitemap: http://mysite.com/sitemap.xml.gz

Sitemap: http://mysite.com/sitemap.xml

Достаточно просто скопировать эти данные в свой файл. Так выглядит правильный robots.txt для WordPress.

Теперь рассмотрим, что означает каждая из строк в структуре служебного файла:

User-agent: * — строка, которая показывает, что все введенные ниже данные будут применимы относительно всех поисковых систем.

Однако для Яндекса правило будет выглядеть следующим образом: User-agent: Yandex.

Allow: — страницы, которые поисковые роботы могут индексировать.

Disallow: — страницы, которые поисковым роботам индексировать запрещено.

Host: mysite.com — зеркало сайта, которое нужно указывать в данном служебном файле.

Sitemap: — путь к карте сайта.

robots.txt для сайта WordPress, на котором не настроены ЧПУ

robots.txt для сайта WordPress, где находится список правил будет выглядеть несколько иначе в случае, если на сайте не настроены ЧПУ.

Disallow: /cgi-bin

Disallow: /wp-admin

Disallow: /wp-includes

Disallow: /wp-content/plugins

Disallow: /wp-content/cache

Disallow: /wp-content/themes

Disallow: /trackback

Disallow: */trackback

Disallow: */*/trackback

Disallow: */*/feed/*/

Disallow: */feed

User-agent: Yandex

Disallow: /cgi-bin

Disallow: /wp-admin

Disallow: /wp-includes

Disallow: /wp-content/plugins

Disallow: /wp-content/cache

Disallow: /wp-content/themes

Disallow: /trackback

Disallow: */trackback

Disallow: */*/trackback

Disallow: */*/feed/*/

Disallow: */feed

Host: mysite.com

Sitemap: http://mysite.com /sitemap.xml.gz

Sitemap: http://mysite.com /sitemap.xml

Какие могут возникнуть проблемы на WordPress сайте, если нет настроены ЧПУ. Строка в служебном файле robots.txt Disallow : /*?* не позволяет индексировать страницы сайта, а именно так выглядят адреса страниц проекта при отсутствии настроек ЧПУ. Это может негативно отражаться на рейтинге интернет-проекта в поисковиках, поскольку нужный пользователям контент просто не будет им показываться в результатах выдачи.

Конечно, эту строку можно в файле можно легко удалить. Тогда сайт будет работать в нормальном режиме.

Как убедиться в том, что robots.txt составлен правильно

Сделать это можно при помощи специального инструмента от Яндекс — Яндекс.Вебмастер .

Необходимо зайти в Настройки индексирования — Анализ robots .txt

Внутри все интуитивно понятно. Необходимо нажать на «Загрузить robots .txt с сайта». Также вы можете каждую страницу отдельно просмотреть на наличие возможности ее индексации. В «Список URL» можно просто ввести адрес интересующих вас страниц, система покажет все сама.

Не стоит забывать о том, что все изменения, которые вы вносите в файл robots.txt, будут доступны не сразу, а спустя лишь несколько месяцев.

Как правильно сохранять файл robots.txt

Чтобы наш служебный файл был доступен в такой поисковой системе, как Google, его необходимо сохранить следующим образом:

  1. Файл в обязательном порядке должен иметь текстовый формат;
  2. Разместить его необходимо корне вашего сайта;
  3. Файл должен иметь имя robots.txt и никакое другое больше.

Адрес, по которому поисковые роботы находят robots.txt должен иметь следующий вид — https://mysite.com/robots.txt

Если вы посетили эту страницу тогда вас интересует где находится файл robots.txt в WordPress. С данной проблемой обычно сталкиваются . После прочтения короткой статьи вы выясните все что вам нужно знать.

По большому счету я могу написать просто «Файл расположен в корневой директории сайта». Увы этот ответ удовлетворит лишь часть посетителей, не все знают о «корнях» и тому подобном. По этому давайте все разберем, как в первый раз.

Как проверить существует ли файл robots.txt

Сперва проверим есть ли нужный файл вообще, для этого вписываем в строке браузера адрес-сайта.ru/robots.txt, если документ откроется, и вы увидите текст на английском, примерно такого рода:

Значит все в порядке, файл существует, в противном случае, скорее всего, отсутствует, или находиться не там где нужно, его потребуется создать.

Давайте для начала определимся как вам удобно работать с файлами сайта. Для этого существует несколько способов. Первый не очень удобный, но зато более привычен для любителей Windows - это программа на вашем хостинге, с помощью которой вы создаете и удаляете файлы и папки своего сайта. Выглядеть это все дело должно примерно так:

В папке WWW/ВАШ-САЙТ должны быть папки wp-includes, wp-content, wp-admin ниже них расположен нужный вам файл роботс. Один способ разобрали, можно идти к следующему.

Файл robots.txt это первоначальный, и один из главнейших инструментов для корректной индексации ваших сайтов и их контента. Отсутствие данного файла приведет к печальным последствиям которые тяжело будет исправить. От того как вы настроите robots.txt зависит что попадет в выдачу по запросам в поисковых системах. Сейчас рассмотрим правильный файл robots.txt для WordPress сайта.

Навигация по странице:

Для чего использовать robots.txt?

Перед тем как приступать к созданию и наполнениюдавайте разберем саму суть данного файла.

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

Чем занимается поисковой робот на сайте?

Итак, к примеру ваш сайт посетил поисковой робот, что он делает в первую очередь? Во-первых пытается найти уникальную информацию, которую сможет занести в свою базу данных. Если роботсотсутствует, а именно к нему в первую очередь обращается робот, тогда он начинает «читать» файлы находящиеся в корне сайта, что конечно же нам не очень понравиться, ведь он не только не найдет там нужную ему информацию, а и прочитает наши данные настроек, которые созданы для нашей личной цели. Именно для этого и существует robots.txt. Он дает указания роботу куда ходить нужно, а куда заглядывать не стоит.

Создание и размещение файла на сайте WordPress.

Для того что бы создать путеводитель для роботов, вам потребуется обычный блокнот windows, в котором вы будете прописывать нужные команды для поисковых роботов. После этого нужно сохранить файл в формате «txt», под названием «robots». На этом создание завершено, далее в статье мы рассмотрим какие же команды должны находиться в

Где размещать?

Robots.txt размещается на вашем хостинге, непосредственно в корневой папке сайта, куда мы . Теперь поисковой робот перед тем как лазить по нашему сайту, сначала спросит разрешение куда ему можно, а куда запрещено заходить.

Важно: при размещении документа в подкаталогах, роботы не смогут найти этот файл .

Зайдя к вам на сайт робот заходитсмотрит предназначеную для него «инструкцию» и начинает его изучать. Изучив до конца он пойдет по выбранному вами пути индексации, и будет игнорировать те директории, папки и URL к которым вы запретили обращаться.

Что включает в себя роботс?

Robots.txt несет в себе информативные данные для поисковых роботов и включает в себя такие основные «команды»:

User-agent

Указывает на имя потенциального робота посетителя. Синтаксис «User-agent: *» будет означать что данным командам должны следовать все роботы. Варианты для отдельных роботов рассматривать не будем, их очень много. По этому для примера будет только два варианта (для всех роботов и отдельно для Яндекс).

Disallow

Команда для роботов, рассказывающая о том куда ходить не стоит, запрещает чтение указанных адресов и файлов.

Данная команда указывает роботу, какой из вариантов сайта будет нашим главным зеркалом сайта.

Место нахождения xml карты сайта по которой должен пробежаться посетивший нас робот, в той части за которой он пришел (контент сайта).

Правильный robots.txt для сайта на CMS WordPress.

Для того что бы правильно настроить файл robots.txt специально под «движок» WordPress нужно для начала понимать что ищут роботы и что им будет интересно.

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

Говоря о требуемых размещения директорий в robots.txt для WordPress, нам нужно разобраться с главной (корневой) папкой нашего сайта, в которой мы обнаружим огромное количество стандартных файлов и папок. Роботам незачем их читать, они не найдут там то что ищут, по этому нужно запрещать индексировать по возможности весь «лишний мусор».

Подумайте сами чем может сулить нам например индексация нашего wp-config.php. Робот просто возьмет и «расскажет» всем о наших вводных данных к нашим базам данных, а это крайне плохо для нас.

Сейчас я покажу готовый вариант. Затем разберем каждую строчку в расширенном описании. Итак, правильный robots.txt для WordPress должен выглядеть так:

Disallow: /wp-
Disallow: */trackback
Disallow: /*?*
Disallow: /?s=*
Disallow: */author
Disallow: /2016
Disallow: /xmlrpc.php
Allow: /wp-content/uploads/
Allow: *.js
Allow: *.css
Host: site.ru

Теперь посмотрим как мы смогли добиться такого короткого содержания файла robots.txt для WordPress, рассмотрим расширенную версию файла и постепенно уберем повторы:

Disallow: /wp-admin # Блокируем индексацию папки admin
Disallow: /wp-includes # папки includes
Disallow: /wp-content/languages # папки content/languages
Disallow: /wp-content/plugins # папки content/plugins
Disallow: /wp-content/cache # папки content/cache
Disallow: /wp-content/themes # папки content/themes
Disallow: /trackback # блокируем индекс всех возможных трекбеков
Disallow: */trackback
Disallow: */*/trackback
Disallow: */feed # блокируем индексацию фидов, новостных лент всех вариантов
Disallow: /feed/
Disallow: /?feed=
Disallow: */*/feed
Disallow: */*/feed/*/
Disallow: /*?* # запрет индекса всех ссылок (защита от дублей)
Disallow: /tag # каталоги находящихся в разных директориях (метки, категории)
Disallow: /tag/*
Disallow: /?s=*
Disallow: /page/* # запрещаем лишние страницы в WP, создающие дубли
Disallow: /author # блокировка индексации автора
Disallow: /2015 # дублирование ссылок с архива # далее блокировка всех административных файлов
Disallow: /xmlrpc.php
Disallow: /wp-activate.php
Disallow: /wp-blog-header.php
Disallow: /wp-comments-post.php
Disallow: /wp-config.php
Disallow: /wp-cron.php
Disallow: /wp-links-opml.php
Disallow: /wp-load.php
Disallow: /wp-login.php
Disallow: /wp-mail.php
Disallow: /wp-register.php
Disallow: /wp-settings.php
Disallow: /wp-signup.php
Disallow: /wp-trackback.php
Disallow: /wp-config-sample.php
Allow: /wp-content/uploads/ # Разрешаем индексировать наши загруженные картинки
Host: site.ru # Указываем основное зеркало
Sitemap: http://site.ru/sitemap.xml # Направляем робота на наши страницы контента

Указанный выше пример заблокирует от индексации все ненужные для поисковой оптимизации файлы и ссылки и укажет на тот материал который должен быть проиндексирован.

Ну уж очень длинный у нас вышел пример, сейчас мы его будем упрощать. Для начала возьмемся за файлы и папки с префиксом «wp-« их все можно объединить воедино.

Disallow: /wp-
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: */feed
Disallow: /feed/
Disallow: /?feed=
Disallow: */*/feed
Disallow: */*/feed/*/
Disallow: /*?*
Disallow: /tag
Disallow: /tag/*
Disallow: /?s=*
Disallow: /page/*
Disallow: /author
Disallow: /2015
Disallow: /xmlrpc.php
Allow: /wp-content/uploads/
Allow: *.js
Allow: *.css
Host: site.ru
Sitemap: http://site.ru/sitemap.xml

Значительно уменьшили, но это не предел, пойдем немножко дальше и постараемся еще сократить, да еще и проделать необходимые внутренние настройки.

Все дело в том что при таком варианте файла, Google все равно внесет запрещенные вами страницы в индекс, но выглядеть они будут иначе:

Это не столь опасно как открытые дубли, но все же лучше от этого избавляться. Для того что бы исправить данную ситуацию можно воспользоваться сразу несколькими методами. Я расскажу о самом быстром и простом - «Параметры URL». Кстати в рекомендациях для Яндекса лучше оставить параметр «feed» в указанном варианте.

Избавились от feed с помощью Google, теперь для альтернативы запретим индексирование пагинации с помощью плагина, который скорее всего используется вами, если же это не так, тогда альтернативный так же подойдет. Речь идет о All in One SEO и его настройках тегов «robots» и «canonical».

Для того что бы запретить индексировать поисковикам не нужные нам страницы, такие как страницы пагинации всех видов (главной, рубрик и меток) нужно всего навсего поставить галочки в нужных местах.

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

После проведенных настроек, снова обращаемся к нашему варианту файла и смотрим что получилось:

Disallow: /wp-
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: /*?*
Disallow: /?s=*
Disallow: /author
Disallow: /2015
Disallow: /xmlrpc.php
Allow: /wp-content/uploads/
Allow: *.js
Allow: *.css
Host: site.ru
Sitemap: http://site.ru/sitemap.xml

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

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

Allow: /wp-content/themes/название вашей темы/images

Если вы проигнорируете это, у вас могут возникнуть проблемы с поисковиками, они не любят когда от них скрывают важную информацию.

Пример можно расширять, например добавлением запрета для индексации определенных ссылок на страницы, обычно это страницы повторы которые вредят нашей оптимизации.

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

Для начала, вспомним зачем нужен robots.txt - файл robots.txt нужен исключительно для поисковых роботов, чтобы «сказать» им какие разделы/страницы сайта посещать, а какие посещать не нужно. Страницы, которые закрыты от посещения не будут попадать в индекс поисковиков (Yandex, Google и т.д.).

Вариант 1: оптимальный код robots.txt для WordPress

User-agent: * Disallow: /cgi-bin # классика... Disallow: /? # все параметры запроса на главной Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins Disallow: *?s= # поиск Disallow: *&s= # поиск Disallow: /search # поиск Disallow: /author/ # архив автора Disallow: */embed # все встраивания Disallow: */page/ # все виды пагинации Allow: */uploads # открываем uploads Allow: /*/*.js # внутри /wp- (/*/ - для приоритета) Allow: /*/*.css # внутри /wp- (/*/ - для приоритета) Allow: /wp-*.png # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpeg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.gif # картинки в плагинах, cache папке и т.д. Allow: /wp-*.svg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.pdf # файлы в плагинах, cache папке и т.д. Allow: /wp-admin/admin-ajax.php #Disallow: /wp/ # когда WP установлен в подкаталог wp Sitemap: http://example.com/sitemap.xml Sitemap: http://example.com/sitemap2.xml # еще один файл #Sitemap: http://example.com/sitemap.xml.gz # сжатая версия (.gz) # Версия кода: 1.1 # Не забудьте поменять `site.ru` на ваш сайт.

Разбор кода:

    В строке User-agent: * мы указываем, что все нижеприведенные правила будут работать для всех поисковых роботов * . Если нужно, чтобы эти правила работали только для одного, конкретного робота, то вместо * указываем имя робота (User-agent: Yandex , User-agent: Googlebot).

    В строке Allow: */uploads мы намеренно разрешаем индексировать страницы, в которых встречается /uploads . Это правило обязательно, т.к. выше мы запрещаем индексировать страницы начинающихся с /wp- , а /wp- входит в /wp-content/uploads . Поэтому, чтобы перебить правило Disallow: /wp- нужна строчка Allow: */uploads , ведь по ссылкам типа /wp-content/uploads/... у нас могут лежать картинки, которые должны индексироваться, так же там могут лежать какие-то загруженные файлы, которые незачем скрывать. Allow: может быть "до" или "после" Disallow: .

    Остальные строчки запрещают роботам "ходить" по ссылкам, которые начинаются с:

    • Disallow: /cgi-bin - закрывает каталог скриптов на сервере
    • Disallow: /feed - закрывает RSS фид блога
    • Disallow: /trackback - закрывает уведомления
    • Disallow: ?s= или Disallow: *?s= - закрыавет страницы поиска
    • Disallow: */page/ - закрывает все виды пагинации
  1. Правило Sitemap: http://example.com/sitemap.xml указывает роботу на файл с картой сайта в формате XML. Если у вас на сайте есть такой файл, то пропишите полный путь к нему. Таких файлов может быть несколько, тогда указываем путь к каждому отдельно.

    В строке Host: site.ru мы указываем главное зеркало сайта. Если у сайта существуют зеркала (копии сайта на других доменах), то чтобы Яндекс индексировал всех их одинаково, нужно указывать главное зеркало. Директива Host: понимает только Яндекс, Google не понимает! Если сайт работает под https протоколом, то его обязательно нужно указать в Host: Host: http://example.com

    Из документации Яндекса: «Host - независимая директива и работает в любом месте файла (межсекционная)». Поэтому её ставим наверх или в самый конец файла, через пустую строку.

Потому что наличие открытых фидов требуется например для Яндекс Дзен, когда нужно подключить сайт к каналу (спасибо комментатору «Цифровой»). Возможно открытые фиды нужны где-то еще.

В тоже время, фиды имеют свой формат в заголовках ответа, благодаря которому поисковики понимают что это не HTML страница, а фид и, очевидно, обрабатывают его как-то иначе.

Директива Host для Яндекса больше не нужна

Яндекс полностью отказывается от директивы Host, её заменил 301 редирект. Host можно смело удалять из robots.txt . Однако важно, чтобы на всех зеркалах сайта стоял 301 редирект на главный сайт (главное зеркало).

Это важно: сортировка правил перед обработкой

Yandex и Google обрабатывает директивы Allow и Disallow не по порядку в котором они указаны, а сначала сортирует их от короткого правила к длинному, а затем обрабатывает последнее подходящее правило:

User-agent: * Allow: */uploads Disallow: /wp-

будет прочитана как:

User-agent: * Disallow: /wp- Allow: */uploads

Чтобы быстро понять и применять особенность сортировки, запомните такое правило: «чем длиннее правило в robots.txt, тем больший приоритет оно имеет. Если длина правил одинаковая, то приоритет отдается директиве Allow.»

Вариант 2: стандартный robots.txt для WordPress

Не знаю кто как, а я за первый вариант! Потому что он логичнее - не надо полностью дублировать секцию ради того, чтобы указать директиву Host для Яндекса, которая является межсекционной (понимается роботом в любом месте шаблона, без указания к какому роботу она относится). Что касается нестандартной директивы Allow , то она работает для Яндекса и Гугла и если она не откроет папку uploads для других роботов, которые её не понимают, то в 99% ничего опасного это за собой не повлечет. Я пока не заметил что первый robots работает не так как нужно.

Вышеприведенный код немного не корректный. Спасибо комментатору " " за указание на некорректность, правда в чем она заключалась пришлось разбираться самому. И вот к чему я пришел (могу ошибаться):

    Некоторые роботы (не Яндекса и Гугла) - не понимают более 2 директив: User-agent: и Disallow:

  1. Директиву Яндекса Host: нужно использовать после Disallow: , потому что некоторые роботы (не Яндекса и Гугла), могут не понять её и вообще забраковать robots.txt. Cамому же Яндексу, судя по документации , абсолютно все равно где и как использовать Host: , хоть вообще создавай robots.txt с одной только строчкой Host: www.site.ru , для того, чтобы склеить все зеркала сайта.

3. Sitemap: межсекционная директива для Яндекса и Google и видимо для многих других роботов тоже, поэтому её пишем в конце через пустую строку и она будет работать для всех роботов сразу.

На основе этих поправок, корректный код должен выглядеть так:

User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-json/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: */embed Disallow: */page/ Disallow: /cgi-bin Disallow: *?s= Allow: /wp-admin/admin-ajax.php Host: site.ru User-agent: * Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-json/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: */embed Disallow: */page/ Disallow: /cgi-bin Disallow: *?s= Allow: /wp-admin/admin-ajax.php Sitemap: http://example.com/sitemap.xml

Дописываем под себя

Если вам нужно запретить еще какие-либо страницы или группы страниц, можете внизу добавить правило (директиву) Disallow: . Например, нам нужно закрыть от индексации все записи в категории news , тогда перед Sitemap: добавляем правило:

Disallow: /news

Оно запретить роботам ходить по подобным ссылками:

  • http://example.com/news
  • http://example.com/news/drugoe-nazvanie/

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

Disallow: */news

  • http://example.com/news
  • http://example.com/my/news/drugoe-nazvanie/
  • http://example.com/category/newsletter-nazvanie.html

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

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

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

  • Яндекс: http://webmaster.yandex.ru/robots.xml .
  • В Google это делается в Search console . Нужна авторизация и наличия сайта в панели веб-мастера...
  • Сервис для создания файла robots.txt: http://pr-cy.ru/robots/
  • Сервис для создания и проверки robots.txt: https://seolib.ru/tools/generate/robots/

Я спросил у Яндекса...

Задал вопрос в тех. поддержку Яндекса насчет межсекционного использования директив Host и Sitemap:

Вопрос:

Здравствуйте!
Пишу статью насчет robots.txt на своем блоге. Хотелось бы получить ответ на такой вопрос (в документации я не нашел однозначного "да"):

Если мне нужно склеить все зеркала и для этого я использую директиву Host в самом начале фала robots.txt:

Host: site.ru User-agent: * Disallow: /asd

Будет ли в данном примере правильно работать Host: site.ru? Будет ли она указывать роботам что site.ru это основное зеркало. Т.е. эту директиву я использую не в секции, а отдельно (в начале файла) без указания к какому User-agent она относится.

Также хотел узнать, обязательно ли директиву Sitemap нужно использовать внутри секции или можно использовать за пределами: например, через пустую строчку, после секции?

User-agent: Yandex Disallow: /asd User-agent: * Disallow: /asd Sitemap: http://example.com/sitemap.xml

Поймет ли робот в данном примере директиву Sitemap?

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

Ответ:

Здравствуйте!

Директивы Host и Sitemap являются межсекционными, поэтому будут использоваться роботом вне зависимости от места в файле robots.txt, где они указаны.

--
С уважением, Платон Щукин
Служба поддержки Яндекса

Заключение

Важно помнить, что изменения в robots.txt на уже рабочем сайте будут заметны только спустя несколько месяцев (2-3 месяца).

Ходят слухи, что Google иногда может проигнорировать правила в robots.txt и взять страницу в индекс, если сочтет, что страница ну очень уникальная и полезная и она просто обязана быть в индексе. Однако другие слухи опровергают эту гипотезу тем, что неопытные оптимизаторы могут неправильно указать правила в robots.txt и так закрыть нужные страницы от индексации и оставить ненужные. Я больше склоняюсь ко второму предположению...

Динамический robots.txt

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

О том как работает динамическое создание файла robots.txt читайте в описании функции , а ниже я приведу пример как можно изменить содержание этого файла, налету, через хук .

Для этого добавьте следующий код в файл functions.php:

Add_action("do_robotstxt", "my_robotstxt"); function my_robotstxt(){ $lines = [ "User-agent: *", "Disallow: /wp-admin/", "Disallow: /wp-includes/", "", ]; echo implode("\r\n", $lines); die; // обрываем работу PHP }

User-agent: * Disallow: /wp-admin/ Disallow: /wp-includes/

Crawl-delay - таймаут для сумасшедших роботов (с 2018 года не учитывается)

Яндекс

Проанализировав письма за последние два года в нашу поддержку по вопросам индексирования, мы выяснили, что одной из основных причин медленного скачивания документов является неправильно настроенная директива Crawl-delay в robots.txt […] Для того чтобы владельцам сайтов не пришлось больше об этом беспокоиться и чтобы все действительно нужные страницы сайтов появлялись и обновлялись в поиске быстро, мы решили отказаться от учёта директивы Crawl-delay.

Когда робот Яндекса сканирует сайт как сумасшедший и это создает излишнюю нагрузку на сервер. Робота можно попросить «поубавить обороты».

Для этого нужно использовать директиву Crawl-delay . Она указывает время в секундах, которое робот должен простаивать (ждать) для сканирования каждой следующей страницы сайта.

Для совместимости с роботами, которые плохо следуют стандарту robots.txt, Crawl-delay нужно указывать в группе (в секции User-Agent) сразу после Disallow и Allow

Робот Яндекса понимает дробные значения, например, 0.5 (пол секунды). Это не гарантирует, что поисковый робот будет заходить на ваш сайт каждые полсекунды, но позволяет ускорить обход сайта.

User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Crawl-delay: 1.5 # таймаут в 1.5 секунды User-agent: * Disallow: /wp-admin Disallow: /wp-includes Allow: /wp-*.gif Crawl-delay: 2 # таймаут в 2 секунды

Google

Робот Google не понимает директиву Crawl-delay . Таймаут его роботам можно указать в панели вебмастера.

На сервисе avi1.ru Вы можете уже сейчас приобрести продвижение SMM более чем в 7 самых популярных социальных сетях. При этом обратите внимание на достаточно низкую стоимость всех услуг сайта.

Robots.txt - текстовой файл, который сообщает поисковым роботам, какие файлы и папки следует сканировать (индексировать), а какие сканировать не нужно.

Поисковые системы, такие как Яндекс и Google сначала проверяют файл robots.txt, после этого начинают обход с помощью веб-роботов, которые занимаются архивированием и категоризацией веб сайтов.

Файл robots.txt содержит набор инструкций, которые просят бота игнорировать определенные файлы или каталоги. Это может быть сделано в целях конфиденциальности или потому что владелец сайта считает, что содержимое этих файлов и каталогов не должны появляться в выдаче поисковых систем.

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

Оптимальный robots.txt

User-agent: * # общие правила для роботов, кроме Яндекса и Google, # т.к. для них правила ниже Disallow: /cgi-bin # системная папка на хостинге, закрывается всегда Disallow: /? # все параметры запроса на главной Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins Disallow: /wp/ # если есть подкаталог /wp/, где установлена CMS (если нет, # правило можно удалить) Disallow: *?s= # запрос поиска Disallow: *&s= # запрос поиска Disallow: /search/ # запрос поиска Disallow: /author/ # архив автора, если у Вас новостной блог с авторскими колонками, то можно открыть # архив автора, если у Вас новостной блог с авторскими колонками, то можно открыть Disallow: /users/ # архив авторов Disallow: */trackback # трекбеки, уведомления в комментариях о появлении открытой # ссылки на статью Disallow: */feed # все фиды Disallow: */rss # rss фид Disallow: */embed # все встраивания Disallow: */wlwmanifest.xml # xml-файл манифеста Windows Live Writer (если не используете, # правило можно удалить) Disallow: /xmlrpc.php # файл WordPress API Disallow: *utm*= # ссылки с utm-метками Disallow: *openstat= # ссылки с метками openstat Allow: */uploads # открываем папку с файлами uploads # Укажите один или несколько файлов Sitemap (дублировать для каждого User-agent # не нужно). Google XML Sitemap создает 2 карты сайта, как в примере ниже. Sitemap: http://site.ru/sitemap.xml Sitemap: http://site.ru/sitemap.xml.gz # Host прописывать больше не нужно.

Расширенный вариант (разделенные правила для Google и Яндекса)

User-agent: * # общие правила для роботов, кроме Яндекса и Google, # т.к. для них правила ниже Disallow: /cgi-bin # папка на хостинге Disallow: /? # все параметры запроса на главной Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins Disallow: /wp/ # если есть подкаталог /wp/, где установлена CMS (если нет, # правило можно удалить) Disallow: *?s= # поиск Disallow: *&s= # поиск Disallow: /search/ # поиск Disallow: /author/ # архив автора Disallow: /users/ # архив авторов Disallow: */trackback # трекбеки, уведомления в комментариях о появлении открытой # ссылки на статью Disallow: */feed # все фиды Disallow: */rss # rss фид Disallow: */embed # все встраивания Disallow: */wlwmanifest.xml # xml-файл манифеста Windows Live Writer (если не используете, # правило можно удалить) Disallow: /xmlrpc.php # файл WordPress API Disallow: *utm*= # ссылки с utm-метками Disallow: *openstat= # ссылки с метками openstat Allow: */uploads # открываем папку с файлами uploads User-agent: GoogleBot # правила для Google (комментарии не дублирую) Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Disallow: *utm*= Disallow: *openstat= Allow: */uploads Allow: /*/*.js # открываем js-скрипты внутри /wp- (/*/ - для приоритета) Allow: /*/*.css # открываем css-файлы внутри /wp- (/*/ - для приоритета) Allow: /wp-*.png # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpeg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.gif # картинки в плагинах, cache папке и т.д. Allow: /wp-admin/admin-ajax.php # используется плагинами, чтобы не блокировать JS и CSS User-agent: Yandex # правила для Яндекса (комментарии не дублирую) Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Allow: */uploads Allow: /*/*.js Allow: /*/*.css Allow: /wp-*.png Allow: /wp-*.jpg Allow: /wp-*.jpeg Allow: /wp-*.gif Allow: /wp-admin/admin-ajax.php Clean-Param: utm_source&utm_medium&utm_campaign # Яндекс рекомендует не закрывать # от индексирования, а удалять параметры меток, # Google такие правила не поддерживает Clean-Param: openstat # аналогично # Укажите один или несколько файлов Sitemap (дублировать для каждого User-agent # не нужно). Google XML Sitemap создает 2 карты сайта, как в примере ниже. Sitemap: http://site.ru/sitemap.xml Sitemap: http://site.ru/sitemap.xml.gz # Host прописывать больше не нужно.

Оптимальный Robots.txt для WooCommerce

Владельцы интернет-магазинов на WordPress - WooCommerce также должны позаботиться о правильном robots.txt. Мы закроем от индексации корзину, страницу оформления заказа и ссылки на добавление товара в корзину.

User-agent: * Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Disallow: *utm*= Disallow: *openstat= Disallow: /cart/ Disallow: /checkout/ Disallow: /*add-to-cart=* Allow: */uploads Allow: /*/*.js Allow: /*/*.css Allow: /wp-*.png Allow: /wp-*.jpg Allow: /wp-*.jpeg Allow: /wp-*.gif Allow: /wp-admin/admin-ajax.php Sitemap: https://site.ru/sitemap_index.xml

Вопрос/ответ

Где находится файл robots.txt в вордпресс

Обычно robots.txt располагается в корне сайта. Если его нет, то потребуется создать текстовой файл и загрузить его на сайт по FTP или панель управления на хостинге. Если Вы не смогли найти роботс тхт в корне сайта, но при переходе по ссылке вашсайт.ру/robots.txt он открывается, значит какой то из SEO плагинов сам генерирует его.

Другое