Share

WordPress. Как спрятать внешние ссылки

NOINDEX NOFOLLOWДля продвижения этого сайта (на движке WordPress)  зарегистрировал его в Sape и тут же возникла проблема со ссылками на сторонние ресурсы, которые понижают рейтинг страниц сайта в поисковых системах.

Изучение вопроса показало что самым оптимальным является перелинковка внешних ссылок во внутренние с помощью небольшого скрипта в файле, найденного на просторах инета и помещённого в файл redir.php (v.1) в корешке сайта:

<?php
$url = $_GET[«url»];
header(«Location: $url»);
?>

Ссылки вместо

http://wordpress.org

стали иметь вид

http://koshcheev.ru/redir.php?url=http://wordpress.org

и Sape перестал обращать на них внимание и суммировать их в параметре ВС.

Изучение проблемы на этом не остановилось и было собрался уйти от этого скрипта в пользу оборачивания ссылок тэгами noindex и nofollow, но тут на глаза попалась просто замечательная статья «Использование nofollow и noindex для внутренней перелинковки страниц«, которая остановила мою суету, скрипт остался жить и продолжил выполнять своё предназначение. Картинка в заглавии взята именно с этой статьи (которую я сохранил в конце на всякий случай).

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

redir.php (v.2 «Pichtin»)

<?php
$_GET[‘url’] = preg_replace(«/(\.\.\/)/»,»»,$_GET[‘url’]);
$_GET[‘url’] = preg_replace(«/(\\x)/»,»»,$_GET[‘url’]);
$_GET[‘url’] = preg_replace(«/\\\$/»,’&#036;’,$_GET[‘url’]);
$_GET[‘url’] = preg_replace(«/\\\/»,’&#092;’,$_GET[‘url’]);
$_GET[‘url’] = str_replace(«|»,»&#124;»,$_GET[‘url’]);
$url = $_GET[‘url’];
header(«Location: $url»);
?>

И напоследок Николай Пихтин порекомендовал подредактировать предпоследнюю строчку скрипта к виду

header(«Location: http://$url»);

что позволит слегка укоротить ссылку и избавиться от второго http

http://koshcheev.ru/redir.php?url=wordpress.org


1. Этот скрипт может применяться и успешно применён на любых сайтах ,а не только на движке WordPress
2. Осталось придумать кнопочку в визуальный редактор, чтобы подставлял к ссылкам кусок кода со скриптом


Использование nofollow и noindex для внутренней перелинковки страниц

http://devaka.ru/articles/nofollow-and-noindex-now

Из-за возникновения в последнее время у владельцев сайтов вопросов, связанных с использованием тега noindex и атрибута ссылки nofollow при перелинковке страниц, следует разобраться в этих вещах немного подробнее.

Внутренней перелинковкой сайта можно назвать манипуляцию ссылками на его страницах, которыми, в плане веса, мы можем “сделать акцент” на определенные разделы своего ресурса. При перелинковке часто возникают такие случаи, когда ссылку необходимо показать пользователю, но от робота скрыть, либо указать ему как-то, чтобы он её не учитывал. Таким образом, мы смогли бы сделать акцент на наиболее важных ссылках.

Ранее, для решения этой задачи, при продвижении в Google использовали атрибут ссылки rel=nofollow, а для Яндекса тег <noindex>. Но со временем мир меняется и Google поменял алгоритм при пересчете весов страниц, а Яндекс стал учитывать атрибут nofollow (по аналогии с Google). Помимо этого, ссылки в noindex все же учитываются и могут появляться в панели для вебмастеров, не учитывается лишь их текст.

Если схематически представить работу noindex и nofollow, то это будет выглядеть примерно так… (как указано на картинке в начале статьи)

Ведра здесь отображают страницы,
дырки в ведре – наличие ссылки на странице,
струйки – перетекание веса от страницы-донора к странице-акцептору,
цифры обозначают примерный вес страниц.

Если раньше nofollow в Google и noindex в Яндексе (для ссылок) убирали “дырки в ведре” и акцептор не получал веса из этого “ведра”, то сейчас “дырки” остаются и передвигается лишь “ведро-акцептор”, чтобы в него не попала “струйка” веса…

Другими словами, использование noindex и nofollow не закрывает дыр вашего сайта и из-за них другие страницы получат меньше веса, чем могли бы. Поэтому, для решения поставленной в начале статьи задачи необходимо убирать ненужные ссылки со страниц совсем.

Отсюда возникает ряд вопросов, своими ответами на которые делюсь ниже.

Стоит ли использовать noindex и/или nofollow для внутренней перелинковки?

Не рекомендую! Для внутренней перелинковки они вам не помогут, лучше, в данном случае, от них отказаться (прямым текстом).

Откуда информация по noindex для Яндекса?

Вебмастерам Платон из службы поддержки отвечает, что <noindex> исключит из индексирования часть текста, но ссылки при этом будут проиндексированы. Это же подтверждается наличием подобных ссылок в панели для вебмастеров. Подробнее в Яндекс.Помощи

Зачем введены эти новшества в перерасчете веса поисковиками?

Возможно для того, чтобы корректно расчитывать веса страниц.

Как закрыть ссылку от поисковика другим способом?

Для яндекса пока работает JavaScript, но это ненадолго. Google поймёт любую ссылку, даже во Flash. Не старайтесь скрывать что-то от кого-то, просто делайте грамотную навигацию, юзабельную и без излишеств.

Как закрыть часть текстового контента от Google?

Noindex для гугла не работает, официальных тегов для этого Google не предоставляет. Контент, который необходимо закрыть, можете попробовать загружать аджаксом (ajax).

А вы используете nofollow или noindex для внутренних ссылок?

You may also like...

28 комментариев

  1. Нянька:

    За статью премного благодарен, все по делу, достаточно много кто это использует

  2. лёва:

    Спасибо, хорошая статья. Подписался.

  3. стэн:

    Спасибо за статью оказалась очень полезной.

  4. Екатерина:

    Сенкс. Интересно, и вообще полезный у Вас блог

  5. Веня:

    Не блог, а поток хороших новостей. Как у вас так получается?

  6. Shon:

    Давно искала эту информацию, спасибо.

  7. Добавил статью в блог их биржи статей, но получил отказ из за лишнего количества внешних ссылок. Если noindex не помогает, то что же делать? Скрипт и куда его вставить в Вордпрес

    • Алексей Кощеев:

      если нет доступа к корню сайта (по фтп или ещё как), то вставить не получится.

  8. Вячеслав:

    Алексей, Вы можете, если не сложно сбросить свой рабочий файл, а то при копирование отсюда, из текста — не работает, может быть из-за кавычек? Заранее, спасибо.

    • Алексей Кощеев:

      сбросил на мыло

      • Саша:

        Доброго дня! Алкесей у меня тоже код не срабатывает в Вордпрессе, вы можете на мыло скинуть рабочий или в татье подкорректировать?

        • Алексей Кощеев:

          Он не автоматический!!! Надо ручками ссылки в статьях подправлять, чтобы по итогу было типа

          http://koshcheev.ru/redir.php?url=http://wordpress.org

          • Саша:

            это я понял и сделал, ошибки выдает именно при выполнении. Этот код у меня хорошо работает:

            • Алексей Кощеев:

              Хммм… Вот прямо с файла скопировал

              < ?php $_GET['url'] = preg_replace("/(\.\.\/)/","",$_GET['url']); $_GET['url'] = preg_replace("/(\\x)/","",$_GET['url']); $_GET['url'] = preg_replace("/\\\$/",'$',$_GET['url']); $_GET['url'] = preg_replace("/\\\/",'\',$_GET['url']); $_GET['url'] = str_replace("|","|",$_GET['url']); $url = $_GET['url']; header("Location: $url"); ?>

  9. Сергей:

    Здравствуйте.
    В robots.txt запрет на индексацию redir.php нужен?

  10. Ольга:

    Здравствуйте, Алексей! Помогите. пожалуйста, мне, как особо одаренной в области сайтостроения, вставить ваш код, чтобы закрыть внешние ссылки. Я не могу найти файл redir.php. У меня в корневой папки сайта нет такого файла. Или я его не там ищу?

  11. Рабочий код

    обращаю внимание, что в ваше строке в конце было написано

    header(«Location: $url»);

    это ошибка.

  12. рабочий код

    $_GET[‘url’] = preg_replace(«/(\.\.\/)/»,»»,$_GET[‘url’]);
    $_GET[‘url’] = preg_replace(«/(\\x)/»,»»,$_GET[‘url’]);
    $_GET[‘url’] = preg_replace(«/\\\$/»,’$’,$_GET[‘url’]);
    $_GET[‘url’] = preg_replace(«/\\\/»,’\»,$_GET[‘url’]);
    $_GET[‘url’] = str_replace(«|»,»|»,$_GET[‘url’]);
    $url = $_GET[‘url’];
    header(‘Location: ‘.$url);

    • Алексей Кощеев:

      копирую как есть еще раз

      < ?php $_GET['url'] = preg_replace("/(\.\.\/)/","",$_GET['url']); $_GET['url'] = preg_replace("/(\\x)/","",$_GET['url']); $_GET['url'] = preg_replace("/\\\$/",'$',$_GET['url']); $_GET['url'] = preg_replace("/\\\/",'\',$_GET['url']); $_GET['url'] = str_replace("|","|",$_GET['url']); $url = $_GET['url']; header("Location: $url"); ?>

  13. Тезка, неужели Вы думаете, что гугл не в состоянии проанализировать редирект? Больше скажу, гугл по всем видимости уже давно не читает код, как это делали поисковики начала 2000ых годов, гугл по всей видимости «смотрит» так же как пользователь и прекрасно видит где ajax, где стилями что-то прикрыто и т.п. И я очень сомневаюсь, что за разного рода выкрутасы гугл, как и яша, плюсует сайт.

    • Алексей Кощеев:

      Всё течет, всё меняется. Яша меня уже пытался поиметь и хлопнул ТИЦ. Потом вернул через пару месяцев.

  14. Александр:

    Алексей *Disallow: /redir.php выдал ошибку в роботсе яндекс..что скажете откуда это там взялось

Добавить комментарий для ВячеславОтменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.