Найти в Дзене
SСhaos

Как быстро закрыть все внешние ссылки на сайте от индексации с помощью JavaScript

Вариантов закрытия внешних ссылок от индексации с помощью javascript множество.

Начина от способов на чистом javascript:

function goToPage(sPage) {
window.location.href = sPage;
}

Код ссылки на сайте выглядит так:

<a href="javascript:goPage('/url_to_page')"></a>

И заканчивая разными вариациями с использованием jQuery:

jQuery(function($) { jQuery('a.linknoindex').click(function(){window.open($(this).data("link"));return false;}); });

В данном случае ссылка будет выглядеть так:

<a href="#" class="linknoindex" data-link="http://goo.gl">внешняя ссылка</a>

Если внешних ссылок немного, то легко можно пройти все вручную и провести соответствующие изменения на сайте. Но очень часто таких ссылок на странице очень много и располагаются они в статьях, описаниях товаров или других блоках сайта изменение которых будет требовать большого количества времени.

Для ускорения процесса воспользуемся php и функцией preg_replace и функциями работы с буферизацией вывода:

<?php
//удаление внешних ссылок
function in_link($buffer){
return preg_replace("~<a([^>]*?)href=['\"]([a-z0-9]++:\/\/(?![a-z0-9\.]*?site\.ru).*?)['\"](.*?)>(.*?)<\/a>~si", "<a\\1 class=\"linknoindex\" href=\"#\" data-link=\"\\2\" \\3>\\4</a>", $buffer);
}
ob_start("in_link");
?>
Текст с внешними ссылками
<?php
ob_end_flush();
?>

site.ru - это наш сайт, ссылки от индексации на который мы естественно закрывать не хотим.

Ну и на этом все. Надеюсь данный скрипт Вам поможет.

З.Ы. А еще мы пишем много полезной информации в блоге Стократ. Добро пожаловать.