Носился со своей сеточкой как дурень со ступой.
На одном из сайтов непомню где прочитал что можно в 1 сайт засунуть 100 и более wordpress’ов. Зачем это нужно? Ну вот у меня например исторически сложилось с infobox.ru дружить. У них есть ограничение на кол-во сайтов в тарифе. Предел – 10 штук на моем тарифном плане. А WP хранит все настройки в базе, поэтому если взять файлы движка и залить их в 1 сайт, то потом привязывая домены получаем неограниченное кол-во сайтов. Для этого открываем wp-config.php, находим там строчки про префикс и меняем их на:
$prefix = $_SERVER["HTTP_HOST"];
$prefix = str_replace(»
Для просмотра ссылки Войди или Зарегистрируйся, «», $prefix);
$prefix = str_replace(»-», «», $prefix);
$prefix = str_replace(».ru», «», $prefix);
$prefix = str_replace(».RU», «», $prefix);
$prefix = str_replace(».Ru», «», $prefix);
$prefix = str_replace(».rU», «», $prefix);
$table_prefix = $prefix.»_» ;
Получается, что префиксы в базе разные в зависимости от доменного имени.
Это все была предыстория, так как пост называется »Война с нагрузкой на Wordpress»
История же в том, что моя таким образом поднятая сеточка нагнула onkelhost до блокировки. Оно и понятно, WP жрет ресурсы как свинья, сцуко. Кстати сетка малюсенькая – всего 10 сайтов. В общем решил свалить от них не разбираясь. Свалил в infobox и тут тоже получил предупреждение(хоть не блокировку сразу как в onkelhost).
В общем начал разбираться, нашел кучу прожорливых ботов и стал с ними бороться:
1. открываем index.php и пишем сразу после <?php
if(
strpos($_SERVER['HTTP_USER_AGENT'], ‘Dolphin/1.0′) !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], ‘crawl’) !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], ‘StackRambler’) !== false
)die(’fuck off robot!’);
Рама жрет как вы знаете тоже как бешенный, но сапе то он до одного места. Dolphin/1.0 – аццкое создание, в топку его, похоже на систему для ддоса больше, чем на бота.
2. если вас заваливает спамом с ваших сателитов, то очень просто берем файл wp-comments-post.php и переименовываем в wp-comments-post.php_ Все, боты как и все прочие больше не смогут коментировать на блоге – снимаем немного нагрузки таким образом.
3. создаем файл robots.txt
в него пишем:
User-Agent: *
Disallow: /
User-Agent: Yandex
Disallow:
User-Agent: Googlebot
Disallow:
То есть всем кроме гоши и яши идти лесом, но это для вежливых ботов, невежливых посылаем в пункте №1, если они представляются ботами, а если нет, то можно и по ip забанить.