35 365
Обложка: Составляем правильный Robots.txt для Google и Yandex для сайтов WordPress, Joomla и DLE

Составляем правильный Robots.txt для Google и Yandex для сайтов WordPress, Joomla и DLE

0

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

Содержание статьи:

Основные моменты при управлении индексацией вашего сайта

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

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

И если не прописать конкретных правил индексации в роботсе для этих роботов, то в поисковом индексе окажется +100500 страниц(разделов), не имеющих отношение к основному содержимому ресурса, или вовсе может неоднократно про дублироваться, ваш контент (по разным адресам(ссылкам) будет доступна одна статья или раздел вашего сайта), этого поисковики не приветствуют.

Выходом из данной ситуации будет запрет всего лишнего в robots.txt (название должно быть написано в нижнем регистре – без заглавных букв).

С помощью роботс.тхт мы сможем оказать влияние на процесс индексации сайта Гуглом и Yandex. Это простой текстовый файл, который вы уже неоднократно встречали в вашей операционной системе Windows и вы с легкостью сможете создать и потом отредактировать его в любом текстовом редакторе(например, Notepad++). Поисковые роботы будут искать данный файл в корневом каталоге вашего сайта и если файл будет отсутствовать, то в индекс попадет все что найдет поисковой бот.

Так что после составления нужного вам роботса, его необходимо сохранить в корневую директорию, например, с помощью Ftp клиента Total Commander так, чтобы он был доступен по следующему адресу(пример):

http://seopomosh.ru/robots.txt

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

Директивы и правила написания файла robots.txt (disallow, user-agent, host)

[banner_468x60] {banner_468x60} [/banner_468x60]

Синтаксис в robots.txt не сложный, он очень подробно описан, например, в помощи яндекса. В основном в нем указываются, для какого поисковика предназначены написанные ниже директивы: имя бота ('User-agent'), разрешающие ('Allow') и запрещающие ('Disallow'), а также очень часто используется параметр карта сайта ('Sitemap') для оповещения поисковиков где лежит ваш файл карты.

Директива 'Host' которую распознает только Яндекс, предназначена для указания главного зеркала вашего сайта. Но если у вашего проекта нет зеркал, том не будет лишним указать какой домен считать основным с WWW или без него.

Теперь обсудим синтаксис этого файла. Директивы в роботсе имеют примерно такой вид:

 
<поле>:<пробел><значение><пробел>
<поле>:<пробел><значение><пробел>

Правильно составленный роботс должен иметь хотя бы одну директиву «Disallow» после записи «User-agent». Если в файле ничего нет то будет индексироваться весь сайт.

В директиве «User-agent» должно содержаться название поискового робота. В ней вы можете прописать правила индексации для каждого конкретного бота (например, запретить индексировать определенную директория для Гугла). Например можно написать «User-agent», для адресации всем ботам посетившим ваш сайт, выглядит так:


User-agent: *

Чтобы задать определённые условия для какого-то одного бота, например, для Гугла, нужно написать следующее:


User-agent: Yandex

Поисковой бот системы имеет свое название (например, для Гугла это Googlebot). Я вам покажу примерный список самых известных из них:


Google:   http://www.google.com     Googlebot
Мэйл.ру:  http://mail.ru         Mail.Ru
Яндекс:   http://www.ya.ru         Yandex
MSN:      http://www.msn.com     MSNBot
Live:     http://www.live.com     MSNBot

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

Напишу вам несколько несложных примеров использования директив с объяснениями что это дает.

1. На примере, который указан ниже всем ботам разрешается проводить индексацию всего содержимого без ограничений. Это делается пустой директивой Disallow.


User-agent: *
Disallow: 

2.На этом примере все наоборот мы полностью запрещаем индексацию всего сайта всем поисковикам. Для этого нужно прописать «/» в поле значения Disallow.


User-agent: *
Disallow: /

3.Здесь мы задаем полный запрет всем ботам на индексацию каталога /video/(https://вашсайт.ru/video/ — полный путь к этому каталогу)


User-agent: *
Disallow: /video/

4.На этом примере мы запретим индексировать директорию «video», а также все что находиться в этой директории и начинается с символов «video», т.е. файлы: «video.html», «videos.html», каталоги: «video», «video1», «video2» и т.д.):


User-agent: *
Disallow:  /video

5.Для директив Allow-Disallow можно задавать описания путей использую символы '*' и '$', указывая, таким образом, определенные логические выражения. Символ '*' обозначает любую(даже пустую) последовательность символов. На примере ниже мы запретим всем роботам индексацию файла с расширением «.exe»:


User-agent: *
Disallow: *.exe

Чтобы не допустить индексацию вашего сайта по нескольким адресам рекомендую добавить директиву Host в robots.txt, которая покажет боту Яндекса главное зеркало. Главное зеркало сайта можно указать еще с помощью 301 редиректа, я как раз написал подробную статью об этом, можете почитать. По стандартам написания в записи для User-agent должна присутствовать хотя бы одна директива Disallow(в основном ставят пустую, разрешающую индексацию):


User-agent: Yandex
Disallow:
Host: www.вашсайт.ru
или

User-agent: Yandex
Disallow:
Host: вашсайт.ru
в зависимости от ваших нужд и потребностей.

Поисковым ботам нужно так же указывать где находиться ваша карта сайта (обычно называется Sitemap.xml, но не всегда), для этого есть директива Sitemap. Параметр который нужно указывать должен начинаться с https:// т.е. полный путь до карты. Пример:


Sitemap: http://seopomosh.ru/sitemap.xml 

Правильные robots.txt для Joomla, Вордпресс и Dle

[banner_468x60] {banner_468x60} [/banner_468x60]

Ну а теперь мы с вами будем разбираться как составить robots.txt для различных движков - Joomla, WordPress и Dle. Все три варианта примеров созданы для разных CMS, и будут кардинально отличаться друг от друга. Общее у них будет то что их роботс будет составлен под поисковик Yandex.

Т.к. в рунете Яндекс занимает лидирующие позиции у юзеров, то нужно учесть все тонкости его работы, и в этом нам поможет директива Host. Она покажет боту Яндекса главное зеркало нашего сайта.

Мы будем использовать отдельный блок User-agent, настроенный для Яндекса (User-agent: Yandex). Т.к. остальные поисковики могут не понимать директиву Host.

Но прежде чем мы начнем с вами составлять robots.txt, вам нужно проверить ваш роботс. В Яндексе это можно сделать в панели Вебмастера у Гугла тоже есть своя панель Вебмастера. Там у вас будет возможность указать конкретный Url своего сайта и проинспектировать, будет ли поисковой робот индексировать все подряд или будет выполнять требования супер-файла (robots.txt).

Настройка индексации для DLE

Для вашего сайта на cms dle будет файл следующего содержания:


User-agent: *
Disallow: /2010/      # архив новостей
Disallow: /2011/      # архив новостей
Disallow: /2012/      # архив новостей
Disallow: /2013/      # архив новостей
Disallow: /2014/      # архив новостей
Disallow: /2015/      # архив новостей
Disallow: /tags/	   # теги
Disallow: /user/
Disallow: /favorites/
Disallow: /lastnews/
Disallow: /newposts/
Disallow: /catalog/
Disallow: /*page/
Disallow: /*print
Disallow: /addnews.html
Disallow: /statistics.html
Disallow: /rules.html
Disallow: /dle-rules-page.html
Disallow: /engine/
Disallow: /*?*
Disallow: /admin

Sitemap: http://вашсайт.ru/sitemap.xml
Host: вашсайт.ru

Некоторые начинающие вебмастеры допускают грубые ошибки при составлении своего файла:


Disallow: /admin.php

Этим действием они показывают злоумышленникам где находиться их файл административной панели. Т.е. можно при просмотре вашего файла понять по какому адресу ваша админ панель. Конечно закрывать от индексации ее нужно, но делать это другим способом. Рекомендую вам переименовать ваш файл «admin.php» в «admin-vashe-imya.php»(не забудьте указать новый файл в настройках движка) и патом прописать в роботсе следующее:


Disallow: /admin

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

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


Disallow: /2013/
Disallow: /tags/
Disallow: /user/
Disallow: /favorites/
Disallow: /lastnews/
Disallow: /newposts/
Disallow: /catalog/
Disallow: /*page/
Disallow: /*print

Закрываем служебные страницы и дубли вида:


Disallow: /index.php?newposts.html
Disallow: /index.php?statistics.html
Disallow: /index.php?subaction=userinfo
Disallow: /index.php?subaction=newposts
Disallow: /index.php?index.php?do=lastcomments
Disallow: /index.php?do=feedback
Disallow: /index.php?do=register
Disallow: /index.php?do=lostpassword
Disallow: /index.php?do=addnews
Disallow: /index.php?do=stats
Disallow: /index.php?do=pm
Disallow: /index.php?do=register
Disallow: /index.php?do=search
Я думаю ничего сложного. Да?

Правильный robots.txt для Joomla

Рекомендованный файл для Jomla примерно такой:


User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
В принципе здесь практически все учтено и работает на отлично. Но я бы добавил в него отдельное правило User-agent: Yandex для вставки директивы Host, указывающее на главное зеркало вашего сайта для Яндекса и указать где расположен ваша карта сайта.

Исходя из рекомендаций выше правильный robots для Jomla, имхо должен быть таким:


User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
 
User-agent: Yandex
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Host: вашсайт.ru
Sitemap: http://вашсайт.ru/index.php?option=com_xmap&sitemap=1&view=xml&no_html=1

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

Robots.txt для WordPress

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

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

Представляю вашему вниманию верный роботс для Вордпресс:


User-agent: *
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: /*?*
Disallow: /tag
 
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
Disallow: /*?*
Disallow: /tag
Host: ваш_сайт.ru или www.вашсайт.ru
 
Sitemap: http://ваш_сайт.ru /sitemap.xml.gz
Sitemap: http://ваш_сайт.ru /sitemap.xml

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

Решил вам напоследок показать видео о том, что такое файл robots.txt: