Правильная индексация сайта, robots.txt или meta robots?
Правильно прописываем robots.txt или meta robots.
На примере популярных движков
Давайте вдумаемся, а что мы с Вами подразумеваем под словосочетанием "Идеальный сайт"?
Наверно, это в первую очередь такой сайт, все без исключения страницы которого не стыдно показать людями которыми можно гордиться. Они проиндексированы поисковиками, зафиксированы, признаны качественными, они несут нужный, новый, уникальный контент, который ищут пользователи и который Вы им в силу своей мудрости и альтруизма предоставляете.
Такой сайт нелегко, но можно сделать, он называется "Сайт на чистом HTML". Это набор страничек, такой, как к примеру на этом вот моём сайте , каждую страничку которого Вы любовно пестуете, по нескольку раз перепроверяете прежде чем доверить её людям и интернету.
Это замечательно. Если страничек десять. А если 500, 5000, 50000?
Тогда на помощь приходят разработчики различных бесплатных и не очень движков типа Вордпресс, Джумла, DLE. Берите, пользуйтесь, не забывая при этом о такой мелочи, как огромное количество мусорных ненужных дублирующих друг друга страниц.
Думаю, что подобную картинку в своём вебмастере видели все
Роботы поисковика нашли на Вашем сайте больше трёх тысяч страниц, из которых только 830-проиндексированы, то есть представляют какой-либо интерес.
Это Яндекс, в Гугле собственно -то же самое, минимальные отличия. Тогда что это почти три тысячи непроиндексированных страниц? А это как раз страницы, показывать какие людям совсем не интересно, это рабочие, технические страницы движков, неправильно сгенерированные, пустые, ненужные в индексе, не несущие в себе никаких посылов страницы. Они НЕ НУЖНЫ никому.
Так вот. Если Вы пользуетесь любым из популярных движков, таких мусорных страниц Вы насчитаете тысячи. ТЫСЯЧИ... И представьте себе состояние Вашего любимого пользователя, которого Вы всеми силами, через рекламу, ссылки на других ресурсах, телевизов или социальные сети пытаетесь затащить к себе, когда он увидит вместо обещанного ему интересного классного контента техническую страницу движка, на котором сделан Ваш сайт. Весело? Ни черта.
И это ещё мы не говорим о том, что такие страницы, несмотря на запрет в файле robots.txt всё же легко и непринуждённо индексирует ГУГЛ и включает такие страницы в свой так называемый сопливый индекс- дополнительную выдачу (supplemental). А чем меньше страниц сайта с основном индексе и чем больше в дополнительном, тем хуже ранжируется Ваш сайт и поисковики к нему относятся всё хуже. Есть от чего пригорюниться? Есть.
Давайте подумаем, как можно заставить ботов правильно индексировать Ваш сайт, показывать именно те страницы, которые нужны Вам ,и не показывать, не определять, не индексировать мусорные страницы сайта.
В этой статье я расскажу о простейшем решении, подсмотренном мной на просторах интернета и конкретно для движка DLE- в блоге АлаичЪ'а.
Итак, существует решение, о котором по каким-то причинам забывают разработчики движков и не знают в большинстве своём СЕО-оптимизаторы. Мы не можем запретить шататься по нашим страницам роботам поисковиков, даже если навешаем огромное количество замков в файле robots.txt . Просто потому, что нас с Вами никто не будет слушать. Гугл чётко даёт понять, что все запреты в этом файле для него- просто фикция, они очень условны, и если ему нужно будет пройти по ссылке или просмотреть заголовки или контент, то он пойдёт и всё увидит.
А потом....... А потом он уберёт эту запрещаемую нами страницу в свой дополнительный индекс, и поминай как звали хорошее ранжирование и ТОП в поиске. Значит, мы поступим хитрее. Оставим в файле robots.txt только те правила, которые нам необходимы в принципе -
например в движке DLE это выглядит так - и ВСЁ. Но ведь нужно закрывать от индексации и страницы админки, и технические, и лишние, и дублированные и много много других- а этот движок при всей его классности грешит этими вещами к сожалению. И как же мы будем запрещать всё это барахло ,чтобы оно ни в коем случае не вылезло наружу и чтобы боты поисковиков не бродили по ним как по прериям....
Поступаем просто. ищем на ФТП или в панели управления хостинга файл "Вашсайт/engine/engine.php" Не забываем его сохранить у себя на компе, а лучше всего воспользоваться таким случаем, и вообще сделать бекап, сохранить как файлы сайта, так и базу данных, а потом и вовсе поменять пароли как к хостингу, так и в админку. Ну это на любителя, хотя лучше перебдеть, чем недобеть- это правило живо и учение верно.
Итак- открываем на редактирование файл /engine/engine.php и для версий движка DLE 9.3 и ниже
удаляем вот эту строчку
Потом находим в этом файле строчку вот такую...
if ($config['allow_rss']) $metatags .= |
и выше её прописываем эту вот конструкцию
if ( //$do == 'addnews' OR /* Страница добавления новости с сайта */ //$do == 'alltags' OR /* Страница просмотра списка тегов */ //$do == 'feedback' OR /* Страница формы обратной связи */ //$do == 'favorites' OR /* Страницы закладок пользователей */ //$do == 'lastcomments' OR /* Страница просмотра всех последних комментариев на сайте, в т.ч. комментариев отдельного пользователя */ //$do == 'lastnews' OR /* Страница просмотра всех последних новостей */ //$do == 'lostpassword' OR /* Страница восстановления пароля */ //$do == 'pm' OR /* Страницы личных сообщений пользователей */ //$do == 'register' OR /* Страница регистрации нового пользователя */ //$do == 'rules' OR /* Страница правил сайта */ //$do == 'stats' OR /* Страница статистики сайта */ //$do == 'search' OR /* Страница поиска и результатов поиска */ //$do == 'static' OR /* Все статические страницы */ //$do == 'tags' OR /* Просмотр новостей по тегу */ //$do == 'xfsearch' OR /* Просмотр новостей новостей по доп. полям */ //$subaction == 'allnews' OR /* Просмотр всех новостей пользователя */ //$subaction == 'newposts' OR /* Просмотр непрочитанных новостей для пользователя */ //$subaction == 'showfull' OR /* Просмотр полной новости */ //$subaction == 'userinfo' OR /* Просмотр профиля пользователя */ //$dle_module == 'date' OR /* Просмотр архива новостей за год/месяц/день. Заменяет собой сразу все три следующие строки */ //($year != '' and $month == '' and $day == '') OR /* Просмотр архива новостей за год */ //($year != '' and $month != '' and $day == '') OR /* Просмотр архива новостей за месяц */ //($year != '' and $month != '' and $day != '' and $subaction == '') OR /* Просмотр архива новостей за день */ //(intval($_GET['cstart']) > 1 ) OR /* Любые страницы пагинации */ //($dle_module == 'main' and (intval($_GET['cstart']) > 1)) OR /* Страницы пагинации для главной страницы */ //($do == 'cat' and $category != '' and $subaction == '' and (intval($_GET['cstart']) > 1)) OR /* Страницы пагинации только для категорий */ //($do == 'cat' and $category != '' and $subaction == '') OR /* Просмотр любой категории */ //($do == 'cat' and $category_id == 'X' and $subaction == '') OR /* Просмотр определенной категории. X заменить на id категории */ $catalog != '' /* Просмотр каталога по буквенному идентификатору */ ) $metatags .= \n HTML; |
Не забывая о том, что значёк - // здесь означает закоментированный, и чтобы правило заработало, такой значёк нужно убрать. Этот шаблон- спасибо Алаичу, вмещает в себя огромное количество правил, можете отредактировать файл, сохранить на сервере и посмотреть.
Как говорится- там- где раньше ничего не было, сейчас в заголовке, то есть наверху кода сайта между тегами и на тех страницах, которые Вы решили не показывать поисковикам- появилась строчка записи - метатег Роботс
И последний штрих- как это всё работает и почему лучше для Вашего сайта правила запрета прописывать не в файле robots.txt ,
а в метатеге robots ?
Итак. Увидев запрет на индексацию страницы в файле robots.txt бот поисковика может спокойно это правило проигнорировать, проиндексировав заголовки, контент, ссылки на странице. То есть то ,что Вы хотите спрятать от пользователя.
А начав читать сверху код страницы ( роботы поисковиков видят только и исключительно КОД страниц) и увидев метатег robots боты просто разворачиваются и уходят со всех ног. Таким образом, страница- ПОЛНОСТЬЮ остаётся непроиндексированной, ни в какие сопли ГУГЛа ничего не попадёт, пользователям покажут только то, что Вы с гордостью им и хотите показать.
Поэтому естественно старый добрый способ спрятать всё ненужное- это прописать правила метатегом robots
Который- Совсем последний штрих ))) - означает, что
для поисковиков Яндекса и ГУГЛа эта страница, её контент и все ссылки, расположенные здесь -ЗАКРЫТЫ ОТ ИНДЕКСАЦИИ !!!