SEO: превращаем внешние ссылки во внутренние

Если Вы когда-нибудь зарабатывали (или пытались) на биржах ссылок, то скорее всего знаете, что один из показателей страницы, влияющих на цену ссылки на ней, это количество внешних ссылок. Один из способов увеличить доход в sape, xap или других биржах — уменьшить количество внешних ссылок на страницах.

Некоторые вебмастера предлагают использовать для этого тег noindex. Однако предупрежу читателя, что даже не частое использование атрибута noindex может поставить репутацию Вашего сайта под сомнение и Вы рискнете попасть под бан Яндекса.

Тег noindex также имеет ряд недостатков. Во-первых, тег этот парный, и при частом его использовании нередко возникают ошибки, приводящие к тому, что от индексации закрывается лишняя часть контента (это, кстати, наиболее частая причина выпадения ссылок в ERROR на бирже SAPE). Во-вторых, тег noindex понимают не все поисковые системы. В-третьих — тег закроет от индексации не только факт наличия внешней ссылки, но и ее анкор (текст ссылки).

Поэтому я рекомендую избавляться от внешних ссылок при помощи скрипта перенаправления, который лишен всех этих недостатков.

Итак, создадим в корне сайта файлик go.php (имя можно и другое) с вот таким содержимым:

<?php
$url = $_REQUEST['url'];
if(preg_match('#(http?|ftp)://S+[^s.,>)];'"!?]#i',$url)){
sleep(0);
echo "<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="0;url=$url">
</head>
<body>
Сейчас Вы будете автоматически перенаправлены на нужную страницу...<br/>
Если ваш браузер не поддерживает перенаправления, нажмите здесь: <a href="$url">$url</a>.
</body>
</html>";
}
?>

Теперь Вам необходимо давать внешние ссылки на своем сайте, добавляя к ним приставку «http://вашсайт.ру/go.php?url=», например:

<a href="http://вашсайт.ру/go.php?url=http://чужой_сайт.ру/траливали">текст ссылки</a>

Пользователи смогут как и раньше без проблем переходить по внешним ссылкам, а вот роботы будут определять такую ссылку как внутреннюю.

Фильтр для текста

Итак, с теми ссылками которые набиваются в ручную мы разобрались. Если же Вам требуется заменить все внешние ссылки на внутренние в тексте (например, текстах статьей или комментариев), то его необходимо пропустить через фильтр. Организуем его с помощью вот такой PHP-функции:

<?php
function CutLinks($string)
{
global $homeurl;
$host = str_replace('www.', '', getEnv('HTTP_HOST'));
$host = str_replace('.', '.', $host);
return preg_replace('/href="?(http://(?!(www.|)'.$host.')([^">s]*))/ie',
"'href="$homeurl/go.php?url=' . urlencode('$1') . '"'", $string);
}
?>

Не забываем заменить «ваш_сайт.ру» на свое значение.

Использовать функцию вот так:

<?php
$text = 'какой-то текст с внешними ссылками';
$text = CutLinks($text);
?>

Плагин для WordPress

Для того, чтобы заменить все внешние ссылки на внутренние в текстах постов и комментариев WordPress прибегать ко всему вышеизложенному необязательно, ибо есть прекрасный плагин, который все это сделает за Вас. Называется он «WP No External Links», установить его можно прямо из консоли администратора Вашего блога — он есть в официальном каталоге. Страница плагина: http://jehy.ru/articles/2008/10/05/wordpress-plugin-no-external-links/.

Альтернативный способ (без PHP)

Если Ваш хостинг не поддерживает PHP, но убрать внешние ссылки необходимо, можно воспользоваться альтернативным методом, вот так:

<a href="#" onClick="window.open('http://brullworfel.ru')">ссылка</a>

Фактически, получается не ссылка, а JavaScript-кнопка. Поисковики на данный момент код JavaScript не обрабатывают, а вот для пользователей все прозрачно — клик по такой кнопке откроет новую вкладку или окно с заданным URL. Единственный минус — скопировать такую ссылку в буфер обмена из контекстного меню у пользователей не выйдет.

22 мысли о “SEO: превращаем внешние ссылки во внутренние”

  1. Что за глупость про ноиндекс, это служебный тэг яндекса, и он никак не влияет на бан или вылет сайта из индекса

    1. Часто встречал информацию об этом на сео-блогах. После Вашего сообщения — изучил тему более подробно, действительно — скорее всего просто слухи. Вычеркиваю, спасибо.

  2. Вот, кстати и еще одно предложение для TurboSite. Т.к. большинство хостингов, для которых делается сайт на статичных страницах не поддерживает PHP, опционально генерить в указанной папке страницы с тегом:
    и на свякий случай скриптом: window.location=»http://url.url/» Закрыть при этом указанную папку в robots.txt

    1. Есть ли смысл для статичных HTML-сайтов заморачиваться над избавлением от внешних ссылок? Для сайтов с поддержкой PHP думаю надо включить. За идею спасибо.

      Думаю в TurboSite сделать галочку «Включить поддержку PHP», и для тех кто ее поставил — открыть интеграцию с SAPE и опцию закрытия внешних ссылок.

  3. meta http-equiv=»refresh» content=»1; URL=http://www.smstrap.com/go/NzQwNTow/»

    Метатэг из сообщения удалится

    Говорят Яндекс уже понимает rel=nofollow, а в бан или пессимизацию сайты уходят потому, что в тегах noindex ставят ссылки на говнопартнерки, которые зачастую с вирусами — закрывать надо в robots.txt

  4. > Есть ли смысл для статичных HTML-сайтов
    > заморачиваться над избавлением от внешних
    > ссылок?
    Ну а как-же? Конечно есть!

    > Для сайтов с поддержкой PHP думаю надо включить
    А вот это зря, если есть PHP, я могу любой движок поставить, а не мучаться со статикой.

    1. Вы можете, а кто-то не может =).

      Цель TurboSite — чтобы со статикой было удобно, а не мучатся, и я надеюсь что в ближайшее время он к этому придет =).

      1. Отличная программа, интуитивно понятная, чистый код HTML, легкая верстка шаблонов, блочная структура, лучше многих коммерческих продуктов.

        Программе не хватает набора скриптов PHP, которые веб мастера могли бы включать в соответствии с функционалом сайта.

        Спасибо, продолжайте развивать TurboSite.

  5. Что-то у меня не получился механизм замены внешней ссылки на «внутреннюю» по Вашей инструкции.
    Или я что-то не так сделал или в предложенных кодах есть ошибочка.
    Проверьте:
    http://www.aetaranow.narod.ru
    здесь на главной странице есть внешняя ссылка, переделанная на внутреннюю —
    Удаление баннера с рабочего стола, разблокировка Windows

    1. Можно сделать внешнюю ссылку вот так:

      <a href="#" onClick="window.open('http://brullworfel.ru')">внешняя ссылка</a>

      Фактически это получится не ссылка, а JavaScript-кнопка. Поисковики JavaScript не обрабатывают.

      1. > Поисковики JavaScript не обрабатывают.

        Ошибаетесь! Еще как обрабатывают!

  6. Большое спасибо, хорошая программа и самое главное особенно для России- это бесплатность, по больше бы таких людей.

    С уважением, Александр!

    1. Александр, спасибо за добрые слова!

      P.S. В России чтобы заработать на платных программах надо быть как минимум 1С =). Поэтому программисты в последнее время все больше и больше пытаются заработать на БЕСПЛАТНОМ программном обеспечении. Биллом Гейтсом на бесплатном, конечно, не станешь, но по крайней мере, как говорится, и волки сыты, и овцы целы =).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *