Проверка запрета индексации в метатегах

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

<meta name=»robots» content=»noindex,follow» />


в принципе в проверке ничего сложного нет пишем регулярку для проверки наличия на странице этого тега и вуаля

preg_match(‘/<meta.*?(noindex.*?)/>/’,$content,$meta);

проверяем есть что в результате в переменной $meta[0] и определяемся закрыта страница от индексации или нет.  Сам скрипт целиком такой

function get__page( $url )
{
$uagent = «Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8″;

$ch = curl_init( $url );

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  // возвращает веб-страницу
curl_setopt($ch, CURLOPT_REFERER,»http://google.com»);
curl_setopt($ch, CURLOPT_HEADER, 0);           // не возвращает заголовки
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);   // переходит по редиректам
curl_setopt($ch, CURLOPT_ENCODING, «»);        // обрабатывает все кодировки
curl_setopt($ch, CURLOPT_USERAGENT, $uagent);  // useragent
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения
curl_setopt($ch, CURLOPT_TIMEOUT, 120);        // таймаут ответа
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);       // останавливаться после 10-ого редиректа

$content = curl_exec( $ch );
$err     = curl_errno( $ch );
$errmsg  = curl_error( $ch );
$header  = curl_getinfo( $ch );
curl_close( $ch );

$header['errno']   = $err;
$header['errmsg']  = $errmsg;
$header['content'] = $content;
return $header;
}

$url1 = ‘http:///tag/skript-dlya-peremeshivaniya-php/’;
$result=( $url1 );

//print_r($result);

$content = $result['content'];
//echo $content;  <meta name=»robots» content=»noindex,follow» />

preg_match(‘/<meta.*?(noindex.*?)/>/’,$content,$meta);
//print_r($meta);
if(isset($meta[0][0])) echo ‘закрыто от индексации в мета тегах’;

Leave a Reply

You must be logged in to post a comment.