Привет, друзья. Сколько раз вы меня спрашивали, как составить правильный robots.txt для DLE – вот честно, надоели уже! Решил написать пост на эту тему, чтобы раз и навсегда исключить все подобные вопросы. Хотя, я уверен, выводы для вас будут неожиданными :)
Краткая суть поста – чем меньше файл robots.txt тем лучше и качественнее сайт, и это относится не только к DLE, но вообще к любому движку или сайту.
Я вам еще раз расскажу, почему и для чего нужен файл robots.txt и директивы в нем, а так же почему меньше директив это показатель качества.
Знаете что такое идеальный сайт? Это сайт, каждая страница которого несет пользу для посетителя и эту страницу не стыдно показать поисковику, потому что она ему понравится и будет высоко ранжироваться.
А для чего придумали robots.txt? Для того чтобы указывать поисковику какие страницы посещать и индексировать можно, а какие нельзя. Закрывая от индексации какие-то страницы (или даже разделы) вы тем самым признаете, что эти страницы некачественные или ненужные по различным причинам. Чаще всего запрет используется для исключения дублей страниц и технической информации. К сожалению, реальность такова, что сегодня 99% сайтов имеющих файл роботс закрывают с его помощью как раз такие страницы.
DonBot позволит без правок ядра движка добавить необходимые правила, при этом есть несколько рекомендуемых настроек для достижения наилучших результатов.
Тем не менее, описанные ниже правки остаются актуальными для всех версий DLE 9.x, 8.x и 7.x!
Так вот еще раз – идеальный сайт – это когда бесполезных страниц нет и закрывать нечего. Но CMS, какими бы классными они не были, все равно создают для нас «неожиданности» и приходится выкручиваться. Приходим к выводу – без robots.txt не обойтись…НО!
Временно переключимся — смотрите на идеальный robots.txt для DLE
User-agent: * Disallow: /engine/ Host: site.ru Sitemap: http://site.ru/sitemap.xml |
Неожиданно? Ну да…
Предлагаю вам вспомнить мою аналитическую публикацию о сравнении robots.txt и meta robots — если не читали еще, то обязательно ознакомьтесь очень внимательно. После прочтения вывод будет следующим: лучше запрещать индексацию страниц и разделов при помощи метатега <meta name="robots" content="noindex">
, а не при помощи robots.txt.
Но раз уж в заголовке сегодняшнего поста фигурирует название CMS Datalife Engine, то стоит вплотную переключиться на работу с DLE.
Я уже рассказывал о том, как закрывать ненужные страницы DLE при помощи мета-тега robots в третьей части seo оптимизации DLE, и сегодня я немного повторюсь, но добавлю новых фишек с учетом вопросов в комментариях.
Решение, которое будет описано ниже подходит абсолютно для всех версий DLE.
Для получения результата нам необходимо будет отредактировать всего один файл /engine/engine.php. Открываем его.
Для DLE 9.3 и ниже (для версий 9.4 и выше этого делать не надо) сперва необходимо найти следующую строку и удалить:
<meta name="robots" content="all" /> |
Далее (это уже для всех версий без исключения) находим строку:
if ($config['allow_rss']) $metatags .= <<<HTML |
ВЫШЕ добавляем код:
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 .= <<<HTML \n<meta name="robots" content="noindex,nofollow" /> HTML; |
Мини-FAQ из вопросов из комментариев:
— Если я закрываю от индексации категорию, будут ли новости из этой категории индексироваться?
— Да, закрытие категории не закрывает публикации, принадлежащие этой категории.— Что если мне надо закрыть от индексации несколько категорий с id=1,2,3,4,5 какой код применять?
— Вместо $category_id == 'X' надо указать in_array ($category_id, array ('1', '2', '3', '4', '5'))
Огромный список вариаций на любой вкус. Мне кажется, я все предусмотрел, и это закроет 99% любых потребностей. Оставшийся 1% — это потребности вебмастеров-извращенцев :)
Итак, давайте я расскажу, как теперь всем этим делом пользоваться.
Если вы вставите код в его изначальном виде (в том в котором я его выше представил), то ничего не произойдет кроме закрытия страниц буквенного каталога. Чтобы нужные правила начали работать, необходимо удалить знак комментирования, то есть двойной слеш в начале строки «//».
Мой код — это своего рода конструктор, где вы сами выбираете, что вам нужно, а что нет, при этом все сразу есть под рукой – если что-то потребовалось, зашли в файл и раскомментировали нужную строку или наоборот закомментировали.
Я уверен – вы разберетесь, как этим делом пользоваться, и вам это понравится. Главное будьте очень внимательны – раскомментировав не ту строку, вы рискуете запретить доступ поисковикам к важной и нужной информации.
Да, я уже предвижу, что будут вопросы относительно сторонних модулей для DLE, не моих, разумеется, так как мои как раз должны индексироваться, а сторонних. Чтобы запретить индексацию какого-либо модуля, необходимо будет использовать конструкцию $do == 'module', где module – это название модуля, которое можно взять в админке. Например, http://site.ru/admin.php?mod=sitemap. Следовательно, необходимый кусок кода будет таким $do == 'sitemap', его надо будет вставить в мою конструкцию и не забыть оператор OR в конце. И все – дело в шляпе!
Так какой правильный robots.txt для DLE?
Вот именно такой, какой я указал в начале поста, такой, который содержит всего 4 строчки. Кстати, можно даже строку Disallow: /engine/ исключить, если не используются редиректы на внешние ссылки, и заменить на Allow: /. Разумеется, это рассматривается чистая CMS «из коробки», без ваших заморочек, больной фантазии и сторонних модулей.
Так что «чистим» свой robots.txt, внедряем мета-тег robots и радуемся постепенному исчезновению ненужных страниц из дополнительной выдачи Google (supplemental).
И еще один важный момент – правки надо будет не забывать вносить сразу же после очередного обновления движка.
Теперь вы узнали, что лично я считаю правильным robots.txt для DLE и все вопросы по этой теме можете задавать в комментариях, а не где попало. Жду ваших вопросов, предложений и отзывов.
До связи, друзья!
P.S. Вот вам еще парочка бонусных советов:
- Найдите файл шаблона версии для печати print.tpl и откройте его. Сразу после
<head>
вставьте<meta name="robots" content="noindex">
- Откройте файл /engine/skins/default.skin.php и проделайте тоже самое.
Первый бонус для того, чтобы запретить индексацию версии для печати, а второй запрет индексации админки, ибо тупо закрывать файл admin.php в robots.txt (а еще тупее использовать нестандартное название файла админки и закрывать его в robots.txt).
Давно жду твоих новых постов и вот дождался...
Спасибо, этот вопрос, действительно, меня всегда очень интересовал...
Найдите файл шаблона версии для печати print.tpl и откройте его. Сразу после <head> вставьте <meta name="robots" content="noindex">
-----
Так в админ панели есть функция запрета индексации страниц печати. Зачем еще и тут закрывать?
Ну может быть...раньше не было, значит это я по старой памяти написал... :)
Здравствуйте.
" Сразу после <head> вставьте <meta name="robots" content="noindex"> "
Может я ошибаюсь, но слеш в конце должен быть или нет?
Вот так: <meta name="robots" content="noindex" />
Или это не принципиально?
Можете поставить, не принципиально :)
Еще по прошлому посту добавил метатеги и кучу мусору наконец-то яндекс выбросил, robots.txt для него вообще не аргумент, то добавлял в индекс то не добавлял. А через метатег железно подчинился. Также хотелось уточнить, надо ли закрывать папки языка, загрузок, шаблонов в robots,txt или толку нету, просто у меня всегда они были закрыты... И есть ли смысл закрывать страницы пагинации, а то их куча, а толку вроде не много. АлаичЪ пора бы может форум небольшой поставить ?
О чем и речь, что стопроцентный способы закрыть страницу от индексации это метатег.
Можешь не закрывать папки языка, загрузок и шаблонов в robots.txt, а можешь и закрывать, разницы никакой не будет.
Закрывать страницы пагинации или нет — я в стопицотый раз говорю — это ваше личное дело. Лично я не закрываю.
А форум, действительно, пора давно открыть. Я, кстати, даже движок выбрал, но так и не дошли руки до дела :(
Хороший мануал, раскоментировал все строки. Единственное что не нашел — это alltags.
И не понимаю зачем закрывать категории, если есть твой модуль?
alltags — 3 строчка сверху...
//$subaction == 'showfull' OR /* Просмотр полной новости */ — думаю это уже слишком, особенно если полная новость действительно полная, а не дубляж короткой...
alltags в самом движке DLE нет такой страницы, есть просто tags.
index.php?do=alltags ведет туда же что иindex.php?do=tags
Про $do == 'alltags' русским языком написано "страница списка тегов" — это site.ru/tags/
А $do == 'tags' сказано, что это просмотр новостей по тегам — site.ru/tags/tag+name/
Что не понятно?
Да и кстати сам роботс, я вот таким сделал:
User-agent: *
Disallow: /engine/
Sitemap: http://сайт.ру/sitemap.xml
User-agent: Yandex
Disallow: /engine/
Host: сайт.ру
Sitemap: http://сайт.ру/sitemap.xml
User-agent: MediaPartners-Google
Allow: /
User-agent: YandexDirect
Allow: /
Саш, ты пишешь, что для DLE 9.3 и ниже (для версий 9.4 и выше этого делать не надо).
Это только первый код после данного сообщения, или включая:
Далее находим строку:
if ($config['allow_rss']) $metatags .= <<<HTML
ВЫШЕ добавляем код???
Для DLE 9.3 и ниже ты удаляешь только:
<meta name="robots" content="all" />
Остальное уже делаешь для всех версий.
Все верно. Специально, чтобы не было больше таких вопросов добавил пометку в пост.
Спасибо, теперь стало понятно. А то сразу не совсем однозначно написано было.
>>(а еще тупее использовать нестандартное название файла админки и закрывать его в robots.txt).
+100500! Лучше уж тогда сразу на главной странице ссылку на изменённый файл повесить :)
По теме: ОТЛИЧНЫЙ пост. Как раз то, что нужно и в нужный момент! У меня только сайт переиндексировался на новом домене, теперь пора откинуть очередную порцию неугодных страниц.
Спасибо!
Хотел еще уточнить помимо userinfo исключать /user/ не надо ?
Андрей, не тупи, userinfo — это и есть страницы юзеров, т.е. site.ru/user/username :)
Странно, но после внедрения кода и статьи (новости) стали закрыты.
Версия 9.6. Стоит только модуль catface
Не понял, подробнее распишите проблему.
Поставил согласно инструкции, но сама страница новости вида site.ru/1-stranica.html тоже стала noindex,nofollow
Её то точно надо индексировать ;)
а вы все строки раскомментировали?
Да всяко пробовал. И полностью расскоменченно тоже
Надо быть внимательнее, я же предупреждал.
Так что установите код и убирайте комментарий построчно и проверяйте каждый раздел. Таким образом и выяснится, что же именно заблокировало полную новость.
Да, пардон, я невнимателен
Эту строку трогать не надо $subaction == 'showfull' OR /* Просмотр полной новости */
Спасибо! Применил по назначению! :) ... Посмотрю на результат и отпишусь :)
Все вещь, все идеально работает! Спасибо АлаичЪ!!! :)
Привет АлаичЪ! Скопились вопросы:
1) В Роботсе остались эти строки:
Disallow: /engine/
Disallow: /catalog/
Disallow: /autobackup.php
Disallow: /dle-rules-page.html
С engine всё понятно, не понятно с остальным. catalog — при наборе http://site/catalog/ на странице так и не выставился запрет, так как эта страница дублирует главную. autobackup.php я перенёс со старого роботса, но не знаю, мусорная строка эта или нет. dle-rules-page.html — является дублем rules.html, в которой в свою очередь стоит запрет. А просматривая код в dle-rules-page.html запрета не нашёл. Добавил $do == dle-rules-page' OR — не помогло.
2) По адресам:
http://site/index.php?do=userinfo — дубль главной, запрет meta robots отсутствует. Но описание с catface для главной тоже нет
http://site/index.php?do=allnews — дубль главной, запрет meta robots отсутствует. Но описание с catface для главной тоже нет
http://site/index.php?do=newposts — дубль главной, запрет meta robots отсутствует. Но описание с catface для главной тоже нет
http://site/catalog/ — полный дубль главной страницы. Запрет meta robots отсутствует.
3) не понятно (возможно связано со 2-м вопросом)
например дописываю к адресу всяких цифр, слешей, букв, страницу обновляю но ни чего не меняется. Например https://alaev.info/blog/post/2400#tolist_04//////////////////3343434343434466666666666666666666666tteetetetettetetete доступен по https://alaev.info/blog/post/2400#tolist_04/ и т.д. Тот же случай и у меня. Это нормально, или плохо?
Денис, в вашем случае лучше не начинать думать слишком далеко, дальше, чем есть понимание...
1. Страницы http://site/catalog/ не существует, существуют только страницы конкретных букв каталога, например, http://site/catalog/a/
autobackup.php — устаревший файл, в новых версиях он отсутствует, его заменил файл cron.php
dle-rules-page.html — тоже устаревшая информация
2. Ни одного из приведенных адресов в принципе не существует, зачем сочинять какую-то ересь, если нет понимания вопроса?
3. Знак якоря # не меняет содержимого страницы, а является указателем. И поисковиками при индексации он отсекается.
АлаичЪ
У меня стоит DLE 9.5 dle-rules-page.html есть при индексации. как бы это дело исправить)
Зарпетить его к индексации в robots.txt. Что касательно мета-тега robots, то за индексацию правил отвечает строка в моем коде:
$do == 'rules' OR /* Страница правил сайта */
Страница http://site/catalog/ еще как существует! И она не закрита метатегом от индексации! Может можно ее как-то метатегом прикрыть?
Уважаемый Алаичь!!!
Не знаю, был ли такой вопрос, но все же задам!
Как вы считаете, стоит ли выводить на главной модуль, теги, и как он влияет на поисковую выдачу,
Плюсы и минусы сего чуда!
Заранее благодарю, хотя и понимаю что ОФФтоп!
Это ваше дело, выводить или нет. Почему вы меня то спрашиваете об этом? Я на некоторых своих сайтах использую теги, а на некоторых нет, что я должен ответить в этом случае? Там где это полезно пользователям — надо выводить, где нет — значит нет.
Да и еще один не мало важный вопрос для меня!!!!
Подскажи пожалуйста, как мне сделать правильный перенос новости на новый адрес(Дле 9.5) поясняю
Был адрес новости мой_сайт.ру/rus/rus_271.html?part=1
После переезда на дле стал мой_сайт.ру/rus/83-prezident-ne-isklyuchil-dalneyshego-ukrupneniya-regionov-rossii.html
Домен был дроп, с контентом в веб архиве, все сео рекомендации 4 постов выполнил, но теперь просто не уверен, что старые страницы прилипнут к новым правильно! Если есть какой либо вариант, подскажи, буду очень признателен!!!
После строки RewriteEngine On в начале файла htaccess надо прописать:
Redirect 301 rus/rus_271.html?part=1 http://мой_сайт.ру/rus/83-prezident-ne-isklyuchil-dalneyshego-ukrupneniya-regionov-rossii.html
АлаичЪ Привет! Как на счёт поста "Валидация кода" Я не нашёл в твоём блоге этой темы, но уверен что эта тема волнует многих, и у этих многих много вопросов и неразберих с этой проблемой. Ты эксперт в области подобных экспериментов. Так как на счёт того, чтоб провести исследование и эксперимент с сервисом w3.org и сделать отчёт в твоём будущем посте о значении самой валидности кода для сайта относительно SEO?
Денис, у меня как то была возможность пообщаться с официальными представителями яндекса. И на вопрос влияет ли, при прочих равных условиях, валидный, правильно размеченный, семантически верный html5-код на поисковую выдачу мне было отвечено — нет. Т.е. на прямую не влияет и поисковый робот не учитывает саму вёрстку, только контент.
Однако учитывая, что правильная разметка документа делает возможным формирование всяких красивостей в выдаче, в итоге сайт таки поднимется именно из-за этого, т.к. человек, опять же, при прочих равных условиях, тыкнет на результат в виде сниппета а не просто тупую ссылку. Но это всё в идеале т.к. никаких прочих равных условий в интернете быть не может — каждый сайт по своему уникален, и сайт с уникальным, интересным публике контентом, и дерьмовой вёрсткой будет всегда выше 100% валидного говносайта.
ПафНутиЙ Спасибо за инфу! А то уже устал заморачиваться с этим кодом по валидности
На DLE на данный момент невозможно сделать валидный html5 сайт без правок движка (те же картинки выравниваются устаревшими тегами).
Однако и забивать на валидность не есть гуд, хотя бы из самоуважения)))
Здравствуйте! Если я уберу знак комментирования возле /* Любые страницы пагинации */,
сами материалы размещенные на этих страницах будут нормально проиндексированы?
То есть как я понял просто не будет индексироваться и выводится в поисковую выдачу сама страница навигации с ссылкой
вида "сайт.ру/page/2/", а размещенные на ней материалы будут нормально индексироваться. Правильно?
На одном из форумов прочитал что:
Если запретишь эти страницы, то в дальнейшем запретишь к индексации большую часть сайта. Моё личное мнение — не стоит запрещать эти страницы, но стоит сделать одну весчь, склеить адреса http://site.ru/page/ и http://site.ru/page/1/ с главной страницей http://site.ru/ , а также http://site.ru/category/page/ и http://site.ru/category/page/1/ c главной страницей категории http://site.ru/category/ методом редиректа
Насколько это так и как лучше поступить всё же с этими страницами?
PS Мнение не моё личное, мнение автора) я просто хочу понять так ли это )
Если запретить страницы пагинации, то поисковикам будет труднее добираться то "глубоких" новостей, то есть скорость переиндексации сайта определенно упадет. Но зато не будет частичного дублирования контента (коротких анонсов). Так что решайте сами.
Как таковые страницы пагинации не содержат никаких материалов, на этих страницах выводятся лишь анонсы.
Заранее извиняюсь за возможно банальный вопрос.
При закрытии страниц пагинации метатегами noindex и nofollow будет ли этим страницам передаваться ссылочный вес?
Будет передаваться, если на них будут стоять ссылки. Только дальше с этим весом ничего не произойдет, он пропадет и все.
тогда подскажите плиз как или где нужно внести изменения в коде чтоб все страницы пагинации только на главной были закрыты в nofollow.
Выходит что с помощью мета тегов мы только не пускаем робота, а ссылочный вес все-равно передается и это не хорошо, нужно поправлять)
Ссылочный вес утекает по любой ссылке и не важно куда она ведет, закрыта ли от индексации страница, на которую эта ссылка ведет и т.д. Вес никуда не денется только в том случае, если ссылки нет.
Понятно? И никакие тут теги-метатеги не помогут.
В вебмастере яндекса "Страниц в поиске" все страницы которые запрещены к индексации с помощью <meta name="robots" content="noindex,nofollow" />. И плагинации и теги и календарь. Посмотрел по логам, робот яндекса ходит по сайту как у себя дома, хотя если я правильно понимаю мета-тег запрещает индексировать текст страницы, и переходить по ссылкам на странице.
Робот гугла ходит где только ему разрешено по страницам с новостями и в поиске находится, что положено, а не все подряд.
Интересно от чего так?
Ничто не происходит моментально, тем более у Яндекса. Подождите месяц и все станет на свои места. А метатег не запрещает роботам ходить по страницам, метатег запрещает их добавлять в индекс.
Да и потом, проследите логику — метатег указан на самой странице, в ее исходном коде, и чтобы его увидеть, надо как минимум эту страницу посетить и просмотреть.
Извиняюсь за повтор, но есть вопросик по валидации, мне на него так ни кто и не ответил: копирую код файла main.tpl и вставляю для проверки html на сервисе W3. Далее он мне показывает ошибки красной подсветкой. Вопрос — почему он видит ошибки, которых нет. Например {content} — одна скобка подсвечивает красным. А она есть. Ну не удалять же мне её??? И это только с html. С CSS проблем нет. Как же быть. Хочется минимизировать инвалидность кода :)
вы не то проверяете.
Нужно в браузере (если это не IE) нажать Ctrl+U, Ctrl+A, Ctrl+C и уже этот код проверять а не main.tpl )))
main.tpl Это для примера. Суть то одна, показывает то место где всё есть. Что бы быть точнее еще раз опишу ситуацию. Вот скопировал исходный код главной, вставил в валидатор, выдал 3 ошибки, одна из них <noindex> — где ">" помечена как ошибка. В исходном коде у меня в noindex заключён счётчик и всё. Больше noindex нету. Вопрос: в исходном коде noindex прописан без ошибок,(вижу своими глазами) а валидатор показывает ошибку. Как это устранить???
Валидный код noindex — это <!--noindex-->поддерживается яндексом<!--/noindex-->
Вообще никакой разницы между <!--noindex--> ... <!--/noindex--> и <noindex> ... </noindex> для Яндекса нет и никогда не было. "Типа валидный" вариант введен для того, чтобы валидаторы не ругались на неизвестный тег, и видели его как комментарий.
Я же ни о какой разнице и не говорил, разве не так?
Здравствуйте. Подскажите пожалуйста, у меня версия dle 9.6, мне точно не нужно удалять строку: <meta name="robots" content="all" />, она у меня присутствует в файле engine.php. И еще когда смотришь исходный код на странице в которой я закрыл индексацию, получается так:
<meta name="robots" content="all" />
<meta name="revisit-after" content="1 days" />
<meta name="robots" content="noindex,nofollow" />.
Два раза повторяется надпись meta name="robots", это не повлияет на поисковики?
Александр, — вроде не повлияет. Но робот будет ориентироваться по первой с верху строчки
Данная строчка на поисковик уж точно не повлияет.
Вот, если ПС читает первую команду, тогда данная страница проиндексируется полностью!
Вы же напротив, вроде как хотите её закрыть от индексации!?
Вы все неправы. Поисковик учитывает наиболее строгое правило, то есть он учтет как раз noindex,nofollow.
Александр, рекомендую строки <meta name="robots" content="all" /> и <meta name="revisit-after" content="1 days" /> удалить.
//$subaction == 'showfull' OR /* Просмотр полной новости */
Это зачем закрывать от индексации ?
И еще такой вопрос, я закрыл от индексации постраничную навигацию по средствам Роботс.
/page/
Стоит ли вообще это закрывать ? или это Пс не воспринимает как дубли?
Я больше не буду отвечать на счет закрытия от индексации постраничной индексации — читайте комментарии.
1. Вы должны решить, что вы отдаёте на индексацию, краткую новость или полную.
Если у вас в полной новости расположена новость целиком, то полную новость закрывать нельзя.
2. Если анонс (краткая новость) дублирует полную новость, то page всё же лучше закрыть.
Да Валерий понятно спасибо. Но как закрыть Page от индексачии данным методом ? АлаичЪ не упомянул в посте как сделать это.
page — это страница пагинации.
В посте выше описано, как закрыть Страницы пагинации для главной страницы и только для категорий!!!
Валерий, а что значит "только для категорий"?
Может Вы имели ввиду "и для категорий"?
Давид, откройте наконец глаза — в коде из поста целых 3 правила для страниц пагинации с разными условиями:
/* Любые страницы пагинации */
/* Страницы пагинации для главной страницы */
/* Страницы пагинации только для категорий */
Спасибо АлаичЪ
Уважаемый АлаичЪ, прошу прощения еще раз, подскажи еще один нюанс, как сделать мобильную версию сайта, на дле 9.5 не в корявом виде index.php?ляля mobile в яндексонравящуюся примеру pda.мой сайт.ру
Еще раз прошу прощения, заранее спасибо!
Денис, пожалуйста, почитайте пост с начала, и по сабжу не задавайте глупых вопросов, пардон, матюк вспомнил!
Я, конечно, все понимаю и все перечитал, но конкретного ответа на мой вопрос я не нашел. Если вы не поняли сути моего вопроса, прошу еще раз его перечитать и, если у вас после понимания сути моей проблемы окажется тематически-вразумительный ответ, — прошу его отписать, в чем я буду вам премного благодарен. Ничего личного!
За то, что я написал не в ту тему (Оффтоп), я приношу глубочайшие извинения.
Уважаемые коллеги, прошу вас, давайте с уважением относится к друг другу, давайте не будем показывать остроту своего ума и характера. В конце концов, этот блог не сборище бомжей и забулдыг, а познавательный проект, для таких новичков как, к примеру, я. Мне много чего еще не понятно и я не стесняюсь об этом спросить! А вот ответы, выше отписанные, зачастую заставляют начинающих веб мастеров (может и громко сказано) наделать кучу ошибок в начале, а потом и вовсе забить на это дело!
Я не в коей мере не хотел никого обидеть или оскорбить, просто я высказался по существу ответного поста!
Если кто в силах помочь в моем вопросе, будьте так любезны!
Денис, я не знаю как это сделать, я этим вопросом никогда не интересовался. Но, мне кажется, есть специальные модули или хаки для решения этой проблемы, но и их я не подскажу, придется гуглить самостоятельно.
Денис, не уверен в правильности ответа, но:
http://prowebber.ru/dle/moduls/3570-subdomen-15.html на основе этого можно что-то сообразить. Но я лично за адаптивный дизайн против мобильных версий.
Да я как бы тоже, но думаю на будущее, яша требует наличие моб. версии, именно в таком формате(как пишет Платон желательно именно на поддомене!)Ссылка интересная постараюсь реализовать, Спасибищще!
Денис, а не могли бы мы подробнее с вами поощаться:)
Меня тоже очень заинтересовала создание мобильной версии сайта на поддомене, т.к. сам имею сайты мобильной тематики.
Отпишите пожалуйста на euro-5000 (пёсик) yandex.ru, возможно обменяемся каким либо опытом.
Подскажите, пожалуйста, имеется страница вида сайт.ру/approve/ — страница новостей находящихся на модерации, как запретить ее индексацию мета тегом? Спасибо!
Вы уверены, что такая страница вообще существует? Я ее не обнаружил у себя.
Просто у Александр, стоит уникальный модуль который я ему продал, и вчера уже эту проблему мы совместными усилиями решили.
Александр спасибо за полезный мануал. Всё отлично работает.
У меня лично такой, думаю вот самый правильный робот:
Артём, вы себя считаете умней Алаича? Хоть бы почитали внимательно данный пост, тогда бы увидели какой самый правильный правильный robots!
Не считаю, но в написанном посте плохой робот! Зачем индексировать профили к примеру?
Вы даже невнимательно прочитали данный пост!
Страница профиля запрещена к индексации с помощью метатега (там есть такая строчка):
$subaction == 'userinfo' OR /* Просмотр профиля пользователя *
Disallow: /*print
Такую запись просто необходимо делать, скажем, при продажах принтеров... (шутка)
А если без шуток — более вредной записи в robots.txt найти сложно
А стоит закрывать от индексации страницы пагинации при продвижении категорий и главной? Не будет проблем с индексацией стальных страниц сайта?
Толку от индексации страниц пагинации нет никакого, ведь на них размещены краткие новости (анонсы), которые частично дублируют полную новость, и поэтому являются нечётким дублем! Поэтому, я считаю, что в таком случае, страницы пагинации главной и категорий нужно закрывать от индексации! Проблем с индексацией остальных страниц быть не должно. Поскольку в каждой полной новости должна быть перелинковка на другие страницы сайта, и на главной странице — карта сайта.
А будут ли при этом закрыты от индексации страницы вида:
/tags/JAVA-Games/page/7/
Т.е. пагинация в облаке тегов.
(извините за возможно тупой вопрос, но лишняя ясность для 100% уверенности не помешает)
Извините за то что не получил до сих пор ответа и продолжаю спрашивать:)
Уточню задачу.
Мне не нужно закрывать все теги облака /tags/ от индексации, а только страницы пагинации хочу закрыть.
Как быть в этом случае?
Чтобы закрыть страницы пагинации тегов, но при этом главные страницы тегов оставить индексируемыми, надо добавить такой код:
($do == 'tags' and (intval ($_GET['cstart']) > 1)) OR
Ещё раз извините, и что делать с /lastnews/page/2/ и вообще с /lastnews/ ?
Может вообще сделать 301 редирект на главную если она не несёт ни какой пользы для индексации?
Закрыть от индексации, как это сделать описано в посте. Ну и плюс к этому не ссылаться на эту страницу с сайта.
Уважаемый АлаичЪ
Этот участок кода:
//(intval ($_GET['cstart']) > 1 ) OR /* Любые страницы пагинации */
Или должно так быть:
//($intval ($_GET['cstart']) > 1 ) OR /* Любые страницы пагинации */
Все должно быть так, как указано в посте и не иначе!
А как быть с сылками в которых гет запрос идет через $action?
вот ссылка index.php?do=forum&action=trophies
Пытался прописать switch с добавлением $metatags .= <<<HTML
\n<meta name="robots" content="noindex,nofollow" /> в функцию SetMetaTag
вот код файла main.class.php
switch (self::$action) {
case 'main':
$result = self::$handler->_home ();
break;
case 'categories':
$result = self::$handler->_pageTree ();
break;
....... труляля
case 'trophies':
$result = self::$handler->_userTrophies ();
default:
$result = self::$handler->_home ();
break;
}
return $result;
}
public function SetMetaTag ()
{
global $metatags;
$metatags['title'] = self::$meta['title'];
$metatags['description'] = self::$meta['description'];
$metatags['keywords'] = self::$meta['keywords'];
return $metatags;
}
Я не понял, что это за хрень, но стоит попробовать добавить условие в мой код, типа
$action == 'trophies' OR
Должно сработать.
Это Bullet energy forum. Не так не работает =(
Тогда я не знаю, с этим форумом не работал никогда...
Прошу прощения если вопрос покажется глупым, может я просто не все понял.
Сделал по инструкции, раскоментировал те позиции которые хочу закрыть от индексации. Но на всех этих страницах в исходном коде прописано:
<meta name="robots" content="all" />
хотя я такую строчку удалил из файла engine.php
Строчки <meta name="robots" content="noindex,nofollow" /> в коде вообще нет
DLE 9.2
Кеш очистите. Ну и еще раз проверьте, все ли правильно сделано!
Спасибо большое за ваш огромный(я считаю) вклад в оптимизацию DLE, в частности за этот robots.txt...
Вопрос — подскажите как запретить от индексации вашим методом(через метатеги) служебные папки и например внешние ссылки которые у меня такого вида — http://site.ru/?exit=http://site.ru, а так же страницу 404 — http://site.ru/404.html?
Папки и ссылки запретить от индексации метатегом нельзя. Метатег предназначен только для реальных страниц.
На страницу 404.html можете добавить метатег <meta name="robots" content="noindex,nofollow" />, но это не поможет, так как в первую очередь сервер будет отдавать ответ 404, и, следовательно, уже не важно, что содержит страница.
Спасибо еще раз за столь интересный и нужный пост!
Такой вопрос по поводу закрытия архива новостей за год, нужно ли указывать за какой именно год или данный мета-роботс //($year != '' and $month == '' and $day == '') 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 /* Страницы пагинации только для категорий */
благополучно закрывают страницы пагинации начиная со второй, а что делать со страницами вида:
http://site.ru/page/1/
http://site.ru/category/page/1/
Если условие >1, на этих страницах нет метатега robots, может правильнее было бы поставить условие >0?
Спасибо за помощь!
Страницы /page/1/ вообще не должны существовать!
Их надо убивать, как это сделать, написано тут — https://alaev.info/blog/post/2400
АлаичЪ, возникла необходимость закрыть подкатегории от индексации.
Можно ли, указать ID подкатегорий в одной строке через запятую,
или нужно под каждую подкатегорию прописать отдельную строку?
Вместо
$category_id == 'X'
надо указатьin_array($category_id, array('1', '2', '3', '4', '5'))
Здравствуйте!! Подскажите пожалуйста как запретить категорию к индексации? (беда уже давно, http://сайт.РУ/games/ Так вот категории Games присваиваются запросы которые я продвигаю из Яндекс, но я продвигаю другую страницу ГЛАВНУЮ по этим запросам, потому что дурацкий яндекс раньше всегда Главной давал предпочтение, и с главной у меня лучше позиции, а теперь много недель отдает запросы продвигаемые Games категории не смотря на то что я там все продвигаемые слова убрал из ней)
Вобщем Если я Robots.txt пропишу Disallow: /games/ вдруг он будет запрещать все новости??
http://tnt-torrent.org/games/716-skachat-torrent-tom-clancy-ghost-recon-future-soldier.html потому что здесь ПОСЛЕ GAMES/ ИДЕТ НОВОСТЬ
Заранее Спасибо Огромное!!!!!
Используй код из поста, раскомментируй строку
//($do == 'cat' and $category_id == 'X' and $subaction == '') OR
где вместо Х укажи id категории games и будет счастье!
Спасибо огромное )))))))))))))))
А ничего страшного, что у меня там код размещен уже этот (перед этим) ?
(тоже из какого то Вашего поста брал давно)
if ($subaction == 'userinfo' OR
$subaction == 'allnews' OR
$subaction == 'newposts' OR
$do == 'stats' OR
$do == 'addnews' OR
$do == 'register' OR
$do == 'favorites' OR
$do == 'rules' OR
$do == 'pm' OR
$do == 'feedback' OR
$do == 'lastcomments' OR
$do == 'lostpassword' OR
$do == 'search' OR
$do == 'lastnews' OR
$do == 'alltags' OR
$do == 'tags' OR
$dle_module == 'date' OR
(intval ($_GET['cstart']) > 1 )) $metatags .= <<<HTML
\n<meta name="robots" content="noindex,nofollow" />
HTML;
Замените его на новый. Хотя, если все устраивает, то ничего менять не надо. В новом коде только новые фишки появились.
$subaction == 'showfull' OR /* Просмотр полной новости */ Это запрет всех новостей получается? (новости не будут индексироваться?)
$do == 'lastnews' OR /* Страница просмотра всех последних новостей */ а это что? (это ЛАВНАЯ СТРАНИЦА?, ведь на главной по сути все последние новости отображаются))
(intval ($_GET['cstart']) > 1 ) OR /* Любые страницы пагинации */ Что такое пагинация скажите пожалуйста.
($dle_module == 'main' and (intval ($_GET['cstart']) > 1)) OR /* Страницы пагинации для главной страницы */
($do == 'cat' and $category != '' and $subaction == '') OR /* Просмотр любой категории */ ЭТО КАК ПОНИМАТЬ ? (ЗАПРЕТ ВСЕХ КАТЕГОРИЙ?)
> Это запрет всех новостей получается?
Да.
> а это что?
Страница такая есть. Но если про нее не знаете, то и нечего волноваться!
> Что такое пагинация скажите пожалуйста.
Это страницы навигации — /page/2/, /page/3/ и т.д.
> ЗАПРЕТ ВСЕХ КАТЕГОРИЙ?
Да.
Второй бонус Ваш " запрет индексации админки, ибо тупо закрывать файл admin.php в robots.txt (а еще тупее использовать нестандартное название файла админки и закрывать его в robots.txt)."
Только почему?? не могу понять...ведь PHP файлы НЕ индексируются поисковиками вроде...если я не правд поправьте меня. ( запретить adminka.php или изменное её название ну вставить там Сразу после <head> вставьте <meta name="robots" content="noindex"> )
правильно там и тега <head> нету ведь этот тег из языка HTML (хоть и HTML не является по сути языком программирования...так в книжке написано)
Как мне запретить admin.php к индексации (не афишируя изменённое название в robots.txt) ?
Без комментариев... Или проделайте, что я написал в посте, или...просто не надо задавать такие вопросы.
Приветствую! Подскажите пжл, как закрыть от индексации сами комментарии в полной новости?
В посте же всё написано! Простите, куда вы смотрите!?
//$do == 'lastcomments' OR /* Страница просмотра ВСЕХ последних комментариев на сайте, в т.ч. комментариев отдельного пользователя */
Каких последних? И какая страница? Я лично не понимаю что это значит. И пользователей у меня на сайте нету, комментарии пишутся гостями (так нужно).
Эти все мета-теги давно у меня прописаны, но комментарии в новостях индексируются.
Вот и спрашиваю как их закрыть?
Что именно надо закрыть от индексации? Страницы пагинации комментариев или сам текст комментария или что?
Запретить сам текст комментариев конечно. Как это сделать?
В файле шаблона fullstory.tpl находите тег {addcomments} и заключаете его в noindex,
то есть так: <!--noindex-->{addcomments}<!--/noindex-->
верней так: <!--noindex-->{comments}<!--/noindex-->
Точно надо так? Просто я первый раз вижу noindex вот с этим знаком !--
Точно! Так стали делать недавно, что придать валидность этому тегу.
Если смущает этот знак, можешь делать по-старому.
Хорошо, попробую сделать так, спасибо. А что по этому поводу скажет АлаичЪ? Интересно бы услышать.
АлаичЪ подтверждает слова Валерия :)
Вот и вышла DLE 9.7 Что нибудь в ней изменилось ? Такой же робот делать? Или стоит подождать пока вы просмотрите нововведения :)
Никаких изменений относительно индексации в DLE 9.7 не было, так что можно пользоваться на здоровье!
Доброго времени суток!
Вопрос назрел такой: для чего закрывать эти страницы, что разработчики dle сами до сих пор недоперли что их надо закрыть от индексации, или же этот вопрос -закрывать или нет — личный для каждого и верного решения пока нет. (Просто сколько помню все время закрываешь эти страницы — а в новых версиях они все равно открыты)
Да откуда я знаю почему так. Если бы все были эксперты во всех областях, то...ну, пипец бы случился в этом мире, я считаю.
Разработчик мастер в разработке, сеошник мастер в seo. Каждый в своей нише, каждый решает свои задачи...
Уважаемый, вам не кажется, что вопрос задаёте не по адресу!?
Аналогичные вопросы задавайте разработчикам движка DLE.
Приветствую, есть пара вопросов. ДЛЕ 9.6.
1. У вас в Мета есть параметр catalog, но у меня на сайте именно такого нету, есть cat/ — это тоже просмотр каталога по буквенному идентификатору. Вопрос: что нужно сделать, оставить catalog как есть $catalog != '' или прописать $do == 'cat' OR а catalog удалить?
2. Я в robots.txt оставил в это:
User-agent: *
Disallow: /engine/
Disallow: /engine/go.php
Disallow: /engine/download.php
Disallow: /index.php?do=lastnews/
Disallow: /backup/
Disallow: /language/
Disallow: /login
Disallow: /templates/
Disallow: /panel/
Disallow: /admin/
Disallow: /secure/
Disallow: /mchat
Скажите нужно (и полезно) ли это всё оставлять или что-то надо убрать?
1. Нужно оставить как есть и ничего не менять в моем коде!
2. Можно оставить это:
User-agent: *
Disallow: /engine/
Disallow: /index.php?do=lastnews/
Disallow: /mchat
А остальное убрать.
Немного уточню по первому вопросу: на многих сайтах сделано вот так: — /catalog/а, как я понимаю для этого и прописано так $catalog != ''. А у меня на сайте сделано вот так — /cat/а, всё равно не надо менять? Просто я нигде не нашёл в коде упоменания слова catalog, а вот cat есть.
По второму вопросу благодарю за подсказку.
Ну так возьми мой код и проверь, добавится ли метатег. Это во-первых. Во-вторых, переменные в коде, не имеют ничего общего с url на сайте, урлы могут быть какие угодно.
Ок, но дело в том, что я не знаю как проверить. Подскажите пжл как это сделать.
Взять и посмотреть исходный код страницы, должен появиться метатег robots.
АлаичЪ, подскажи — как закрыть от индексации зеркало сайта site.ru мой основной адрес в ПС www.site.ru
(редерикт в htaccess сделал на www)
Простите, я хоть не АлаичЪ, но отвечу.
Ничего вам делать больше не нужно. (Если у вас конечно правильно настроен редирект.)
Страницы без www индексироваться не будут!
Валерий, спасибо за ответ. Редирект настроен вроде правильно хочу попасть на site.ru, а меня кидает сразу на www.site.ru
Ну и гуд! Значит и поисковых роботов будет также кидать на этот домен.
АлаичЪ сделал как написано, но модуль кто онлайн показывает что робот яндекса шарится по профилям пользователей и облакам тегов, хотя в исходнике стоит name="robots" content="noindex,nofollow, они чё в обще по бес пределу шарятся, или то модуль гонит?
А никто и не говорил, что робот не будет ходить по страницам. Я говорил, что страницы индексироваться не будут, а они индексироваться не будут, это я гарантирую!
Ёхана бабай, Вы допустили очень серьёзную ошибку в написании, там где стоит (content="noindex,nofollow") — это конкретная ошибка. После запятой пробел пропущен, так надо noindex, nofollow
) $metatags .= <<<HTML
\n<meta name="robots" content="noindex,nofollow" />
HTML;
Сам ты бабай, нет тут никакой ошибки, пробел не играет никакой роли. Откуда вообще инфа, что надо писать раздельно?
Да, а может ключевые к сайту тоже без пробела надо ставить? Это конкретная ошибка, тоже самое что написать Disallow: /engine/ вот так Disallow:/engine/. Всё описывается в Яндекс вэбмастере!
Где там сказано про важность пробела после запятой? Так что, давай, не позорься и не говори фигню.
На читай http://help.yandex.ru/webmaster/?id=1111858 у меня на сайте начали теги в индекс выкидывать, умник! неизвестно что ещё подцепило. Прочитай книжку о правилах написания кода! Оно работает но этот тег пишется с пробелом, если не так то какого хера в индекс теги полетели хотя на странице стоит <meta name="robots" content="noindex,follow"/> -?
Пример:
<meta name="robots" content="all"/>
<meta name="robots" content="noindex, follow"/>
<!--Робот выберет значение all, текст и ссылки будут проиндексированы. -->
Юрий, я не знаю как там у вас правильно, а вот у меня Яндекс прекрасно разобрался и в Я.вебмастере пишет: "Документ содержит мета-тег noindex" Вывод: Ему пофиг на пробел!
Я еще раз говорю, пробел никак не влияет, хоть закидайтесь в меня ссылками, а хотя... лучше напишите в поддержку Яндекса и спросите напрямую!
А какого хера у вас страницы в индексе, я не знаю, руки надо править и код проверять внимательно.
Читай письмо от Платонов, умник.
Мой вопрос:
Добрый день, уважаемая поддержка.
У меня к вам небольшой вопрос по поводу метатега robots. Сразу по пунктам:
1. Скажите, пожалуйста, играет ли пробел роль в коде <meta name="robots" content="noindex, nofollow"/>
То есть, есть ли разница как писать noindex, nofollow или noindex,nofollow — в первом случае после запятой идет пробел, во втором случае директивы без пробела. Важно ли это или нет?
2. И второй вопрос. Если, допустим, на странице по какой-то причине указаны два метатега robots, например, в такой последовательности:
<meta name="robots" content="all"/>
<meta name="robots" content="noindex, follow"/>
Какие правила применит робот в этом случае?
Ответ поддержки:
1. Пробел роли не играет.
2. Последовательность роли не играет. При наличии одновременно запрещающего и разрешающего мета-тега будет учтен разрешающий.
АлаичЪ ну подскажите плиз, что тогда не так с Вашими метатегами. Подождал 2 апа, а яндекс сволоч продолжает выкидывать в поиск страницы (/2011/ , /2012/ , /tags/). Но самое непонятное, почему он загружает кучу хлама где стоит <meta name="robots" content="noindex, nofollow"/> этот тег что не запрещает загрузку ненужного хлама?
Во-первых, проверь, чтобы на всех нужных для исключения страницах присутствовал запрещающий метатег и не было разрешающего (ну, мало ли).
Во-вторых, 2 апдейта, это вообще не срок, подожди месяц хотя бы. Яндекс это тебе не Гугл.
В-третьих, не запрещай эти страницы в robots.txt
Все...
АлаичЪ, скажите, вот строка ($do == 'cat' and $category_id == 'X' and $subaction == '') OR, где вместо Х надо указать id категории. Если я укажу id категории, то новости в этой категории будут индексироваться?
А если мне надо закрыть несколько категорий, то прописывать по порядку без пробелов так: 3,6,9,4 или так 3, 6, 9, 4, или как-то по другому?
И вы ещё не ответили мне, как проверить добавился ли метатег?
Закрытие категории не закрывает публикации из этой категории.
Для нескольких категорий надо использовать такой код: #comment-11214
Я так понял этот Роботс более для Гугла. Так как он не смотря на запреты в роботсе индексит всё подряд?
Этот робост для всех поисковиков. Акцент тут именно на Гугл по той причине, что другие директивы он плохо исполняет, а эти точно работают.
Здравствуйте!
Скажите пожалуйста (посоветуйте), а модуль Кольцевой перелинковки (Ваш который) и модуль Переходы закрывать от индексации?
$do == 'linkenso' OR /* модуль для организации кольцевой перелинковки */
$do == 'referer' OR /* Модуль ПЕРЕХОДЫ */
Заранее Спасибо за ответ))))))))
Бред какой-то. От индексации можно закрыть только страницы и никак иначе. Модуль LinkEnso не имеет страниц, следовательно закрывать нечего. И вообще тогда какой смысл от его использование, если закрывать от индексации...
Скажите пожалуйста, а можно ли через engine.php так же как нибудь папку модуля партнерки запретить индексить которая в корне сайта лежит? (а то очень много страниц попало в Гугл из этой папки)
Я хочу последовать ВАшему примеру и сделать минимальный почти чистый Robots.txt
Как реализовать это ВАшим способом (чтобы убрать из Robots.txt)
Disallow: /uploads/
Disallow: /do=*
Disallow: /*do=*
Disallow: /папка модуля парнерки/ (по сути тоже самое что и аплоадс, что там папка ,что здесь...смысл в том чтобы знать как убирать папки от индексации НЕ через robots.txt)
Я не знаю, что там за партнерка и т.д. Это надо смотреть, гадать тут нет смысла.
И последний вопрос если можно, скажите, пожалуйста, АлаичЪ, мне вот друг посоветовал когда то давно сделать следующие:
Файл в корне сайта .htaccess
# Динамические ссылки в статические
RewriteRule ^feedback.html$ /?do=feedback [L]
RewriteRule ^stats.html$ /?do=stats [L]
RewriteRule ^register.html$ /?do=register [L]
RewriteRule ^search.html$ /?do=search&mode=advanced [L]
RewriteRule ^lostpassword.html$ /?do=lostpassword [L]
Мол, мы с ним обсуждали, что динамические ссылки это плохо. Если Вы образумите меня и скажите, что это Бред я послушаю Вас и верну как было.
Вопрос вот в чем: Вот эта строка $do == 'static' OR /* Все статические страницы */ коснётся их? Проще говоря, мне же надо обязательно запретить их к индексации, а сработает ли Ваш замечательный способ через Engine.php в моем случае, я не знаю.
Заранее безумно вам благодарен. Спасибо за то, что вы помогаете нам :)
Странный у вас друг, то, что он посоветовал прописать и так уже изначально есть в DLE, так что обсуждать это не имеет смысла, пусть все так и остается.
$do == 'static' не закроет эти страницы, но их закроет $do == 'feedback', $do == 'stats', $do == 'register' и т.д. Думаю, алгоритм понятен.
Захожу http://tnt-torrent.org/register.html, в исходном коде <meta name="robots" content="noindex,nofollow" />
ЗНАЧИТ ЗАПРЕТ РАБОТАЕТ :) Так же и http://tnt-torrent.org/lostpassword.html
СПАСИБО! ВЫ ГЕНИЙ!
По автору идеальный роботс будет таким
User-agent: *
Disallow: /engine/
Host: сайт.ру
Sitemap: http://сайт.ру/sitemap.xml
Но как тогда
Disallow: /папка модуля стороннего/ (папка партнерки)
Disallow: /language/
Disallow: /templates/
Disallow: /uploads/
Disallow: /backup/
Disallow: /do=*
Disallow: /*do=*
Disallow: /?*
я боюсь если не укажу их в роботс.txt то будет беда...
Если убрать /language/, /templates/, /backup/ не будет никакой беды.
АлаичЪ, скажите пожалуйста, почему когда удаляю или пытаюсь закоментировать (//) строку:
$catalog != '' /* Просмотр каталога по буквенному идентификатору */
Сайт не открывается, пишет: Parse error: syntax error, unexpected ')' in Z:\home\site\www\engine\engine.php on line 810
Где 810 строка, это следущая после той, что закометировал () $metatags .= <<<HTML) ?
Поправил:
Где 810 строка, это следущая после той, что закометировал: ) $metatags .= <<<HTML
Ошибка потому, что необходимо удалить в конце оператор OR для последней активной строки.
Спасибо!
— Что если мне надо закрыть от индексации несколько категорий с id=1,2,3,4,5 какой код применять?
— Вместо $category_id == 'X' надо указать in_array ($category_id, array ('1', '2', '3', '4', '5'))
Прописал через запятую категории после всего этого сайт не грузится а выдаёт ошибку
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in /home/elis/сайт.ru/www/engine/engine.php on line 811
Поднимите свои глазки на 2 комментария выше, и увидите ответ)))
Очень бы хотелось увидить статью по правильному размещения тегов h1-h8 в шаблоне с точки зрения SEO пример можно показать на Default шаблоне. А то выходит все оптимизируем а в шаблоне бардак.
Прочитайте мой пост про правильную оптимизацию целевых страниц.
А с шаблоном уж как-то сами разбирайтесь.
PS Тегов h7 и h8 не существует =)
Вопрос к автору. Скажите, как запретить к индексации например видео плееры на сайте из фильмами которые размещает ссылки с плеерами на пример: вконтакте или другие?
Никак — это раз, во-вторых, те ссылки не индексируются.
Подскажите, а можно ли вобще вырезать из двидка доступ к тегам (или вырезать их) и архивам (чтоб не по одной ссылке их не нашли) тоесть без всяких редиректов и т.п.
Ну тогда будет отдаваться 404 ошибка... Не уверен, что это хороший выход. В общем, сделайте все как написано в посте и все будет окей, я точно говорю!
Добрый день.
А как и где исправить Title у 404 страницы?
А с какой целью?
отслеживаю в GA тех, кто и откуда пришёл на 404
А этот способ использовать https://alaev.info/blog/post/2784 не?
АлаичЪ, спасибо воспользовался. Правда, в индекс уже успели влететь архивы и пользователи (user) — жду переиндексации... Вы не подскажете как можно запретить к индексации ещё и /rss.xml?
И вот такие страницы повылазили index.php?do=search&mode=advanced и /index.php?action=mobile — их можно запретить?
В robots.txt:
Disallow: /rss.xml
Disallow: /index.php?
И если не знаете, как работает мой метод, не надо там мудрить и свои правила дописывать.
Можно через роботс, но соменваюсь что через роботс запреты сработают!
АлаичЪ, ну, подскажите как через код остальные дубли закрыть? Кстати дубль rss вот такого вида /engine/rss.php
Сделал так, правильно?
//$do == 'rss' OR
//$do == 'action' OR
//$do == 'admin' OR
//$do == 'news' OR
//$do == 'advanced' OR
//$do == 'mobile' OR
//$do == 'index' OR
От страх добавил ещё так:
//$do == 'search&mode' OR
Просто из за дублей на моём сайте сегодня на счётчике красуется цифорка 1 — и 1 это я.
Нет, не правильно это, и не будет работать. Я же сказал — тут поможет только robots.txt
Скажите например если я буду использовать ваши поправки:
Если я не очищу свой robots.txt оставлю как есть (стандартный) ничего не произойдет?
Или обязательно надо убирать строки с роботс если закрыл поправкой вашей?
Ничего и не произойдет, следовательно и париться не стоит и какие-то правки вносить.
я вижу кто-то мало закрывает даже теги иногда в индексе поисковиков есть и высоко у выдаче сидят. Так лучше их закрыть и сайт будет лучше индексироваться из-за отсутствия мусора будет лучше брать топ?
Ситуации разные, сайты разные, у кого-то теги приносят основной трафик, а кто-то из-за них попадает под АГС. Так что сами решайте хоть что-то без моей помощи...
Здравствуйте, АлаичЪ!
Очень хороший пост и обсуждение, прочитал всё, много узнал, переделал по вашей методике, рад за это, но столкнулся с такой проблемой, а как ещё в ваш мод вставить запрет на индексирование некоторых страниц стандартного DLE форума DLE Forum v.2.6.1 по закрывать возможно страницы типа домен/forum/topic_1/reply/ или домен/forum/topic_1/last и тому подобное с форума, что не нужно для индексации и что выводит форумы повторами в индекс.
В Гугл вебмастере вот такие повторы вижу:
/forum/topic_124/1
/forum/topic_124/last
Как сделать это вашим методом, закрыть /forum/topic_124/last?
Подскажите пожалуйста! Заранее спасибо!
Добавьте в robots.txt директивы:
Disallow: /forum/*/1$
Disallow: /forum/*/last
Disallow: /forum/*/reply
Спасибо! Вот что получилось:
User-agent: *
Disallow: /engine/
Disallow: /rss.xml
Disallow: /forum/*/1$
Disallow: /forum/*/last
Disallow: /forum/*/add
Disallow: /forum/*/reply
Disallow: /forum/*/search
Disallow: /forum/*/getnew
Disallow: /index.php?
Disallow: /?do=forum
Host: сайт.ру
Sitemap: http://сайт.ру/sitemap.xml
Проверил в Яндекс Вебмастере, вроде всё норм, Боты не пройдут)))
Да, все окей.
Здравствуйте Уважаемый АлаичЪ! Вот прошло время и появились теперь в Яндекс вебмастере ещё повторы страниц с форума
домен/forum/topic_165/
домен/forum/topic_165
Ещё какую директиву дописать, чтобы пост с форума индексировался по одной ссылке? или редиректить?
Спасибо!
Я сейчас сделал так: в файле форума по адресу /engine/forum/sources/modules/show.last.php
из строки
$fl_topic = "<a href='/forum/topic_$row[tid]'/>{$row['title']}</a>"; убрал слеш стало таким видом
$fl_topic = "<a href='/forum/topic_$row[tid]'>{$row['title']}</a>";
и всё стало отображаться по адресу без слеша
домен/forum/topic_165
Правильно ли?
Но если сам добавляешь в браузере к посту домен/forum/topic_165 слеш домен/forum/topic_165/ одна и тот же пост, раз не выводит поисковику, надеюсь не будет индексировать со слешем?
Вот проверил вечером, ранее пост появлялся через 10 — 30 мин в индексе Яндекса, сейчас с видом ссылок
домен/forum/topic_165 не индексирует уже три часа!!!
Что делать? Как закрыть от индекса вид ссылки с форума ДЛЕ без знака"/" на конце?
Спасибо!
Скорость индексации от этого не зависит. А по хорошему надо сделать редирект на какой-то определенный вариант, со слешем или без. Вот два варианта правил, которые должны добавлять слеш в конце, попробуй любой, должно работать:
Вы все рписываете как закрыть страницы или категории от поисковиков. а у меня возникла такая необходимость: закрыть от определенных поисковиков новости в определенных категориях сайта опубликованных по определенную дату. А с данной даты что бы публикации были видны.
Как закрыть в robots для определенного поисковика и определенную кактегорию понятно. Но возможно ли что бы по определенную дату?
Это возможно, но для этого надо прописывать "хитрую" функцию в engine.php, чем мне заниматься совсем не хочется.
Здравствуйте, не могу понять в чём причина того, что в панели вебмастера Яндекса для сайта появился жёлтый треугольник с восклицательным знаком который сообщает о том, что «14.10.2012 наш робот получил полный запрет на индексирование сайта в Вашем файле robots.txt. Пожалуйста, воспользуйтесь формой проверки. Если запрет все еще присутствует, то по вопросу устранения этой проблемы Вам нужно обратиться к администратору Вашего сайта или хостеру. Если сейчас запрет отсутствует, то сообщение обновится в течение 2–3 дней.»
На сайте Правильный robots.txt для DLE взятый здесь. Даже если удалить его или чистый просто оставить или родной длешный впихнуть результат проверки один и тот же, мол запрещен правилом:
User-agent: *
Disallow: /
Сейчас и в гугле «Обнаружены серьезные ошибки, связанные с состоянием сайта. Для робота Google установлен запрет.»
Как такое может быть и что с этим делать?
Я никогда ничего подобного не рекомендовал делать. Читать надо внимательно.
Директива Disallow: / запрещает индексацию сайта полностью. Залейте оригинальный роботс из дистрибутива DLE.
У кого-то работают эти правила? У меня сплошной саплиментал!(((
Заработало — пока только в гугл, в яще жду апа!))) АлаичЪ, огромное спасибо за пост!!!
Привет АлаичЪ! Такая проблема, роботс получился как здесь рекомендовано, engine.php изменил, и не пойму в чём дело: Внес в код изменения и все страницы полных новостей исчезли в никуда, а именно в разделе "Исключено роботом" их нет, в разделе "Страниц в поиске" их тоже нет. Их было 21 страница. После внесения изменений, они все исчезли одновременно ориентировочно через неделю. Вот уже прошёл почти месяц, а они ни как не возвращаются. Сайт почти не наполнен, но теперь и не знаю, продолжать над ним работать, или искачть сначала причину данной проблемы. Вот код
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 == 'tags' OR /* Просмотр новостей по тегу */
$subaction == 'allnews' OR /* Просмотр всех новостей пользователя */
$subaction == 'newposts' OR /* Просмотр непрочитанных новостей для пользователя */
$subaction == 'userinfo' OR /* Просмотр профиля пользователя */
$dle_module == 'date' 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_id == 'X' and $subaction == '') OR /* Просмотр определенной категории. X заменить на id категории */
$catalog != '' /* Просмотр каталога по буквенному идентификатору */
) $metatags .= <<<HTML
\n<meta name="robots" content="noindex,nofollow" />
HTML;
Данными правилами индексация страниц новостей не запрещены, потому проблема в сайте, например, он попал под фильтр или в бан. Проблема однозначно в сайте.
А категории то которые были в индексе остались все до одной. Значит не бан. Что это может быть? Или я уже не в том разделе задаю вопрос. Извиняюсь если не по теме
Как бы то ни было, просто зайди на все страницы, которые должны быть в индексе и проверь, нет ли там запрещающего правила <meta name="robots" content="noindex,nofollow" /> — это однозначно скажет, в чем проблема.
Саш, надо в инструкцию после
//$do == 'tags' OR /* Просмотр новостей по тегу */
добавить
//$do == 'tag' OR /* Просмотр новостей по тегу для старых версий */
Может ошибаюсь конечно, но (двиг модифицирован, но теги не трогались), на 9.3 не закрывает страницы тегов. по tags выводится страница со всеми тегами
Хм, интересно... Я не знаю, откуда у тебя такие данные, но я проверил только что для 7.5 версии, даже там указано tags, а не tag.
Странно как-то, если за комментировать переменную $catalog, то выдает ошибку : Parse error: syntax error, unexpected ')' in /var/www/ХХХ/data/www/poezdkin.com/engine/engine.php on line 848
а хотелось бы /* Просмотр каталога по буквенному идентификатору */ оставить для индексации
Чтобы работало с открытым каталогом, необходимо у последней активной строки убрать в конце ") OR" (без кавычек).
спасибо, за работало
Здравствуйте. В файле /engine/engine.php. всё заменил и разкоментировал, но почему то не работает.
Зашёл в yandex Вебмастер проверить — все категории сайта разрешены для индексации. (всё что разкоментировал — всё разрешено)
Подскажите пожалуйста что не так?
Alex ты не смотри проверку РОБОТС тхт что разрешено что нет а смотри исходный код страницы, если например есть на странице тэгов иди где либо где ты раскоментировал такую строчку в начале кода <meta name="robots" content="noindex,nofollow" /> значит боты не пройдут! Не выкинут в индекс!
Спасибо! Я всё понял.
$do == 'addnews' OR /* Страница добавления новости с сайта */
$do == 'feedback' OR /* Страница формы обратной связи */
$do == 'lostpassword' OR /* Страница восстановления пароля */
$do == 'pm' OR /* Страницы личных сообщений пользователей */
$do == 'register' OR /* Страница регистрации нового пользователя */
$do == 'stats' OR /* Страница статистики сайта */
$subaction == 'newposts' OR /* Просмотр непрочитанных новостей для пользователя */
$subaction == 'userinfo' OR /* Просмотр профиля пользователя */
Эти строки я убрал от индексации, все остальное оставил.
почему эти? ну потому, что они изначально присутствовали в Robot.txt в чистом дистрибутиве.
А в Robot.txt я их убрал.
И...?
Я написал с тем расчетом, что может вы подскажите правильно я сделал или нет?
Может стоит открыть какие-то страницы или наоборот?
Любой вариант правильный, все зависит от потребностей. Я лишь показал каким образом можно реализовать какой-либо вариант. На каком-то из своих сайтов я использую полный набор правил, на каком-то я вообще ничего не указываю...
PS Из вышеперечисленного точно ничего открывать к индексации не стоит, но дополнительно я закрыл бы архив и allpost.
Большое спасибо за ваши советы.
Архив закрыл, а строчки с allpost так и не нашел, её в ручную нужно дописать?
Конечно я ошибся, имел ввиду allnews :)
Вообще хороший вопрос! Сам спросил и сам ответил... Самиздат! :)
Здравствуйте! Я недавно удалил с сайта категорию музыка вместе с материалами и поставил по Вашему описанию запрет через Метатэги и где нет страницы редиректит на главную. Что появились исключения это хорошо, но это нормально что поднялось 404 ошибки?
Скопировал данные в Яндекс вебмастере:
Страницы запрещены к индексированию вебмастером или не существуют
HTTP-статус: Ресурс не найден (404) ? 7358↑
Документ запрещен в файле robots.txt ? 43328↓
Документ содержит мета-тег noindex ? 59
Спасибо!
А количество проиндексированных страниц в Яндексе растёт!
Ну, по идее, удаленные страницы должны редиректиться на главную, не так ли? Смотри, какие именно страницы отдают 404 и станет понятно, следствием чего стал рост ошибок.
Подскажите пожалуйста, у меня в robots.txt прописано правило Disallow: /page/* , но страницы типа http://мойсайт.ru/page/3/ в гугле есть. Почему?
Причины описаны в посте, внимательно читай.
Даа! У меня как раз такой роботс после правок с метатегами, только ещё была строка engine/goto.php что-то такое, но редиректов нет, так что снёс.
"Сразу после <head> вставьте <meta name="robots" content="noindex">" — в файле /engine/skins/default.skin.php (версия DLE 9.6), таких тегов два, после какого по счету ставить мета запрет?
Не может такого быть, один точно открывающий <head>, а второй закрывающий </head>.
Убедительно говорю, что в файле default.skin.php (dle9.6) два тега <head>, только первый в переменной $skin_header, второй в $skin_login. Чутье подсказывает, что ставить нужно после хедера, но вдруг ошибаюсь, поэтому решил тут переспросить, а то поставишь потом 2 недели сидеть куковать с переиндексациями.
Да, точно :) Значит надо добавить два раза, для каждого <head>.
Найдите файл шаблона версии для печати print.tpl и откройте его. Сразу после <head> вставьте
<meta name="robots" content="noindex"> <----- 1 (это ваше)
Вопрос, какой ставить 1 или 2
<meta name="robots" content="noindex,nofollow"> <------2
Второй поставь.
Спасибо за ответ
а что нужно добавить после if (//$do == '?' чтобы шаблон не индексировался, а то я смотрю в результатах поиска шаблон индексируется в частности, поисковик аж залез в /templates/templ/bbcodes/color.html.
Да поддерживаю, тож самое!
я прописал Disallow: /templates/
Тут решением является Disallow: /templates/, как написал Николай.
Подскажите пожалуйста. А как правильно добавить в список вот эти пункты?
Disallow: /gallery/all/
Disallow: /*do=gallery&jump
Disallow: /*do=gallery&act=15
Disallow: /*do=gallery&act=4
Disallow: /*do=gallery&jc=
Disallow: /*engine/gallery/external/download.php
По всей видимости, надо будет добавить в код такую строчку: $do == 'gallery' OR
Но при этом вся галерея перестанет индексироваться. Так что если не надо закрыть всю галерею, предлагаю оставить все как есть.
Хочу узнать ваше мнение о Nulled DLE. Я конечно понимаю что оно будет негативным но все же. Ведь можно проверить на наличие дыр и вредоносных кодов и спокойно работать?
P.S. Умею работать с DLE но никогда не задумывался о надежности. А на вордпресс переходить нехочется так как ВООБЩЕ ничего там понять не могу после DLE. Как то там все запутано. а тут открыл документ с кодом и все перед тобой.
Да многие на нулед и нормально... А почему бы не использовать лицензионный триал 9.6 если с деньгами туговато?
А вордпресс это пичалька... Не понимаю положительных отзывов его фанатов... В дле всё по человечески — как минимум!
GetSimple — вообще юзерфрендли. Но это не повод строить на ней даже блог. А WP заточен именно под блоги. DLE заточен под ГС. Bitrix заточен под бизнес. У каждого своя ниша.
Я когда пытался разобраться в вордпресс то это была каторга (рубрики, страници, модули, плагины, виджеты) А в DLE октрыл файл код добавил и все стоит на своем месте
Привет ребята! Вы тут не по теме пошли! Мы тут обсуждаем РОБОТС ТХТ а не какой движок лучше...
Оставлю без комментариев вопрос про нуллед версии.
А на счет DLE и WP — как сказал Паша, все для своих целей. Для простых сайтов подходит DLE, для блогов только WP. У меня, например, все сайты на DLE, а этот блог на WP. Сначала было очень трудно понять логику WP, но через некоторое время разобрался и он мне даже больше понравился чем DLE. Так что обе CMS могу рекомендовать как достойные.
Александр, не ожидал от вас такого мнения.
Что такое ВП? Это нагрузка на хост, необходимость нужных плагинов и их установка + опять нагрузка на хост. Многие говорят — да всё просто, нашёл скачал и установил нужный плагин... Но на самом деле, плагинов куча , но от этой кучи толку нет никакого + возможный конфликт плагинов.
Не знаю как сейчас — но два года назад, я не смог найти не то чтобы хороший плагин для ватермарков, а просто адекватно работающий — например как на ДЛЕ! И это только один из примеров с плагинами. Про кучу дублей, которые устранить могут только избранные — я вообще молчу...
Сейчас начал делать блог на ДЛЕ (_ow5.ru) — доволен как слон...
Вообще реальные движки — это наши движки, забугорные нашим сильно уступают! Если есть желающие со мной поспорить, я отправлю вам function.php одного из моего блогов на ВП и попробуйте сделать генерацию keywords для постов и метаописание для статичных страниц. Заодно человеческую регистрацию, форму комментирования и бла, бла... Замечу, что в дле это уже по умолчанию!
Ну вы и Васи, слов нет! :D
По теме поста: Александр, как месяц дубли то исчезают то появляются.
В яше вылезло три дубля — которые мегают уже в течении недели. Я уже в яндекс написал — мол как так может быть с <meta name="robots" content="noindex,nofollow" />?!
В гугле в поиске нет дублей страниц, но есть повторяющиеся мета описания в панели вебмастерс.
Что делать, ждать?
Нагрузка на хот может быть только тогда когда это ГовноХост )))
DLE — это солянка из морально устаревшего копипаста, новых (нужных ли?) полувозможностей, и нежелания разработчика чтото менять. Если уж выбирать из "наших" движков — выбирать из новых, с поддержкой html5, и нормальным кодом под капотом.
DLE быстр потому что написан наипростейшим способом, без заморочек, что в свою очередь ставит реальные преграды разработчикам модификаций (про нормальное обновление движка вообще молчу, так же как и про нормальную систему кеширования).
Как я уже сказал — каждому своя ниша.
По теме же: в панели вебмастера пройдитесь по ссылкам — если дубли на самом деле есть — надо устранять, если нет — значит просто подождать, при апах они уйдут из панели вебмастера.
ПафНутиЙ, хост timeweb.ru, разница по нагрузке движков существенна!..
Удаляю через панель вебмастеров, отправляю как дубли так и битые ссылки.
Яндекс не плохо отреагировал и в панели "Документ содержит мета-тег noindex" уже давно есть странички — но три страницы мигают...
А гугл это вообще, откуда то находит страницы 404, я их удаляю они снова появляются. В "Оптимизация HTML" ничего не меняется, за месяц удалилась одна страница категории "audio" http://smotr.im/8Y6R...
У страниц 404 — также прописан тег <meta name="robots" content="noindex,nofollow" />...
Так, пацаны, тут не ветка обсуждения CMS :)
Давайте не будем разводить холивар по этому поводу — для этого есть форум, если что :)
При грамотном подходе, WP будет летать даже на захудалом хостинге. Никто не заставляет прикручивать кучу плагинов ведь. И я еще раз повторюсь — я люблю обе эти CMS каждую за какие-то свои достоинства или недостатки.
Без плагинов на ВП ни как!..
Зашёл сейчас в гугл вебмастерс и к удивлению картина изменилась! ненужных страниц уменьшилось в два раза — http://smotr.im/8YoN. )))
АлаичЪ, спасибо вам за старания.
Не знаю случайность или нет, но после проделанной манипуляции по твоей инструкции у моего заброшенного сайта существенно подскочили хосты. P.S. и все-таки, каково ваше мнение, стоит ли закрывать страницы пагинации или это не так существенно? Допустим если на сайте небольшое количество новостей.
Может совпадение, а может и нет :)
Можете закрыть страницы, хуже не станет. Но тогда рекомендую использовать модуль LinkEnso или SiteMap, чтобы роботы могли легко добраться до всех страниц сайта.
Спсибо Вам Александр, как всегда актуальные хаки и модули.
Продолжайте в том же духе.
Сань, хотел тебя попросить написать статейку на тему robots.txt для wordpress в таком же духе. Будь добр, Сань.
Да как-то не вижу в этом особого смысла, вроде и без того все хорошо работает. Не? Я вот не испытываю никаких проблем со своим блогом.
Есть и подобный роботс для ВП, хотел дать ссылку но не нашёл в закладках. Вроде, плагин платинум сео вполне может всё нужное реализовать. .
Зачем нам плагин — я уже без плагина все реализовал, функцию соответствующую написал :) Пожалуй, будет пост!
У меня всё без плагинов, есть и роботс и поля метаописания и генерация описание из титлов и т.п. Но, нет у статичных страниц метаописания — только титл, нет у страниц и статичных страниц — .html, пока реализовать не получается, в сети сплошной рерайт по этой теме... Вот хотелось бы всё это в комплексе! Да может оживёт мой заброшенный 2.000 страничный сайт или же с ВП надо будет уезжать на ДЛЕ
Ничего не понял... :(
Имею ввиду что помимо роботс для ВП, хотелось бы в комплексе получить и остальную оптимизацию без плагинов: страницы новостей и статичные страницы с .html на конце и для обоих полное метаописание. В гугле один рерайт на эту тему...
Ну здесь у нас пост не про WP. Но отвечу — .html на конце не влияет ни на что, зачем и причем тут он?
Полное метаописание (title, description, keywords и т.д.) позволяет делать All In One SEO и для просто постов и для статических страниц.
АлаичЪ, по поводу .html на конце, не совсем понятно — .все пишут по разному, + для избежания одинаковых страниц и рубрик, да и просто порядок. По All In One SEO, тогда можно и для роботс поставить плагин и не один. Решение было с вашей стороны — "Зачем нам плагин", я и предложил.
Добрый день,
извините если туплю, или пытаюсь понять то, что за пределами моего понимания, но это ничего, что нужные страницы лишились мататега robots:index,follow или all?
В этом нет ничего страшного, как я говорил выше, это ни на что не влияло.
АлаичЪ, подскажите пожалуйста, как закрыть от индексации этим методом определенную папку, например, находящийся по адресу sait.ru/js/skripts.js? Возможно ли это сделать?
А лучше еще конкретный скрипт, который, допустим, находится в той же папке sait.ru/js/skripts.js/one.php. У меня в таком файле вынесен ненужный блок с текстом и ссылкой, который я не хочу показывать поисковикам. Как Вы, наверное, поняли он не присутствует в теле документа т.е. в коде, а подгружается. Т.е. невиден поисковику, но виден пользователю. Вот я и параною по этому поводу :) Очень надеюсь на Ваш ответ.
Как я уже говорил стопицоттыщ раз, закрыть метатегом можно только реальные страницы, не папки, не скрипты, не что-то еще, только страницы. Так что в вашем случае — только robots.txt.
Здравствуйте, сделал так как у Вас, и теперь на страницах новостей, которые должны быть открыты роботу, появилась строка <meta name="robots" content="noindex,nofollow" />
Так и должно быть? Страницы из поиска не уйдут?
Нет, так быть не должно. Не надо было расскомментировать строку:
//$subaction == 'showfull' OR /* Просмотр полной новости */
Доброго времени суток. Ну наконец то вроде нашел, то что искал - нормальный (отличный) блог про DLE. Пост и действительно познавательный. Но скажу сразу - я в сайтостроении чайник и вот - этому чайнику нужна помощь. Все не как не могу - правильные настройки сделать. Правда robots.txt - поменял, но он не такой, как у Вас в статье написано - уважаемый АлаичЪ. ДА и видно много каких настроек нет, но до меня так и не доходит, как их правильно сделать и где искать - вроде код HTML поюзал, но так не чего и не нашел. У меня движок последней версии DLE 9.7. Сайту два месяца от роду. Скажу прямо, как новичок допустил много ошибок - не указал ключи, не написал описания и т.д. Сначала сайт вроде все нормально было, но в последнее время, Яша не заходит или заходит, но редко. После, каждого АПА сайт теряет страницы- если так будет продолжаться - терять скоро вообще не чего будет.
У меня просьба ко всем, может мне кто поможет или пояснит, как и чего сделать? Сами поймите - чайник, есть чайник.
Хотя на ошибки мне показывали: они таковы...
— в метатеге указываешь сколько раз робот в должен приходить all — постоянно
— <meta name="generator" content="DataLife Engine (http://dle-news.ru)" /> что это за дрочь убрать на хер (пардон)
Сказали, что с сайтом возни на месяц, чтобы все подлатать. И после этого я стал юзать инфу в инете и вот наконец то нашел, что искал.
Помогите люди добрые? Плиз...Выслушаю любую критику...по тому, как сам разобраться не могу.
За ранее спасибо!!!
С уважением Сергей...
Ничего не понял :( По поводу правильного роботса все написано в посте. Самое главное, проверить после всех правок, чтобы на нужных страницах не было запрета noindex,nofollow, все остальное приложится.
meta name="generator" — можно удалить безболезненно.
Спасибо, что ответили, но все же я не могу найти, где — это лежит:
meta name="generator" — можно удалить безболезненно.
А с роботса — я все же разобрался.
Так и не надо удалять тогда, раз не находится. От этой строки не холодно ни жарко.
PS Она находится в engine/engine.php
День добрый! Сделал все как описано но при проверке яндекс вебмастер выдает:
Файл robots.txt не будет учтен роботом Яндекса, т.к. при запросе выполняется перенаправление.
Что это значит и что делать?
Заранее спасибо.
Значит какая-то проблема с сайтом.
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
</IfModule>
Options +Indexes
Тебе в .ХТацеС надо прописать и ещё когда в веб мастер надо добавить сайт с www
Ну и конечно же, хочу сказать тебе, АлаичЪ, спасибо за проделанную работу!
АлаичЪ, я запутался, какой код вставлять в /engine/engine.php:
if ($subaction == 'userinfo' OR
$subaction == 'allnews' OR
$subaction == 'newposts' OR
$do == 'stats' OR
$do == 'addnews' OR
$do == 'register' OR
$do == 'favorites' OR
$do == 'rules' OR
$do == 'pm' OR
$do == 'feedback' OR
$do == 'lastcomments' OR
$do == 'lostpassword' OR
$do == 'search' OR
$do == 'lastnews' OR
$do == 'alltags' OR
$do == 'tags' OR
$dle_module == 'date') $metatags .= <<<HTML
\n<meta name="robots" content="noindex,nofollow" />
HTML;
или этот, что ты здесь написал:
if (
//$do == 'addnews' OR /* Страница добавления новости с сайта */
//$do == 'alltags' OR /* Страница просмотра списка тегов */
//$do == 'feedback' OR /* Страница формы обратной связи */
//$do ......................
Чтобы "распутаться" рекомендую еще раз прочитать внимательно пост, все встанет на свои места!
Поставь вот это:
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 == '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 .= <<<HTML
\n<meta name="robots" content="noindex,nofollow" />
HTML;
И закрой метатегом админку и версию для печати ( в самом начале описание )
Добрый день.
Попробовал сделать идеальный robots.txt
В самом robots.txt прописал
User-agent: *
Disallow: /engine/
Host: site.ru
Sitemap: http://site.ru/uploads/sitemap.xml
Ну и отредактировал engine.php
Прошло примерно две недели и начали вылазить косяки. В исключённые страницы попали следующие нужные мне (а может и не нужные? ) страницы
/engine/rss.php — Он наверное должен индексироваться. Как изящнее решить проблему?
/engine/opensearch.php — по этому файлу есть сомнения. Он должен индексироваться?
Теперь по engine.php
В ноуиндекс попали категории. ВОт такого вида:
/index.php?do=cat&category=kino
/index.php?do=cat&category=seychas-v-prokate
/index.php?do=cat&category=skoro-v-kino
Если их оставить в индексе и продвигать именно категории, то чем это грозит? И какую строчку нужно закомментировать обратно?
($do == 'cat' and $category != '' and $subaction == '') OR /* Просмотр любой категории */
($do == 'cat' and $category_id == 'X' and $subaction == '') OR /* Просмотр определенной категории. X заменить на id категории */
$catalog != '' /* Просмотр каталога по буквенному идентификатору */
Эти строчки?
У вас не включен ЧПУ на сайте? Если не включен, то ладно. Чтобы разрешить индексацию категорий, надо удалить строки, содержащие $do == 'cat'
ЧПУ не включен. С категориями я разобрался. Спасибо. По поводу robots.txt что скажете?
По поводу robots все нормально, все что внутри /engine/ и не должно индексироваться.
/engine/rss.php тоже не должен индексироваться?
Попробуйте просто отправить эти линки в запрос на удаление, думаю всё уйдёт.
/engine/rss.php
/engine/opensearch.php
Привет всем. Всех с новым годом.
Есть сайт в котором короткая и полная новость одинаковы. Стоит ли закрывать страницы пагинации от индексации? Они получаются дублями основных страниц. Но не может это привлечь к тому что ПС будут медленно индексировать сайт? Спасибо большое.
При таком раскладе, я бы закрывал страницы пагинации. А для равномерной индексации воспользовался модулем LinkEnso и SiteMap.
Здравствуйте, подскажите, я так понимаю эта строка раскоментированна $catalog != '' /* Просмотр каталога по буквенному идентификатору */ ?
Да, все верно.
АлычЪ! А как тогда быть с этим?
Disallow: /page/
Disallow: */page/*
В данном Robots.txt я запретил индексацию практически всех страницы сайта, за исключением страниц новостей и категории сайта. При этом я запретил индексацию страницы site.ru/page/2/, site.ru/page/3/, site.ru/категория/page/2/ и так далее, потому как эти страницы не несут точной информации, которую ищет пользователь. За исключением из индексации этих страниц отвечает директивы "Disallow: /page/" и "Disallow: */page/*". Первая директива исключает страницы сайта, такие как site.ru/page/2/, site.ru/page/3/ и т.д., а вторая исключает такие страницы как site.ru/категория/page/2/, site.ru/категория/подкатегория/page/2/ и тд.
Как это прописать в engine?
Вот так:
(intval ($_GET['cstart']) > 1 ) OR /* Любые страницы пагинации */
И как тут админку скрыть...?
P.S. Вот вам еще парочка бонусных советов:
Найдите файл шаблона версии для печати print.tpl и откройте его. Сразу после <head> вставьте <meta name="robots" content="noindex">
И как тут админку скрыть…?
Откройте файл /engine/skins/default.skin.php и проделайте тоже самое.
Внимательно читайте в самом НАЧАЛЕ.
Срочно прошу помощи!!!
Добрый день Александр. Я изучаю ваш сайт и очень благодарен Вам за ваш труд. Изучаю ваши посты и стараюсь убрать баги DLE движка.
И вот столкнулся с какой проблемой.
Я увидел ваш пост о правильном robots.txt.
Очень ждал авторитетный пост на эту тему и наконец то дождался. полагаясь на ваши знания сделал у себя изменения и жду. И тут столкнулся с проблемой для себя.
Я продаю ссылки в гогетлинкс. И вот после внесенных изменений при подтверждении в сервисе о продаже начала появляться надпись — "На указанной вами странице отключена индексация при помощи тега meta, пожалуйста удалите его или разместите обзор на другой странице".
Очень бы хотел оставить ваши изменения, по этому прошу подсказать что нужно сделать, для того чтоб " Правильный robots.txt" работал и я мог продавать ссылки.
Заранее благодарю.
С уважением Дмитрий.
PS Хочу добавить то, что мне нужно разместить ссылку в НЕ проиндексированной новости, и тогда система примет. А система гогетлинкс «рубит» из-за причины, о которой я писал ранее.
1) на страницах где вы продаёте ссылки уберите meta nofollow
2) не продавайте ссылки на страницах, которые nofollow
Комменты выше правильный :) Надо тщательно проверить, что на нужных страницах не запрещена индексация и там нет метатега noindex.
PS Посмотрел твой сайт — так там все статьи закрыты в noindex — разумеется, биржа будет ругаться. Исправляй ситуацию пока не поздно и поисковики не выкинули сайт из индекса.
Сделал всё написано в посте.
Для тех, кто пишет что "зачем индексировать..." я в шаблоне и в файлах движка все ссылки на nofollow страницы сделал тоже nofollow
поэтому поисковики у меня и не знаю о страницах, которые nofollow
не знаю как вам, а мне удобно. и со спамом так бороться проще...
Спасибо Александр и ребята!!! Я немного слаб в том что связано с кодами и т.д. Поэтому сразу не разобрался и чуть не натворил делов. Теперь вроде все подправил и наконец-то надеюсь на то, что уйдут дубли, которые так мешали, и я не знал как их убрать.
Александр. Вопрос конечно не в тему данной статьи. Но никак не могу научиться делать таблицы в статьях. Перерыл кучу инфы и так ничего не получилось у меня. Подскажи, пожалуйста, как это можно сделать. А то мне нужна срочно таблица, и уже сколько не бьюсь, ничего не выходит.
А еще лучше — напиши отдельную статью, посвященную данной теме.
Заранее благодарю. С уважением Дмитрий.
По поводу таблиц могу посоветовать только купить (или скачать) книгу по html и изучить азы. А писать пост о том, как создать таблицу, это примерно так же как если бы в 10 классе школы заставили учить букварь.
Сделал все как описано в статье. Запретил от индексации все лишнее, страницы пагинации, просмотр новостей новостей по доп. полям, теги... и так далее. Но в все равно, все эти страницы гугл все таки проиндексировал!!! Движок 9.5.
Посмотри в браузере код в начале страниц которые закрыл.
Там должно быть такое — <meta name="robots" content="noindex,nofollow" />
Если его нет, значит что то неправильно сделал.
Да, так и есть. Допустил ошибку, не удалил двойной слеш "//" в engine.php
Есть вопрос по поводу мета-тегов и роботса. Как вывести мета-тег на отдельной нужной странице (например http://domen.ru/blok/7046-blok-tayna-kollekcionnoe-izdanie-dark-blabla-the-carnival-blabla-pc-rus.html ) как это сделать. Например было бы супер если б через .htaccess или еще как-то. Заранее спасибо
Такое есть в новых версиях движка, например, в DLE 9.7 при редактировании новости в админке можно поставить соответствующую галочку.
Всем привет, прочитал выше, что раздела /catalog/ не должно быть на сайте, странно, но у меня при этом адресе сайт.ру/catalog/ открывается главная страница, как правильно поступить? закрыть в роботсе?
Disallow: /catalog/
или колдовать в .htaccess? Что подскажете?
Закройте в robots.txt
Спасибо!
Тот же вопрос по роботсу, в папке cgi-bin, есть файл htaccess, в нем — Options -Indexes
Что это означает? Это нужно закрывать?
Саша, по все вероятности скорее всего именно с этим файлом вам или вашим помощникам стоит по работать :)
А по теме, файл htaccess во многих папках находится в папке cgi-bin в том числе, у всех он разный.
Это не "корень домена", а корневая папка Вашего сайта — http://www.kharkovforum.com/archive/index.php/t-338745.html ссылка на тёрочку...
Здравствуйте, после выполненных выше требуемых действий у меня перестала индексировать полная новость и статические страницы созданные через админ панель
Вот что я сделала
if (
//$do == 'sitemap' OR /* Страница html Карта Сайта */
$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 .= <<<HTML
\n<meta name="robots" content="noindex,nofollow" />
HTML;
создала robots.txt
User-agent: *
Host: мой-сайт.com
Sitemap: http://мой-сайт.com/?do=sitemap
Значит что-то не так сделали, т.к. с указанным выше кодом ни статические страницы, ни новости не будут закрыты.
Нет, не может быть, я могу код показать и написать все мелочи что я и где редактировала, в таком случаи поможете мне?
Нет, не нужен мне код. Тогда просто удалите все правки, которые вносили по инструкции и спите спокойно.
Спасибо огромное свою ошибку нашла. все исправила все работает :)
Версия 9.7, "обрабатывать неверные URL ЧПУ" включено, с категориями проблем нет, если на конце не ставить слешь, идет редирект на категорию со слешем, а как быть с тагеми? С ними это не работает, и получаются дубли:
/tags/blabla/
/tags/blabla
А как отрабатывается при всех этих манипуляциях "ошибка 404"? Заранее спасибо за ответ!
Правки, описанные в посте никак не касаются страниц ошибок.
Здравствуйте, хороший пост помог во всем.
Подскажите как спрятать ссылку в шаблоне или текст в noindex?
А то я пробовал
<noindex>
</noindex>
и
<!--noindex-->
<!--/noindex-->
а ссылка на cy-pr в индексе все равно торчит...
Подскажите как правильно сделать?
noindex не запрещает ссылки к индексации, так что смысла никакого нет.
Вот это уже засада, а каким образом ссылку можно спрятать от индексации в шаблоне?
Вариантов несколько: забить, удалить или вот — https://alaev.info/blog/post/4042
Я понял, нужно было с этого и начинать.
Разберусь короче...
После проделанных операций перестал индексировать новости гугл. При этом стоит не разкоментированный "//$subaction == 'showfull' OR /* Просмотр полной новости */". В чем может быть проблема? Яндекс прекрасно продолжает индексировать.
Думаю всё же будет правильней приведенный в посте php код вставлять ПЕРЕД вот этой строчкой кода:
if ( $disable_index ) $disable_index = "\n<meta name=\"robots\" content=\"noindex,nofollow\" />"; else $disable_index = "";
И вместо:
$metatags .= <<<HTML
\n<meta name="robots" content="noindex,nofollow" />
HTML;
Использовать:
$disable_index = true;
ВотЪ.)
Женя, если у тебя ГС — причина значит в этом и автор кода тут непричем. Гугл из своих соображений может сайт не индексировать, открою секрет.
Твое предложение справедливо только для DLE 9.7 и старше. У меня же более универсальный вариант.
Дело в том, что до того как я поменял так как описано на сайте, у меня сайт индексировался чуть ли не каждые 6-8 часов. А теперь в отрез отказывается индексировать страницы именно гуглом. Яша индексирует практически сразу после добавления новости.
Да поисковику никакой разницы нет каким образом код написан, важен результат. А результат в обоих случаях должен быть идентичным.
Здравствуйте! АлаичЪ у меня к Вам вопрос: Не давно в вебмастере яндекс в поиске появились страницы вида site.ru/2012/11/21/бла-бла-бла.html. У меня по вашей инструкции прописан мета тег роботс. Вообщем там есть строка $dle_module == 'date' OR /* Просмотр архива новостей за год/месяц/день */. Проверил исходный код страницы что в поиск попала с датой, и не обнаружил там строки <meta name="robots" content="noindex,nofollow" />. Вставил три других строчки (что по отдельности — год/месяц/дата, — аналогично. В чём может быть проблема? Правила на остальные страницы то работают.
Потому что site.ru/2012/11/21/бла-бла-бла.html это просмотр полной новости при использовании 3 вида ЧПУ, а не страницы архива.
То есть получается их можно закрыть только robots.txt ? Использую ЧПУ 2. Двиг 9.7
Вообще, мне кажется, при смене типа ЧПУ должен происходить редирект на новый адрес, но я не уверен на счет именно 3 типа ЧПУ. Ну а так, да, закрывать через роботс.
1. Если вы меняли тип ЧПУ с тип 3 на тип 2 или тип 1, то вам нужно включить опцию в настройках скрипта "Обрабатывать неверные URL ЧПУ". При включении данной опции, будет осуществляться 301 редирект на верный адрес. Данная опция полезна для SEO и при смене адресов новости.
2. Если у вас и сейчас включен ЧПУ 3-го типа, то зачем вам закривать к индексации ваши новости?!
У меня вопрос по поводу этой строчки Disallow: /engine/ и файлов, прикрепленных к новости для скачивания, которые имеют урл следующего вида http://prezented.ru/engine/download.php?id=
Эти файлы не индексируются, хорошо ли это?
Ну, во-первых, это не прямые ссылки на файлы, а ссылки на скачивание, что есть разные вещи. Во-вторых, эти ссылки не должны индексироваться, да и вообще незачем индексировать файлы.
Так что все окей!
А что делать, если проиндексировались страницы с комментариями новости? То есть в поиске новость продублировалась со страницами комментариев.
Если тебе не надо, чтобы эти страницы индексировались, можешь запретить их в robots.txt (Disallow: /*/page,1) или использовать вот такой код для приведенной в посте схемы:
($subaction == 'showfull' and (intval ($_GET['cstart']) > 1)) OR
Всем привет!
Александру огромное спасибо, за человеческое терпение и уважение к другим!
Ближе к теме. Наблюдаю такую картину:
в индексе Yandex оОооооочень... много исключенных страниц, (Документ запрещен в файле robots.txt), все они начинаются с:
/engine/go.php?url=aHR0cDovL20uc2VhcmNoLnJhbWJsZXIucnUvc2VhcmNoLz9xdWV..........
Вопрос: Что это значит и как с этим бороться?!
Всем заранее огромное спасибо! ...Да и Удачки!
У тебя внешние ссылки на сайте заключены в тег leech. Ссылки в этом теге для поисковиков "непонятные". По этому яндекс их просто исключил. В общем у тебя внешние ссылки запрещены к индексации. За это отвечает правило Disallow: /engine/ которое у тебя прописано в robots.txt
Денис!
Огромное спасибо, да есть такое, ссылки есть скрытые этим тег leech, но есть одно но, а именно, а это не вредит положению сайта в глазах Yandex или как говорится — нечего страшного!? Посоветуйте как поступить или что надо изменить?! Спасибо!
Это мусор, чем меньше мусора, тем легче поисковику, не только Яндексу. Как поступить? Да никак. Просто радуйтесь что он их исключил :)
PS Почитайте о вреде внешних ссылок.
Денис!
Еще раз спасибо, за помощь! Удачи Вам!
Я смог совместить автоматическое "личирование" всех новых внешних ссылок с третьим методом из этой статьи https://alaev.info/blog/post/4042#comment-14486
В итоге получается, что новые внешние ссылки ПС не индексируют и, следовательно, в индексе их не будет. Через поиск и замену в ДЛЕ можно даже все существующие ссылки сделать через leech, а потом автоматически обновить все новости и все эти ссылки станут недоступны ПС.
При использовании данного метода запрета индексации ненужных страниц поисковиками, все же предлагаю в robots.txt прописать следующие строки:
User-agent: *
Disallow: /engine/
Disallow: /catalog/
Disallow: /*php?*
Host: site.ru
Sitemap: http://site.ru/sitemap.xml
Disallow: /engine/ — вы предложили, а я оставил :) и полностью с вами согласен.
Disallow: /catalog/ — по тому, что метатег не срабатывает на странице http://site.ru/catalog/ А она существует! Хотя выше утверждалось обратное.
Disallow: /*php?* — так как страницы типа http://website.com/index.php?subaction=newposts/ или http://website.com/index.php?do=lastnews/ (со слешем в конце) или http://website.com/index.php?blabla (можно и без слеша) могут существовать и они дублируют главную страницу. Конечно было бы лучше 301 редирект сделать на главную с таких несуществующих страниц, как это сделать я не знаю, по этому хоть в robots.txt предлагаю закрыть. Но здесь у меня есть сомнение, не закрываю ли я этим правилом чего-то важного. Вроде нет, но может я не все учел. Буду благодарен если поправите меня.
Писать что-то еще в robots.txt не вижу смысла.
Спасибо за внимание! :)
Это частные случаи и учесть их невозможно в принципе, а в посте я специально сказал, что рассматриваю случай для чистого движка из коробки.
Подскажите, как закрыть несколько категорий? Пытаюсь вводить их ID через запятую, но тогда ни одна не закрывается.
Я имею ввиду эту запись:
//($do == 'cat' and $category_id == 'X' and $subaction == '') OR /* Просмотр определенной категории. X заменить на id категории */
В посте об этом написано, читайте внимательнее :)
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /backup/
Disallow: /engine/
Disallow: /language/
Disallow: /upgrade/
Disallow: /autobackup.php
Disallow: /admin.php
из этого что можно убрать? в коде нет этих пунктов чтобы убрать, если с роботс убрать ничего не будет?
User-agent: *
Disallow: /cgi-bin/ — удалить
Disallow: /tmp/ — удалить
Disallow: /backup/
Disallow: /engine/
Disallow: /language/ — удалить
Disallow: /upgrade/ — удалить строку и папку (читаем readme по установке dle)
Disallow: /autobackup.php — удалить строку, фаил переименовать (читаем readme по установке dle)
Disallow: /admin.php — удалить строку, фаил переименовать (читаем readme по установке dle)
Здравствуйте,интересная статья и метод,нигде такого не видел.
Вот я сейчас занят разработкой игрового сайта(скачивание игр) и само собой,там нечего закрывать,кроме админки,не нашел в вашем коде этой строки,добавьте пожалуйста и подскажите,стоит мне что то ещё закрывать?
Ведь я в этом новичок :)
Прочитай бонусные советы, там все написано.