Разбор 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 Войти через Яндекс

При нажатии кнопки Оплатить и загрузить, Вы подтверждаете согласие с условиями использования скрипта, описанными на этой странице.
Вы будете перенаправлены на страницу выбора способа оплаты, после оплаты 450 рублей (~5$) начнется загрузка файла.
Чтобы мы не потеряли Вашу оплату при потере соединения, укажите Ваш действующий
адрес электронной почты
Сомневаетесь? Вы всегда сможете задать вопросы и получить помощь.


.