andronof / robotstxt
Parse robots.txt
Installs: 73
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/andronof/robotstxt
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2025-10-04 03:17:38 UTC
README
Библиотека для разбора файла robots.txt. Написаная на языке php. Основная задча библиотеки проверить любую ссылку, закрыта она от индексации или нет. Правила разбора используются из описания в справочнике Яндекс.
Правила разбора
- Разбирается все данные по ботам.
- Для каждого бота сортируются по длине ссылки. Если у нескольких правил длина одинаковая то предпочтение отдается разрешающему(allow) правилу.
- Правила содержащие пустые значения изменяются на противоположные.
Установка
Через composer:
{ "require": { "andronof/robotstxt": "dev-master" } }
и запустить команду
composer update
установится последний версия, но не обязательно стабильная или
composer require andronof/robotstxt
установится последняя стабильная версия
Использование
$robotstxt = new \Robotstxt(file_get_contents('http://yandex.ru/robots.txt'));
или
$robotstxt = new \Robotstxt(); $robotstxt->init(file_get_contents('http://yandex.ru/robots.txt'));
Проверка запрещена ли ссылка в robots.txt
if ($robotstxt->isAllowed('/msearch') ) { echo('Доступ разрешен'); } else { echo('Доступ запрещен'); }
Данная функция может принимать вторым параметром имя бота. Если не указан, то берутся правила для всех (*). Ссылку для проверки указывайте с начинающегося слеша (/).
Остальные функции
- isUserAgent($user_agent) — Проверяет есть ли правила для конкретного бота
- setUserAgent($user_agent = null) — Устанавливает правила какого бота использовать. Имеет больший приоритет чем если указывать бота в функции isAllowed. Если необходимо сбросить глобального бота передайте в эту функцию null.