Robots txt 403 ошибка

Оптимизируйте свои подборки

Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Часто задаваемые вопросы о том, как управлять поведением роботов

Общие вопросы

Обязательно ли использовать на сайте файл robots.txt?

Нет. Когда робот Googlebot посещает сайт, сначала он пытается найти файл robots.txt. Сканирование и индексирование сайтов, не содержащих файл robots.txt file, тег meta с атрибутом robots или HTTP-заголовок X-Robots-Tag, обычно проходит по стандартной схеме.

Как лучше всего запрещать роботам сканировать страницы?

Разные методы блокировки можно использовать в зависимости от конкретной ситуации:

  • Файл robots.txt рекомендуется использовать, если при сканировании контента возникают проблемы в работе вашего сервера. Например, можно запретить сканирование скриптов, которые обеспечивают работу вечного календаря. Не используйте файл robots.txt для защиты конфиденциального контента (это рекомендуется делать с помощью аутентификации на сервере), а также для нормализации.
    Чтобы запретить индексирование той или иной страницы, используйте тег meta с атрибутом robots или HTTP-заголовок X-Robots-Tag.
  • Тег meta с атрибутом robots позволяет указать, как Google Поиску следует показывать HTML-страницу (или полностью запретить ему делать это).
  • HTTP-заголовок X-Robots-Tag можно использовать с любыми типами файлов. Он позволяет указать, как Google Поиску следует показывать контент (или полностью запретить ему делать это).

Можно ли использовать файл robots.txt, тег meta с атрибутом robots или HTTP-заголовок X-Robots-Tag для удаления чужих сайтов из результатов поиска?

Как уменьшить скорость сканирования моего сайта поисковыми роботами Google?

Вопросы о файле robots.txt

Я использую один файл robots.txt для нескольких сайтов. Можно ли указывать полные URL, а не относительные?

Нет. В правилах файла robots.txt (за исключением sitemap:) должны быть только относительные пути.

Можно ли разместить файл robots.txt в подкаталоге?

Нет. Этот файл должен быть размещен в корневом каталоге сайта.

Я хочу заблокировать доступ к личной папке. Можно ли сделать файл robots.txt недоступным для других пользователей?

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

Нужно ли указывать правило allow, чтобы разрешить сканирование?

Нет. Сканирование будет выполняться и без правила allow. По умолчанию все URL разрешены. Указывать правило allow имеет смысл только для того, чтобы переопределить правило disallow, которое задано в том же файле robots.txt.

Что произойдет, если в файле robots.txt будет ошибка или неподдерживаемое правило?

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

В какой программе нужно создавать файл robots.txt?

Используйте любую программу, позволяющую создавать текстовые файлы, например Блокнот, TextEdit, vi или Emacs.
Советуем сначала прочитать эту статью.
Создав файл, проверьте его с помощью этого инструмента.

Если я с помощью правила disallow файла robots.txt заблокирую роботу Googlebot доступ к странице, исчезнет ли она из результатов поиска?

Если заблокировать роботу Googlebot доступ к странице, она может быть удалена из индекса Google.

Однако даже при наличии директивы disallow в файле robots.txt система Google может показать страницу в качестве подходящего результата поиска (например, если на нее ссылаются другие сайты). Если вы хотите явным образом запретить индексирование страницы, используйте тег noindex meta с атрибутом robots или HTTP-заголовок X-Robots-Tag. В этом случае не следует блокировать доступ к странице в файле robots.txt, поскольку робот Googlebot должен просканировать ее, чтобы обнаружить тег и выполнить директиву. Подробнее о том, как указать, какая информация должна быть доступна Google…

Через какое время изменения в файле robots.txt отразятся на результатах поиска?

Прежде всего должна обновиться копия файла robots.txt в кеше (обычно Google кеширует контент не более чем на один день). Чтобы ускорить этот процесс, отправьте в Google обновленный файл robots.txt.
Однако процесс сканирования и индексирования устроен достаточно сложно, и для некоторых URL обновление информации может занимать продолжительное время даже после обнаружения изменений. Поэтому мы не можем точно сказать, когда изменения отразятся на результатах поиска. Следует также иметь в виду, что URL может появляться в результатах поиска, даже если доступ к нему заблокирован в файле robots.txt и Google не может его просканировать. Если вы хотите, чтобы заблокированные страницы быстрее исчезли из результатов поиска Google, отправьте запрос на их удаление.

Как полностью приостановить сканирование моего сайта на некоторое время?

Чтобы временно остановить сканирование всех URL, возвращайте при обращении к ним (в том числе к файлу robots.txt) код ответа HTTP 503 (service unavailable). Робот Googlebot будет периодически пытаться прочитать файл robots.txt, пока он не станет вновь доступен. Не рекомендуется запрещать сканирование с помощью изменений в файле robots.txt.

Мой сервер не учитывает регистр. Как полностью запретить сканирование некоторых папок?

Правила в файле robots.txt указываются с учетом регистра. В таком случае рекомендуется с помощью методов нормализации обеспечить индексирование только одной версии URL.
Количество строк в файле robots.txt уменьшится, и вам будет проще его использовать. Если этот способ не подходит, попробуйте перечислить основные варианты написания имени папки или максимально сократить его, оставив только несколько начальных символов вместо полного имени. Например, вам не нужно перечислять все возможные сочетания строчных и прописных букв для папки /MyPrivateFolder. Вместо этого можно просто указать варианты для /MyP (если вы уверены, что других URL для сканирования с такими же начальными символами не существует). Если проблема заключается не в сканировании, можно указать тег meta с атрибутом robots или HTTP-заголовок X-Robots-Tag.

Я возвращаю код ответа 403 Forbidden для всех URL на моем сайте, в том числе для URL файла robots.txt. Почему мой сайт по-прежнему сканируется?

Код статуса HTTP 403 Forbidden, как и остальные коды 4xx, означает, что файла robots.txt не существует. Для поисковых роботов это свидетельствует о том, что сканирование всех URL на сайте разрешено. Чтобы запретить роботам сканирование сайта, необходимо открыть им доступ к файлу robots.txt с кодом ответа HTTP 200 OK и задать в этом файле правило disallow.

Является ли тег meta с атрибутом robots заменой файлу robots.txt?

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

Можно ли с помощью тега meta с атрибутом robots запретить индексирование отдельного фрагмента страницы?

Нет, тег meta с атрибутом robots применяется ко всей странице.

Можно ли использовать тег meta с атрибутом robots за пределами раздела <head>?

Нет. Тег meta с атрибутом robots можно добавлять только в раздел <head> на странице.

Я использую тег meta с атрибутом robots. Означает ли это, что сканирование страницы не будет выполняться?

Нет. Даже если в теге meta с атрибутом robots указана директива noindex, роботы будут периодически сканировать URL, чтобы проверить, не была ли страница meta изменена.

Чем директива nofollow в теге meta с атрибутом robots отличается от атрибута rel="nofollow" в теге link?

Действие директивы nofollow тега meta с атрибутом robots распространяется на все ссылки на странице. Атрибут rel="nofollow" тега link относится только к той ссылке, в которой он указан.
Дополнительная информация об атрибуте rel="nofollow" в теге link представлена в статьях, посвященных спаму в комментариях и атрибуту rel="nofollow".

Как проверить наличие заголовка X-Robots-Tag для URL?

Заголовки ответа сервера проще всего анализировать с помощью инструмента проверки URL в Google Search Console. Чтобы проверить заголовки ответа для любого URL, попробуйте выполнить поиск по запросу server header checker.

Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons «С указанием авторства 4.0», а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.

Последнее обновление: 2023-02-09 UTC.

Is there a way to get around the following?

httperror_seek_wrapper: HTTP Error 403: request disallowed by robots.txt

Is the only way around this to contact the site-owner (barnesandnoble.com).. i’m building a site that would bring them more sales, not sure why they would deny access at a certain depth.

I’m using mechanize and BeautifulSoup on Python2.6.

hoping for a work-around

asked May 17, 2010 at 0:35

Diego's user avatar

1

oh you need to ignore the robots.txt

br = mechanize.Browser()
br.set_handle_robots(False)

answered Oct 3, 2010 at 13:02

Yuda Prawira's user avatar

Yuda PrawiraYuda Prawira

11.9k10 gold badges46 silver badges54 bronze badges

2

You can try lying about your user agent (e.g., by trying to make believe you’re a human being and not a robot) if you want to get in possible legal trouble with Barnes & Noble. Why not instead get in touch with their business development department and convince them to authorize you specifically? They’re no doubt just trying to avoid getting their site scraped by some classes of robots such as price comparison engines, and if you can convince them that you’re not one, sign a contract, etc, they may well be willing to make an exception for you.

A «technical» workaround that just breaks their policies as encoded in robots.txt is a high-legal-risk approach that I would never recommend. BTW, how does their robots.txt read?

answered May 17, 2010 at 0:40

Alex Martelli's user avatar

Alex MartelliAlex Martelli

849k169 gold badges1218 silver badges1394 bronze badges

4

The code to make a correct request:

br = mechanize.Browser()
br.set_handle_robots(False)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
resp = br.open(url)
print resp.info()  # headers
print resp.read()  # content

answered Apr 20, 2017 at 22:16

Vlad's user avatar

VladVlad

1,5111 gold badge21 silver badges27 bronze badges

1

Mechanize automatically follows robots.txt, but it can be disabled assuming you have permission, or you have thought the ethics through ..

Set a flag in your browser:

browser.set_handle_equiv(False) 

This ignores robots.txt.

Also, make sure you throttle your requests, so you don’t put too much load on their site. (Note, this also makes it less likely that they will detect and ban you).

albert's user avatar

albert

8,1143 gold badges46 silver badges63 bronze badges

answered May 17, 2010 at 1:16

wisty's user avatar

wistywisty

6,9751 gold badge30 silver badges29 bronze badges

3

The error you’re receiving is not related to the user agent. mechanize by default checks robots.txt directives automatically when you use it to navigate to a site. Use the .set_handle_robots(false) method of mechanize.browser to disable this behavior.

answered Jul 11, 2010 at 23:17

Tom's user avatar

TomTom

6818 silver badges14 bronze badges

Set your User-Agent header to match some real IE/FF User-Agent.

Here’s my IE8 useragent string:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; AskTB5.6)

answered May 17, 2010 at 0:39

Stefan Kendall's user avatar

Stefan KendallStefan Kendall

66k68 gold badges252 silver badges405 bronze badges

0

Without debating the ethics of this you could modify the headers to look like the googlebot for example, or is the googlebot blocked as well?

answered May 17, 2010 at 0:40

Steve Robillard's user avatar

Steve RobillardSteve Robillard

13.4k3 gold badges36 silver badges32 bronze badges

2

As it seems, you have to do less work to bypass robots.txt, at least says this article. So you might have to remove some code to ignore the filter.

answered May 17, 2010 at 0:41

BrunoLM's user avatar

BrunoLMBrunoLM

97.3k83 gold badges294 silver badges450 bronze badges

1

For your first question, see Ethics of robots.txt

You need to keep in mind the purpose of robots.txt. Robots that are crawling a site can potentially wreck havoc on the site and essentially cause a DoS attack. So if your «automation» is crawling at all or is downloading more than just a few pages every day or so, AND the site has a robots.txt file that excludes you, then you should honor it.

Personally, I find a little grey area. If my script is working at the same pace as a human using a browser and is only grabbing a few pages then I, in the spirit of the robots exclusion standard, have no problem scrapping the pages so long as it doesn’t access the site more than once a day. Please read that last sentence carefully before judging me. I feel it is perfectly logical. Many people may disagree with me there though.

For your second question, web servers have the ability to return a 403 based on the User-Agent attribute of the HTTP header sent with your request. In order to have your script mimic a browser, you have to miss-represent yourself. Meaning, you need to change the HTTP header User-Agent attribute to be the same as the one used by a mainstream web browser (e.g., Firefox, IE, Chrome). Right now it probably says something like ‘Mechanize’.

Some sites are more sophisticated than that and have other methods for detecting non-human visitors. In that case, give up because they really don’t want you accessing the site in that manner.

960 / 801 / 85

Регистрация: 21.07.2010

Сообщений: 3,522

1

03.10.2012, 23:51. Показов 4068. Ответов 20


Студворк — интернет-сервис помощи студентам

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

Не по теме:

п.с., модерам, если тема не в том разделе, перенесите.



0



813 / 796 / 201

Регистрация: 21.09.2012

Сообщений: 2,656

04.10.2012, 06:04

2

Содержимое htaccess



0



960 / 801 / 85

Регистрация: 21.07.2010

Сообщений: 3,522

04.10.2012, 08:10

 [ТС]

3

запрет на чтение .txt тоже нет. Вот .htaccess

Код

#DirectoryIndex index.php index.html index.htm
AddDefaultCharset UTF-8

# убираем PHPSESSID
# php_value session.use_trans_sid off

php_value upload_max_filesize 1M

php_flag magic_quotes_gpc Off
php_flag magic_quotes_runtime Off
php_flag register_globals Off
ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
Options +Indexes

#php_value error_reporting 2047 
#php_value error_log "/log/" 
php_flag log_errors off 
php_flag display_errors off 

# Заголовок Cache-Control
<IfModule mod_headers.c>
	Header set Cache-Control "no-store, no-cache"
</IfModule>

# Заголовок Expires
<IfModule mod_expires.c>
	ExpiresActive On
	ExpiresDefault "now"
</IfModule>

# защита от несанкционированного доступа к файлу .htaccess
# RewriteRule ^.htaccess$ - [F]
<Files ~ "^.ht">
    Order allow,deny
    Deny from all
</Files>

# защита *.inc и *.txt файлов от чтения:
<Files ~ ".(inc|dat|dump)$">
	Order allow,deny 
	Deny from all
</Files>


# Удаление дубликатов страниц
Options +FollowSymLinks

RewriteEngine on

# Удаление дубликатов страниц
RewriteCond %{HTTP_HOST} ^site.ru
RewriteRule (.*) http://www.site.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.html HTTP/
RewriteRule ^index.html$ http://www.site.ru/ [R=301,L]

# Защита css- и js-файлов от обращения с других файлов
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?site.ru/.*$ [NC]
RewriteRule .(js|css)$ - [F]

# Защита картинок от просмотра с других сайтов
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?site.ru/.*$ [NC]
RewriteRule .(png|gif|jpg|jpeg)$ http://www.site.ru/favicon.png [R,L]


RewriteRule ^admin/(.*)$ admin/index.php?route=$1 [L,QSA] 
RewriteCond %{REQUEST_URI} !^admin 

#RewriteCond %{REQUEST_URI} !^/favicon.ico

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]

Добавлено через 3 минуты
раньше robots.txt читался.



0



813 / 796 / 201

Регистрация: 21.09.2012

Сообщений: 2,656

04.10.2012, 08:17

4

сайт самописный? Что-то меняли, что перестал читаться?

Добавлено через 3 минуты
Попробуй добавить в htaccess еще такие строки

Код

<Files robots.txt>
    Allow from all
</Files>



1



960 / 801 / 85

Регистрация: 21.07.2010

Сообщений: 3,522

04.10.2012, 10:33

 [ТС]

5

Спб. попробую.

Цитата
Сообщение от Dolphin
Посмотреть сообщение

сайт самописный? Что-то меняли, что перестал читаться?

да, самописный. щас точно не помню, что менял, по-мойму всякие защиты.
тогда не проверял читается ли robots.txt, вчера случайно заметил.
попробую твое решение



0



887 / 353 / 1

Регистрация: 12.08.2012

Сообщений: 4,401

Записей в блоге: 5

04.10.2012, 16:47

6

Love_and_Peace, в httpd.conf наверное стоит запрет



0



960 / 801 / 85

Регистрация: 21.07.2010

Сообщений: 3,522

04.10.2012, 19:27

 [ТС]

7

Цитата
Сообщение от Dolphin
Посмотреть сообщение

Попробуй добавить в htaccess еще такие строки

не помогло

Цитата
Сообщение от fedin-ilja2010
Посмотреть сообщение

в httpd.conf наверное стоит запрет

а где этот файл находится и как снять запрет?



0



887 / 353 / 1

Регистрация: 12.08.2012

Сообщений: 4,401

Записей в блоге: 5

04.10.2012, 19:37

8

Цитата
Сообщение от Love_and_Peace
Посмотреть сообщение

а где этот файл находится и как снять запрет?

1. У хостера
2. Ни как, если хостер это делает значит он специально запрещает индексирование сайта (например hut.ru) и уговорить хостера будет очень трудно (скорее всего это будет платная услуга).



1



960 / 801 / 85

Регистрация: 21.07.2010

Сообщений: 3,522

04.10.2012, 19:58

 [ТС]

9

Цитата
Сообщение от fedin-ilja2010
Посмотреть сообщение

1. У хостера
2. Ни как, если хостер это делает значит он специально запрещает индексирование сайта (например hut.ru) и уговорить хостера будет очень трудно (скорее всего это будет платная услуга).

у меня на агаве.
и раньше робот работал. странно..



0



813 / 796 / 201

Регистрация: 21.09.2012

Сообщений: 2,656

04.10.2012, 20:01

10

какой адрес сайта?



0



960 / 801 / 85

Регистрация: 21.07.2010

Сообщений: 3,522

04.10.2012, 20:04

 [ТС]

11

house05.ru



0



813 / 796 / 201

Регистрация: 21.09.2012

Сообщений: 2,656

04.10.2012, 20:13

12

а права какие на файл?



0



960 / 801 / 85

Регистрация: 21.07.2010

Сообщений: 3,522

04.10.2012, 20:19

 [ТС]

13

Цитата
Сообщение от Dolphin
Посмотреть сообщение

а права какие на файл?

0644.
с самого создания я его не трогал. проверил на работоспособность и забыл про него



0



13207 / 6595 / 1041

Регистрация: 10.01.2008

Сообщений: 15,069

04.10.2012, 20:27

14

Сам файл robots.txt не причем. На что-угодно.txt выдаётся 403. Вероятно, реврайты где-то что-то лишнее поглощают.
Либо поштучно все rewrite’ы закомментировать, а потом пошагово раскомментировать и проверять; либо смотреть RewriteLog.



1



960 / 801 / 85

Регистрация: 21.07.2010

Сообщений: 3,522

04.10.2012, 20:53

 [ТС]

15

гьмм.. все rewrite’ы закоментировал, результат тот же.
ребята, сайт находится параллельно с другим сайтом на одном хостинге, т.е., —
в главной директории 1-го сайта находится второй сайт (ну знаете наверное). может ли .htaccess первого сайта влиять на второй?
хотя и раньше так было..



0



813 / 796 / 201

Регистрация: 21.09.2012

Сообщений: 2,656

04.10.2012, 20:54

16

может



1



960 / 801 / 85

Регистрация: 21.07.2010

Сообщений: 3,522

04.10.2012, 20:55

 [ТС]

17

Цитата
Сообщение от Love_and_Peace
Посмотреть сообщение

может ли .htaccess первого сайта влиять на второй?

ответ — да!
как так? почему?



0



813 / 796 / 201

Регистрация: 21.09.2012

Сообщений: 2,656

04.10.2012, 20:58

18

Цитата
Сообщение от Love_and_Peace
Посмотреть сообщение

ответ — да!
как так? почему?

Он действует на все папки файлы, того каталога, где он прописан



1



960 / 801 / 85

Регистрация: 21.07.2010

Сообщений: 3,522

05.10.2012, 23:39

 [ТС]

19

еще такой вопрос —
в .htaccess сделано так чтобы при любом вызове главной страницы перекидывало на www.house05.ru (с 3-мя w), а в robots.txt прописано

Надо ли в robots’e добавить www к хосту?



0



960 / 801 / 85

Регистрация: 21.07.2010

Сообщений: 3,522

08.10.2012, 10:38

 [ТС]

20

че, никто не составлял robots.txt? как правильно написать?



0



I have created a ‘global’ robots.txt file on my Ubuntu Server and located it in

/home/robots.txt

And then in /etc/apache2/apache.conf have added this at the bottom:

Alias /robots.txt /home/robots.txt

and restarted apache.

However when trying to access myvirtualhost.com/robots.txt I get 403 Forbidden.

/home/robots.txt is owned by ‘root’ and chmod 755 (testing as 777 also errors).

If I change Alias /robots.txt /home/robots.txt to Alias /robots.txt /home/myvirualhost/public_html/robots.txt it works — i.e. confirming this Alias rule is running.

I have another (older) server which has this exact same set up (/home/robots.txt owned by root) and it works for all virtualhosts and their users.

I wonder if myvirtualhost.com/robots.txt is running as user myvirtualhost and therefore not got access to /home/robots.txt but not sure as I don’t think my old server had any special permissions set up for this… (can’t remember).

If I remove /home/robots.txt I still get 403 Permission error, rather than not found.

I have multiple virtualhosts so can’t just change it to /home/myonevirualhost/public_html/robots.txt

Any help would be most appreciated.

Thanks

SOLVED:

Added this to the apache.conf file (and needs Required all granted instead of allow form all as running latest version of apache):

**<Location "/robots.txt">
    SetHandler None
    Require all granted
</Location>**
Alias /robots.txt /home/robots.txt

But I can’t mark it as solved yet as I don’t have enough points to solve within 8 hours :-)

Понравилась статья? Поделить с друзьями:
  • Robocopy ошибка 3 0x00000003
  • Robocopy ошибка 123
  • Robocopy ошибка 0 0x00000000
  • Roblox что значит ошибка 279
  • Roblox ошибка установки