Закрыть сайт всем кроме робота яндекса, возможно?

Тема в разделе "Русские поисковики", создана пользователем carlitoz, 18 апр 2009.

Статус темы:
Закрыта.
  1. carlitoz

    carlitoz

    Регистр.:
    22 мар 2008
    Сообщения:
    353
    Симпатии:
    54
    Собственно сабж. Возможно ли закрыть всем доступ кроме роботов яндекса? То есть при заходе на страницу пользователь ее не видел с помощью скрипта какого-нибудь.. например, скрипт определяет, если это браузер, то выводиться страница "извините страница перемещена", а если яндекс, ну и можно гугл, то страница доступна?
     
  2. Crucifer

    Crucifer

    Регистр.:
    6 фев 2007
    Сообщения:
    517
    Симпатии:
    249
    Это называется клоакинг :)
    За это тебя все поисковики забанят, кто то раньше кто то позже. Очень несоветую.
     
  3. alexz15

    alexz15

    Регистр.:
    3 окт 2008
    Сообщения:
    394
    Симпатии:
    189
    PHP:
    <?php
    /* -------------- Клоакинг по User-Agent -------------- */
    // Определение поискового робота

    $userAgent strtolower($_SERVER['HTTP_USER_AGENT']);

    if (
    substr_count($userAgent'crawler') > 0$isCrawler 1;
    else if (
    substr_count($userAgent'yandex') > 0$isCrawler 1;
    else if (
    substr_count($userAgent'webalta') > 0$isCrawler 1;
    else if (
    substr_count($userAgent'mail.ru') > 0$isCrawler 1;
    else if (
    substr_count($userAgent'googlebot') > 0$isCrawler 1;
    else if (
    substr_count($userAgent'aport') > 0$isCrawler 1;
    else if (
    substr_count($userAgent'rambler') > 0$isCrawler 1;
    else if (
    substr_count($userAgent'yahoo') > 0$isCrawler 1;
    else if (
    substr_count($userAgent'stackrambler') > 0$isCrawler 1;
    else if (
    substr_count($userAgent'search') > 0$isCrawler 1;
    else if (
    substr_count($userAgent'indexer') > 0$isCrawler 1;
    else if (
    substr_count($userAgent'cuill.com') > 0$isCrawler 1;

    if (
    $isCrawler)include "doorway.html"; else include "index.html";

    ?>
    PHP:
    <?php
    /* -------------- Клоакинг по IP-адресам -------------- */
    $isCrawler 0;

    // Определение IP пользователя

    $strRemoteIP $_SERVER['REMOTE_ADDR'];
    if (!
    $strRemoteIP) {
    $strRemoteIP urldecode(getenv('HTTP_CLIENTIP'));
    }
    if (
    getenv('HTTP_X_FORWARDED_FOR')) {
    $strIP getenv('HTTP_X_FORWARDED_FOR');
    }
    elseif (
    getenv('HTTP_X_FORWARDED')) {
    $strIP getenv('HTTP_X_FORWARDED');
    }
    elseif (
    getenv('HTTP_FORWARDED_FOR')) {
    $strIP getenv('HTTP_FORWARDED_FOR');
    }
    elseif (
    getenv('HTTP_FORWARDED')) {
    $strIP getenv('HTTP_FORWARDED');
    } else {
    $strIP $_SERVER['REMOTE_ADDR'];
    }
    if (
    $strRemoteIP != $strIP) {
    $strIP $strRemoteIP ', ' $strIP;
    }

    // Загрузка базы IP-адресов
    $ipbase file("iplist.txt");

    // Проверка
    foreach ($ipbase as $ip) {
    // Вот он - робот!
    if (eregi("$strIP",$ip)) {$isCrawler 1;}
    }

    if (
    $isCrawler) include "doorway.html"; else include "index.html";
    ?>
     
    carlitoz нравится это.
  4. user99

    user99 Постоялец

    Регистр.:
    13 янв 2008
    Сообщения:
    127
    Симпатии:
    12
    Через .htaccess

    RewriteEngine On

    RewriteCond %{HTTP_USER_AGENT} !^yandex.* [NC,OR]

    RewriteCond %{HTTP_USER_AGENT} !^googlebot.* [NC,OR]

    RewriteCond %{HTTP_USER_AGENT} !^.*gaisbot.* [NC,OR]

    RewriteCond %{HTTP_USER_AGENT} !^rambler.* [NC,OR]

    RewriteCond %{HTTP_USER_AGENT} !^aport.* [NC,OR]

    RewriteCond %{HTTP_USER_AGENT} !^metacrawler.* [NC,OR]

    RewriteCond %{HTTP_USER_AGENT} !^msnbot.* [NC,OR]

    RewriteCond %{HTTP_USER_AGENT} !^.*crawler.* [NC,OR]

    RewriteRule ^/$ - [L,R]

    Поисковикам открыть, пользователям закрыт. Можно только yandex оставить если есть желание...
     
  5. ant1-pa

    ant1-pa

    Регистр.:
    3 ноя 2007
    Сообщения:
    448
    Симпатии:
    95
    зачем такие хитрые методы, проще просто закрыть от индексации для робота гугла роботсом
     
  6. carlitoz

    carlitoz

    Регистр.:
    22 мар 2008
    Сообщения:
    353
    Симпатии:
    54
    опа, раньше слышал про клоакинг, но не знал, что за зверь..хм.. вот с банном это не то что хотелось бы:(

    ant1-pa, мне нужно боту яндекса скормить огромную пачку ссылок. Думал сделать несколько страничек на моих СДЛ, чтоб пользователи вообще не вкурсе были, что есть такие страницы. Так как сайты на WP, думал пустить новую запись, которая автоматически пингуется на список урлов. Ну вобщем, не вариант..(
     
  7. Anu

    Anu Постоялец

    Регистр.:
    19 окт 2007
    Сообщения:
    137
    Симпатии:
    13
    Сделайте проще - создайте страницу, но не делайте на нее никаких ссылок со своего сайта, добавьте страницу в соц. сети + руками в addurl яндекса, проиндексирует - удалите и все. Пользователи не узнают :)
     
  8. chibit

    chibit Life sucks.

    Регистр.:
    4 дек 2007
    Сообщения:
    420
    Симпатии:
    285
    Гыыы... Есть способ намного проще: узнаем IP поисковиков (поисковика) и баним все диапозоны, кроме этих IP. Как сделать есть много статей, гугли
     
  9. alexz15

    alexz15

    Регистр.:
    3 окт 2008
    Сообщения:
    394
    Симпатии:
    189
    что и делает мой второй пример. IP-ы загружаются с файла iplist.txt. если бот - doorway.html, если юзер - index.html
     
  10. carlitoz

    carlitoz

    Регистр.:
    22 мар 2008
    Сообщения:
    353
    Симпатии:
    54
    за такой способ в бан большой вариант попасть?
     
Статус темы:
Закрыта.