Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Разбор Robots.txt на PHP
Этот пример выделяет из файла robots.txt все страницы, запрещенные к индексации и заносит их в массив robots. Переданный url проверяется на соотвествие шаблону Disallow.
$r='http://htmlweb.ru/'; // домен для проверки
// читаю и разбираю robots.txt
$curl = curl_init($r.'robots.txt');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1 ); // следовать любому "Location: " header
curl_setopt($curl, CURLOPT_TIMEOUT, 20); // максимальное время в секундах, для работы CURL-функций.
$res = curl_exec($curl);
if (!curl_error($curl)){
preg_match_all("/Disallow: (.*?)\s\n/imU", $res, $matches);
//print_r($matches);
$robots=$matches[1];
//print_r($robots);
echo "<h3>Страницы, запрещенные к индексации в Robots.txt</h3>";
foreach($robots as $item) echo "<br>\n".$item;
}
curl_close($curl);
Для проверки принадлежности конкретного URL шаблону, содержащемуся в секции Disallow файла robots.txt используйте следующий код:
//$site_short=substr($full_url, strlen($r)-1); // для проверки нужен относительный url начинающийся с '/'
if( in_array($site_short, $robots) || in_array(dirname($site_short).'/', $robots)) return true;
else return false;
Для облегчения и ускорения работы, реализованный здесь скрипт кеширует считанный robots.txt на 3 дня.
Этот упрощенный код проверки не учитывает расширенные возможности использования в robots.txt шаблонных символов '*' и '$' и не удаляет комментарии из строки. Пример проверки вхождения URL в robots.txt с использованием регулярного выражения: здесь.
Всего за 450 рублей (~5$) Вы можете приобрести полный готовый пример разбора robots.txt. Код скрипта реализован на PHP, полностью открытый и не использует никаких дополнительных библиотек.
Соглашение по использованию платной версии:
- Вы можете использовать полученный код в любых своих разработках, вы не обязаны указывать ссылку на источник.
- Вы НЕ имеете права перепродавать её, размещать в свободном или ограниченном доступе, а также публиковать в любом виде.
- Все остальные права сохраняются за автором.
Регистрация Войти Войти через VK Войти через FB Войти через Google Войти через Яндекс
.
Прокомментировать/Отблагодарить