19.04.13, 16:47
0 комментарий
  DLE Хаки

Управляем индексацией страниц сайта на DLE с помощью метатега robots

Я уже давно занимаюсь реализацией управления индексацией страниц сайтов на CMS DataLife Engine посредством метатега , так как считаю его наиболее удобным инструментом.

Первая моя реализация была ужасно громоздкой, но позже благодаря хаку "DLE - 404 Not Found - noindex" от MSW(0-web.ru), мы развили свою реализацию, которую публиковали на тогда ещё нашем проекте dlepro.com в разделе "Оптимизация DLE", а в период, когда разработчик DataLife Engine перестал использовать в дистрибутиве скрипта метатег "robots" я написал модуль "MetaRobots".
Сейчас, когда разработчик DLE снова включил этот метатег в дистрибутив скрипта, я вернулся к реализации работы с метатегом "robots", используя уже существующий функционал и переменные в скрипте версии 9.7.

А теперь для чего это нужно?
Вы знаете, что такое robots.txt, если да, то подробные пояснения излишни, скажу кратко, что мы запретим индексирование служебных страниц и страниц на которых дублируется контент более красивым способом, чем robots.txt, но таким же понятным для поисковых ботов.
Если же вы не знаете что такое и robots.txt и для чего он нужен, то вам лучше не читать пока данную статью, а начать с азов для вебмастера.

И так начнём:

1. Реализуем вывод метатега robots в определенных разделах сайта:

Открываем файл /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 = "";



Заменяя, удаляя или добавляя строки в массиве из списка возможных вариантов приведённого ниже, настройте запрет индексации под свои цели.




P.S. Описание возможных вариантов самому составлять было лень, взял его у Алаича(alaev.info)

2. Реализуем вывод метатега robots на несуществующих и удалённых страницах:
(тут есть нюанс для роботов при ответе 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. Реализуем вывод метатега robots с его строгим значением на страницах печати:

Открываем файлы шаблона версии для печати /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" />



(!) Внимание! Если вы продаёте ссылки с вашего сайта, особенно в автоматическом режиме через ссылочные биржи, то прежде чем применить данную модификацию проверьте не закроете ли вы от индексирования те страницы, с которых планируете продавать ссылки.
Кроме того, манипулируя метатегом "robots" не забывайте, что возможно у вас имеется robots.txt и в нём тоже созданы правила, а робот поисковой системы при нахождении противоречий между метатегом и файлом выполнить наиболее строгое правило(запрет). Правильней будет удалить в файле robots.txt дублирующие правила, в итоге вы получите практически идеальный robots.txt вида:

User-agent: *
Disallow: /engine/
Disallow: /*?*
Sitemap: http://site.ru/sitemap.xml
Host: site.ru



О правильном robots.txt можно прочитать здесь

Данная статья актуальна для DataLife Engine v.9.7

Автор статьи: webseolife.ru | cms-dle.ru

Реклама

Напишите своё мнение

  • acuteaggressiveair_kissangel
    badbbbeachbeee
    biggrinbig_bossblumblush
    boastbombboredombye
    clappingcraycrazycurtsey
    dancedashdeclarediablo
    diroldon-t_mentiondownloaddrinks
    first_moveflirtfocusfool
    friendsgive_heartgive_rosegood
    hangheartheathelp
    hihunterhystericireful
    kingkisslaughlazy
    lolmail1mambaman_in_love
    mdamega_shokmoilmosking
    musicneanegativenew_russian
    okon_the_quietpardonparting
    partypilotpioneerpleasantry
    popcormpranksterprevedpunish
    roflrtfmrussiansad
    sarcasticscarescratchsearch
    secretsensoredshokshout
    slowsmilesmokesoldier
    soldier_girlsorryspitefulspruce_up
    stinkersuicidesunsuperstition
    swoonteasetenderthanks
    thisto_pick_ones_noseto_take_umbragetreaten
    umnikunknwvampirevava
    victorywackowhistlewink
    wizardyahooyesyu
    e101e102e103e104
    e105e106e107e108
    e109e110e111e112
    e113e114e115e116
    e117e118e119e120
    e121e122e123e124
    e125e126e127e128
    e129e130e131e132
    e133e134e135e136
    e137e138e139e140
    e141e142e143e144
    e145e146e147e148
    e149e150e151e152
    e153e154e155e156
    e157e158e159e160
    e161e162e163e164
    e165e166e167e168
    e169e170e171e172
    e173e174e175e176
    e177e178e179e180
    e181e182e183e184
    e185e186e187e188
    e189e190e191e192
    e193e194e195e196
    e197e198e199e200
    e201e202e203e204