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 для внутренних ссылок?

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

  • 12.05.2012 в 21:09
    Permalink

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

    Ответ
  • 15.05.2012 в 14:47
    Permalink

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

    Ответ
  • 16.05.2012 в 11:16
    Permalink

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

    Ответ
  • 22.05.2012 в 01:56
    Permalink

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

    Ответ
  • 26.05.2012 в 16:42
    Permalink

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

    Ответ
  • 04.06.2012 в 20:07
    Permalink

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

    Ответ
  • 01.02.2013 в 13:40
    Permalink

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

    Ответ
    • 04.02.2013 в 09:41
      Permalink

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

      Ответ
  • 10.02.2013 в 02:18
    Permalink

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

    Ответ
    • 10.02.2013 в 08:33
      Permalink

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

      Ответ
      • 06.06.2013 в 13:38
        Permalink

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

        Ответ
          • 06.06.2013 в 16:48
            Permalink

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

            Ответ
            • 07.06.2013 в 11:11
              Permalink

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

              < ?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"); ?>

              Ответ
  • 20.10.2013 в 02:14
    Permalink

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

    Ответ
    • 20.10.2013 в 14:09
      Permalink

      У меня стоит

      User-agent: *
      Disallow: /redir.php

      Ответ
      • 20.10.2013 в 17:56
        Permalink

        Благодарю,за быстрый ответ
        Сегодня займусь скриптом,роботсом,ссылками 🙂

        Ответ
  • 20.11.2014 в 17:21
    Permalink

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

    Ответ
    • 20.11.2014 в 19:35
      Permalink

      Его надо создать простым текстовым редактором

      Ответ
      • 20.11.2014 в 20:23
        Permalink

        Спасибо! Создала… Загрузила… Жду…

        Ответ
  • 20.12.2014 в 19:37
    Permalink

    Рабочий код

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

    header(«Location: $url»);

    это ошибка.

    Ответ
  • 20.12.2014 в 19:47
    Permalink

    рабочий код

    $_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);

    Ответ
    • 22.12.2014 в 10:29
      Permalink

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

      < ?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"); ?>

      Ответ
  • 05.06.2016 в 11:15
    Permalink

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

    Ответ
    • 05.06.2016 в 13:38
      Permalink

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

      Ответ
  • 29.04.2019 в 20:14
    Permalink

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

    Ответ

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

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

%d такие блоггеры, как:

Warning: realpath(): open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/home/a339/koshcheev.ru/) in /home/a339/koshcheev.ru/WWW/wp-includes/functions.php on line 2099