Правильный robots.txt для wordpress указывает поисковым роботам на правила индексации вашего блога, т.е. что индексировать, а на что закрывать “глаза”.Ведь именно этот файл проверяют в первую очередь поисковые машины, заходя на ваш сайт.
О том что такое robots.txt в сети можно найти очень много информации, в т.ч. как этот файл правильно прописать, но все эти статьи либо некорректные либо скопированные друг у друга.
На досуге наткнулся я на пост “Дублированный контент и параметр replytocom“, перепроверил файл robots.txt, оказалось, что он требует корректировки.
В свою очередь, спешу поделиться с Вами, дорогие читатели, с правильным robots.txt для wordpress от Студии-ГОСТ.
Где находится файл robots.txt?
Файл размещается в корневой директории сайта. Например:
https://studio-gost.ru/robots.txt
Настройки robots.txt
1. User-Agent
Это имя поискового робота, к которому применяются нижеследующие правила вплоть до конца абзаца(не допускается пустое значение)
2. Allow и Disallow
Разрешает и, соответственно, запрещает индексацию указанных разделов блога. Allow воспринимают только Гугл и Яндекс, остальные поисковики его не видят.
Сначала нужно использовать директиву Allow, а только после нее Disallow. Также между ними не ставятся пустые строки – иначе так робот поймет, что инструкция закончилась. После директивы User-Agent также не допускаются пустые строки.
3. Host
Указывает какое зеркало сайта считать главным для избежания попадания под фильтр. Сайт доступен по нескольким адресам минимум с www и без www, и для избежания полного дублирования страниц.
4. Sitemap
Указывает роботу наличие и адрес карты сайта в формате XML
Правильный robots.txt для wordpress
User-agent: * Allow: */uploads Disallow: /cgi-bin Disallow: /wp- Disallow: */feed Disallow: /search Disallow: /xmlrpc.php Disallow: /tag Disallow: /category Disallow: /archive Disallow: */trackback Disallow: /*?* Host: studio-gost.ru Sitemap: https://studio-gost.ru/sitemap.xml
Директивы Host(главное зеркало сайта) и Sitemap(путь к карте сайта) являются межсекционными и поэтому будут учитываться роботом в любом месте в файле robots.txt. Следовательно, не надо дублировать секцию полностью, ради указания директивы Host для Яндекса.
Проверка robots.txt в инструментах Яндекс и Google
Работоспособность своего файла robots.txt вы всегда можете проверить в вебмастерских разделах поисковиков. При редактировании своего файла я всегда проверяю его на корректность.
Вебмастер яндекс
У яндекса (webmaster.yandex.ru) раздел находится в “Настройки индексирования->Анализ Robots.txt“.
Вебмастер google
У google (google.com/webmasters) раздел “Состояние->Заблокированные URL“.
Напоследок хочу напомнить, что изменения в robots.txt на уже рабочем блоге будут заметны только спустя 1-3 месяца.
PS Если кто еще знает как можно улучшить Robots.txt пишите в комментариях.
73 комментария
Ошибка в роботсе:) сайт написан с .ru.ru
Ох, спасибо подправил. 😉
Я очень внимательно прочитала, постараюсь разобраться, но в себе не уверенна. Я правильно поняла – Если установить правильный робот для wordpress – видно не сразу?
Если у вас сайт уже проиндексирован, то да надо будет ждать следующей переиндексации с учетом нового файла robots.txt
А если у меня и сайт проиндексирован, и роботс уже давно установлен был, но на днях я его подредактировал, то эффект будет только через 2-3 месяца? 😎
К сожалению, да. Так устроены поисковики.
А я слышал, что для Яндекса нужно отдельно прописывать. Да и теперь пытаюсь сам разобраться в этом файле robots.txt, так как недавно из-за копирования его с какого-то сайта, вообще осталась только одна главная страница!
Про Яндекс написано, ничего отдельно делать не надо.
Тогда же почему при проверке файла robots.txt в используемых секциях Яндекс пишет то, что учитывает, а остальное пропускает? Причём я сам лично проверял в Списке URL (в одной части для всех поисковых систем разрешал индексировать папку, а в Яндексе нет).
В robots.txt можно хоть для каждого поисковика прописать свои директивы, но если они везде одинаковые то не надо их дублировать достаточно сделать одну секцию с общими директивами. Многие блогеры советуют делать для Яндекса отдельно секцию из-за директивы HOST, как они считают, что по другому она не воспринимается. Но это не так Host являются межсекционной и нет смысла делать дубли.
PS Ссылку сюда не было смыло, логин и пароль ваш никто не знает…
я так понял чтобы сайт проиндексировался яндексом надо написать
Host: http:// сайт.ру
а для гугла надо что-то писать?
не правильно поняли Host – указывает главное зеркало сайта. Данная директива учитывается всеми поисковиками, в том числе и гуглом. А если не указывать, то сайт все равно будет индексироваться только не понятно какой с www и без www, а иногда и оба сразу.
Необязательно должно пройти 2-3 месяца. У меня на изменённый роботс.тхт яндекс прореагировал сразу же. А когда увидел, что вписал по ошибке лишнюю строчку, то возвращает страницы в индекс уже 2-3 месяца. Самому сайту почти год.
Имелось виду переиндексация сайта с учетом нового robots.txt проходит от 1-3 месяцев(срок подкорректировал).
А свой роботс можно только в вебмастерских разделах поисковиков увидеть, да?
Я только приобрел домен и хостинг, буду устанавливать движок Вордпрес. Как мне в этом случае этот файл прописать, а то я из поста не понял.
Создаёте на ПК и заливаете его в корень сайта, а точнее в папку public_html.
Это обычный текстовый файл. Что лучше открывать, а что закрывать для индексирования, решать вам. Тут советую гуглить.
Спасибо, что ответили за меня. В данном посте приведен начальный универсальный robots.txt. Для каждого сайта он индивидуален и как раз тут в помощь гугл.
В основном этот файл нужен тем кому нужно что то скрыть от поисковиков лично я не пользовался им никогда
И напрасно, этот файл в каждом блоге должен быть, чтобы поисковики не совали нос туда, куда их не просят.
Я вообщето говорю про то что никогда его не перенастраивал, а так он у меня есть.
нужно ли в robots.txt закладывать файлы типа Disallow: /comments.php
Disallow: /sidebar.php
Disallow: /searchform.php
Disallow: /footer.php
Disallow: /single.php
Disallow: /functions.php
Disallow: /header.php
Disallow: /index.php
Disallow: /page.php
Disallow: /search.php
нет не надо
Осталось ещё про Humans txt написать 😉
Игорь скажи, стоит ли добавить такие строки:
Disallow: /search/
Disallow: /page/
Disallow: /?s=
Disallow: /?s= вписывать в robots.txt не надо, его блокирует Disallow: /*?*
Disallow: /page/ вписываете если вы хотите заблокировать индексацию страниц
Disallow: /search/ а этот момент я упустил. Подправил.
Игорь,
что ты думаешь насчет плагинов типа wp-robots-txt.1.0 или kb-robotstxt
и нужно ли добавить вот эти строки?
Disallow: /wp-admin/
Disallow: /wp-includes/
К плагинам отношусь плохо, тем более к таким без которых элементарно можно обойтись.
указывать не надо, уже все указано здесть
Извинте, хотел у Вас спросить вот что…
У себя на блоге в сайдбаре я сделал блок “популярные статьи” с миниатюрами. Так вот… получается, что на статью ведет 2 ссылки (одна с картинки, другая с названия статьи).
Считается ли это дублированием контента, и если да, то как закрыть это безобразие в robots.txt?
Побуду дураком 5 минут – скажите, для ЖЖ-блога можно сделать робот.тхт или нет. В свое время я выбрал Живой Журнал для ведения блога именно в силу простоты (для меня WordPress остается темным лесом). Спасибо.
На сколько я знаю нельзя
Хороший совет. Надо им воспользоваться.
А как в роботс правильно скрыть вот такое: сайт.ру/2012/08 ???
Надо добавить такую строчку:
Disallow: /2012/08/
Что бы не указывать каждый месяц, пропишите лучше так:
Disallow: /2012/
Спасибо за ответ.
Только, а что получается так каждый год придётся вписывать? –
Disallow: /2012/
Disallow: /2013/
…
…
Disallow: /2020/ ??? 😯
По моему это как-то не логично. Или я не прав?
Да именно так. Как вариант можно еще попробовать вписать по десятилетиям:
Disallow: /201
Disallow: /202
Но вероятность случайного совпадения url на вашем сайте возрастает
Хотел бы уточнить пару моментов. Зачем ставить звездочки в конце директив, если и так по умолчанию считается, что в конце звездочка?
Disallow: /*?*
Чем такая директива
Disallow: */trackback
Отличается от такой
Disallow: /*trackback
Пытаюсь разобраться, буду рад если объясните.
Даже не знаю как вам объяснить: Алгоритм такой же как и при поиске в windows(да и не только). * – обозначает любое совпадение.
Например:
site.ru/categor/trackback – для исключения подойдут оба вариант
site.ru/free-trackback – для исключения подойдет уже только 2 вариант
Прошу прощения ошибок наделал в предыдущем комменте.
Это очень странно…
Disallow: /*trackback ,судя по руководству яндекса и гугла, означает что, между доменом и словом trackback может быть любая комбинация букв и папок. То есть данная директива полностью описывает исключение ваших обеих вариантов из примера.
Цитирую с гугла:
“Строка Disallow:/*? блокирует доступ ко всем URL-адресам со знаком вопроса (то есть ко всем URL-адресам, которые начинаются с названия домена и содержат цепочку, внутри которой встречается знак вопроса).”
Только в нашем случае вместо знака вопроса слово trackback.
Вот ведите сами все знаете. Как я и писал
Просто не удачно привел пример. Подправил.
Игорь, ни как не разберусь как правильно закрыть теги Disallow:/tag, или …:/tag/. Ставлю без закрывающей скобки-одно количество страниц в поиске,со скобкой другое…Подскажите как всё таки поступить, пока оставил с двумя /tag/
Правильный вариант будет:
Disallow:/tag/
теперь и я побуду дураком 5 минут.
и всё же, чем отличается вариант закрытия звёздочкой перед слэшем и после?
и объясните на конкретном примере как закрыть от индексации урлы на страницы с любым вхождение, типа “?sort=” или “?PAGEN_” ли так “?action=”.
нужно чтобы все ссылки, где есть такой набор символом, в начале или в конце урла, навсегда покинул поиск G и Я.
спасибо.
Что обозначает * я писал тут.
Что бы исключить любой такой набор символом заключите их в *.
Игорь, у меня на блоге url формируются таким образом “сайт.ру/название статьи”
Мне интересно разве такая директива
Disallow: /*?*
не закроет индексацию основного содержимого?
Нет, разве у вас в формирование url встречается (?) знак вопроса.
Разве знак вопроса не заменяет любой символ, а звездочки любые комбинации символов? Тогда загружу ваш роботс к себе, я до сих пор об этом файле не задумывался особо.
Здравствуйте, подскажите пожалуйста почему на вашем блоге robots.txt мягко говоря чуток отличается от того что вы здесь приводите?
У Вас он таков:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
И всё.
Это вы где такое увидали?
Ё моё, ну наконец-то нашел на просторах интернета то, что искал. И ещё больше! Спасибо от всей души. Пол дня убил на то как создать “робота” и как его затолкать в корневую папку, а по вашей четкой инструкции (правда применимо к моему сайту получилось с некоторой интерпретацией), я за 10 минут создал и разместил “робота” на сайте. Вот это настоящий инструктаж! Спасибо огромное!
Мне больше по душе вариант АлаичЪ’а. Когда robots.txt минимален, а основной упор делается на Мета-теги.
Здравствуйте, Игорь. Спасибо за доступный урок. У Вас самый короткий robots. А у меня при проверке файла Яндекс выдал:”Найдено несколько правил вида “User-agent: *”. Что бы это значило?
Это значит, что некоторые ссылки попадают несколько правил, которые написаны в robots.txt
А у меня после вставки robot.txt блог стал тормозить.Не подскажете в чём может быть засада?
robot.txt никак не влияет на скорость загрузки сайта. Это у вас, что-то другое.
Disallow: /category – А зачем закрывать категории?
И у него прописано только на яшу,на гугл не надо?
Марат, вы заголовок видели “Правильный robots.txt для wordpress” – это мое мнение. Если оно вас не устраивает, можете делать как у других блогеров.
Игорь походу я Вас огорчил своим комментарием, но я вовсе не хотел. Просто Вы все авторитетные блогеры, и я не знаю реально что прописать в этом роботе. Я запутался. И никто к сожалению не объясняет толком, Было бы объяснение по каждой строчке что можно закрывать и что не стоит, новичкам только это и надо… но к сожалению этого нет. Все просто пишут какой у них робот и все рекомендуют ставить его(свои).По Вашим статьям авторитетных блогеров нет объяснении например почему закрываем комментарии??? я вот не знаю и где его искать???и т.д.
Марат, нет Вы меня не огорчили. Вы правы каждый блогер считает, что его robots.txt самый лучший и дискуссировать можно до бесконечности. И какой выбрать robots.txt решать только вам.
Но что бы разобраться как кой выбрать надо понять для чего нужен robots.txt, а именно, что бы запретить поисковикам индексировать ненужные разделы сайт и дубли.
И такой вопрос – Почему закрываем комментарии отпадет. Потому, что это уникальный контент, а его от поисковиков как правило не закрывают.
Спасибо Игорь! побежал убирать с робота Disallow: */comments, я сразу так и подумал зачем его закрывать это же уникальный текст ))), у Борисова закрыта вроде бы и он писал что это хлам ))) Вроде бы так 🙂 Спасибо Игорь!
Прошу прощения Игорь Disallow: */comment-page-* тоже убирать?
Да, Марат, да. Проще сделайте как у меня. Я над своим robots.txt ломал голову несколько ночей 😉
я так и сделал, блин целые сутки потерял, надо было сразу так сделать ))) Спасибо Игорь! Пойду спать, завтра буду ставить обратную связь на блог ))) опять наверное на сутки… 😯
Игорь не работает поиск по блогу хотел посмотреть на завтра обратную связь на блог
Марат все работает https://studio-gost.ru/?s=обратную+связь
Некоторые люди делают разные роботсы по яндекс и гугл. Только вот зачем 😐
Да и их большинство. Тоже не пойму зачем они это делают.
Я делаю разные секции в роботсе: под “всё” и отдельно под Яндекс с рекомендуемым форматом прописывания “Host:” – http://help.yandex.ru/webmaster/controlling-robot/robots-txt.xml#host
Цитата из вебмастера:
Цитата с robotstxt.org.ru
Так что, вариант с межсекционным хостом мне кажется не правильным. Хотя, скорее всего это просто дело вкуса/привычки и он работает что так, что так =)
Это уже проверено 100 раз. Всё работает четко в обоих вариантах. И поэтому не вижу смысла дублировать текст и советую сделать как написано в моем случае.
Наконец, прочитав эту статью я понял, что к чему!
здравствуйте. не могу найти в корневой папке файл: robots.txt (его просто там нес существует), а при проверке в яндекс вебмастер он отображается, как такое возможно????
Здравствуйте, подскажите пожалуйста зачем писать вот это
Disallow: /*?*
ведь таки макаром закрываются от индексирования все страницы на моём сайте?! ( по крайей мере так мне написал яндекс.вебмастер.
Статья полезная и понятная. Коменты тоже сделали свое дело и помогли понять все, еще лучше.
Благодарю. Успехов.