Проверить файл роботс тхт. Директивы Disallow и Allow

24.06.2020

Правильно составленный robots.txt помогает правильно индексировать сайт и избавляет от дублей контента, которые есть в любой CMS. Я знаю, что многих авторов просто пугает необходимость лезть куда-то в корневые папки блога и что-то менять в «служебных» файлах. Но этот ложный страх нужно перебороть. Поверьте: ваш блог не «рухнет», даже если вы поместите в robots.txt собственный портрет (т.е. испортите его!). Зато, любые благотворные изменения повысят его статус в глазах поисковых систем.

Что такое файл robots.txt

Я не буду изображать эксперта, мучая вас терминами. Просто поделюсь своим, довольно простым, пониманием функций этого файла:

robots.txt – это инструкция, дорожная карта для роботов поисковых систем, посещающих наш блог с инспекцией. Нам только нужно указать им, какой контент является, так сказать, служебным, а какой – то самое ценное содержание, ради которого к нам стремятся (или должны стремиться) читатели. И именно эта часть контента должна индексироваться и попадать в поисковую выдачу!

А что случается, если мы не заботимся о подобных инструкциях? – Индексируется все подряд. И поскольку пути алгоритмов поисковых систем, практически, неисповедимы, то анонс статьи, открывающийся по адресу архива, может показаться Яндексу или Гуглу более релевантным, чем полный текст статьи, находящийся по другому адресу. И посетитель, заглянув на блог, увидит совсем не то, чего хотел и чего хотели бы вы: не пост, а списки всех статей месяца… Итог ясен – скорее всего, он уйдет.

Хотя есть примеры сайтов, у которых робоста нет вообще, но они занимают приличные позиции в поисковой выдаче, но это конечно исключение, а не правило.

Из чего состоит файл robots.txt

И здесь мне не хочется заниматься рерайтом. Существуют довольно понятные объяснения из первых уст – например, в разделе помощи Яндекса . Очень советую прочитать их и не один раз. Но я попытаюсь помочь вам преодолеть первую оторопь перед обилием терминов, описав общую структуру файла robots.txt.

В самом верху, в начале robots.txt, мы объявляем, для кого пишем инструкцию:

User-agent: Yandex

Конечно, у каждого уважающего себя поисковика есть множество роботов – поименованных и безымянных. Пока вы не отточили свое мастерство создания robots.txt, лучше придерживаться простоты и возможных обобщений. Поэтому предлагаю отдать должное Яндексу, а всех остальных объединить, прописав общее правило:

User-Agent: * - это все, любые, роботы

Также, мы указываем главное зеркало сайта – тот адрес, который будет участвовать в поиске. Это особенно актуально, если у вас несколько зеркал. Еще можно указать и некоторые другие параметры. Но самым важным для нас, все-таки, является возможность закрыть от индексации служебные части блога.

Вот примеры запрещения индексировать:

Disallow: /cgi-bin* - файлы скриптов;

Disallow: /wp-admin* - административную консоль;

Disallow: /wp-includes* - служебные папки;

Disallow: /wp-content/plugins* - служебные папки;

Disallow: /wp-content/cache* - служебные папки;

Disallow: /wp-content/themes* - служебные папки;

Disallow: */feed

Disallow: /comments* - комментарии;

Disallow: */comments

Disallow: /*/?replytocom=* - ответы на комментарии

Disallow: /tag/* - метки

Disallow: /archive/* - архивы

Disallow: /category/* - рубрики

Как создать собственный файл robots.txt

Самый легкий и очевидный путь – найти пример готового файла robots.txt на каком-нибудь блоге и торжественно переписать его себе. Хорошо, если при этом авторы не забывают заменить адрес блога-примера на адрес своего детища.

Роботс любого сайта доступен по адресу:

https://сайт/robots.txt

Я тоже поступал подобным образом и не чувствую себя в праве отговаривать вас. Единственное, о чем очень прошу: разберитесь, что написано в копируемом файле robots.txt! Используйте помощь Яндекса, любые другие источники информации – расшифруйте все строки. Тогда, наверняка, вы увидите, что некоторые правила не подходят для вашего блога, а каких-то правил, наоборот, не хватает.

Теперь посмотрим, как проверить корректность и эффективность нашего файла robots.txt.

Поскольку все, что связано с файлом robots.txt, может поначалу казаться слишком непонятным и даже опасным - я хочу показать вам простой и понятный инструмент его проверки. Это очевидный путь, который поможет вам не просто проверить, но и выверить ваш robots.txt, дополнив его всеми необходимыми инструкциями и убедившись, что роботы поисковых систем понимают, чего вы от них хотите.

Проверка файла robots.txt в Яндексе

Яндекс-вебмастер позволяет нам узнать отношение поискового робота этой системы к нашему творению. Для этого, очевидно, нужно открыть сведения, относящиеся к блогу и:

  1. перейти по вкладке Инструменты-> Анализ robots.txt
  2. нажмите кнопку «загрузить» и будем надеяться, что разместили файл robots.txt там, где нужно и робот его найдет:) (если не найдет - проверьте, где находится ваш файл: он должен быть в корне блога, там, где лежат папки wp-admin, wp-includes и т.д., а ниже отдельные файлы - среди них должен быть robots.txt)
  3. кликаем на «проверить».

Но самая важная информация находится в соседней вкладке - «Используемые секции»! Ведь, собственно, нам важно, чтобы робот понимал основную часть информации - а все остальное пусть пропускает:

На примере мы видим, что Яндекс понимает все, что касается его робота (строки с 1 по 15 и 32) - вот и прекрасно!

Проверка файла robots.txt в Гугле

У Гугл, тоже, есть инструмент проверки, который покажет нам, как эта поисковая система видит (или не видит) наш robots.txt:

  1. В инструментах для вебмастеров от Гугл (где ваш блог тоже обязательно должен быть зарегистрирован) есть свой сервис для проверки файла robots.txt. Он находится во вкладке Сканирование
  2. Найдя файл, система показывает анализирует его и выдает информацию об ошибках. Все просто.

На что стоит обратить внимание, анализируя файл robots.txt

Мы недаром рассмотрели инструменты анализа от двух, наиболее важных поисковых систем - Яндекс и Гугл. Ведь нам нужно убедиться, что каждая из них прочитает рекомендации, данные нами в robots.txt.

В примерах, приведенных здесь, можно увидеть, что Яндекс понимает инструкции, которые мы оставили для его робота и игнорирует все остальные (хотя везде написано одно и то же, только директива User-agent: - различная:)))

Важно понимать, что любые изменения в robots.txt нужно производить непосредственно с тем файлом, который находится у вас в корневой папке блога. То есть, вам нужно открыть его в любом блокноте, чтобы переписать, удалить, добавить какие-либо строки. Потом его нужно сохранить обратно в корень сайта и заново проверить реакцию на изменения поисковых систем.

Понять, что в нем написано, что следует добавить - нетрудно. А заниматься продвижением блога, не настроив файл robots.txt как следует (так, как нужно именно вам!) - усложнять себе задачу.

Карта сайта, значительно упрощает индексацию вашего блога. Карта сайта должна быть в обязательном порядке у каждого сайта и блога. Но также на каждом сайте и блоге должен быть файл robots. txt . Файл robots.txt содержит свод инструкций для поисковых роботов. Можно сказать, — правила поведения поисковых роботов на вашем блоге. А также в данном файле содержится путь к карте сайта вашего блога. И, по сути, при правильно составленном файле robots.txt поисковый робот не тратит драгоценное время на поиск карты сайта и индексацию не нужных файлов.

Что же из себя представляет файл robots.txt?

robots.txt – это текстовый файл, может быть создан в обычном «блокноте», расположенный в корне вашего блога, содержащий инструкции для поисковых роботов.

Эти инструкции ограничивают поисковых роботов от беспорядочной индексации всех файлов вашего бога, и нацеливают на индексацию именно тех страниц, которым следует попасть в поисковую выдачу.

С помощью данного файла, вы можете запретить индексацию файлов движка WordPress. Или, скажем, секретного раздела вашего блога. Вы можете указать путь к карте Вашего блога и главное зеркало вашего блога. Здесь я имею ввиду, ваше доменное имя с www и без www.

Индексация сайта с robots.txt и без

Данный скриншот, наглядно показывает, как файл robots.txt запрещает индексацию определённых папок на сайте. Без файла, роботу доступно всё на вашем сайте.

Основные директивы файла robots.txt

Для того чтобы разобраться с инструкциями, которые содержит файл robots.txt нужно разобраться с основными командами (директивы).

User-agent – данная команда обозначает доступ роботам к вашему сайту. Используя эту директиву можно создать инструкции индивидуально под каждого робота.

User-agent: Yandex – правила для робота Яндекс

User-agent: * — правила для всех роботов

Disallow и Allow – директивы запрета и разрешения. С помощью директивы Disallow запрещается индексация а с помощью Allow разрешается.

Пример запрета:

User-agent: *

Disallow: / — запрет ко всему сайта.

User-agent: Yandex

Disallow: /admin – запрет роботу Яндекса к страницам лежащим в папке admin.

Пример разрешения:

User-agent: *

Allow: /photo

Disallow: / — запрет ко всему сайту, кроме страниц находящихся в папке photo.

Примечание! директива Disallow: без параметра разрешает всё, а директива Allow: без параметра запрещает всё. И директивы Allow без Disallow не должно быть.

Sitemap – указывает путь к карте сайта в формате xml.

Sitemap: https://сайт/sitemap.xml.gz

Sitemap: https://сайт/sitemap.xml

Host – директива определяет главное зеркало Вашего блога. Считается, что данная директива прописывается только для роботов Яндекса. Данную директиву следует указывать в самом конце файла robots.txt.

User-agent: Yandex

Disallow: /wp-includes

Host: сайт

Примечание! адрес главного зеркала указывается без указания протокола передачи гипертекста (http://).

Как создать robots.txt

Теперь, когда мы познакомились с основными командами файла robots.txt можно приступать к созданию нашего файла. Для того чтобы создать свой файл robots.txt с вашими индивидуальными настройками, вам необходимо знать структуру вашего блога.

Мы рассмотрим создание стандартного (универсального) файла robots.txt для блога на WordPress. Вы всегда сможете дополнить его своими настройками.

Итак, приступаем. Нам понадобится обычный «блокнот», который есть в каждой операционной системе Windows. Или TextEdit в MacOS.

Открываем новый документ и вставляем в него вот эти команды:

User-agent: * Disallow: Sitemap: https://сайт/sitemap.xml.gz Sitemap: https://сайт/sitemap.xml User-agent: Yandex Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /xmlrpc.php Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /wp-content/languages Disallow: /category/*/* Disallow: /trackback Disallow: */trackback Disallow: */*/trackback Disallow: /tag/ Disallow: /feed/ Disallow: */*/feed/*/ Disallow: */feed Disallow: */*/feed Disallow: /?feed= Disallow: /*?* Disallow: /?s= Host: сайт

Не забудьте заменить параметры директив Sitemap и Host на свои.

Важно! при написании команд, допускается лишь один пробел. Между директивой и параметром. Ни в коем случае не делайте пробелов после параметра или просто где попало.

Пример : Disallow:<пробел>/feed/

Данный пример файла robots.txt универсален и подходит под любой блог на WordPress с ЧПУ адресами url. О том что такое ЧПУ читайте . Если же Вы не настраивали ЧПУ, рекомендую из предложенного файла удалить Disallow: /*?* Disallow: /?s=

Загрузка файла robots.txt на сервер

Лучшим способом для такого рода манипуляций является FTP соединение. О том как настроить FTP соединение для TotolCommander читайте . Или же Вы можете использовать файловый менеджер на Вашем хостинге.

Я воспользуюсь FTP соединением на TotolCommander.

Сеть > Соединится с FTP сервером.

Выбрать нужное соединение и нажимаем кнопку «Соединиться».

Открываем корень блога и копируем наш файл robots.txt, нажав клавишу F5.

Копирование robots.txt на сервер

Вот теперь Ваш файл robots.txt будет исполнять надлежащие ему функции. Но я всё же рекомендую провести анализ robots.txt, чтобы удостоверится в отсутствии ошибок.

Для этого Вам потребуется войти в кабинет вебмастера Яндекс или Google. Рассмотрим примере Яндекс. Здесь можно провести анализ даже не подтверждая прав на сайт. Вам достаточно иметь почтовый ящик на Яндекс.

Открываем кабинет Яндекс.вебмастер.

На главной странице кабинета вебмастер, открываем ссылку «Проверить robots. txt» .

Для анализа потребуется ввести url адрес вашего блога и нажать кнопку «Загрузить robots. txt с сайта ». Как только файл будет загружен нажимаем кнопку «Проверить».

Отсутствие предупреждающих записей, свидетельствует о правильности создания файла robots.txt.

Ниже будет представлен результат. Где ясно и понятно какие материалы разрешены для показа поисковым роботам, а какие запрещены.

Результат анализа файла robots.txt

Здесь же вы можете вносить изменения в robots.txt и экспериментировать до получения нужного вам результата. Но помните, файл расположенный на вашем блоге при этом не меняется. Для этого вам потребуется полученный здесь результат скопировать в блокнот, сохранить как robots.txt и скопировать на Вас блог.

Кстати, если вам интересно как выглядит файл robots.txt на чьём-то блоге, вы может с лёгкостью его посмотреть. Для этого к адресу сайта нужно просто добавить /robots.txt

https://сайт/robots.txt

Вот теперь ваш robots.txt готов. И помните не откладывайте в долгий ящик создание файла robots.txt, от этого будет зависеть индексация вашего блога.

Если же вы хотите создать правильный robots.txt и при этом быть уверенным, что в индекс поисковых систем попадут только нужные страницы, то это можно сделать и автоматически с помощью плагина .

На этом у меня всё. Всем желаю успехов. Если будут вопросы или дополнения пишите в комментариях.

До скорой встречи.

С уважением, Максим Зайцев.

Подписывайтесь на новые статьи!

Поисковые роботы - краулеры начинают знакомство с сайтом с чтения файла robots.txt. В нем содержится вся важная для них информация. Владельцам сайтов следует создать и периодически проводить анализ robots.txt. От корректности его работы зависит скорость индексации страниц и место в поисковой выдачи.

Он не является обязательным элементом сайта, но его наличие желательно, потому что с его помощью владельцы сайта управляют поисковыми роботами. Задавайте разные уровни доступа к сайту, запрет на индексацию всего сайта, отдельных страниц, разделов или файлов. Для ресурсов с высокой посещаемостью ограничивайте время индексации и запрещайте доступ роботов, которые не относятся к основным поисковым системам. Это уменьшит нагрузку на сервер.

Создание. Создают файл в текстовом редакторе Notepad или подобных. Следите за тем, чтобы размер файла не превышал 32 КБ. Выбирайте для файла кодировку ASCII или UTF-8. Учтите, что файл должен быть единственным. Если сайт создан на CMS, то он будет генерироваться автоматически.

Разместите созданный файл в корневой директории сайта рядом с основным файлом index.html. Для этого используют FTP доступ. Если сайт сделан на CMS, то с файлом работают через административную панель. Когда файл создан и работает корректно, он доступен в браузере.

При отсутствии robots.txt поисковые роботы собирают всю информацию, относящуюся к сайту. Не удивляйтесь, когда увидите в выдаче незаполненные страницы или служебную информацию. Определите, какие разделы сайта будут доступны пользователям, остальные - закройте от индексации.

Проверка. Периодически проверяйте, все ли работает корректно. Если краулер не получает ответ 200 ОК, то он автоматически считает, что файла нет, и сайт открыт для индексации полностью. Коды ошибок бывают такими:

    3хх - ответы переадресации. Робота направляют на другую страницу или на главную. Создавайте до пяти переадресаций на одной странице. Если их будет больше, робот пометит такую страницу как ошибку 404. То же самое относится и к переадресации по принципу бесконечного цикла;

    4хх - ответы ошибок сайта. Если краулер получает от файла robots.txt 400-ую ошибку, то делается вывод, что файла нет и весь контент доступен. Это также относится к ошибкам 401 и 403;

    5хх - ответы ошибок сервера. Краулер будет «стучаться», пока не получит ответ, отличный от 500-го.

Правила создания

Начинаем с приветствия. Каждый файл должен начинаться с приветствия User-agent. С его помощью поисковики определят уровень открытости.

Код Значение
User-agent: * Доступно всем
User-agent: Yandex Доступно роботу Яндекс
User-agent: Googlebot Доступно роботу Google
User-agent: Mail.ru Доступно роботу Mail.ru

Добавляем отдельные директивы под роботов. При необходимости добавляйте директивы для специализированных поисковых ботов Яндекса.

Однако в этом случае директивы * и Yandex не будут учитываться.


У Google собственные боты:

Сначала запрещаем, потом разрешаем. Оперируйте двумя директивами: Allow - разрешаю, Disallow - запрещаю. Обязательно укажите директиву disallow, даже если доступ разрешен ко всему сайту. Такая директива является обязательной. В случае ее отсутствия краулер может не верно прочитать остальную информацию. Если на сайте нет закрытого контента, оставьте директиву пустой.

Работайте с разными уровнями. В файле можно задать настройки на четырех уровнях: сайта, страницы, папки и типа контента. Допустим, вы хотите закрыть изображения от индексации. Это можно сделать на уровне:

  • папки - disallow: /images/
  • типа контента - disallow: /*.jpg
Директивы группируйте блоками и отделяйте пустой строкой. Не пишите все правила в одну строку. Для каждой страницы, краулера, папки и пр. используйте отдельное правило. Также не путайте инструкции: бота пишите в user-agent, а не в директиве allow/disallow.
Нет Да
Disallow: Yandex User-agent: Yandex
Disallow: /
Disallow: /css/ /images/ Disallow: /css/
Disallow: /images/


Пишите с учетом регистра.
Имя файла укажите строчными буквами. Яндекс в пояснительной документации указывает, что для его ботов регистр не важен, но Google просит соблюдать регистр. Также вероятна ошибка в названиях файлов и папок, в которых учитывается регистр.

Укажите 301 редирект на главное зеркало сайта . Раньше для этого использовалась директива Host, но с марта 2018 г. она больше не нужна. Если она уже прописана в файле robots.txt, удалите или оставьте ее на свое усмотрение; роботы игнорируют эту директиву.

Для указания главного зеркала проставьте 301 редирект на каждую страницу сайта. Если редиректа стоят не будет, поисковик самостоятельно определит, какое зеркало считать главным. Чтобы исправить зеркало сайта, просто укажите постраничный 301 редирект и подождите несколько дней.

Пропишите директиву Sitemap (карту сайта). Файлы sitemap.xml и robots.txt дополняют друг друга. Проверьте, чтобы:

  • файлы не противоречили друг другу;
  • страницы были исключены из обоих файлов;
  • страницы были разрешены в обоих файлах.
Проводя анализ содержимого robots.txt, обратите внимание, включен ли sitemap в одноименную директиву. Записывается так: Sitemap: www.yoursite.ru/sitemap.xml

Указывайте комментарии через символ #. Все, что написано после него, краулер игнорирует.

Проверка файла

Проводите анализ robots.txt с помощью инструментов для разработчиков: через Яндекс.Вебмастер и Google Robots Testing Tool. Обратите внимание, что Яндекс и Google проверяют только соответствие файла собственным требованиям. Если для Яндекса файл корректный, это не значит, что он будет корректным для роботов Google, поэтому проверяйте в обеих системах.

Если вы найдете ошибки и исправите robots.txt, краулеры не считают изменения мгновенно. Обычно переобход страниц осуществляется один раз в день, но часто занимает гораздо большее время. Проверьте через неделю файл, чтобы убедиться, что поисковики используют новую версию.

Проверка в Яндекс.Вебмастере

Сначала подтвердите права на сайт. После этого он появится в панели Вебмастера. Введите название сайта в поле и нажмите проверить. Внизу станет доступен результат проверки.

Дополнительно проверяйте отдельные страницы. Для этого введите адреса страниц и нажмите «проверить».

Проверка в Google Robots Testing Tool

Позволяет проверять и редактировать файл в административной панели. Выдает сообщение о логических и синтаксических ошибках. Исправляйте текст файла прямо в редакторе Google. Но обратите внимание, что изменения не сохраняются автоматически. После исправления robots.txt скопируйте код из веб-редактора и создайте новый файл через блокнот или другой текстовый редактор. Затем загрузите его на сервер в корневой каталог.

Запомните

    Файл robots.txt помогает поисковым роботам индексировать сайт. Закрывайте сайт во время разработки, в остальное время - весь сайт или его часть должны быть открыты. Корректно работающий файл должен отдавать ответ 200.

    Файл создается в обычном текстовом редакторе. Во многих CMS в административной панели предусмотрено создание файла. Следите, чтобы размер не превышал 32 КБ. Размещайте его в корневой директории сайта.

    Заполняйте файл по правилам. Начинайте с кода “User-agent:”. Правила прописывайте блоками, отделяйте их пустой строкой. Соблюдайте принятый синтаксис.

    Разрешайте или запрещайте индексацию всем краулерам или избранным. Для этого укажите название поискового робота или поставьте значок *, который означает «для всех».

    Работайте с разными уровнями доступа: сайтом, страницей, папкой или типом файлов.

    Включите в файл указание на главное зеркало с помощью постраничного 301 редиректа и на карту сайта с помощью директивы sitemap.

    Для анализа robots.txt используйте инструменты для разработчиков. Это Яндекс.Вебмастер и Google Robots Testing Tools. Сначала подтвердите права на сайт, затем сделайте проверку. В Google сразу отредактируйте файл в веб-редакторе и уберите ошибки. Отредактированные файлы не сохраняются автоматически. Загружайте их на сервер вместо первоначального robots.txt. Через неделю проверьте, используют ли поисковики новую версию.

Материал подготовила Светлана Сирвида-Льорентэ.

Проверка robots.txt

На этой странице вы можете проверить, не запрещена ли индексация какой-то веб-страницы в файле robots.txt соответствующего сайта для указанного робота. Этот сервис является всего лишь демонстрацией работы PHP-скрипта для парсинга файлов robots.txt.

На данную демоверсию наложены определенные ограничения для защиты от массового автоматического использования. Вы можете снять эти ограничения, скачав скрипт парсера и использовав его на собственном сервере.

Парсим robots.txt

Зачем это нужно? Допустим, что вы разместили ссылку или статью на сайте Васи Пупкина и хотите знать, не запретил ли хитрый Вася эту страницу для Яндекса в robots.txt? Можно, конечно, глазами посмотреть, но если покупаете статьи/ссылки большими партиями, то смотреть замучаетесь и захотите этот процесс автоматизировать. Тут-то и пригодится мой скрипт. Вот как с ним работать:

25 комментариев

Последние десять комментариев:

20.02.2013 15:39:39
Гость BS
Да, так и должно быть. А у Вас выберет disallow потому что он длиннее. Суть в том, что нужно к концу каждого правила приписывать "*", если там нет знака "*" или "$". Иначе возникает ошибка.
Ещё одна ошибка связана с allow.

$er = "Невозможно распарсить проверяемый URL "" . $url . """ ;

}
if (! empty ($arUrl [ "scheme" ] ) && ! empty ($arUrl [ "host" ] ) && $this ->_site != $arUrl [ "scheme" ] . "://" . $arUrl [ "host" ] . "/" ) {
$er = "Проверяемый URL "" . $url . "" принадлежит другому домену" ;
throw new Exception($er ) ;
}

$path = empty ($arUrl [ "path" ] ) ? "/" : $arUrl [ "path" ] ;


После этой строки надо добавить что-то вроде
if (isset ($arUrl [ "query" ] ) && !empty ($arUrl [ "query" ] ) )
{
$path .= "?{$arUrl["query"]}" ;
}

Иначе отбрасывается всё после "?" в url, а часто надо убрать что-нибудь из поиска. Типа disallow: /yasearch?=
Чтобы результаты поиска не кешировать.

Гость RubtsovAV
Заметил опечатку:
public function isUrlOwnSite($url ) {
if (false === ($arUrl = @parse_url ($url ) ) ) {
return false ;
}
return (! empty ($arUrl [ "scheme" ] ) && ! empty ($arUrl [ "host" ] ) && $this ->_site == $arUrl [ "scheme" ] . "://" . $arUrl [ "host" ] . "/" ) ;
}
07.09.2012 21:40:22
Гость RubtsovAV
Может такой вариант устроит?

public function __construct($path , $initByUrl = false )
{
if (($arUrl = @parse_url ($path ) ) || $initByUrl ) {
if ($arUrl === false ) {
throw new Exception("Невозможно распарсить URL "" . $path . """ ) ;
}
if (empty ($arUrl [ "scheme" ] ) || empty ($arUrl [ "host" ] ) ) {
$er = "Введенный URL "" . $path . "" не содержит схемы и имени хоста" ;
throw new Exception($er ) ;
}
$this ->_site = $arUrl [ "scheme" ] . "://" . $arUrl [ "host" ] . "/" ;
if ($initByUrl ) $path = $this ->_site . "robots.txt" ;
}
...
}
Только как быть с проверкой домена в allow(...)? Может в отдельный метод вынести?
function public function isUrlOwnSite($url ) {
if (false === ($arUrl = @parse_url ($url ) ) ) {
return false ;
}
return (! empty ($arUrl [ "scheme" ] ) && ! empty ($arUrl [ "host" ] ) && $this ->_site != $arUrl [ "scheme" ] . "://" . $arUrl [ "host" ] . "/" ) ;
}

И тогда в allow можно будет обойтись одно регуляркой: