При поисковой оптимизации у многих возникают проблемы, и одной из них является то, что поисковик индексирует не то, что хотелось бы. Я сам сталкивался с тем, что у меня были проиндексированы ненужные страницы. И так, как же этого избежать? Есть два основных метода, которыми можно указать поисковым роботам непригодные к индексации материалы. Рассмотрим их…
Можно использовать файл robots.txt . Он должен находиться в корневой директории сайта. Если же вы имеете несколько поддоменов на сайте, то следует для них размещать отдельный файл robots.txt . Данный файл указывает поисковикам, какие именно файлы и директории не следует учитывать при индексации. Как он устроен? Его структура проста. Первая строчка должна иметь вид User-agent: * , где звездочка обозначает имена поисковых роботов. Например, User-agent: googlebot . Как составлять robots.txt я объяснял в статье
Внутренняя SEO оптимизация DLE сайтов. Поэтому подробно, на этом способе, останавливаться, думаю, не стоит.
В этом посте я хочу расмотреть второй, реже используемый, способ
закрытия страниц от индексации. А именно, использование мета-тега robots. Вы спросите, а почему реже ? Да потому, что разработчики CMS забили на это, и соответственно, у нас нет возможности реализовать это опционально. И, соответственно, многие идут по простейшему пути, используя robots.txt. Но, наверное многие, как и я, заметили, что Google ложит с прибором, на это самый файл. Соответственно индексирует,нежелательные для вебмастера страницы.
Поэтому, я считаю, что
закрывать страницы от индексации, при помощи мета-тега, более эффективный способ.
И так, наша задача, в движке DLE впихнуть в ненужные для индексации страницы, вот эту конструкцию:
<meta name="robots" content="noindex,nofollow" />
Приступим.
Открываем файл /engine/engine.php, находим бесполезную строку и удаляем:
<meta name="robots" content="all" />
Находим:
if ($config['allow_rss']) $metatags .= <<<HTML
<link rel="alternate" type="application/rss+xml" title="{$rss_title}" href="{$rss_url}" />
HTML;
ВЫШЕ вставляем:
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;
Если вам нужно закрыть от индексации страницы page, типа site.ru/page/X/ или site.ru/category/page/X/, тогда необходимо добавить ещё одну строчку:
(intval($_GET['cstart']) > 1 )
Получаеться вот так:
if ($subaction == 'userinfo' OR
$subaction == 'allnews' OR
...
$dle_module == 'date' OR
(intval($_GET['cstart']) > 1 )) $metatags .= <<<HTML
\n<meta name="robots" content="noindex,nofollow" />
HTML;
Естественно страницы и разделы, которые нужно закрыть, добавляете по своему усмотрению и надобностям.
И не забудьте, то что закрыли этим способом, убрать из robots.txtНа этом ВСЁ.
И помните!!!