andronof / robotstxt
Parse robots.txt
1.2.0
2018-11-05 14:33 UTC
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-11-01 22:49:42 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.