Проверка вхождения в robots.txt на php.
В предыдущем примере robots_txt_razbor.php описано, как разобрать robots.txt и проверить на запрет URL для индексации. В этом примере я покажу, как с использованием регулярного выражения определить, запрещен ли переданный URL для индексации в robots.txt или нет.
$root='http://htmlweb.ru/';
$res=file_get_contents($root.'robots.txt');
preg_match_all("/Disallow: (.*?)\s\n/imU", $res, $matches);
$robots=$matches[1];
// функция проверки запрета индексации переданного URL
// Возвращает true, если переданный URL запрещен к индексации
function is_robots($f){
global $robots, $root;
$f=substr($f, strlen($root)-1); // эта строка удалает домен из переданного URL
// цикл по всем строкам Disallow
foreach($robots as $item) {
$item=str_replace('*','.*',str_replace('+','\+',str_replace('.','\.',$item)));
if(preg_match('/^'.$item.'/',$f))return true; // $-привязка к концу сработает автоматически
}
return false;
}
Смотрите также:
- Разбор robots.txt и проверка запрета индексации страницы: сервис и API
- Пример на PHP разбора robots.txt и проверка запрета индексации страницы
- Создание Robots.txt
- Анализ сайта
- Создание карты сайта
.
Прокомментировать/Отблагодарить