Начну из далека.
Этот блог работает на MODX Revo
У меня в блоге много внешних ссылок (ссылаюсь на материалы в сети, а так же есть немного рекламных ссылок), это всё сильно понизило мой ТИЦ.
Решил автоматизировать процесс закрытия внешних ссылок атрибутом nofollow и тэгом noindex, а так же добавлять атрибут _blank.
Что для этого пришлось сделать:
В закладке «Элементы», в разделе «Плагины», создал новый плагин и назвал его noindex.
Тут название не важно, называем как угодно.
В «Код плагина (php):» вставляем следующий код:
<?php
if ($modx->event->name == 'OnWebPagePrerender')
{
$content = $output = $modx->resource->_output;
// Собираем все ссылки на странице, по шаблону, в массив $matches
preg_match_all(
"/<a [^>]*?href=[\"\'](.*?)[\"\'][^>]*>.*?<\/a>/im",
$content,
$matches
);
if (!empty($matches[0]))
{
foreach ($matches[0] as $key => $tag) {
// Добавляем атрибут "nofollow" в начало тега "а"
$new_tag = preg_replace("/^<a/i", '<a rel="nofollow"', $tag);
// Добавляем атрибут "_blank" в начало тега "а"
//$new_tag = str_replace('<a','<a target="_blank"',$new_tag);
// Добавляем тэг "<!--/noindex-->" после тега "а"
//$new_tag = str_replace('</a>','</a><!--/noindex-->',$new_tag);
// Добавляем атрибут "<!--noindex-->" перед тегом "а"
//$new_tag = str_replace('<a','<!--noindex--><a',$new_tag);
$content = str_replace($tag, $new_tag, $content);
}
// Устанавливаем новый контент для вывода документа
$output = $modx->resource->_output = $content;
}
}
Тут я написал комментарии, должно быть понятно, что и для чего делается.
У плагина, в закладке «Системные события», ставим галочку напротив пункта OnWebPagePrerender
Жмем «Сохранить»
Вот и всё. Теперь наши ссылки приобрели такой вид:
<a href="ТутАдресСайта" rel="nofollow" target="_blank">ТутАдресСайта</a>
MODX Revo: Закрываем внешние ссылки
Вы должны авторизоваться, чтобы оставлять комментарии.
Комментарии ()