bopoda / robots-txt-parser

PHP class for parse all directives from robots.txt files according to specifications
http://robots.jeka.by
MIT License
44 stars 17 forks source link

Не обрабатывать громадные файлы robots.txt #2

Closed bopoda closed 7 years ago

bopoda commented 9 years ago

Согласно yandex спецификации https://help.yandex.ru/webmaster/controlling-robot/robots-txt.xml#exceptions robots.txt объёмом более 32кб не обрабатываются, т.е. тогда считается что все urls разрешены к индексации (аналогично когда robots.txt отсутствует).

bopoda commented 9 years ago

Google обрабатывает только первые 500кб файла robots.txt. Парсер будет парсить всё, что пришло на вход. Проверить размер файла можно ещё до вызова парсера, например, так:

$robotsContent = file_get_contents('http://example.com/');
if (strlen($robotsContent) > 500 * 1024) {
    return;
}
else {
    $parser = new RobotsTxtParser($robotsContent);
    $rules = $parser->getRules();
}

Таким образом большие robots.txt это не баг класса RobotsTxtParser.