На друпал.ру такого не нашел, а на drupal.org отыскал немного на эту тему. Может кому пригодится
Добавляем ссылкам в профилях пользователей (поле профиля типа "url") атрибут nofollow и заключаем их в noindex
В файле modules/profile/profile.module вносим изменения в 559 строку
=>
на основе http://drupal.org/node/102468
Добавляем атрибут nofollow определенным ссылкам в меню
В template.php добавляем
$no_follow_links = array(
'путь/по_которому/не_хотим_передавать_PR',
'путь/по_которому/не_хотим_передавать_PR',
);
if (in_array($link_item['path'], $no_follow_links)) {
return l($item['title'], $link_item['path'], !empty($item['description']) ? array('title' => $item['description'], 'rel' => 'nofollow') : array('rel' => 'nofollow'), isset($item['query']) ? $item['query'] : NULL);
} else {
return l($item['title'], $link_item['path'], !empty($item['description']) ? array('title' => $item['description']) : array(), isset($item['query']) ? $item['query'] : NULL);
}
}
на основе http://drupal.org/node/175594
По поводу функции phptemplate_menu_item_link - вместо пути хотелось бы указывать id пункта меню, т.к. пункты с одинаковыми путями могут присутствовать как в меню для гостей, так и в меню для залогиненных, и нет нужды ставить nofollow во втором случае. Как я понял, за id пункта меню отвечает переменная $mid, но я php пока не владею и ниасилил как использовать ее вместо $link_item['path'] в коде. Подскажете?
Комментарии
Спасибо, полезно
По хорошему, все что с адресмо user запрещать в роботс.txt
Хм, а вот у меня достаточно много с посиковиков приходят по данным в профилях.
Тоже об этом хотел написать. Закрытие user в robots - не лучший вариант, т.к. на страницу юзера может идти траф, + юзер может поставить на свой профиль на друпал-сайте ссылку (особенно если сайт - социалка), по которой может прийти PR.
Насколько правильно патчить ядро?
Модуль не придумали для скрытия ссылок в профиле и модулях(например, в агрегаторе)?
/про модуль Стаса не говорите-знаю и использую/
Эм ... Во первых, тут косяк:
<?php
return '<noindex><a rel="nofollow" href="'. check_url($value) .'">'. check_plain($value) .'</a><noindex>';
?>
конкретно:
<noindex> ...ссылка... <noindex>
это будет трындец всему, что попадёт после ссылки и чем больше их будет тем больше будет незакрытых ноуиндексов.Во вторых, щас неактуально ноуиндексить ссылки вообще...
http://drupal.org/project/menu_attributes
profile.module - это не из ядра. Это дополнительный модуль-конструктор для тех, кто не умеет создавать поля в профиле своими силами. По большому счету, модуль бесполезный для разработчика.
Яндекс уже понимает rel="nofollow".
а почему вы решили что ноиндекс не закроется? я у себя протестил и вроде как закрывается все норм...