В первой части мы разобрали основы файлы robots.txt, теперь попытаемся понять как и что запрещать им для индексации.
Читая комментарии к прошлому посту, возникло ощущение что текст люди читают даже не наискось, а снизу вверх через 3 строчки. Еще раз кратко вспомним основные вещи:
1. User-agent
Диррективы будут обработаны Гуглом и Яндексом там, где было прямое обращение к ним, секция с "User-agent: *" ими будет проигнорированна в пересекающихся директивах, поскольку у нее меньший приоритет.
2. Директива Host
В данном случае "Sitemap: ваш_сайт.com/sitemap.xml" не будет принято ботами, его прочитает только Яндекс. Остальные споткнуться на директиве Host
В конце кратко еще разберем основные ошибки в синтаксисе, есть очень хороший пример с несколькими ошибками, на нем и рассмотрим.
Итак, продолжим.
4. Запрещаем и Разрешаем индексацию. Директивы Allow и Disallow
Disallow — запрещает
Allow — разрешает
В данный момент директиву Allow поддерживают почти все боты, но нам важно что её стал поддерживать Яндекс (Гугл поддерживает изначально, так как это он её ввел)
Когда же и как их использовать? Раньше роботс составлялся из расчета того, что мы вносим в него все то что мы хотим запретить. В данный момент логика осталась прежней, мы в нем запрещаем.
мы запретили индексировать раздел сайта в урл которого начинается с /users/
Для чего же ввели директиву Allow ?
Для случаев когда нужно внутри закрытой от индексации директории, разрешить проиндексировать подраздел или страницу. У нас в примере закрыты от индексации профили пользователей, но мы разрешили проиндексировать профиль Vasia_Pupkin
Ввиду данной особенности, надо понимать что Allow имеет больший приоритет чем Disallow, поэтому когда вы пишите
то писать потом правила запрета бесполезно. Вы уже все разрешили. Все директивы "Disallow" будут проигнорированны.
Что нужно запрещать, а что разрешать?
Поисковый бот приходя на сайт, имеет ограниченное время и глубину индексирования сайта. Наша задача помочь ему не отвлекаться на ненужные страницы и проиндексировать как можно больше только того что нам нужно.
Запрещаем дубли страниц.
Дубли страниц негативно влияют на ранжирование сайта. Поисковик видит по нескольким адресам на сайте абсолютно идентичные страницы. В выдаче должна быть одна страница, остальные боту надо склеить с ней. Каким образом от вычислит более релевантную страницу среди идентичных — одному ему известно, но как показывает практика, это будет не та которая нам нужна😊Поэтому лучше ему сразу запретить индексировать все узкие места в системе, где возникают дубли контента.
— Если на сайт включена поддержка ЧПУ — то нужно запретить дубликаты контента которые возникают при обращении напрямую к index.php. Если на сайте есть компоненты в которых нет ЧПУ — то их надо разрешить
— Нужно запретить к индексации поиск по тегам, поскольку при обращении к тегам формируется страница с не уникальным контентом.
— Нужно запретить к индексации поиск по сайту.
Это минимальный файл robots.txt который нужен системе.
5. Ошибки
— Каждый блок не должен иметь пустых строк внутри, пустая строка считается разделителем между блоками.
Все что идет после "Disallow: /core/" не будет учтено.
— Неправильное указание User-agent. Название поискового бота нужно брать из спецификации поисковика
User-agent: Googlebot #верно
User-agent: googleBot #не верно синтаксически. по стандарту robots.txt нечувствителен к регистру, но принято писать правильно как в спецификации.
User-agent: google #не верно
— Указание нескольких дублирующихся User-agent. Будет учтен только первый — остальные проигнорированы
— Отсутствие слешей при указании директории. Если нет слешей, то будет воспринято как имя файла и как директория.
— Отсутствие инструкции к директиве Disallow. В случае когда нам нужно использовать дополнительную директиву и нам нечего запрещать, по стандарту мы все равно должны вставить Disallow, иначе робот может проигнорировать секцию как пустую.
— Директива Host. Она работает только для Яндекса, поэтому самый правильный вариант вынести её в отдельную секцию, как описано в примере выше. Если мы выносим её в общую секцию, то она должна идти самой последней, так как роботы которые по спецификации её не поддерживают — не будут считывать данные в секции после нее.
-----------------------------------------------
И под конец, немного троллинга :)
Многие вебмастера рады стараться настолько, что пишут в роботс не только что нужно, но и все что не нужно.
Читая комментарии к прошлому посту, возникло ощущение что текст люди читают даже не наискось, а снизу вверх через 3 строчки. Еще раз кратко вспомним основные вещи:
1. User-agent
Если вы пишитеПрямое обращение к поисковому боту — приоритетнее общего обращения
User-Agent: Googlebot Allow: / User-agent: Yandex Allow: / User-agent: * Disallow: /admin/ Disallow: /backups/
2. Директива Host
Директива Host должна быть последней, если она располагается в секции с "User-agent: *", поскольку она есть в спецификации только бота Яндекса и остальные боты сочтут вашу секцию ошибочной и после этой директивы дальше в этой секции ничего не считают
User-Agent: * Host: ваш_сайт.com Sitemap: http://ваш_сайт.com/sitemap.xml
В конце кратко еще разберем основные ошибки в синтаксисе, есть очень хороший пример с несколькими ошибками, на нем и рассмотрим.
Итак, продолжим.
4. Запрещаем и Разрешаем индексацию. Директивы Allow и Disallow
Disallow — запрещает
Allow — разрешает
В данный момент директиву Allow поддерживают почти все боты, но нам важно что её стал поддерживать Яндекс (Гугл поддерживает изначально, так как это он её ввел)
Когда же и как их использовать? Раньше роботс составлялся из расчета того, что мы вносим в него все то что мы хотим запретить. В данный момент логика осталась прежней, мы в нем запрещаем.
Disallow: /users/
Для чего же ввели директиву Allow ?
Disallow: /users/ Allow: /users/Vasia_Pupkin
Ввиду данной особенности, надо понимать что Allow имеет больший приоритет чем Disallow, поэтому когда вы пишите
User-Agent: * Allow: / Disallow: /users/
Что нужно запрещать, а что разрешать?
Поисковый бот приходя на сайт, имеет ограниченное время и глубину индексирования сайта. Наша задача помочь ему не отвлекаться на ненужные страницы и проиндексировать как можно больше только того что нам нужно.
Запрещаем дубли страниц.
Дубли страниц негативно влияют на ранжирование сайта. Поисковик видит по нескольким адресам на сайте абсолютно идентичные страницы. В выдаче должна быть одна страница, остальные боту надо склеить с ней. Каким образом от вычислит более релевантную страницу среди идентичных — одному ему известно, но как показывает практика, это будет не та которая нам нужна😊Поэтому лучше ему сразу запретить индексировать все узкие места в системе, где возникают дубли контента.
— Если на сайт включена поддержка ЧПУ — то нужно запретить дубликаты контента которые возникают при обращении напрямую к index.php. Если на сайте есть компоненты в которых нет ЧПУ — то их надо разрешить
— Нужно запретить к индексации поиск по тегам, поскольку при обращении к тегам формируется страница с не уникальным контентом.
— Нужно запретить к индексации поиск по сайту.
User-agent: * Disallow: *.php Аllow: guestbook.php #в качестве примера, открываем скрипт guestbook.php для индексации Disallow: /search Disallow: /forum/thread*-1.html #закрываем дубль первой страницы темы на форуме Disallow: /login Disallow: /registration Disallow: /go/ #закрываем внешние ссылки Disallow: /templates #закрываем от индексации шаблон, там много мусора ввиде картинок, файла со стилями, скриптов. если скрипты есть где еще - лучше тоже прикрыть. Disallow: /uploads #закрываем файлы загруженные пользователями, можно и оставить открытыми. Sitemap: http://ваш_сайт.com/sitemap.xml Host: ваш_сайт.com
5. Ошибки
— Каждый блок не должен иметь пустых строк внутри, пустая строка считается разделителем между блоками.
User-agent: * Disallow: /admin/ Disallow: /languages/ Disallow: /users/ Disallow: /core/ Host: ваш_сайт.com Sitemap: http://ваш_сайт.com/sitemap.xml
— Неправильное указание User-agent. Название поискового бота нужно брать из спецификации поисковика
User-agent: Googlebot #верно
User-agent: googleBot #не верно синтаксически. по стандарту robots.txt нечувствителен к регистру, но принято писать правильно как в спецификации.
User-agent: google #не верно
— Указание нескольких дублирующихся User-agent. Будет учтен только первый — остальные проигнорированы
User-Agent: Googlebot Allow: / User-agent: Yandex Allow: / User-Agent: * #учтен Allow: / User-agent: * #проигнорирован Disallow: /admin/
User-agent: * Disallow: /news/ # - запрещена директория "news" Disallow: news # - запрещено всё где встретится "news", например /games/gameloft-[b]news[/b].html
User-agent: Yandex Disallow: # - без этой строки неправильно. эта строка ничего не запрещает Host: ваш_сайт.com
User-agent: * Disallow: *.php Аllow: guestbook.php Disallow: /search Disallow: /forum/thread*-1.html Disallow: /login Disallow: /registration Disallow: /go/ [s]Host: ваш_сайт.com [/s] # - неправильно, всё что ниже этой строки не будет считано Sitemap: http://ваш_сайт.com/sitemap.xml Host: ваш_сайт.com # - правильно. если бот не поддерживает диррективу host, то он при ошибке дальше не будет считывать секцию, а у нас там и так больше ничего нет. Host: http://www.ваш_сайт.com/ # - неправильно, потому что нельзя указывать гиперссылку
-----------------------------------------------
И под конец, немного троллинга :)
Многие вебмастера рады стараться настолько, что пишут в роботс не только что нужно, но и все что не нужно.
Поговорим об этом? :)
Указывать или нет, запрет на индексацию админки сайта, директории с бекапом базы данных, директорию с кэшем движка?
Реклама #
letsgo 12 лет назад #
soxom 12 лет назад #
letsgo 12 лет назад #
picaboo 12 лет назад #
letsgo 12 лет назад #
picaboo 12 лет назад #
picaboo 12 лет назад #
instantcms.ru%2Fsearch%2Ftag%2F " target="_blank">http://yandex.ru/yandsearch?text=&lr=2&site=instantcms.ru%2Fsearch%2Ftag%2F - вот так конечно выглядит забавно и лучше закрыть от греха :)
picaboo 12 лет назад #
picaboo 12 лет назад #
парсер паразит режет :)
soxom 12 лет назад #
letsgo 12 лет назад #
picaboo 12 лет назад #
ок. с инет магазинами работали? много позиций товара, под каждый страница, куча конкурентов с таким же товаром... намек поняли в какую я сторону?
soxom 12 лет назад #
Что касается летсгоу, то уже не раз просил - не читайте между строк... У вас на сайте будет слишком много дублей, страница тэгов, это как раз та страница, которую двигать. В Инстанте, тэги чтобы двигать нужно либо полностью переделать (сделать что-то похожее на категории), с уникальным текстом в каждом + нормальным урлом, либо закрыть.
reload 12 лет назад #
thread-11.html
thread-21.html
и т.д.
?
picaboo 12 лет назад #
Disallow: /forum/thread*-1.html
reload 12 лет назад #
или все же выгодней их клеить?
Просто ссылок, якобы много на эту страницу может быть, а мы ее закроем и вес она не получит. Я думаю что правильней 100% ые дубли редиректить, хотя могу и ошибаться)
picaboo 12 лет назад #
reload 12 лет назад #
picaboo 12 лет назад #
можно сделать на форуме тему и собрать все дубли там и уже к ним сделать патч с редиректами и роботсом.
soxom 12 лет назад #
1) Мы обсуждали уже конструкцию с дублями страниц на форуме (кстати и в блогах и статьях есть такая же проблема). Можно было либо запретить в роботсе, но потерять внутренний вес (немного, но все же), либо склеить 301 редиректом. Очень хорошее решение данной проблемы дал пивуа, его редирект можно использовать не только на форуме, но и в блогах и в статьях и фотогалереи, одним словом везде где есть подобные дубли. Так вот, если мы поклеим страницы 301 редиректом и напишем в роботсе запрет на их индексацию, то мы просто могли бы и не клеить... Так как робот все равно не перейдет по данной ссылке и не увидит 301... То есть, мы ставим либо 301, либо запрещаем в роботсе, но никак не вместе
2) Что касается дублей, то поверьте, в Инстанте их минимум (я сам новичок в данном движке и пока далеко не во всем разобрался, но это я вижу)... Я работал со многими движками и уж поверьте, там дубли на каждом шагу ))) Вы наверное их просто не замечаете... Но они точно есть )))
picaboo 12 лет назад #
редирект предпочтительнее, но редирект сложнее делать. я же не писал роботс чтобы его в дистрибутив вставили я лишь расписал ошибки которые знаю и дал примеры как можно делать. роботс каждый сам под себя делает, под конкретные задачи. согласитесь что для интернет магазина и блога на одном движке роботсы будут кардинально разные :)
вообще редирект это крайняя мера, если есть редирект, значит движок сработал неправильно и этот костыль исправляет багу. поэтому лучше исправить мод который генерирует ошибку, чем плодить редиректы
2. дубли есть везде, просто они не очевидны.
к примеру у этого топика дубль (и не один)
http://instantcms.ru//blogs/raznye-melochi/optimalnyi-robots-txt-chast-2.html#comment_29066
и вроде как тоже надо закрыть :)
picaboo 12 лет назад #
soxom 12 лет назад #
picaboo 12 лет назад #
провокация не удалась смайлик в конце фразы меня выдал :(
soxom 12 лет назад #
picaboo 12 лет назад #
User-agent: *
Disallow: /
Allow: /news/
Allow: /content/
Allow: /foto/
Sitemap: http://site.ru/sitemap.xml
Host: site.ru
Soviet-Girl 12 лет назад #
Так: Disallow: /catalog/*/tag/* ??
picaboo 12 лет назад #
artlab 12 лет назад #
Да и может кому пригодится)
picaboo 12 лет назад #
можно было сделать
User-agent: *
Disallow: /
и убрать все секции кроме яндекса и гугла. эффект тот же, только файл в 50 раз меньше.
сайт мап и хост должны принадлежать какой либо секции. по уму надо сайт мап добавить в гугловскую и яндекс. а хост только в яндекс добавить и все.
artlab 12 лет назад #
Disallow: /
С этим роботсом в яше 500 и в гугле 1200 страниц в индексе,и много в топе)
picaboo 12 лет назад #
нет, без шуток
User-agent: *
Disallow: /
заменит перечисление всей кучи ботов. у вас будет запрет доступа к сайту всем кроме оставленных
artlab 12 лет назад #
soxom 12 лет назад #
picaboo 12 лет назад #
soxom 12 лет назад #
picaboo 12 лет назад #
- часто поисковый бот в админку лезет и в кеш? а в бекапы сайта?
- статьи-фотки добавляет часто? регается? записи на стену?
Lana 12 лет назад #
А можно как-то закрыть доступ ботам или программам, которые парсят RSS (ну коментарии те же скажем) - чем не источник уникального контента для всяких граберов.
Ну тоесть если заход с броузера, то RSS пожалуйста, если чего-то с какого-то сервера запрашивает, то отворот поворот?
picaboo 12 лет назад #
Lana 12 лет назад #
Или это слишком сложно, проще вообще RSS поотключать?
picaboo 12 лет назад #
RSN 12 лет назад #
Начало топика это наверно из моего файла:
В Первом Вашем блоге пришел к некоторым выводам и проверил их по сети, изменил файл после сегодняшнего ночного апа
пропали ошибки, уже сказал тема нужная, но как Вы правильно заметили:
Олег Васильевич я 12 лет назад #
picaboo 12 лет назад #
Олег Васильевич я 12 лет назад #
picaboo 12 лет назад #
Олег Васильевич я 12 лет назад #
picaboo 12 лет назад #
Олег Васильевич я 12 лет назад #
picaboo 12 лет назад #
решайте сами что вы хотите закрыть в своем конкретном случае
Олег Васильевич я 12 лет назад #
GluK 9 лет назад #