Разбираемся в файле robots.txt
В статье «Как закрыть от индексации лишние страницы и ссылки» я уже писала о необходимости создать служебный файл robots.txt на вашем сайте. Создать-то мы его создали, в корень сайта загрузили, но что все эти директивы означают, и как с его помощью управлять индексацией сайта, я не рассказала. Судя по тому, что мне часто задают вопросы про robots.txt, это большое упущение с моей стороны.
Идеального файла robots.txt не бывает, в каждом отдельном случае он может выглядеть по-разному. Разработчики WordPress рекомендуют свой вариант robots.txt и в общем-то, он оптимален, но у вас могут возникнуть ситуации, когда в этот файл нужно что-нибудь добавить, исходя из особенностей вашего сайта.
Так что давайте я вам все подробно расскажу. Это скучновато, но пригодится 🙂
Файл robots.txt указывает роботам поисковых систем, какие страницы вашего сайта не нужно индексировать. По сути, индексировать требуется только контент, а все остальные (служебные) страницы, которым нечего делать в выдаче, надо запретить к индексации. Кроме того, как я уже говорила, у вас на сайте может быть множество дублированных страниц — одна и та же статья может находиться и в архиве рубрик, и в архиве тегов, и по тегу «more» — все это с точки зрения поисковых систем дублированный контент, что не гуд. Все это нужно запретить к индексации.
Файл robots.txt — это по сути обычный текстовый файл, который можно создать и редактировать в обычном текстовом редакторе. Приходя на ваш сайт, поисковый робот в первую очередь заглядывает в корневую папку и ищет там этот файл. Если не находит, то начинает индексировать все подряд.
Возьмем для примера распространенный вариант robots.txt:
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: /wp-trackback
Disallow: /wp-feed
Disallow: /wp-comments
Disallow: */trackback
Disallow: */feed
Disallow: */comments
Host: www.yourdomain.ru
User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /wp-trackback
Disallow: /wp-feed
Disallow: /wp-comments
Disallow: */trackback
Disallow: */feed
Disallow: */comments
Sitemap: http://yourdomain.ru/sitemap.xml
Что мы здесь наблюдаем? Во-первых, то, что Яндекс выпендрился и требует для себя специальных указаний (первая часть адресована персонально Яндексу). Директива User-agent показывает, для какой поисковой системы предназначены указания. В первой части это Yandex, во второй — *, что означает «для всех поисковых систем» (Яндекса это не касается).
Disallow — это запрещающие директивы, Allow — разрешающие. Хотя бы одна Disallow для каждого User-agent должна быть прописана (даже пустая), иначе роботы будут сбиты с толку.
Теперь смотрим указания для Яндекса: директива Host указывает ему, какое зеркало вашего сайта считать главным (бывает такое, что сайт доступен по разным адресам, после переезда, например). Даже если зеркал у вас нет, здесь стоит указать один из вариантов — с www. или без www. Вообще www — это архаизм, но бывает такое, что поисковик считает эти два адреса разными сайтами. Поэтому смотрим, в каком виде сайт находится в индексе, и вписываем сюда (заметьте, без http:// и без / в конце)
В самом конце файла мы видим директиву Sitemap. Она указывает путь к карте вашего сайта (той, что в формате xml — для роботов). Она находится также в корне сайта и показывает роботам, что на вашем сайте является контентом, т.е. что нужно индексировать. Если у вас помимо sitemap.xml в корне сайта имеется также sitemap.xml.gz (архивный формат), укажите оба файла.
Теперь подробнее о синтаксисе файла robots.txt:
Каждая строка выглядит так: Директива: значение (До и после значения — пробелы). Пробелы между строками могут быть только там, где указано в моем примере, между User-agent и Disallow пустых строк быть не должно!
Такой robots.txt как ниже, разрешает индексировать весь сайт всем роботам (запрещающая директива Disallow здесь пуста):
User-agent: *
Disallow:
А вот такой, наоборот, запрещает всем и всё:
User-agent: *
Disallow: /
Такой конструкцией мы разрешим индексацию сайта Яндексу и запретим всем остальным:
User-agent: Yandex
Disallow:
User-agent: *
Disallow: /
Вот такой запретит всем роботам индексировать папку ab:
User-agent: *
Disallow: /ab/
А вот такой, помимо папки ab, запретит также индексацию всех папок и файлов, начинающихся с ab (папок ab1, ab2, abc, файлов ab.htm, abc.htm и т.п.):
User-agent: *
Disallow: /ab
Если вам нужно запретить индексацию всех файлов с расширением .aspx, то выглядеть это будет так:
User-agent: *
Disallow: *.aspx
(звездочка как замена любых символов)
Запрет индексации каждой папки нужно писать в новой строке, т.е не так:
User-agent: *
Disallow: /cgi-bin/ /wp-admin/ /wp-includes/
А вот так:
User-agent: *
Disallow: /cgi-bin/
Disallow: /wp-admin/
Disallow: /wp-includes/
В качестве домашнего задания изучите файл robots.txt , который я предложила выше, и попробуйте объяснить, что означает каждая строчка. Если вы поймете принцип, то сможете легко сами редактировать свой robots.txt, управляя поведением поисковых роботов на сайте , как вам нужно.
Подсмотреть, какие robots.txt бывают, вы можете набрав после адреса любого сайта /robots.txt
_____________
Автомобиль — давно уже не роскошь, а эффективный помощник для любого современного человека. Индивидуальные уроки вождения киев по доступной цене — опытные инструкторы-профессионалы обучат вас мастерству вождения автомобиля, научат справляться со сложными ситуациями на дорогах.
Январь 11th, 2012 at 2:20 пп
Маргарита, а при такой структуре сайта как у вас (когда на отдельных страницах содержатся ссылки на статьи) это считается внутренней перелиновкой, или дублированный контент, который нужно закрывать?
Вопрос,наверно наивный , но я только учусь.
[Ответить]
admin Reply:
Январь 11th, 2012 at 2:47 пп
Это перелинковка: одни страницы ссылаются на другие
[Ответить]
Январь 14th, 2012 at 8:43 дп
Спасибо за ответ. Я рада, что нашла Ваш сайт, мало кто может объяснять сложные вещи простыми словами.
[Ответить]
Январь 30th, 2012 at 11:58 пп
У меня вопрос по robots.txt Дело в том, что как только были указаны ошибки сканирования AdSense и рекомендовано добавить следующие две строки в начало файла:
User-agent: Mediapartners-Google
Disallow:
я сразу же все так и проделала, но робот по-моему не находит все равно. Я попыталась проанализировать содержание файла robots.txt, который находится по адресу http://makovka777.ru/robots.txt. и убедилась, что робот отображается. Но не знаю, как проверить страницы теперь робот видит или нет. Прошла по ссылке с заблокированного адреса – по прежнему «страница не найдена» Что я делаю не так, объясните, пожалуйста, новичку.
[Ответить]
admin Reply:
Январь 31st, 2012 at 6:48 дп
У вас работает виртуальный robots.txt, генерируемый плагином, а не тот что загружен в корень сайта. Если вы хотите что-то изменить, вам нужно отключить add virtual robots.txt в настройках плагина Sitemap и тогда будет работать тот, что в корне.
[Ответить]
Татьяна Reply:
Февраль 3rd, 2012 at 9:40 пп
Маргарита! Огромное спасибо за ваши рекомендации. Посмотрим, что будет дальше. У меня вообще непонятки какие-то с этим роботом. Вот теперь например Яндекс намеренно запретил 204 страницы к индексированию, пояснив «Документ содержит мета-тег noindex». Я робот раза три переделывала. Как я смогу увидеть результат?
[Ответить]
admin Reply:
Февраль 3rd, 2012 at 9:46 пп
Из панели Яндекс.Вебмастер — там увидите все страницы, которые не индексируются
Февраль 3rd, 2012 at 9:45 пп
С удовольствием подписываюсь на ваш сайт:)
[Ответить]
Февраль 11th, 2012 at 10:08 дп
Здравствуйте! Спасибо за Ваш сайт, очень интересно пишете о занудных, в общем-то, вещах))
Подскажите, пожалуйста, как закрыть от индексации отдельную страницу в robots.txt?
[Ответить]
admin Reply:
Февраль 12th, 2012 at 10:42 дп
Disallow: /адрес страницы
[Ответить]
Март 2nd, 2012 at 10:18 дп
Маргарита, яндекс сначала приндексировал мой сайт с www, а позавчера появилось зеркало без www. И без www стало главным зеркалом. Я смотрю, ваш сайт этот без www. Имеет ли сейчас смысл указывать robots.txt что главное зеркало www? Или уже пользоваться этим зеркалом. Я не поняла, откуда это зеркало взялось, а вот то, что нужно быть внимательной ко свем советам, даже в одну строку, кажется уже понимаю… И еще момент. Статьи же пишу и ссылки покупаю — если буду писать в без www склеятся ли потом мои страницы или оставлять черновики, не публиковать…пока опять проиндексируется?
[Ответить]
admin Reply:
Март 5th, 2012 at 7:29 дп
Вы не про тот сайт, что в подписи? Если про него, то в Яндексе его нет.
[Ответить]
Март 5th, 2012 at 8:28 дп
да, именно этот сайт. И сам сайт в яндексе есть, у меня на вебмастере написано сайт такой-то без www ТИЦ меньше 10 загружено роботом 1 страница.
Про заркала тоже в вебмастере пришло письмо 29 февраля,могу прислать на майл. Но мой вопрос заключается в том, откуда вообще взялось зеркало.
[Ответить]
admin Reply:
Март 5th, 2012 at 1:53 пп
Все сервисы, а также поиск по домену в яндексе показывают, что в индексе его нет. Оставьте пока как есть и подождите неделю-другую
[Ответить]
Март 5th, 2012 at 3:25 пп
Попробую разобраться, пришлю Вам ссылку, если поможет.Вроде можно редирект как-то настроить. Кстати. Хочу Вам сказать, что, похоже…. цели, вернее мечты наши с вами до смеха похожи. Если у меня получится быстрее ее осущесвить, обещаю -вы мой гость.
[Ответить]
admin Reply:
Март 5th, 2012 at 7:25 пп
Ок, буду ждать приглашения)
[Ответить]
Март 30th, 2012 at 6:32 пп
Здравствуйте.
Сделал robots.txt точно такой как у Вас. Сейчас проверяю в вэбмастере yandex,
1: User-agent: * — Обнаружена неизвестная директива
2: Disallow: /cgi-bin — Перед правилом нет директивы User-agent
И что ему не нравится?
[Ответить]
admin Reply:
Апрель 3rd, 2012 at 9:03 дп
Не знаю. Глюк?
[Ответить]
Роман Reply:
Август 16th, 2012 at 12:49 дп
Это не глюк, Вячеслав, не волнуйтесь, скачайте свой robots.txt на компьютер, откройте не в обычном блокноте, а в Notepad++ в верхнем меню «Кодировки» выберите пункт «Кодировать в UTF-8 (без BOM)», сохраните и залейте обратно в корень сайта. Проверьте в яндекс анализе robots.txt, всё должно быть хорошо. По крайней мере мне помогло.
[Ответить]
Апрель 5th, 2012 at 7:48 дп
В файле роботс.тхт запрещена к индексации папка комментс, это значит, что оставляемые пользователями комментарии на страницах блога индексироваться не будут?
[Ответить]
admin Reply:
Апрель 5th, 2012 at 9:47 дп
Именно так.
[Ответить]
Апрель 6th, 2012 at 7:17 пп
но ведь индексация комментариев наоборот является плюсом для сайта, дополнительный контент и обновление страниц…или я ошибаюсь?
[Ответить]
admin Reply:
Апрель 6th, 2012 at 7:44 пп
Согласна, особенно если комментарии содержательные и сами по себе содержат полезную информацию. Но некоторые вебмастера из своих соображений их закрывают, это кому как нужно.
[Ответить]
Июнь 11th, 2012 at 2:34 пп
Посоветуйте пожалуйста.
Если мне срочно нужен сайт-визитка, но в дальнейшем планирую его развивать для продвижения.
Времени на уникальный контент нет. Могу ли я заполнить сайт копипастом и закрыть его полностью от индексации (чтобы под фильтры не попал), а как будет время, сделаю рерайт и открою для индексации?
Использовать в таком случае такой роботс можно:
User-agent: *
Disallow: /
Host: http://www.yourdomain.ru
Sitemap: http://yourdomain.ru/sitemap.xml
и это повлияет только на рез-ты выдачи в ПС?
все остальные пути на сайт (внешние ссылки, реклама и т.д.) работать будут нормально?
Спасибо.
[Ответить]
admin Reply:
Июнь 11th, 2012 at 2:56 пп
Забавное решение)) Карту сайта можно не указывать, пока не откроете к индексации. В выдаче сайта не будет, по внешним ссылкам конечно на него можно будет попасть.
[Ответить]
Июнь 29th, 2012 at 12:12 пп
Здравствуйте! Вчера сделала анализ сайта и он выявил 160 внутренних ссылок. Что это такое? robots.txt в норме. Как их убрать с сайта?
[Ответить]
admin Reply:
Июнь 29th, 2012 at 12:31 пп
Внутренние ссылки — это ссылки с одних страниц вашего сайта на другие. Убирать их не надо.
[Ответить]
Елена Reply:
Июнь 29th, 2012 at 4:29 пп
То есть это и есть перелинковка внутренняя? Почему тогда пишут, что ссылок должно быть не больше ста. А если работать с биржей gogetlinks, как вебмастер, то одно из их условии это минимальное количество внутренних ссылок. Спасибо за ответ.
[Ответить]
admin Reply:
Июнь 29th, 2012 at 4:46 пп
Да, перелинковка внутренняя. Нет такого понятия, как максимальное количество внутренних ссылок. Их может быть сколько угодно. В Gogetlinks оптимизаторы указывают максимальное количество только исходя из их личных тараканов)) Лично я, работая как оптимизатор, указываю «внутренние ссылки — не имеет значения», потому что реально без разницы, будет их 60 или 160.
Елена Reply:
Июнь 30th, 2012 at 8:43 дп
Спасибо вам большое за развернутый ответ! Мне ваш сайт очень помогает. Я бы хотела еще у вас спросить. У меня проидексированы вот такие внутренние ссылки *название сайта/tag/название поста» и их большое количество. Получается что я их не закрыла от индексации? Еще и все ссылки с названиями постов, то есть *название сайта/название поста*. Что это значит?
admin Reply:
Июнь 30th, 2012 at 12:46 пп
название сайта/tag/название поста — это ссылки с облака тегов, они конечно будут. Другое дело — есть ли они в выдаче. Где вы смотрите ссылки? А название сайта/название поста — это ваши статьи, которые ссылаются на другие ваши статьи)
Елена Reply:
Июль 1st, 2012 at 3:54 пп
Я смотрю на сайте http://www.my-seotools.ru.
Сентябрь 1st, 2012 at 6:34 пп
Здравствуйте, Маргарита! У меня после работы с корневой папкой через файлзилла возникла ошибка 500. Я пыталась добавить сайт в каталог яндекса путем проверки прав на свой сайт через добавление файла txt в корневое меню. И вот что-то напутала. Как избавиться от этой ошибки? Не знаю где уже и смотреть, обратилась к вам за вашим умением просто объяснять сложные вещи.
[Ответить]
admin Reply:
Сентябрь 1st, 2012 at 8:49 пп
Валерия, ошибка 500 вряд ли возникнет из-за загрузки файлов в корень. Обычно это либо проблема со скриптами, либо из-за замены настроек сервера, либо неверно настроенный файл .htaccess, либо права на папки — причин много. Иногда такое случается из-за конфликтов плагинов. В таких ситуациях для начала можно отключить все плагины и включать их по одному, проверяя. Если все в порядке, то попробуйте изменить права на все файлы с расширением php в корне сайта на более жесткие — 644. (может помочь). Если нет, то пишите хостеру, пусть разбирается.
[Ответить]
Сентябрь 1st, 2012 at 7:22 пп
Я его сейчас восстановила из бэкапа, но не лишним будет знать и побольше об этом вопросе. Спасибо.
[Ответить]
Декабрь 7th, 2012 at 9:11 пп
Подскажите пожалуйста, Яндекс проиндексировал страницу с адресом mysite.ru/author/admin, там весь архив написанных мной статей, т.е. это явный дубль, вся та же информация доступна по адресу mysite.ru. В robots прописано Disallow: /wp-admin, почему тогда эта страница попала в индекс?
Чтобы закрыть эту страницу, мне нужно прописать Disallow: /адрес страницы, получается так? И адрес страницы указать только с www. или и с http?
заранее спасибо.
[Ответить]
Маргарита Reply:
Декабрь 8th, 2012 at 5:52 дп
Так пропишите в robots.txt
Disallow: /author/
[Ответить]
Декабрь 9th, 2012 at 8:53 пп
Здравствуйте Маргарита. Я так понял все эти действия с файлом robots.txt делаются на платном хостинге, где можно зайти в корневую папку. А как быть на бесплатных площадках Google — где там располагать этот файл, а также карты сайта для людей и роботов? Спасибо.
[Ответить]
Маргарита Reply:
Декабрь 10th, 2012 at 4:55 дп
Настройки — Настройки поиска — Поисковые роботы и индексация — Пользовательский файл robots.txt
Создать карту сайта тоже ничего сложного, погуглите «карта сайта для blogspot» и найдете массу решений.
[Ответить]
Январь 2nd, 2014 at 7:11 пп
Привет!
А почему у Вас установлен другой робот?
[Ответить]
Маргарита Reply:
Январь 6th, 2014 at 1:26 пп
Мой robots настроен под мои нужды
[Ответить]
Февраль 3rd, 2014 at 7:21 дп
Хотела бы открыть комментарии для индексации. Только вот не пойму, в стандартном robots 2 варианта: Disallow: /wp-comments
и Disallow: */comments Что удалить из списка, подскажите пожалуйста. Спасибо.
[Ответить]