Добрый день!
Уже с месяц осваиваюсь на Drupal'e. Всё бы хорошо, но вот уже двое суток как хостер (teli.ru) блокирует периодически сайт. Самое обидное, что за последнюю неделю в настройки не лазал, кешируется всё на сайте, настроено вроде. Но отчёты перед блокировкой говорят, что 50-80% процессора я умудряюсь сожрать на обработке index.php. Как я заметил, перегрузка происходит, когда ко мне приходят поисковые боты google и yandex и меня отключают быстренько. Последний рекорд: 210 обращений к index.php за 4 минуты. Два человека, которые находились на сайте в этот момент при всём желании такого не сотворят кажется. Техподдержка хостера уже разводит руками и помахивает Большой Банилкой. Может кто-то знает, как побороть проблему или хотя бы, откуда у неё ноги растут (не исключаю, что ноги у неё оттуда же, откуда у меня руки, из задницы то-есть )
Так же изредка, особенно в моменты блокировок, сайт переходит в off-line режим с сообщением о ошибке сокета:
The mysqli error was: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
Помогите, пожалуйста, разобраться!
Комментарии
Что касается yandex, то помогает директива Crawl-delay в .htaccess, читайте здесь (http://help.yandex.ru/webmaster/?id=996567)
Что касается Google, то зарегистрируйтесь в нём, перейдите на страницу http://www.google.com/webmasters/, добавьте свой сайт и в параметрах установите желаемую скорость сканирования сайта гуглом).
С остальными поисковиками всё гораздо хуже, но свирепствуют из них только yahoo и rambler, так что yahoo можете сами тупо забанить через .htaccess и директиву deny from, список адресов следующий:
72.30.0.0/16
67.195.0.0/16
74.6.0.0/16
Ещё есть такие моральные уроды как mail.ru. Мне они особенно не нравятся потому что их робот выгребает сайт целиком, со всеми картинками. Нужны они вам или нет - решайте сами.
Хочу заметить, что хостер тоже несколько неправ! Тупо банить сайт из-за поисковиков - это не решение, лучше бы помогли вам снизить нагрузку с этих поисковиков, а то и забанить их. Например проблема хорошо поддаётся лечению через nginx, занижая скорость отдачи для левых поисковиков до 1-2 килобайт в секунду или установкой для таких поисковиков паузы секунд в 5-10 перед отдачей страницы.
Огромнейшее спасибо вам! Начинаю работы по правильному натравливанию поисковиков.
А велика ли нагрузка на сервер от AJAX-приложений, типа chatblock? Я пока убрал, но пользователи очень уж хотят назад.
Какой нормальный интервал визитов роботов? Я всегда думал, что раз за 1-2 дня. А у меня сейчас 3-4 раза в сутки приходят, причём толпой: google, yandex, msn даже пришёл. И всё, что любопытно, за 1-2 минуты.
Аякс приложения предпочтительней, ибо выгребают с сайта не всю страницу, а только часть данных.
то есть это... ваш хостер не в состоянии ограничить число соединений для одного ип и отслеживать и ограничивать поисковых ботов?
оверселлинг?
я бы для начала сменил хостера.
уроды. да. но с них трафф идет. до 10%.
топистартер, хостера меняй.
Хостера сменил только что, был совсем уж дрянной. А с ограничением доступа и сам справлюсь - админка мне в помощь. Просто у хостера типо политика такая: делайте что хотите, лишь за ресурс не вылезайте. Хотя компания вроде солидная...
содержимое файлика:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^open-club.ru$ [OR]
RewriteCond %{HTTP_HOST} ^www.open-club.ru$
RewriteRule ^.*$ "http\:\/\/open\-club\.ru\/main" [R=301,L]
Options +ExecCGI
User-agent: Yandex
Crawl-delay: 10
Вроде так написано у Яндекса.. ан не работает:
Internal Server Error
Это надо в robots.txt вставлять.
А почему у Вас .htaccess не друпаловский?
А где друпаловский взять? Просто настраиваю методом научного клика, поэтому уж какой есть... Думаю, у меня и так порядочно ляпов, только ни поправить их пока, ни даже распознать их не могу. Например, сайт может лишь жёстко лежать в директории /home/user/public_html а мне бы хотелось, чтоб было в отдельной папочке. Пришлось делать редирект домена на /home/user/public_html/main чтоб работало. Туда теперь основной домен указывает. А поддомены указывают на /home/user/public_html/поддомен. Поделитесь, плиз, примером robots.txt а я его по ману Яндекса под себя перекрою.
Посмотрите в архив с друпалом.
Я слышала, что тели.ру этим знаменит - типа все безлимит (у них же там и баз и доменов много), но чуть-чуть начинаете кушать ресурсы -вам сразу выключают аккаунт... Вообще, лучше хостинг сменить.
Хостинг сменить теоретически можно, ведь вроде бы 210 обращений за 4 минуты - это всего 240/210 = 1 обращение в секунду и кажется, что немного, НО! Только если в число этих обращений входят картинки. А если здесь имеется в виду 1 обращение в секунду - это php-скрипт, который тут же хреначит базу, то тут меняй не меняй хостера, а любой хостер либо резать начнёт либо дорого денег попросит.
Автор, директивы Rewrite.. ставятся в .htaccess как и deny from, а директивы Crawl-delay ствятся в robots.txt
Начинаю понимать суть вопроса, однако. В общем, сам виноват. Тут какое дело:
Сайт лежит в /home/user/public_html/main/ и сделан редирект с open-club.ru на open-club.ru/main (иначе не смог сделать так, чтобы весь сайт лежал в отдельной папке, а не в корне)
Как я заметил, на htaccess это никоим образом не сказалось, работает файл /home/user/public_html/.htaccess а не файл /home/user/public_html/main/.htaccess
Думаю, с robots.txt та же самая капуста. По крайней мере, в папке main лежит уже готовое robots.txt
Сейчас попробую использовать кошерный htaccess из поставки drupal.