Приветствуем вас на форуме"Визит" Желаем уверенности в своих силах, вдохновения и удачи!
Форум существует .

ВИЗИТ

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » ВИЗИТ » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА » ПОИСКОВЫЕ БОТЫ


ПОИСКОВЫЕ БОТЫ

Сообщений 1 страница 10 из 11

1

Поисковые боты индексят сайты

Все это вы уже слышали, видели, читали. Я просто в кучку собью.

Боты индексят сайты|Закрыть

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

Индекс образуется двумя путями.

Первый - web-маз сам просит бот проиндексить его сайтец. Так поступают чаще всего с популярными и уважаемыми ботами. Для Рунета это: Яндекс, Рамблер и Апорт. Причем именно в такой последовательности. Хотя Рамблер с Яндексом соперничают в этом плане. На остальные боты можно не тратить время. Это мое мнение.

Второй путь - боты сами в «свободное от работы время» ползают по Инету и вынюхивают изменения. С новыми сайтами они поступают по разному. Чаще всего они принюхиваются к ним какое-то время, а потом, если, по мнению бота, со страницей все в порядке (посетители иногда появляются, спама нет и др.) - они его индексят. То есть заносят информацию о нем в свой индекс (базу данных).
Самый тормозной в плане принюхивания - это Рамблер. Он принюхивается по несколько месяцев. Самый непридирчивый - Яндекс. Можно создать левый сайт и посмотреть, как скоро он самопроизвольно появится в том или ином поисковике. В Яндексе… ну, через месяц-два.

Кроме этого, боты следят за состоянием своего индекса. То есть за его соответствием реальному положению дел в Инете. Сайт может измениться, исчезнуть и т.д. Поэтому боты его обычно реиндексируют. Правда, можно запретить это мета-тегами и цивилизованные боты не будут этого делать.
Самый скоростной по реиндексированию - Яндекс. Скорость реиндекса - несколько дней, а то и чаще, если ресурс популярный. Самый тормозной - Апорт. Скорость реиндекса страниц с посещаемостью 50-100 хостов в сутки - до полугода!
У меня был сайт, который переехал. Так Апорт по запросу старый адрес еще несколько месяцев выдавал, хотя по этому адресу уже несколько месяцев ничего не было! И соответственно, посещаемость - 0. А Апорту все равно!

Дальше.
Результат поиска по запросу пользователя чаще всего выдается по релевантности. Чем выше релевантность, тем выше позиция страницы в результате работы поисковика. Страница с наиболее высокой (по мнению бота) релевантностью отображается первой.

Релевантность - это степень соответствия содержимого индекса бота запросу пользователя.

Например, пользователь вводит «анекдоты». Бот выдает страницы проиндексированных сайтов, где встречается это слово. Причем не просто встречается, а встречается в тех местах, которые бот индексит.
Но об этом позже.
Яндекс, например, чаще всего выдает только одну страницу с сайта и ссылки на то, что есть еще страницы с того же сервера. Замечали, наверное. Другие боты могут по несколько страниц с одного сервака на один запрос выдавать. Это не очень образованные боты, но их тоже юзают.

Продолжим с примером про «анекдоты». Бот выдает результат поиска по релевантности. То есть, если на странице имеется 100 слов и 4 из них - «анекдоты» (в именительном падеже, множественном числе), то релевантность страницы по запросу «анекдоты» 0.04. Четыре процента. Соответственно, если слов будет 10, и 4 из них - «анекдоты», то релевантность будет 40 %. То есть в 10 раз выше.
Это грубоватый пример, так как слова в заголовке (то что между <title></title>) и в тексте страницы имеют для бота разный вес, равно как слова в падеже и числе, указанном в запросе и имеющемся на странице. Но для понимания понятия «релевантность» вполне сойдет.

Поясню про падежи и числа.
Если запрос «анекдоТЫ», а на странице встречаются только слова «анектоТ, анекдоТОВ» и т.д. то релевантность страницы по этому запросу будет ниже, чем тех страниц, на которых прямо написано слово «анекдоТЫ». Но в любом случае страница все равно найдется по запросу «анекдоТЫ» (но в с конце списка ответа поисковика).

Из сказанного следует, что страница должна содержать поменьше слов, и слова должны быть, в основном, ключевые.

Куда же девать инфу, которая в 10-20 слов никак не поместится?
Ответ - страницы с инфой и страницы для ботов - это «две большие разницы».

Страницы с инфой- это те страницы, на которые попадаешь по ссылке со стартовой страницы. А стартовая страница (другие названия - индексная, заходная, doorway и др.) - это страница которая как раз и содержит 10-20 слов (включая заголовок и мета-теги). То есть эта страница, созданная специально для бота. И больше ни для кого.

Обычно, на стартовой странице размещают лого, иногда еще несколько слов - чтобы пользователь понял, куда попал, и кнопочку «Вход». Иногда вместо кнопочки «вход» - ссылки на разные разделы сайта. То есть несколько входов.
Если без текста на индексной странице, ну, никак не обойтись, можно запихнуть его в картинки. Так Мелкософт (wwwmicrosoft.com) поступает, например. Правда, им-то чего о релевантности заботиться?

Важно, чтобы бот по запросу нашел хоть какую-то страницу на сайте. Важно также, чтобы навигация на ВСЕХ страницах позволяла попасть в КРАТЧАЙШИЙ срок в любое место сайта.
По крайней мере, ссылка на главную страницу, по моему мнению, должна стоять на каждой странице.
Если бот начнет индексить, он надет одну страницу и дальше пойдет по ссылкам на ней. Нужно облегчить ему эту задачу. Причем, чем больше ссылок на ту или иную страницу (с разных страниц, ясен тетя), тем выше ее «ценность» с точки зрения бота.

Итак.
Стартовая страница делается для бота. На ней нет инфы, только ссылка (ссылки) и куча хитростей (см. ниже) для заманивая ботов.
Страницы с инфой должны содержать ссылки друг на друга, нормальный информативный заголовок и приемлемые мета-теги. Все. Их цель - дать инфу и не препятствовать боту запихнуть их в свой индекс. Они не должны первыми появляться по запросу пользователя. Так как в данном случае это как раз те два зайца, за которыми никак не угнаться, да и не надо.

Дальше.
Понятное дело, что есть не одно, а несколько ключевых слов, по которым web-маз хочет, чтобы искался сайт. Чтобы этого добиться, по хорошему, нужно делать столько стартовых страниц, сколько желаемых web-мазом ключевых слов. Внешне эти страницы ничем не должны отличаться. Ну, может, title`ом. Отличаться должна служебная инфа, о которой речь пойдет ниже.

Например, у меня есть сайт для фирмешки, продающей стартеры для иномарок. Я сделала с десяток-два индексных страниц для наиболее популярных моделей иномарок. Внешне страницы отличаются только тем, что на одной в заголовке написано «Стартеры для Мерседеса», а на другой - «Стартеры для Вольво». Все. Конечно, отличаются мета-теги, alt`ы (подписи к картинкам) и т.д. Об этом ниже. Каждую индексную страницу я индексила в ботах отдельно.

Итак.
Что же индексит бот?
У каждого бота свой характер, но в целом примерно так.
Во-первых title. Это самая важная часть. Слова в title`е имеют самый большой вес. Большой вес имеют слова в alt`ах (подписях к картинкам), слова между <h1> </h1>, <h2> </h2> и т.д. в порядке убывания значимости, слова между <b> </b>.
Кроме того, слова, расположенные ближе (выше) к title`у, имеют больший вес, чем слова расположенные ниже. То есть, чем выше слово, тем выше его вес при определении релевантности.
Полнотекстовые боты (то есть практически все современные) индексят еще и сам текст. В основном, на предмет наличия в тексте слов, указанных в заголовке и метах. Но если текста нет или очень мало - соответственно.

Итого, как заставить бот выдавать твою страницу первой по запросу, например, «варез»?

Пишем:
Код HTML:
<html>
<title>Лучший варез</title>
<title> Софт Варез Нелегальный софт</title>

То есть пишем второй title.
После второго title`a нужно поставить знак неразрывного пробела - или . Так как Яндекс, например, выдаст оба заголовка как один и без пробела последнее слово первого заголовка сольется с первым словом второго заголовка.
Разумеется, ключевые слова (2-6) можно выдумать и другие.

На той же странице пишем дальше:
Код HTML:
<meta name="keywords" content="Варез, софт, нелегальный софт">
<meta http-equiv="keywords" content="Варез, софт, нелегальный софт">
<meta name="description" content="Лучшие программы">
<meta http-equiv="description" content="Лучшие программы">

В keywords`ах должно быть не более 10-ти слов, необходимо использовать варианты (не более трех) наиболее частых падежей и чисел: (например: программы, программ, программа), чередуя их с другими словами (например: программы, софт, программ, варез, программа).

В description - несколько слов (5-8 слов, не более 170 символов), емко характеризующих сайт. В Апорте и Рамблере это описание появится рядом с результатом поиска по запросу. В настоящее время при индексировании содержимое description на релевантность не влияет. По крайней мере, в рассмативаемых поисковиках.

Главное: МЕНЬШЕ СЛОВ! Преимущественно ключевые.

Name и http-equiv должны полностью совпадать. Одни боты понимают name, другие - http-equiv.

Дальше на той же странице:
Код HTML:
<meta name="robots" content="index,follow">
# Роботам - индексировать страницу и идти дальше по ссылкам на ней.
# Аналогично сработает: <meta name="robots" content="all">

Дальше:
Код HTML:
<meta name="resource-type" content="document">
#Если бот видит, что ресурс - это документ,
# он приступает (должен) к его индексации.
<meta name="document-state" content="dynamic">
# Если тип документа - динамический - бот запомнит что сюда
# нужно периодически возвращаться.
<meta name="revisit-after" content="10 days">
# Это пожелание боту, как часто реиндексировать документ.
# Пожелание - не более. Бот может послушаться, а может и нет.
# Если, например, он разок вернется через 10 дней и увидит,
# что страница и впрямь изменилась, может и еще разок вернется
# через 10 дней. А если написать revisit-after 1 day и не менять
# страницу вообще - бот может обидеться и посчитать это попыткой
# его спама. Он занесет такую страницу в черный индекс
# (точнее, сначала - в "серый"). Это плохо.

Дальше для Рамблера (только):
Код HTML:
<!--<h1>Варез, софт, нелегальный софт</h1>//-->

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

Потом, все картинки, что ни есть, должны содержать alt`ы с ключевыми словами.

Можно даже в неприметном месте страницы однопиксельных прозрачных гифов запихать (не очень много - 3-4) и alt`ы к ним нужные прикрутить. Это считается спамом поисковика (как и два title`а, впрочем), но по опыту - они (боты) этого в упор не видят.

Вообщем, «легальные» способы кончились дальше идут «нелегальные».

Можно сделать для IE:
Код HTML:
<div style="visibility: hidden">
<h1>Программы, варез, софт, программа</h1>
</div>

Для NN:
Код HTML:
<layer visibility="hide"> <h1>Программы, варез, софт, программа</h1> </layer>

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

Проще:
Код HTML:
<font color="#цвет фона"><h1>Варез программа</h1></font>

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

Еще можно вот что сделать. Где-нибудь неприметненько запихиваем прозрачные gif-чики и делаем из них ссылки. Бот и alt`ы проиндексит и по ссылкам пойдет, особенно, если сами ссылки по дизайну на страницу никак не поместить.

Примерно так:
Код HTML:
<a href="первая ссылка"><img src="images/gif_1.gif" width="1" height="1" border="0" alt="Варез, софт, нелегальный софт"></a>
<a href="вторая ссылка"><img src="images/gif_1.gif" width="1" height="1" border="0" alt="Софт, варез"></a>
<a href="третья ссылка"><img src="images/gif_1.gif" width="1" height="1" border="0" alt="варез, софт"></a>

и т.д.

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

И вот еще что! Если релевантность _слишком_ высока, Яндекс обижается и не выдает страницу по запросу. За остальными не замечала. Другие страницы того же сайта с меньшей релевантностью может выдавать («серый» список). Так что, если на странице только слова «варез варез варез» - это не выход. Релевантность должна быть не более 30 %. И одинаковые слова подряд лучше не повторять.

А Батва меня навел на мысль, что можно делать по 2 страницы на одно ключевое слово. На одной странице релевантность по ключевому слову 10 % (для подозрительного Яндекса), на другой - порядка 30 % (для остальных).

И вот когда все это извращение готово - 10-15 стартовых качественно написанных страниц - идешь на http://www.design.ru/free/addurl/ и каждую страницу индексишь одной пимпой в нескольких наиболее популярных поисковиках. При этом видишь ответы серверов, и, если не прошло - идешь индексить вручную.
Об остальных поисковиках спокойно забываешь, толку от них… Работы больше.
Описание к каждой странице - разное, ясен тетя. Емкое, краткое состоящее из ключевых слов.

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

И последнее.
В корень (только в корень) помещаешь файт robots.txt (именно так и никак иначе) со следующим содержимым:

Код HTML:
User-agent: * # Первая строка.
# Комментарии, понятное дело, убрать
# Строка говорит, что любой бот может индексить ресурс
# Между первой и последующими -
# не должно быть переводов строк
Disallow: /cgi-bin/ #Не индексировать то, что в каталоге cgi-bin
Disallow: /images/ #Не индексировать то, что в каталоге images
Disallow: /scripts/ #Не индексировать то, что в каталоге scripts

# И далее по смыслу. В конце каждого имени каталога - слеш.
# Нече там ботам ползать. Нагрузку на сервак повышать. smile

Теги: ПОИСКОВЫЕ БОТЫ

0

2

не осилила %-)

0

3

Psixeya написал(а):

не осилила %-)

Эта информация для админов и модераторов. Если пройти по ссылке активны, то мы увидим, что "гости", просматривают профили модераторов и админов, хотя установлен скрипт запрета. Могут также  админить. Вот, это как раз, и  так называемые поисковые боты. Они заходят туда, где неплохо идет раскрутка, на растущих форумах. Это НОРМАЛЬНО! :glasses:

0

4

Что такое бот?

Бот - это программа, автоматически выполняющая какое-то действие на компьютере (в основном в сети Интернет) вместо человека, имитирующая действие человека. Это могут быть программы для общения в чатах (в IRC, ICQ или в социальных сетях), а также игровые боты...
Боты предназначаются для выполнения работы, однообразной и повторяемой, с максимально возможной скоростью. Вредоносным проявлением ботов является их использование для координации сетевых атак на компьютеры. Боты используются для распространения информации рекламного содержания. Боты часто используются для скупки лучших мест на концертах, авиарейсах в целях последующей перепродажи.

Так же как машины теперь всюду заменяют человека, также и бот может заменить живого irc-пользователя. IRC-bot - это программа, изображающая из себя одновременно и irc-client и человека, в нем работающего. Бота можно научить вести себя вполне социально, так, что сложно будет сразу догадаться, что вы общаетесь не с живым собеседником, а с роботом.
Бот может выполнять любые функции, например административные (управление каналом, учет и контроль пользователей, ведение статистики, защита от вандалов), развлекательные (пение частушек, пляски с бубном, поддержка интересного диалога), полезные (поиск по вебу, лексический анализ грамотности ;), калькулятор, прогноз погоды и т.д, и т.п.).

Вот в общих чертах то, что делает безвредный бот.

0

5

AVASDRYG написал(а):

Эта информация для админов и модераторов.

та я поняла, сами настройки не осилила

0

6

Psixeya написал(а):

AVASDRYG написал(а):

    Эта информация для админов и модераторов.

та я поняла, сами настройки не осилила

Значит - не зачем... Но если повнимательнее прочесть, поймешь. :glasses:

0

7

Поисковые боты в phpBB

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

Итак, небольшой мануал:

Заходим в админ-панель - вкладка "Общие" - пункт "Поисковые боты" - кнопка "Добавить бота".

Далее в появившемся окне вводим для каждого поисковика данные, приведенные ниже.

Яндекс
Название бота: Yandex [Bot]
Соответствие агенту: Yandex

Рамблер
Название бота: Rambler [Bot]
Соответствие агенту: StackRambler

WebAlta
Название бота: WebAlta [Bot]
Соответствие агенту: WebAlta Crawler

Апорт
Название бота: Aport [Bot]
Соответствие агенту: Aport

Mail.Ru

Название бота: MailRu [Bot]
Соответствие агенту: Mail.Ru

0

8

В phpBBex с самой первой версии было встроено опознание русских поисковых роботов. Но дело в том, что на самом деле они были добавлены в 2008 году (на моём форуме), задолго до официального выхода первой публичной версии phpBBex. С тех пор данные по ним уже успели устареть.

Настоятельно рекомендую на ваших форумах проделать две вещи:
1. Удалить поискового бота «Aport [Bot]» (с 2011 года они работают на базе Яндекса)
2. У робота «Yandex [Bot]» заменить User-Agent на «YandexBot/» (в конце 2010 года поменяли)

Далее по желанию можете добавить таких роботов (указаны название робота и его User-Agent):

Код:
Yandex [Images]    YandexImages/
Yandex [Video]     YandexVideo/
Yandex [Media]     YandexMedia/
Yandex [Blogs]     YandexBlogs/
Yandex [Addurl]    YandexAddurl/
Yandex [Direct]    YandexDirect/
Yandex [Metrika]   YandexMetrika/
Yandex [Catalog]   YandexCatalog/
Yandex [News]      YandexNews/

В готовящемся выпуске phpBBex при установке сразу будут создаваться все указанные боты. Но при обновлении с предыдущих версий они не будут добавлены, будет только исправлен User-Agent у робота Яндекса и удалён Aport.

Итак, вышел phpBBex 1.4.0. Скрипт обновления исправил UserAgent у робота Yandex [Bot] и удалил Aport [Bot]. Остальных роботов вы можете добавить вручную (при желании, это не обязательно). Если же вы устанавливали сразу phpBBex 1.4.0, то эти роботы у вас уже есть.
Также предлагаю делиться в этой теме другими полезными роботами, которые посещают ваш форум.

В последнее время активно ходит с разных IP по форумам бот Ahrefs [Bot]. Строка User-Agent: «AhrefsBot/». Предлагайте своих ботов, которые часто заходят на ваш форум (вы можете анализировать это на странице «Кто сейчас на сайте».

Вообще на небольших форумах, как правило, большая часть гостей — это боты. Причём если бот заходит на сайт с нескольких IP адресов, то он воспринимается как сразу несколько гостей. Из-за этого на каком-нибудь мелком форуме вполне может высветить, что сейчас на сайте 120 гостей и поставлен новый рекорд.

Чтобы хоть как-то бороться с неверным определением количества гостей требуется периодически регистрировать у вас на форуме новых ботов, которые к вам заходят. Иначе в рекордном количестве посетителей онлайн будет неверное значение. Может быть вообще не стоит учитывать гостей для рекорда? Можно просто написать: «Рекорд зарегистрированных пользователей онлайн: 15 (поставлен 25.05.2010)» и все дела, тогда хотя бы это число будет хоть что-то обозначать. Что думаете по этому поводу?

0

9

Бан поисковых ботов на форуме phpBB3
   

В phpBB3 есть два способа (манипуляции на уровне сервера не рассматриваем) ограничить доступ бота к форуму:

а. С помощью файла robots.txt (как и для любого другого форума/сайта)
б. Добавить бота в адм. разделе и отключить права на просмотр/чтение форумов

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

1. В phpmyadmin выполнить (если префикс таблиц не phpbb_ - заменить на свой):

Код:
        ALTER TABLE  `phpbb_bots` ADD  `bot_banned` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT  '0';
         
        INSERT INTO `phpbb_config` (`config_name`, `config_value`, `is_dynamic`) VALUES ('bot_banned', '0', '0'), ('bot_banned_text', '', '0');

2. Переделать файлы:

adm/style/acp_bots.html после

Код:
           <dl>
              <dt><label for="bot_ip">{L_BOT_IP}:</label><br /><span>{L_BOT_IP_EXPLAIN}</span></dt>
              <dd><input name="bot_ip" type="text" id="bot_ip" value="{BOT_IP}" maxlength="255" /></dd>
           </dl>

Добавить

Код:
           <dl>
              <dt><label for="bot_banned">{L_BOT_BANNED}:</label></dt>
              <dd><select id="bot_banned" name="bot_banned">{S_BANNED_OPTIONS}</select></dd>
           </dl>

после

Код:
              <th>{L_BOT_LAST_VISIT}</th>
              <th colspan="3">{L_OPTIONS}</th>
              <th>{L_MARK}</th>

добавить

Код:
              <th>{L_BOT_BANNED}&nbsp;[<a title="{L_SELECT_ALL}" href="#" onclick="$('.bot_ban').val(1);">+</a>/<a title="{L_UNSELECT_ALL}" href="#" onclick="$('.bot_ban').val(0);">-</a>]</th>

после

Код:
                 <td style="text-align: center;">&nbsp;<a href="{bots.U_EDIT}">{L_EDIT}</a>&nbsp;</td>
                 <td style="text-align: center;">&nbsp;<a href="{bots.U_DELETE}">{L_DELETE}</a>&nbsp;</td>
                 <td style="text-align: center;"><input type="checkbox" class="radio" name="mark[]" value="{bots.BOT_ID}" /></td>

добавить

Код:
                 <td style="text-align: center;"><select name="bot_banned[{bots.BOT_ID}]" class="bot_ban"><option value="1"<!-- IF bots.BOT_BANNED --> selected="selected"<!-- ENDIF --> />{L_YES}</option><option value="0"<!-- IF not bots.BOT_BANNED --> selected="selected"<!-- ENDIF --> />{L_NO}</option></select></td>

includes/acp/acp_board.php перед

Код:
                          'legend2'            => 'ACP_LOAD_SETTINGS',
                          'load_birthdays'      => array('lang' => 'YES_BIRTHDAYS',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),

добавить

Код:
                          'bot_banned'      => array('lang' => 'BOT_BANNED',      'validate' => 'string',      'type' => 'text:1:1', 'explain' => true),
                          'bot_banned_text'      => array('lang' => 'BOT_BANNED_TEXT',      'validate' => 'string',      'type' => 'textarea:5:3', 'explain' => true),

includes/acp/acp_bots.php после

Код:
   $action = request_var('action', '');
      $submit = (isset($_POST['submit'])) ? true : false;
      $mark   = request_var('mark', array(0));

добавить

Код:
    $bot_banned   = request_var('bot_banned', array(0));

перед

Код:
                 case 'delete':
                    if ($bot_id || sizeof($mark))
                    {

добавить

Код:
    case 'bot_banned':
            if (sizeof($bot_banned))
            {
 
               foreach($bot_banned as $k => $v)
               {
                  $k=intval($k);
                  $v=$v ? 1 : 0;
                  $sql = 'UPDATE ' . BOTS_TABLE . "
                     SET bot_banned = '{$v}'
                     WHERE bot_id='{$k}'";
                  $db->sql_query($sql);
               }
            }
 
            $cache->destroy('_bots');
         break;

после

Код:
                       'bot_agent'      => request_var('bot_agent', ''),
                       'bot_ip'      => request_var('bot_ip', ''),
                       'bot_active'   => request_var('bot_active', true),

добавить

Код:
                       'bot_banned'   => request_var('bot_banned', false),

после

Код:
                  'user_id'      => (int) $user_id,
                        'bot_name'      => (string) $bot_row['bot_name'],
                        'bot_active'   => (int) $bot_row['bot_active'],

добавить

Код:
                                'bot_banned'   => (int) $bot_row['bot_banned'],

после

Код:
          $_options = array('0' => 'NO', '1' => 'YES');
            foreach ($_options as $value => $lang)
            {
               $selected = ($bot_row['bot_active'] == $value) ? ' selected="selected"' : '';
               $s_active_options .= '<option value="' . $value . '"' . $selected . '>' . $user->lang[$lang] . '</option>';
            }

добавить

Код:
      $s_banned_options = '';
            $_options = array('0' => 'NO', '1' => 'YES');
            foreach ($_options as $value => $lang)
            {
               $selected = ($bot_row['bot_banned'] == $value) ? ' selected="selected"' : '';
               $s_banned_options .= '<option value="' . $value . '"' . $selected . '>' . $user->lang[$lang] . '</option>';
            }

после

Код:
       'BOT_AGENT'      => $bot_row['bot_agent'],
 
               'S_EDIT_BOT'      => true,
               'S_ACTIVE_OPTIONS'   => $s_active_options,

добавить

Код:
                       'S_BANNED_OPTIONS'   => $s_banned_options,

заменить

Код:
              $_options = array('activate' => 'BOT_ACTIVATE', 'deactivate' => 'BOT_DEACTIVATE', 'delete' => 'DELETE');

на

Код:
              $_options = array('activate' => 'BOT_ACTIVATE', 'deactivate' => 'BOT_DEACTIVATE', 'delete' => 'DELETE', 'bot_banned' => 'BOT_BANNED');

заменить

Код:
              $sql = 'SELECT b.bot_id, b.bot_name, b.bot_active, u.user_lastvisit

на

Код:
    $sql = 'SELECT b.bot_id, b.bot_name, b.bot_active, b.bot_banned, u.user_lastvisit

перед

Код:
    'BOT_NAME'      => $row['bot_name'],
            'BOT_ID'      => $row['bot_id'],
            'LAST_VISIT'   => ($row['user_lastvisit']) ? $user->format_date($row['user_lastvisit']) : $user->lang['BOT_NEVER'],

добавить

Код:
 'BOT_BANNED' => $row['bot_banned'] ? true : false,

includes/cache.php заменить (встречается 3 раза)

Код:
   $sql = 'SELECT user_id, bot_agent, bot_ip

на

Код:
 $sql = 'SELECT user_id, bot_agent, bot_ip, bot_banned, bot_id

заменить

Код:
    $bots[] = $row;

на

Код:
   $bots[$row['bot_id']] = $row;

includes/session.php заменить

Код:
 function session_begin($update_session_page = true)
   {
      global $phpEx, $SID, $_SID, $_EXTRA_URL, $db, $config, $phpbb_root_path;

на

Код:
 function session_begin($update_session_page = true)
   {
      global $phpEx, $SID, $_SID, $_EXTRA_URL, $db, $config, $phpbb_root_path, $cache;

после

Код:
    * bot, act accordingly
      */
      $bot = false;

добавить

Код:
 $bot_id=0;

после

Код:
                 if ($row['bot_agent'] && preg_match('#' . str_replace('\*', '.*?', preg_quote($row['bot_agent'], '#')) . '#i', $this->browser))
                 {
                    $bot = $row['user_id'];

добавить

Код:
    $bot_id=$row['bot_id'];

после

Код:
    if (strpos($this->ip, $bot_ip) === 0)
               {
                  $bot = (int) $row['user_id'];

добавить

Код:
                          $bot_id=$row['bot_id'];

перед

Код:
 // If our friend is a bot, we re-assign a previously assigned session
      if ($this->data['is_bot'] && $bot == $this->data['user_id'] && $this->data['session_id'])

добавить

Код:
              if($this->data['is_bot'] && $config['bot_banned'] && $bot_id && isset($active_bots[$bot_id]['bot_banned']) && $active_bots[$bot_id]['bot_banned'])
              {
                 if(stristr($_SERVER['REQUEST_URI'], "ucp.{$phpEx}")===FALSE && $config['bot_banned']==1)
                 {
                    header("Location: ".append_sid("{$phpbb_root_path}ucp.{$phpEx}", 'mode=login'));
                    exit();
                 }
                 else if($config['bot_banned']==2)
                 {
                    //$db->sql_query('DELETE FROM ' . SESSIONS_TABLE . ' WHERE session_user_id = ' . $this->data['user_id']);
                    trigger_error($config['bot_banned_text'] ? $config['bot_banned_text'] : 'Sorry, this browser banned on forum.');
                 }
              }

после

Код:
                          $this->data['is_bot'] = (!$this->data['is_registered'] && $this->data['user_id'] != ANONYMOUS) ? true : false;
                          $this->data['user_lang'] = basename($this->data['user_lang']);

добавить

Код:
                if($config['bot_banned']==2)
                  {
                     $bot = false;
                     $bot_id=0;
                     $active_bots = $cache->obtain_bots();
 
                     foreach ($active_bots as $row)
                     {
                        if ($row['bot_agent'] && preg_match('#' . str_replace('\*', '.*?', preg_quote($row['bot_agent'], '#')) . '#i', $this->browser))
                        {
                           $bot = $row['user_id'];
                           $bot_id=$row['bot_id'];
                        }
 
                        // If ip is supplied, we will make sure the ip is matching too...
                        if ($row['bot_ip'] && ($bot || !$row['bot_agent']))
                        {
                           // Set bot to false, then we only have to set it to true if it is matching
                           $bot = false;
 
                           foreach (explode(',', $row['bot_ip']) as $bot_ip)
                           {
                              $bot_ip = trim($bot_ip);
 
                              if (!$bot_ip)
                              {
                                 continue;
                              }
 
                              if (strpos($this->ip, $bot_ip) === 0)
                              {
                                 $bot = (int) $row['user_id'];
                                 $bot_id=$row['bot_id'];
                                 break;
                              }
                           }
                        }
 
                        if ($bot)
                        {
                           break;
                        }
                     }
                     if($bot_id && isset($active_bots[$bot_id]['bot_banned']) && $active_bots[$bot_id]['bot_banned'])
                     {
                        //$db->sql_query('DELETE FROM ' . SESSIONS_TABLE . ' WHERE session_user_id = ' . $this->data['user_id']);
                        trigger_error($config['bot_banned_text'] ? $config['bot_banned_text'] : 'Sorry, this browser banned on forum.');
                     }

language/ru/acp/board.php в самом конце перед

Код:
        ));
         
        ?>

добавить

Код:
           'BOT_BANNED' => 'Бан ботов',
           'BOT_BANNED_EXPLAIN' => 'Включить бан поисковых ботов на форуме, 0 - отключить, 1 - включить частично (если пользователь определён как бот, для доступа необходимо будет войти на форум под своей учётной записью), 2 - включить полностью (все страницы форума будут недоступны)',
           'BOT_BANNED_TEXT' => 'Сообщение для забаненных ботов',
           'BOT_BANNED_TEXT_EXPLAIN' => ' Если число в предыдущей опции равно 2 - отображать указанный текст сообщения для бота (по молчанию будет отображаться сообщение: <em>Sorry, this browser banned on forum.</em>)',

language/ru/acp/bots.php в самом конце перед

Код:
        ));
         
        ?>

добавить

Код:
 'BOT_BANNED' => 'Запретить',
   'SELECT_ALL' => 'Да',
   'UNSELECT_ALL' => 'Нет',

3. Очистить кеш, настроить опции (адм. раздел - вкладка Общие - Функции конференции), отметить ботов как забаненных (адм. раздел - вкладка Система - Поисковые боты - в колонке Запретить: выбрать нужных ботов, в форме справа снизу выбрать: Запретить - Отправить)

4. Если число в опции Бан ботов равно 1 - при определении бота как забаненного необходима очистка всех сессий на форуме (адм. раздел - вкладка Общие - Очистить все сессии) иначе, бан будет действовать только после истечения срока действия текущей сессии

5. Как уже написано выше, можно банить не только ботов, но и определённые браузеры на форуме, процесс точно такой-же как и для ботов, нужно добавить в раздел Поисковые боты нужный браузер (его UserAgent) и отметить его как запрещённого.
--
Скриншоты:

Опции в адм. разделе

http://i.imgur.com/zxuk2.png

Редактирование/создание бота

http://i.imgur.com/uOdyK.png

Список ботов

http://i.imgur.com/J86tC.png

Результат посещения

http://i.imgur.com/rQqZr.png

0

10

Бот Ahrefs.com приходит не один, а толпой от нескольких десятков до нескольких сотен одновременно.
И он приходит не регится, а сканировать бэки. Грузит сервер конкретно.
Много ботов которые конкретно гадят ресурсу, Ezooms среди них.

0


Вы здесь » ВИЗИТ » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА » ПОИСКОВЫЕ БОТЫ


Рейтинг форумов | Создать форум бесплатно