В СЕО сфере существует правильное мнение, что ПС Яндекс на сайтах не жалует сквозные ссылки. А что делать, если сайт построен на CMS и навигация организована с помощью блоков меню присутствующих на всех страницах? Как раз в этом случае владелец имеет большое количество "сквозняков" от которых лучше избавиться.
Что делать - не секрет. На первой странице остается все как есть, а вот блоки меню на остальных страницах надо закрыть от индексации.
Яндекс предлагает использовать для этой цели служебный тег-контейнер:
<noindex>закрываемый от индексации блок</noindex>
Однако, этот тег не валидный и для сохранения валидации страницы Яндекс рекомендует использовать конструкцию:
<!--noindex-->закрываемый от индексации блок<!--/noindex-->
Но этого мало, в код самой ссылки необходимо добавить атрибут rel="nofollow", чтобы ссылки в меню выглядели примерно так:
/poisk-po-sajtu.html" rel="nofollow">Поиск по сайту</a>
Вот теперь рассмотрим второй по порядку, но не по важности вопрос. Так как я в основном работаю с CMS Joomla 1.5, то вопрос будет такой:
Как на практике избавиться от сквозных ссылок в меню в CMS Joomla?
На самом деле ответ на этот вопрос не сложен, надо внести некоторые изменения в шаблон и в двух файлах модуля меню.
Начнем с шаблона (темплейта).
Открываем индексный файл вашего шаблона /templates/[имя шаблона]/index.php и смотрим его код. Как правило на сайте бывает от одного до четырех модулей меню. Каждую позицию, в которой выводится меню, нужно обернуть таким кодом. Предложим, что было так:
<jdoc:include type="modules" name="top" style="raw" />
а должно стать так:
if (strlen ($_SERVER['REQUEST_URI']) > 1 )
{ echo "";}
?>
<jdoc:include type="modules" name="top" style="raw" />
if (strlen ($_SERVER['REQUEST_URI']) > 1 )
{ echo "";}
?>
Вставки на PHP проверяют URI и если он длиннее одного символа, то вставляется тег <!--noindex--> ... <!--/noindex-->. То есть, если это не первая страница, то вставить тег, если нет - не вставлять. Почему проверяется длина больше одного, а не больше нуля? Потому что URI первой страницы сайта обозначается наклонной чертой (один символ).
Изменяем модуль меню
Файлы модуля меню лежат по адресу: /modules/mod_mainmenu/. Открываем в этой папке файл helper.php (в том случае, если используется стиль меню "список") и находим код:
switch ($tmp->browserNav)
{
default:
case 0:
// _top
Чуть ниже находим код:
$data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
и заменяем ее на:
$data = '<a href="'.$tmp->url.'"';
if (strlen ($_SERVER['REQUEST_URI']) > 1)
{ $data .= ' rel="nofollow" '; }
$data .= '>'.$image.$tmp->name.'</a>';
еще чуть ниже:
$data = '<a href="'.$tmp->url.'" target="_blank">'.$image.$tmp->name.'</a>';
и меняем на:
$data = '<a href="'.$tmp->url.'" target="_blank"';
if (strlen ($_SERVER['REQUEST_URI']) > 1)
{ $data .= ' rel="nofollow" '; }
$data .= '>'.$image.$tmp->name.'</a>';
Сохраняем и закрываем файл. Переходим в подпапку tmpl и открываем файл default.php в котором надо закомментировать строку:
$node->removeAttribute('rel');
Сохраняем и закрываем файл. Это все.
Источник:http://moskalukov.org/stati/39-kak-izbavitsja-ot-skvoznyh-ssylok-v-menju-joomla.html