robots.txt для wordpress

Файл robots.txt – содержит правила для поисковых ботов по индексированию Вашего сайта.
robotstxt

  1. Какие страницы и разделы запретить к индексации;
  2. Какой домен считать главным, а какой его зеркалом: с «www» или без «www»;
  3. По какому адресу находится sitemap.xml;
  4. Рекомендации по соблюдению определенного интервала между скачиваниями роботом документов с сервера и другое.

Подробное описание синтаксиса robots.txt в хэлпе Яндекса

robots.txt это обычный файл текстового формата, размещаемый в коневой папке сайта — обычно в папке www. Минимальный вариант содержания robots.txt:

User-agent: *
Disallow: /category
Disallow: /registration.php
Disallow: /login.php
Host: site.ru
Sitemap: http://site.ru/sitemap.xml

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

User-agent: Yandex

Disallow: /category – запрет индексации раздела category. Будьте внимательны, так как такой запрет означает запрет индексации всего, что будет начинаться с /category, например, /category/business, /category/business/raschet_dohoda и т.п.

Host: site.ru – какой домен считать главным зеркалом сайта и использовать для индекса в выдаче.

Sitemap: http://site.ru/sitemap.xml — путь к sitemap.xml

Настройка robots.txt в wordpress версии 3.5.1+

В некоторых платформах robots.txt генерируется программно, поэтому в корневой папке сайта Вы его не обнаружите, и если добавите в неё свой, он скорее всего не будет работать. Например, в wordpress версии 3.5.1 функция, которая создает robots.txt находится в этом файле: www/wp-includes/functions.php. Поэтому, чтобы внести свои изменения потребуется написать небольшой код. Как это сделать описано далее.

SEO-оптимизаторами и вебмастерами работающими с вордпресс проведено большое количество тестов на наиболее оптимальное содержание robots.txt для сайта на вордпресс с учетом структуры платформы. Одно из наиболее оптимальных приведено ниже:

User-agent: *
Allow: /wp-content/uploads/
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /template.html
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: */trackback
Disallow: */feed
Disallow: */comments
Disallow: */comment-page*
Disallow: */replytocom=
Disallow: /author*
Disallow: */?author=*
Disallow: */tag
Disallow: /?feed=
Disallow: /?s=
Disallow: /?se=

Host: site.ru
Sitemap: http://site.ru/sitemap.xml

Чтобы создать такое содержание robots.txt:

1. Создайте дочернюю тему.
2. Скопируйте файл www/wp-content/themes/ваша тема/functions.php себе на компьютер.
3. Откройте его в текстовом редакторе: блокнот или notepad++ или подобном.
4. Удалите из него все содержимое.
5. Добавьте в него следующий код:

<?php
add_filter('robots_txt', 'add_robotstxt');
function add_robotstxt($output){
    $output .= "Allow: $path/wp-content/uploads/\n"; 
    $output .= "Disallow: $path/wp-login.php\n";
    $output .= "Disallow: $path/wp-register.php\n";
    $output .= "Disallow: $path/xmlrpc.php\n";
    $output .= "Disallow: $path/template.html\n";
    $output .= "Disallow: $path/cgi-bin\n";
    $output .= "Disallow: $path/wp-admin\n";
    $output .= "Disallow: $path/wp-includes\n";
    $output .= "Disallow: $path/wp-content/plugins\n";
    $output .= "Disallow: $path/wp-content/cache\n";
    $output .= "Disallow: $path/wp-content/themes\n";
    $output .= "Disallow: *$path/trackback\n";
    $output .= "Disallow: *$path/feed\n";
    $output .= "Disallow: */comments\n";
    $output .= "Disallow: *$path/comment-page*\n";
    $output .= "Disallow: *$path/replytocom=\n";
    $output .= "Disallow: $path/author*\n";
    $output .= "Disallow: *$path/?author=*\n";
    $output .= "Disallow: *$path/tag\n";
    $output .= "Disallow: $path/?feed=\n";
    $output .= "Disallow: $path/?s=\n";
    $output .= "Disallow: $path/?se=\n";

    $output .= "Host: site.ru\n";
    $output .= "Sitemap: http://site.ru/sitemap.xml\n";

return $output;
}
?>

6. Замените в строке $output .= «Host: site.ru\n»; название домена site.ru на название вашего домена. А в строке $output .= «Sitemap: http://site.ru/sitemap.xml\n»; путь к файлу sitemap.xml на путь к Вашему соответствующему файлу. Если у Вас более, чем одни файл sitemap, то добавьте соответствующие строки для каждого из них, изменив их имена, если они у Вас называются иначе, например:

$output .= "Sitemap: http://site.ru/sitemap2.xml\n";
$output .= "Sitemap: http://site.ru/sitemap3.xml\n";

7. При необходимости добавьте запрет индексации иных своих служебных папок или страниц, например:

$output .= "Disallow: $path/oplata\n";

8. Сохраните и скопируйте изменённый файл functions.php в папку с дочерней темой.
9. Убедитесь в том, что содержание http://ваш сайт/robots.txt изменилось на желаемое.
10. Если оно окажется иным или что-то не заработает, скопируйте себе файл functions.php из папки, созданной для дочерней темы, удалите его оттуда и ищите в скопированной копии ошибку.