Идеальный robots.txt для WordPress

Создаём запрет на индексирование непонятных ссылок для сайта работающего на WordPress. Инструкция для сайта на ЧПУ формате. Добавляем директивы в файл robots.txt.

Правильный robots.txt для сайта очень важен. Если его нет или он настроен неверно, то Вордпресс нагенерирует очень много бессмысленных страниц. Особенно это касается сайтов переведенных на «дружественные ссылки» (friendly URL). Такие бессмысленные для поисковика страницы приводят к бану в поисковых системах. Например, Яндекс точно накладывает фильтр на такие сайты.

Если сайт на ЧПУ, то обязательно надо запретить все страницы в адресе которых знаки вопроса. Такие страницы генерируют, как некоторые установленные на сайт плагины, так и сам WordPress:

1
2
3
?option
?format
page/10/?option=com_user&view=remind

Страницы могут иметь и другие структуры, но объединяет их всех то, что в своём названии они содержат знаки вопроса. Подобные страницы часто дублируют основные страницы сайта. Откуда берутся такие ссылки непонятно. Например, на одном из своих сайтов я обнаружил в индексе Яндекса очень много таких страниц:

И хотя Яндекс старается исключать такие ссылки автоматически, лучше помочь ему это сделать на раннем этапе и не допускать попадание таких ссылок в индекс. Для этого в файл robots.txt добавим следующее:

1
Disallow: /*?*

Этим самым мы запрещаем все возможные URL вида со знаком вопроса. На сайтах работающих на ЧПУ ссылках все страницы со знаками вопроса — лишние. От таких ссылок можно и нужно избавляться.

Содержимое robots для WordPress

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /comment-subscriptions

Disallow: /tag/*/page/
Disallow: /category/*/page/
Disallow: /*/*/*/

Disallow: /date/
Disallow: /author/
Disallow: /*/feed/
Disallow: */comment
Disallow: /*.php

Disallow: /*?*

Sitemap: https://ploshadka.net/sitemapindex.xml
Host: https://ploshadka.net

Поясню ещё несколько моментов.

Эта директива запрещает индексировать все длинные структуры сайта:

1
Disallow: /*/*/*/

Например, у меня на сайтах нет таких длинных адресов, однако кто-то может их использовать. Если таких адресов нет, то WordPress иногда сам их создаёт, тем самым создавая дубли страниц. Как раз для этого и нужна эта строчка. Т.е. такая страница будет проиндексирована:

1
https://ploshadka.net/programming/php/

А такая нет:

1
https://ploshadka.net/programming/php/something_else/

Следующие строчки запрещают индексировать все дополнительные страницы разделов и меток:

1
2
Disallow: /tag/*/page/
Disallow: /category/*/page/

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

Последнее на чем я хотел бы заострить внимание:

1
2
3
4
5
Disallow: /date/
Disallow: /author/
Disallow: /*/feed/
Disallow: */comment
Disallow: /*.php

Запрещаем страницы авторов, архивы дат, дубли основных страниц (feed), отдельные страницы с комментариями и любые файлы c php.

Метки:

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "Идеальный robots.txt для WordPress".

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