Как защитить свой сайт от обнаружения на нём продажных ссылок?

Автор:
(Людмила Лунева)

Веб-дизайнер и разработчик сайтов на wordpress

Как известно, поисковики легко обнаруживают все «продажные» ссылки на любом сайте и если таких ссылок много, этому сайту прямая дорога в баню, то бишь, в бан.

Осознав сей прискорбный факт, я озаботилась тем, как спрятать «продажные» ссылки от Яндекса.

Как защитить свой сайт
Решение нашлось на блоге http://venality.name/safe.htm.
Автор предложил способ защиты ссылок для сайтов на движке LastoBlog и LastoSplo при помощи простого дополнения к коду сапы.

Поскольку мои сайты работают на WordPress, код пришлось немного переделать.
Для wordpress он выглядит так:

<?php
     global $sape;
     if (!defined('_SAPE_USER')){
     define('_SAPE_USER', 'ваш секретный код');
     }
     require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape_venality_name.php');
     $sape_venality_name['charset']='UTF-8';
     $o['host'] = 'имя сайта без http:// и слеша в конце';
     $sape = new SAPE_client($sape_venality_name);
     unset($o);
?>

Кроме вызова скрипта перед запуском файла с кодом Сапы:

require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape_venality_name.php');
$sape = new SAPE_client($sape_venality_name);

здесь добавлена кодировка UTF-8:

 $sape_venality_name['charset']='UTF-8';

и указан хост, на случай проблем с отображением ссылок:

$o['host'] = 'имя сайта без http://';

Итак, ход действий следующий:

  • Создаем файл с именем sape_venality_name.php.
  • Прописываем в нем этот код:
  • <?php
    $sape_venality_name=array();
    # Документы, работающие с глобалом GET:
     $allowed_pages=array("key.php","ping","remoute");
    # Разрешённые переменные в УРле иных документов:
    $allowed_var=array("");
    $tm=explode("?",$_SERVER['REQUEST_URI']);
    if (isset($tm[1]) and $tm[0]==str_replace($allowed_pages,"",$tm[0])) {
       $k=preg_match_all("/(.*)=(.*)&/Uis",$tm[1]."&",$am);
       $bm=array();
       for ($i=0; $i < $k; $i++) {
          if ($am[2][$i]=="" or !in_array($am[1][$i],$allowed_var))continue;
          $bm[]=$am[1][$i]."=".$am[2][$i];
       }
       $tm[1]=implode("&",$bm);
       $sape_venality_name['request_uri']=
       $_SERVER['REQUEST_URI']=($tm[1]=="") ? $tm[0]: implode("?",$tm);
    }
    ?>
  • Кладем этот файл в папку Caпы.
  • В файл header.php между тегами
    </head> и <body>

    вставляем следующий код:

  • <?php
         global $sape;
         if (!defined('_SAPE_USER')){
         define('_SAPE_USER', 'ваш секретный код');
         }
         require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
         require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape_venality_name.php');
         $sape_venality_name['charset']='UTF-8';
         $o['host'] = 'имя сайта без http:// и слеша в конце';
         $sape = new SAPE_client($sape_venality_name);
         unset($o);
    ?>
  • Сохраняемся.

Поскольку с сайта http://pr-cy.ru, на котором ранее был детектор продажных ссылок, сейчас его убрали, проверить, как работает код теперь, к сожалению, можно только опытным путем - т.е. по реакции на ваш сайт поисковой системы.
Если сайт во всех других отношениях белый и пушистый, то реакция Яндекса должна быть положительной.

P.S. Для сообразительных:
Если у вас не работает приведенный выше код, возможно вы допустили ошибку при его копировании.

В таком случае скачайте файл с кодом по ссылке ↓

Уже скачали 378 раз(а)

Открыть ↓

P.P.S. Для самых сообразительных:
В этом посте я рассказываю только о том, как защитить свой сайт от обнаружения на нем "продажных" ссылок. Как установить код Sape на сайт описано здесь.

Хотите получать сообщения о скидочных акциях,
новых постах и темах для wordpress?
  1. не получилось ошибки повылазили

  2. Убери пробелы в коде < ?php. Я поставила их потому, что без них код не отображается на странице. А при вставке в файл их нужно убрать.

  3. Помогите пожалуйста, у меня появилась ошибка, как ее исправить? Ошибка указывает на эту строку:
    require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
    А это сама ошибка:
    Warning: require_once(/home/*****//sape.php) [function.require-once]: failed to open stream: No such file or directory in /home/*****/header.php on line 29

    Fatal error: require_once() [function.require]: Failed opening required '/home/*****//sape.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/*****/header.php on line 29

  4. 1. Игорь, уберите пробел < ?php и проверьте, где у вас находится папка sape - должна лежать в корне сайта. 2. Установите права 777 на эту папку.

  5. Пробел убрал, папка sape находится в корне сайта, права на папку установил правильно, но ошибка все равно осталась. Незнаю что делать, уже все перепробовал.

  6. Это может быть связано с темой. Мне как то попалась одна странная тема, на которой невозможно было установить этот код. Я поменяла тему и все нормально установилось - больше ничего не смогу предложить, не видя вашей файлов вашей темы.

  7. Спасибо большое, попробую разобраться...

  8. Кто пробовал, работает ли данная фишка?

  9. Вот здесь Защищаем код сапы на wordpress подтверждают, что указанный код проверили и это работает.

    Спасибо автору за ссылку на мой сайт.
    Хотелось бы только знать, что это за "некоторые важные детали без которых все не пашет"?

    Код, который опубликовал ETNO в указаноом посте один в один с тем, который опубликован на моем блоге.
    И который вполне пашет на двух десятках моих сайтов.

  10. Подскажите пожалуйста у меня стоит следующий код:

    return_links(); ?>
    $o['charset'] = 'UTF-8';
    $sape = new SAPE_client($o);
    ($sape_venality_name);
    unset($o);
    ? >
    return_links(); ?>

    А как быть с контекстными ссылками, таким кодом они не размещаются, что нужно в нем поправить?

  11. Юрий, этот код выводит только обычные ссылки.
    Для вывода контекстных ссылок нужен плагин maxsite-sape.
    Поищи на сайте автора - http://maxsite.org/.

  12. Здравствуйте!
    С недавнего времени использую этот метод.
    На долго ли такой способ продливает жизнь ГС?

  13. У меня ни один сайт с этим кодом не был забанен.
    Я не утверждаю, что и у вас так будет. Это как повезет.
    Но почему бы не увеличить шансы на долгожительство для своих сайтов?

  14. А возможно ли так же сделать в плагине isape?

    • /)ima, я не знакома с этим плагином.
      Но, поскольку приведенный мною код не имеет отношения к плагинам, а вставляется непосредственно в файлы темы, думаю, что их можно совместить.

  15. У меня отображаются на всех страницах ссылки с главной а остальные нет

  16. Интересно, я испробовал этот вариант, но у меня, как и у Val, на внутряках выводятся те же ссылки, что и на Главной странице. Какие есть варианты?

  17. Вариант у меня только один. Попробуйте скачать файл с кодом и вставьте этот код в файл header.php.

    Возможно, при копировании кода с этого поста была допущена какая то ошибка - например, какой-то пробел лишний или другая мелочь, которая дает ошибку.

  18. самый простой способ-в сам код ставишь - list($_SERVER ['REQUEST_URI'] ,)=preg_split("/?/",$_SERVER['REQUEST_URI'],2); - и все проблемы, не в sape.php

  19. Плохо быть неграмотным. Читаю комментарии, кручу-верчу этот код, а толку нет - видать к компьютеру нужно только с топором подходить. А потом садиться учить PHP...

  20. Огромное спасибо, вроде всё работает!
    Я уже четыре дня пытался установить Sape на свой сайт и ничего не получалось, а прочитав Ваши посты заработало, теперь мой сайт на модерации, надеюсь всё будет хорошо! А вот по поводу Вашего последнего пункта - "Затем идем на http://pr-cy.ru/sale_links, пишем адрес своего сайта в форме детектора продажных ссылок и радуемся тому, что все наши ссылки признаны естественными." - эта ссылка не рабочая!

  21. Спасибо, Ksana, всё установила, ссылки отображаются нормально, только вот как теперь проверить - ссылка _http://pr-cy.ru/sale_links ведёт на ошибку 404, а RDS-бар в мозиле всё равно указывает, что сайт продаёт ссылки.

    • Проверить работоспособность кода теперь можно только опытным путем.
      Наличие продажных ссылок на сайте можно определить разными способами.
      В приведенном мной коде используется один способ проверки.
      По утверждению, автора скрипта sape_venality_name.php, это тот способ, который использует поисковая система Яндекс.

      RDS-бар, по-видимому, использует другой способ проверки.

  22. Сделал все по инструкции, не могу понять только, ссылки должны видиться мне как посетителю?

    У меня ссылок не видно, но захожу в сапу смотрю статус ссылки ОК. странно как-то

    • На след. день все еррор =)

  23. аналогично. установил все но ссылок не видно. и в ерроры не выпадают.

  24. А у меня сайт не на движке, не подскажете, как мне скрыть ссылки от поисковиков? У меня все файлы сайта php (с поддержкой php)

    • Попробуйте использовать указанный в посте код.
      Возможно, он будет работать и на вашем сайте.
      Собственно, в этом коде нет ничего особого, что позволяет его использовать только для WordPress.
      Только укажите в нем кодировку вашего сайта.

  25. А что такое "продажные ссылки"? Как узнать, успела ли я обзавестись этим добром? : )

    • Это ссылки, продаваемые вами через биржи автоматической продажи ссылок. Если вы их не продавали, значит таких ссылок на сайте нет.

    • Детектор продажных ссылок http://www.venality.ru/

  26. Сейчас март 2013 года. Актуальный ли данный метод до сих пор?

    • Я давно не продаю ссылки, поэтому не знаю.

      Вы можете проверить сами и написать об этом.

Внимание: все отзывы проходят модерацию.

Топ комментаторов
АватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватар
Самые комментируемые записи
Самые читаемые записи

Для того чтобы снять блок и увидеть скрытый контент или ссылку на закачку, подпишитесь на обновления блога.

В каждом письме публикуется код разблокировки.

Пользуйтесь кодом только из последних, пришедших вам на Email, писем. Закрыть »

Постов 197
Отзывов 4442