1. Приветствую гостей и пользователей нашего форума! Первый раз вы у нас или же давно участвуете в жизни ресурса, хочу напомнить несколько моментов.

    1) Пользуемся поиском по форуму! Зачастую информация может находиться не по разделу!

    2) Раздел ИНФО-продуктов относительно новый, но имеем уже более 3000 высококлассных материалов (пользуемся сортировкой по прификсам).

    3) И самое важное, КАК КАЧАТЬ БЕЗ ОГРАНИЧЕНИЙ, вся информация находится по этой ссылке КУПИТЬ VIP

    4) Временная акция, получи +5 постов за вступление в нашу группу "Вконтакте" Более подробно ТУТ

    5) Веди активную жизнь на форуме и получай рубли на личный счёт!

    Скрыть объявление
  2. На нашем форуме Null-Prog действует серьёзное правило касательно размещения материалов!

    ДЛЯ РЕЛИЗЁРОВ: категорически запрещается выкладка материалов на файлообменники типа Deposit, letitbit и другие, требующие просмотров рекламы, обрезающие скорость и тд. Нарушителям, первые 2 раза предупреждения, далее БАН. Тему по этому поводу можно посмотреть ТУТ

    Скрыть объявление
  3. В тестовом режиме на нашем форуме открыт онлайн конструктор сайтов. Вы можете попробовать создать свой сайт у НАС, интуитивно понятный интерфейс, переведёт на 95%, быстрый экспорт проекта, от вас только перетаскивать элементы и вставить в них необходимый текст!

    Все вопросы ТУТ

    Скрыть объявление

  4. Скрыть объявление
  5. Уважаемые форумчане, открывается новый раздел форума, посвящённый ремонту и эксплуатации автомобилей. Просмотреть его можно ТУТ

    Так как раздел новый, информация будет пополнять каждый день. Если есть какие либо замечания по этому разделу, отписываемся в соответствующий раздел форума, либо в личку.

    Напоминаю, сообщения в разделе АВТО не учитываются, общение не ограничено.

    Скрыть объявление
  6. Объявляется набор Модераторов на различные раздел форума, свои заявки можно оставлять в ЭТОМ разделе, перед оставлением заявки рекомендуется ознакомиться с ПРАВИЛАМИ для модераторов.

ХАК Правильный robots.txt для DataLife Engine

Тема в разделе "Инструкции DLE", создана пользователем Sam Jack, 26 окт 2015.

  1. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.725
    Краткая суть поста – чем меньше файл robots.txt тем лучше и качественнее сайт, и это относится не только к DLE, но вообще к любому движку или сайту.

    Я вам еще раз расскажу, почему и для чего нужен файл robots.txt и директивы в нем, а так же почему меньше директив это показатель качества.

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

    А для чего придумали robots.txt? Для того чтобы указывать поисковику какие страницы посещать и индексировать можно, а какие нельзя. Закрывая от индексации какие-то страницы (или даже разделы) вы тем самым признаете, что эти страницы некачественные или ненужные по различным причинам. Чаще всего запрет используется для исключения дублей страниц и технической информации. К сожалению, реальность такова, что сегодня 99% сайтов имеющих файл роботс закрывают с его помощью как раз такие страницы.

    Так вот еще раз – идеальный сайт – это когда бесполезных страниц нет и закрывать нечего. Но CMS, какими бы классными они не были, все равно создают для нас «неожиданности» и приходится выкручиваться. Приходим к выводу – без robots.txt не обойтись…НО!

    Временно переключимся — смотрите на идеальный robots.txt для DLE

    Код:
    User-agent: *
    Disallow: /engine/
    Host: site.ru
    Sitemap: http://site.ru/sitemap.xml
    Неожиданно? Ну да…

    Предлагаю вам вспомнить мою аналитическую публикацию о сравнении robots.txt и meta robots — если не читали еще, то обязательно ознакомьтесь очень внимательно. После прочтения вывод будет следующим: лучше запрещать индексацию страниц и разделов при помощи метатега , а не при помощи 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 .= <<
    ВЫШЕ добавляем код:
    Код:
    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 и откройте его. Сразу после вставьте
    Откройте файл /engine/skins/default.skin.php и проделайте тоже самое.

    Первый бонус для того, чтобы запретить индексацию версии для печати, а второй запрет индексации админки, ибо тупо закрывать файл admin.php в robots.txt (а еще тупее использовать нестандартное название файла админки и закрывать его в robots.txt).
     

Поделиться этой страницей

iHax Community
Рейтинг@Mail.ru Яндекс.Метрика мониторинг сайтов
Форум программного обеспечения/
Загрузка...