Хитрый ahrefs.com

12
KvayGon
На сайте с 19.08.2009
Offline
68
15905

Здравствуйте. Решил я закрыть сайт от некоторых особо назойливых ботов, в принципе ничего сложного:

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} SolomonoBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SearchBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} MJ12bot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} AhrefsBot
RewriteRule .* - [F]

В общем, из всего списка в логах появился только робот ahrefs.com с 301 ответом, хотя должна быть 403 ошибка:

5.10.83.87 - - [14/Aug/2013:06:46:56 +0400] "GET /категория/статья.html HTTP/1.1" 301 232 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)"

Смотрю дальше и вижу адреса страниц, которых у меня на сайте нет вообще и так же с 301 ответом, страниц много, как будто подбирают/перебирают варианты, например:

5.10.83.76 - - [14/Aug/2013:00:24:31 +0400] "GET /категория/default.htm HTTP/1.1" 301 222 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)"

5.10.83.76 - - [14/Aug/2013:00:17:14 +0400] "GET /page/12/index.php@do=feedback HTTP/1.1" 301 216 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)"

Первая мысль, которая пришла в голову, - что что-то не так с htaccess. В Мозиллу через настройку general.useragent.override ввожу юзер агент ahrefs.com, и захожу на свой сайт, все в порядке 403:

xx.xx.xx.xx - - [14/Aug/2013:13:03:38 +0400] "GET /категория/статья.html HTTP/1.1" 403 224 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)"

Вопросы следующие:

1. Почему сайт отдает роботу ahrefs.com 301 и что сделать, чтобы отдать этому боту 403 ошибку?

2. Откуда и главное, зачем ahrefs.com берет страницы, которых у меня нет?

ЗДЕСЬ найдется ВСЁ ()
DX
На сайте с 11.07.2009
Offline
81
#1

Первое, что приходит в голову:

на вас ставят линки на несуществующие страницы, чтоб они появились в ПС и поисковики наложили фильтр за дубликат контента.

Второе - ahrefs привлекает клиентов, они рефспамят 🤪 - вебмастера заходят на их сайт и покупают подписки.

IL
На сайте с 20.04.2007
Offline
435
#2
KvayGon:
1. Почему сайт отдает роботу ahrefs.com 301 и что сделать, чтобы отдать этому боту 403 ошибку?

Чуть выше по коду никаких редиректов нету (с www на без www например)?

KvayGon:
2. Откуда и главное, зачем ahrefs.com берет страницы, которых у меня нет?
в базе ahrefs-а есть ссылка.. могла попасть со своего сайта (страница была раньше.. или ошибочная ссылка.. заменяют ? на @ грабберы/парсеры) или с чужого (кто-нибудь ошибся специально или намеренно)
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
KvayGon
На сайте с 19.08.2009
Offline
68
#3
ivan-lev:
Чуть выше по коду никаких редиректов нету (с www на без www например)

Выше кода стоит только это:

DirectoryIndex index.php


<files .htaccess>
order allow,deny
deny from all
</files>
ivan-lev:
в базе ahrefs-а есть ссылка.. могла попасть со своего сайта (страница была раньше.. или ошибочная ссылка.. заменяют ? на @ грабберы/парсеры) или с чужого (кто-нибудь ошибся специально или намеренно)

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

Да и страниц несуществующих много, например:

/page/31/категория/подкатегория/default.htm

/page/34/категория/подкатегория/default.htm
/page/6/категория/подкатегория/default.htm
/page/22/категория/подкатегория/default.htm

/page/12/index.php@do=feedback
/page/141/index.php@do=feedback
/page/142/index.php@do=feedback
/page/1240/index.php@do=feedback
/page/1247/index.php@do=feedback
и так далее
VE
На сайте с 17.08.2006
Offline
76
#4


RewriteCond %{HTTP_USER_AGENT} ^.*AhrefsBot.* [NC]
RewriteRule .* - [F,L]

А если так?

И по несуществующим. У вас система должна отдавать 404 не надеясь на блокировку в .htaccess. Например, что видит Яндекс при заходе на такую несуществующую страницу?

KvayGon
На сайте с 19.08.2009
Offline
68
#5
view'er:
А если так?

Поставил, протестировал (мозилла -> general.useragent.override) работает, подожду прихода ботов.

Мой вариант тоже работает, сегодня ночью приходили боты majestic и SearchBot оба получили 403.

view'er:
И по несуществующим...

На несуществующие страницы отдается 404

doctorpc
На сайте с 12.07.2009
Offline
112
#6

Многие уважающие себя аналогичные сервисы предоставляют возможность вебмастеру запретить посещение его сайта роботом.

Для ahrefs можно почитать здесь (раздел How to turn it off?)

A
На сайте с 19.07.2010
Offline
130
#7
KvayGon:

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} SolomonoBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SearchBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} MJ12bot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} AhrefsBot
RewriteRule .* - [F]

нужно указать, что ваш реврайт последний и прекратить выполнение других реврайтов, т.е. последняя строка должна быть

RewriteRule .* - [F,L]

хотя мне больше нравится вариант приведенный выше. немного дополню его


RewriteCond %{HTTP_USER_AGENT} ^.*(AhrefsBot|SolomonoBot|SearchBot|MJ12bot).* [NC]
RewriteRule .* - [F,L]

возможно прокатит и без зведочек, сейчас не могу проверить


RewriteCond %{HTTP_USER_AGENT} (AhrefsBot|SolomonoBot|SearchBot|MJ12bot) [NC]
RewriteRule .* - [F,L]
.............
servercraft
На сайте с 03.07.2013
Offline
8
#8
admak:

возможно прокатит и без зведочек, сейчас не могу проверить

прокатит, одно и тоже по сути...

http://serverсraft.com.ua (http://servercraft.com.ua) настраиваем сервера, удаляем вирусы с сайтов
KvayGon
На сайте с 19.08.2009
Offline
68
#9
admak:
нужно указать, что ваш реврайт последний и прекратить выполнение других реврайтов, т.е. последняя строка должна быть

Так не последний, ниже у меня идут еще строки реврайтов, например, такие:

RewriteCond %{HTTP_HOST} ^сайт.ru$ [NC]

RewriteRule ^(.*)$ http://www.сайт.ru/$1 [R=301]
A
На сайте с 19.07.2010
Offline
130
#10
KvayGon:
Так не последний, ниже у меня идут еще строки реврайтов

я имел ввиду: последняя строка в вашем блоке рерайта.

буковку L добавьте, она прервет выполнение всех оставшихся рерайтов в .htaccess

upd:

KvayGon:

RewriteCond %{HTTP_HOST} ^сайт.ru$ [NC]
RewriteRule ^(.*)$ http://www.сайт.ru/$1 [R=301]

кстати, в этом блоке тоже буковка L не помешает:

RewriteCond %{HTTP_HOST} ^сайт.ru$ [NC]
RewriteRule ^(.*)$ http://www.сайт.ru/$1 [R=301,L]
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий