Запрет индексации сайта поисковыми ботами при помощи.htaccess
При активной разработке многие используют копии сайта в других доменах, для эксперементов или доработки сайтов (не на работающем же вносить изменения).
И вот многие сталкиваются с проблемой как отгородить поисковики от этого домена и притом оставить рабочую версию сайта
Проще всего и без вмешательств в код это сделать при помощи .htaccess
Создаем файл .htaccess и пишем в нем:
SetEnvIfNoCase User-Agent "^Yandex" search_bot
SetEnvIfNoCase User-Agent "^Yahoo" search_bot
SetEnvIfNoCase User-Agent "^igdeSpyder" search_bot
SetEnvIfNoCase User-Agent "^Robot" search_bot
SetEnvIfNoCase User-Agent "^Googlebot" search_bot
SetEnvIfNoCase User-Agent "^msnbot" search_bot
SetEnvIfNoCase User-Agent "^Aport" search_bot
SetEnvIfNoCase User-Agent "^Mail" search_bot
SetEnvIfNoCase User-Agent "^bot" search_bot
SetEnvIfNoCase User-Agent "^spider" search_bot
SetEnvIfNoCase User-Agent "^php" search_bot
SetEnvIfNoCase User-Agent "^Parser" search_bot
<Limit GET POST HEAD>
Order Allow,Deny
Allow from all
Deny from env=search_bot
</Limit>
для проверки работоспособности можно использовать следующий PHP-скрипт
<?php
if(empty($_POST)) {
?>
<form action="?" method="post">
<table><caption>Открываем сайт представлясь под любым User-Agent</caption>
<tr><td>User-Agent</td><td><input type="text" size="40" name="ua" value="GoogleBot"></td></tr>
<tr><td>Host</td><td><input type="text" size="40" name="host" value="www.exemple.com"></td></tr>
<tr><td>GET</td><td><input type="text" size="40" name="get" value="/index.php"></td></tr>
<tr><td> </td><td><input type="submit" value='Отправить'></td></tr>
</table>
</form>
<?php
} else {
echo "<b>Отправляем заголовки:</b><br>";
$host=$_POST['host'];
$get=$_POST['get'];
$ua=$_POST['ua'];
$headers=array(
'get'=>'GET '.$get.' HTTP/1.0',
'host'=>'host:'.$host,
'useragent'=>'User-Agent:'.$ua,
'cc'=>'Connection: close'
);
echo "<pre>"; print_r($headers); echo "</pre><br><br><b>Ответ сервера:</b><br>";
$out="";
$spy=fsockopen($host,80,$errno,$errstr,20);
if(!$spy) $page.="<font color=red>Ошибка создания сокета</font>";
elseif(fwrite($spy,implode("\r\n",$headers)."\r\n\r\n"))
while(!feof($spy))
$out.=fgets($spy,1024);
echo '<pre>'.htmlspecialchars($out).'</pre>';
}
?>
ну вот теперь Боты могут спать сколько вы пожелаете