Robots txt в wordpress где находится

Файл sitemap.xml и правильный robots.txt для сайта - это два обязательных документа, которые способствуют быстрому и полноценному индексированию всех необходимых страниц веб-ресурса поисковыми роботами. Правильная индексация сайта в Яндексе и Google - залог успешного продвижения блога в поисковых системах.

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

Зачем нужен файл robots.txt для сайта

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

Правильная настройка robots.txt позволит:

  • исключить из индекса дубликаты и различные мусорные страницы;
  • наложить запрет на индексацию страниц, файлов и папок, которые мы хотим скрыть;
  • вообще отказать в индексации некоторым поисковым роботам (например, Yahoo, чтобы скрыть от конкурентов информацию о входящих ссылках);
  • указать главное зеркало сайта (с www или без www);
  • указать путь к карте сайта sitemap.xml.

Как создать правильный robots.txt для сайта

Для этой цели существуют специальные генераторы и плагины, но правильнее это сделать вручную.

Надо просто создать обычный текстовый файл с названием robots.txt, воспользовавшись любым текстовым редактором (например, Блокнотом или Notepad++) и загрузить его на хостинг в корневую папку блога. В этом файле надо прописать определенные директивы, т.е. правила индексации для роботов Яндекса, Гугла и др.

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

Правила создания и директивы robots.txt

Для успешной поисковой оптимизации блога надо знать некоторые правила создания robots.txt:

  • Отсутствие или пустой файл robots.txt будет означать, что поисковикам разрешено индексировать все содержание веб-ресурса.
  • robots.txt должен открываться по адресу ваш сайт.ru/robots.txt , отдавая роботу код ответа 200 OK и иметь размер не более 32 Кб. Файл, который не удастся открыть (например, из-за 404 ошибки) или большего размера, будет считаться разрешающим.
  • Количество директив в файле не должно быть больше 1024. Длина одной строки – не более 1024 символов.
  • Правильный файл robots.txt может иметь несколько инструкций, каждая из которых должна начинаться с директивы User-agent и должна содержать хотя бы одну директиву Disallow. Обычно пишут инструкции в robots.txt для Google и всех остальных роботов и отдельно для Яндекса.

Основные директивы robots.txt:

User-agent – указывает, какому поисковому роботу адресована инструкция.

Символ “*” означает, что это относится ко всем роботам, например:

User-agent: *

Если нам надо создать правило в robots.txt для Яндекса, то пишем:

User-agent: Yandex

Если указана директива для конкретного робота, директива User-agent: * ним не учитывается.

Disallow и Allow – соответственно, запрещают и разрешают роботам индексацию указанных страниц. Все адреса надо указывать от корня сайта, т.е. начиная с третьего слеша. Например:

  • Запрет индексации всего сайта всем роботам:

    User-agent: *
    Disallow: /

  • Запрещено индексировать Яндексу все страницы, начинающиеся с /wp-admin:

    User-agent: Yandex
    Disallow: /wp-admin

  • Пустая директива Disallow разрешает индексировать все и аналогична Allow. Например, разрешаю индексировать Яндексу весь сайт:

    User-agent: Yandex
    Disallow:

  • И наоборот, запрещаю индексировать все страницы всем поисковым роботам:

    User-agent: *
    Allow:

  • Директивы Allow и Disallow из одного блока User-agent сортируются по длине префикса URL и выполняются последовательно. Если для одной страницы сайта подходит несколько директив, то выполняется последняя в списке. Теперь на использование директив роботом порядок их написания не имеет значения. Если у директив префиксы одинаковой длины, то первой выполняется Allow. Такие правила вступили в силу с 8.03.12 года. Например, разрешает индексировать только страницы начинающиеся с /wp-includes:

    User-agent: Yandex
    Disallow: /
    Allow: /wp-includes

Sitemap – указывает адрес карты сайта XML. На одном сайте может быть несколько директив Sitemap, которые могут быть вложенными. Все адреса файлов Sitemap надо указать в robots.txt, чтобы ускорить индексацию сайта:

Sitemap: http://сайт/sitemap.xml.gz
Sitemap: http://сайт/sitemap.xml

Host – сообщает роботу-зеркальщику, какое зеркало сайта считать главным.

Если сайт доступен по нескольким адресам (например, с www и без www), то это создает полные дубли страниц, за которые можно попасть под фильтр. Также, в этом случае, может быть проиндексирована не основная страница, а основная, наоборот, будет исключена из индекса поисковой системы. Чтобы этого не допустить служит директива Host, которая предназначена в файле robots.txt только для Яндекса и может быть только одна. Пишется она после Disallow и Allow и выглядит так:

Host: сайт

Crawl-delay – задает задержку между закачкой страниц в секундах. Используется, если идет большая нагрузка и сервер не успевает обрабатывать запросы. На молодых сайтах лучше директиву Crawl-delay не использовать. Пишется она так:

User-agent: Yandex
Crawl-delay: 4

Clean-param – поддерживается только Яндексом и служит для устранения дубликатов страниц с переменными, склеивая их в одну. Тем самым робот Яндекса не будет много раз закачивать похожие страницы, например, связанные с реферальными ссылками. Я пока этой директивой не пользовался, но в помощи по robots.txt для Яндекса, по ссылке в начале статьи, можно ознакомиться с этой директивой подробно.

Спецсимволы * и $ используются в robots.txt для указания путей директив Disallow и Allow:

  • Спецсимвол “*” означает любую последовательность символов. Например, Disallow: /*?* означает запрет на любые страницы, где в адресе встречается “?”, не зависимо от того, какие символы идут до и после этого знака. По умолчанию спецсимвол “*” добавляется к концу каждого правила, даже если он не прописан специально.
  • Символ “$” отменяет “*” на конце правила и означает строгое соответствие. Например, директива Disallow: /*?$ будет запрещать индексацию страниц, заканчивающихся знаком “?”.

Пример robots.txt для WordPress

Вот пример моего файла robots.txt для блога на движке Вордпресс:

User-agent: * 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/*/ Disallow: */feed Disallow: /*?* Disallow: /?s= 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/*/ Disallow: */feed Disallow: /*?* Disallow: /?.ru/sitemap.xml..xml

User-agent: * 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/*/ Disallow: */feed Disallow: /*?* Disallow: /?s= 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/*/ Disallow: */feed Disallow: /*?* Disallow: /?.ru/sitemap.xml..xml

Чтобы не морочить себе голову с созданием правильного robots.txt для WordPress, можете использовать этот файл. Проблем с индексацией нет. У меня стоит скрипт защиты от копирования, поэтому будет удобнее готовый robots.txt скачать и загрузить его на свой хостинг. Только не забудьте заменить имя моего сайта на свое в директивах Host и Sitemap.

Полезные дополнения по правильной настройке файла robots.txt для WordPress

Если на вашем блоге Вордпресс установлены древовидные комментарии, то они создают дубли страниц вида ?replytocom= . В robots.txt такие страницы закрыты директивой Disallow: /*?* . Но это не выход и запреты лучше удалить, а с replytocom бороться другим способом. Каким, .

Таким образом, актуальный robots.txt на июль 2014 года выглядит так:

User-agent: * Disallow: /wp-includes Disallow: /wp-feed Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes User-agent: Yandex Disallow: /wp-includes Disallow: /wp-feed Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Host: site.ru User-agent: Googlebot-Image Allow: /wp-content/uploads/ User-agent: YandexImages Allow: /wp-content/uploads/ Sitemap: http://site.ru/sitemap.xml

User-agent: * Disallow: /wp-includes Disallow: /wp-feed Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes User-agent: Yandex Disallow: /wp-includes Disallow: /wp-feed Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Host: site.ru User-agent: Googlebot-Image Allow: /wp-content/uploads/ User-agent: YandexImages Allow: /wp-content/uploads/ Sitemap: http://site.ru/sitemap.xml

В нем дополнительно прописаны правила для роботов-индесаторов картинок.

User-agent: Mediapartners-Google
Disallow:

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

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

Disallow: /author/
Disallow: /tag
Disallow: /category/*/*
Disallow: /20*

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

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

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 плагинов сам генерирует его.

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

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

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

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

Аналогичным образом, каждый сайт имеет свои служебные помещения (разделы), а поисковые роботы – это гости. Так вот, задача правильного robots.txt – закрыть на ключик все служебные разделы сайта и пригласить поисковые системы только в те блоки, которые созданы для внешнего мира.

Примерами таких служебных зон являются – админка сайта, папки с темами оформления, скриптами и т.д.

Вторая функция этого файла – это избавление поисковой выдачи от дублированного контента. Если говорить о WordPress, то, часто, мы можем по разным URL находить одни и те же статьи или их части. Допустим, анонсы статей в разделах с архивами и рубриках идентичны друг другу (только комбинации разные), а страница автора обычного блога на 100% копирует весь контент.

2. Поисковик посчитает кашей весь ваш сайт и наложит на него санкции, удалив из выдачи весь сайт или отдельные его части.

Есть у него еще пара функций, о них я расскажу по ходу.

Принцип работы файла robots

Работа файла строится всего на 3-х элементах:

  • Выбор поискового робота
  • Запрет на индексацию разделов
  • Разрешение индексации разделов

1. Как указать поискового робота

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

User-agent: * # для всех роботов User-agent: имя робота # для конкретного робота

После символа «#» пишутся комментарии, в обработке они не участвуют.

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

Основные роботы, на которые стоит ориентироваться – это yandex и googlebot, они представляют соответствующие поисковики.

2. Как запретить индексацию в Robots.txt

Запрет индексации осуществляется в помощью директивы Disallow. После нее прописывается раздел или элемент сайта, который не должен попадать в поиск. Указывать можно как конкретные папки и документы, так и разделы с определенными признаками.

Если после этой директивы не указать ничего, то робот посчитает, что запретов нет.

Disallow: #запретов нет

Для запрета файлов указываем путь относительного домена.

Disallow: /zapretniy.php #запрет к индексации файла zapretniy.php

Запрет разделов осуществляется аналогичным образом.

Disallow: /razdel-sajta #запрет к индексации всех страниц, начинающихся с /razdel-sajta

Если нам нужно запретить разные разделы и страницы, содержащие одинаковые признаки, то используем символ «*». Звездочка означает, что на ее месте могут быть любые символы (любые разделы, любой степени вложенности).

Disallow: */*test #будут закрыты все страницы, в адресе которых содержится test

Обратите внимание, что на конце правила звездочка не ставится, считается, что она там есть всегда. Отменить ее можно с помощью знака «$»

Disallow: */*test$ #запрет к индексации всех страниц, оканчивающихся на test

Выражения можно комбинировать, например:

Disallow: /test/*.pdf$ #закрывает все pdf файлы в разделе /test/ и его подразделах.

3. Как разрешить индексацию в Robots.txt

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

Для открытия служит директива Allow. К ней применяются те же самые атрибуты. Пример работы может выглядеть вот так:

User-agent: * # для всех роботов Disallow: /razdel-sajta #запрет к индексации всех страниц, начинающихся с /razdel-sajta Allow: *.pdf$ #разрешает индексировать pdf файлы, даже в разделе /razdel-sajta

Теорию мы изучили, переходим к практике.

Как создать и проверить Robots.txt

Проверить, что содержит ваш файл на данный момент можно в сервисе Яндекса – Проверка Robots.txt . Введете там адрес своего сайта, и он покажет всю информацию.

Если у вас такого файла нет, то необходимо срочного его создать. Открываете текстовый редактор (блокнот, notepad++, akelpad и т.д.), создаете файл с названием robots, заполняете его нужными директивами и сохраняете с txt расширением (ниже я расскажу, как выглядит правильный robots.txt для WordPress).

Если у вас WordPress и установлен All in One SEO Pack, то в нем все делается прямо из админки, я рассказывал как.

Robots.txt для WordPress

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

Мой файл robots.txt имеет следующий вид:

User-agent: * Disallow: /wp-admin Disallow: /wp-content Disallow: /wp-includes Disallow: /wp-comments Disallow: /wp-login.php Disallow: /wp-register.php Disallow: */trackback Disallow: /xmlrpc.php Disallow: */feed Disallow: */author Allow: /wp-content/themes/папка_вашей_темы/ Allow: /wp-content/plugins/ Allow: /wp-includes/js/ User-agent: Googlebot-Image Allow: /wp-content/uploads/ User-agent: YandexImages Allow: /wp-content/uploads/ host: biznessystem..xml

Первый блок действует для всех роботов, так как в строке User-agent стоит «*». Со 2 по 9 строки закрывают служебные разделы самого вордпресс. 10 – удаляет из индекса страницы RSS ленты. 11 – закрывает от индексации авторские страницы.

По последним требованиям поисковиков, необходимо открыть доступ к стилям и скриптам. Для этих целей в 12, 13 и 14 строках прописываем разрешение на индексирование папки с шаблоном сайта, плагинами и Java скриптами.

Дальше у меня идет 2 блока, открывающих доступ к папке с картинками роботам YandexImages и Googlebot-Image. Можно их не выделять отдельно, а разрешающую директиву для папки с картинками перенести выше на 15 строку, чтобы все роботы имели доступ к изображениям сайта.

Если бы я не использовал All-in-One-Seo-Pack, то добавил бы правило, закрывающее архивы (Disallow: */20) и метки (Disallow: */tag).

При использовании стандартного поиска по сайту от WordPress, стоит поставить директиву, закрывающую страницы поиска (Disallow: *?s=). А лучше, настройте , как это сделано на моем блоге.

Обратите внимание на 2 правила:

1. Все директивы для одного робота идут подряд без пропуска строк.

2. Блоки для разных роботов обязательно разделяются пустой строкой.

В самом конце есть директивы, которые мы ранее не рассматривали – это host и sitemap. Обе эти директивы называют межсекционными (можно ставить вне блоков).

Host – указывает главное зеркало ресурса (с 2018 года отменена и больше не используется). Обязательно стоит указать какой домен является главным для вашего сайта – с www или без www. Если у сайта есть еще зеркала, то в их файлах тоже нужно прописать главное. Данную директиву понимает только Яндекс.

Sitemap – это директива, в которой прописывается путь к XML карте вашего сайта. Ее понимают и Гугл и Яндекс.

Дополнения и заблуждения

1. Некоторые вебмастера делают отдельный блок для Яндекса, полностью дублируя общий и добавляя директиву host. Якобы, иначе yandex может не понять. Это лишнее. Мой файл robots.txt известен поисковику давно, и он в нем прекрасно ориентируется, полностью отрабатывая все указания.

2. Можно заменить несколько строк, начинающихся с wp- одной директивой Disallow: /wp-, я не стал такого делать, так как боюсь – вдруг у меня есть статьи, начинающиеся с wp-, если вы уверены, что ваш блог такого не содержит, смело сокращайте код.

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

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

Резюме

Правильный файл Robots.txt для WordPress является почти шаблонным документом и его вид одинаков для 99% проектов, созданных на этом движке. Максимум, что требуется для вебмастера – это внести индивидуальные правила для используемого шаблона.

В этой статье пример оптимального, на мой взгляд, кода для файла 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 самых популярных социальных сетях. При этом обратите внимание на достаточно низкую стоимость всех услуг сайта.

(Последнее обновление: 31.05.2019)

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

Создание robots.txt для сайта WordPress

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

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

Воспользуйтесь любым текстовым редактором (например, блокнотом), создайте файл с именем robots.txt и заполните его как показано ниже. Файл должен называться robots.txt, а не так - Robots.txt или ROBOTS.TXT.

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

Файл robots.txt должен располагаться строго в корне сайта и он должен быть единственным.

Оптимальный, правильный robots.txt для сайта WordPress. Общий для и Яндекс. Такой robots.txt у меня стоит на всех сайтах:

User-agent: * Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /core/ Disallow: */feed Disallow: *?s= Disallow: *&s= Disallow: /search Disallow: */embed Disallow: *?attachment_id= Disallow: /id_date Disallow: */page/ Disallow: *?stats_author Disallow: *?all_comments Disallow: *?post_type=func Disallow: /filecode Disallow: /profile Disallow: /qtag/ Disallow: /articles/ Disallow: /artictag/ Allow: */uploads Allow: /*/*.js Allow: /*/*.css Allow: /wp-*.png Allow: /wp-*.jpg Allow: /wp-*.jpeg Allow: /wp-*.gif Allow: /*ajax Sitemap: http://example.com/sitemap.xml

Стандартный robots.txt WordPress

Раздельный для Google и Yandex:

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://сайт.ру/sitemap.xml

Замените сайт.ру на ваш URL адрес блога. Смело можете скормить данным файлом поисковые системы Яндекс и Google.

Как настроить индивидуально важный файл robots.txt можно прочитав эти справки:

На странице помощи Яндекса . Проверить правильность составления файла можно в webmaster.yandex - Настройка индексирования - Анализ robots.txt. Далее, в Google robots.txt можно проверить по этой ссылке . Не забудьте что проверяемый блог должен быть добавлен в Инструменты для веб-мастеров Google и Яндекс .

Обратите внимание, что для Яндекса и Google правила составления robots.txt немного различаются. Вот ещё полезный ресурс для изучения robotstxt.org.ru . Вот и всё.

Теперь остаётся загрузить созданный файл в корневой каталог вашего блога. Корень блога это - папка public_html, где находятся файл config.php, index.php и так далее.

В заключение

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

Вот на этом позвольте с вами не надолго попрощаться. Удачи. До новых встреч на страницах блога.

(function(w, d, n, s, t) { w[n] = w[n] || ; w[n].push(function() { Ya.Context.AdvManager.render({ blockId: "R-A-292864-4", renderTo: "yandex_rtb_R-A-292864-4", async: true }); }); t = d.getElementsByTagName("script"); s = d.createElement("script"); s.type = "text/javascript"; s.src = "//an.yandex.ru/system/context.js"; s.async = true; t.parentNode.insertBefore(s, t); })(this, this.document, "yandexContextAsyncCallbacks");
Понравилось? Лайкни нас на Facebook