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

29.12.2008 Автор: Ksana Рубрика: Sape Отзывов 20

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

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

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

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

<?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);
    }
    ?>
  • Кладем этот файл в папку Capы.
  • В файл 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/sale_links, пишем адрес своего сайта в форме детектора продажных ссылок и радуемся тому, что все наши ссылки признаны естественными.

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

Скачать

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

Мой блог находят по следующим фразам:
Помощь по разблокировке
Для того чтобы снять блок и увидеть ссылку на закачку, подпишитесь на RSS канал блога.
Кликните по иконке
или введите свой e-mail в поле ниже:

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

Пользуйтесь кодом только из последних, опубликованных в RSS постов блога.

В постах, получаемых Вами через RSS, ссылки на закачку всегда открыты.

Это не Wordpress, но тоже интересно:


Метки текущей записи:
,

Понравилась статья?

Чтобы не пропустить новый пост подпишитесь на RSS-feed моего сайта!

Отзывов 20

  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...

Здесь вы можете написать отзыв

*