
На сайте https://dle9.com/ предлагаем полезную статью Как запретить дубликаты страниц сайта дле или Настройка индексации страниц при помощью метатега robots.txt использую новые возможности DataLife Engine с помощью метатега "robots", т.к. это самый оптимальный и удобный инструментом, который важно правильно использовать.
В недавно выпущенной версии разработчик DLE движка, вновь подключил данный метатег в дистрибутив скрипта, тем самым автор данного вариант воспользовавшись этим, вернулся к разработке управления работы с метатегом этим, используя уже существующий функционал и переменные в скрипте версии 9.7.
Как запретить дубликаты страниц сайта дле
Это настройка индексации страниц DLE метатегом robots.txt
Довольно простая установка:
1. Реализуем вывод метатега в определенных разделах сайта:
Открываем файл /engine/engine.php
Найти:
else $disable_index = "";
Заменить на(приведённый ниже массив рекомендован мной и его состав, может быть подобран и изменён под свои цели*):
elseif (
$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 /* Вывод новостей по тегу */
$do == 'xfsearch' OR /* Вывод новостей новостей по доп. полям */
$subaction == 'allnews' OR /* Вывод всех новостей пользователя */
$subaction == 'newposts' OR /* Вывод непрочитанных новостей для пользователя */
$subaction == 'userinfo' OR /* Просмотр профиля пользователя */
$dle_module == 'date' OR /* Вывод архива новостей за год/месяц/день */
(intval($_GET['cstart']) > 1 ) OR /* Любые страницы пагинации */
$catalog != '' /* Просмотр каталога по буквенному идентификатору */
) $disable_index = "n<meta name="robots" content="noindex" />"; else $disable_index = "";
Заменяя, удаляя или добавляя строки в массиве из списка возможных вариантов приведённого ниже, настройте запрет индексации под свои цели.
*Возможные варианты значений в массиве
Чтобы запретить индексацию какого-либо модуля, необходимо использовать следующую конструкцию:
$do == 'module'
где module – это префикс модуля, который можно взять из url без ЧПУ, к примеру из url: site ru/?do=feedback берём feedback.
P.S. Список вариантов самому составлять было лень, взял его у Алича(alaev info)
2. Реализуем вывод метатега РОБОТс на несуществующих и удалённых страницах:
(тут есть нюанс для роботов при ответе 404, а не 200, но всё же, есть причины, для работы с сервисами)
Открываем файл /engine/modules/show.full.php
Найти:
@header( "HTTP/1.0 404 Not Found" );
Добавить ниже:
$disable_index = 1;
Открываем файл /engine/modules/static.php
Найти:
@header( "HTTP/1.0 404 Not Found" );
Добавить ниже:
$disable_index = 1;
Открываем файл /engine/modules/show.short.php
Найти, Внимание! (3 раза):
msgbox( $lang['all_err_1'], $lang['news_err_27'] );
И Внимание! ВЫШЕ добавить:
$disable_index = 1;
3. Реализуем вывод метатега РОБОТс с его строгим значением на страницах печати:
Открываем файлы шаблона версии для печати /templates/имя вашего шаблона/print.tpl и /templates/имя вашего шаблона/static_print.tpl
Найти:
<head>
Добавить ниже:
<meta name="robots" content="noindex" />
3. Реализуем вывод метатега robots с его строгим значением на страницах админки:
Открываем файл /engine/skins/default.skin.php
Найти:
<head>
Добавить ниже:
<meta name="robots" content="noindex,nofollow" />
(i) Внимание! При продаже ссылок с вашего ресурса, в частности в автоматическом режиме через ссылочные биржи, то прежде чем следующие настройки необходимо модификации, чтобы проверьте не закрыли ли вы от индексирования те страницы, с которых планируете продавать ссылки. Кстати, на dle9.com вы можете найти другие интересные материалы по этой теме.
Кроме того, манипулируя метатегом ROBOTS не забывайте, что возможно у вас имеется robots.txt и в нём тоже созданы правила, а робот поисковой системы при нахождении противоречий между метатегом и файлом выполнить наиболее строгое правило(запрет). Правильней будет удалить в файле robots.txt дублирующие правила, в итоге вы получите практически аналогичный правила вида:
User-agent: *
Disallow: /engine/go.php
Disallow: /engine/download.php
Disallow: /*?*
Sitemap: http://site.ru/sitemap.xml
Host: site ru
О правильном robots.txt или как настроить robots.txt можно прочитать здесь для дле
Данная статья актуальна для v.9.7
Автор статьи: webseolife ru
Веб-портал «все для DataLife Engine» предлагает настройка индексации страниц на DLE с помощью метатега robots.txt