Добавляем rel="nofollow" ссылкам в профилях и в меню

Прислано: T-34

ср, 21/05/2008 - 21:09

Другие статьи по теме:

На друпал.ру такого не нашел, а на drupal.org отыскал немного на эту тему. Может кому пригодится

Добавляем ссылкам в профилях пользователей (поле профиля типа "url") атрибут nofollow и заключаем их в noindex

В файле modules/profile/profile.module вносим изменения в 559 строку

return '<a href="'. check_url($value) .'">'. check_plain($value) .'</a>';

=>
return '<noindex><a rel="nofollow" href="'. check_url($value) .'">'. check_plain($value) .'</a><noindex>';

на основе http://drupal.org/node/102468

Добавляем атрибут nofollow определенным ссылкам в меню

В template.php добавляем

function phptemplate_menu_item_link ($item, $link_item) {
  $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'] в коде. Подскажете?

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано Valeratal в чт, 22/05/2008 - 07:10.

Спасибо, полезно
По хорошему, все что с адресмо user запрещать в роботс.txt


Опубликовано Химический Али в чт, 22/05/2008 - 07:46.

Хм, а вот у меня достаточно много с посиковиков приходят по данным в профилях.


Опубликовано T-34 в чт, 22/05/2008 - 08:06.

Тоже об этом хотел написать. Закрытие user в robots - не лучший вариант, т.к. на страницу юзера может идти траф, + юзер может поставить на свой профиль на друпал-сайте ссылку (особенно если сайт - социалка), по которой может прийти PR.


Опубликовано P.Selfin@drupal.org в чт, 20/05/2010 - 08:15.

Насколько правильно патчить ядро?
Модуль не придумали для скрытия ссылок в профиле и модулях(например, в агрегаторе)?
/про модуль Стаса не говорите-знаю и использую/


Опубликовано Shift-Web в чт, 20/05/2010 - 08:20.

Эм ... Во первых, тут косяк:

<?php
return '<noindex><a rel="nofollow" href="'check_url($value) .'">'check_plain($value) .'</a><noindex>';
?>

конкретно: <noindex> ...ссылка... <noindex> это будет трындец всему, что попадёт после ссылки и чем больше их будет тем больше будет незакрытых ноуиндексов.

Во вторых, щас неактуально ноуиндексить ссылки вообще...


Опубликовано sadad в сб, 22/05/2010 - 12:10.

http://drupal.org/project/menu_attributes


Опубликовано Sinkora в сб, 22/05/2010 - 13:01.

"sadad" написал(а):

Насколько правильно патчить ядро?

profile.module - это не из ядра. Это дополнительный модуль-конструктор для тех, кто не умеет создавать поля в профиле своими силами. По большому счету, модуль бесполезный для разработчика.


Опубликовано Химический Али в пн, 24/05/2010 - 09:52.

Яндекс уже понимает rel="nofollow".


Опубликовано Ater в чт, 28/10/2010 - 13:46.

"Shift-Web" написал(а):

конкретно: ...ссылка... это будет трындец всему, что попадёт после ссылки и чем больше их будет тем больше будет незакрытых ноуиндексов.

а почему вы решили что ноиндекс не закроется? я у себя протестил и вроде как закрывается все норм...


Новое на сайте

Ссылки партнёров