А какие SQL запросы приходят с машины с клиентами? Может запросы такие жуткие?
Я ведь ещё раньше предлагал временно переименовать каталог wp-admin.
И я написал как ограничить к нему доступ при помощи htpasswd и .htaccess allow from
Интересно что значит отключены 12 сайтов.
Что будет если браузером перейти по адресу такого отключённого сайта?
С одной стороны запустить ping с другой стороны послушать tcpdump. Может это что-то прояснит.
Брижди смотрел?
Плагин ставится, удаляются ревизии, оптимизируется база и всё плагин деактивируется и можно удалить. Это не кеш. Это скрипт который удаляет лишние ревизии постов и странеиц в том числе автосейвы. Нужен один раз после массивных правок контента WP сайта. Можете поставить любой другой. Не важно. Или если руки растут правильно phpMyAdmin delete from where...; Но очень осторожно.---------- Добавлено 05.12.2013 в 02:43 ----------
Ну мы же не экстрасенсы. Мы не можем даже без логов понять, что именно у вас тормозит.
То что Вы привели это добавление аутентификации по паролю чтобы её выполнял сам web сервер, а не скрипты.
И положите обязательно этот .htaccess в каталог /wp-admin/ ВСЕХ отключаемых (которые хостер отключает) сайтов данного сервера. Это закроет неавторизованный доступ к этому каталогу.
Оформляется он примерно так:
AuthName "Restricted Area" AuthType Basic AuthUserFile /home/b/be/bender/f000001017/u000002080/auth_kva/.htpasswd AuthGroupFile /dev/null require valid-user Options +Indexes DirectoryIndex index.php <Files .htaccess> order allow,deny deny from all </Files>
/home/b/be/bender/f000001017/u000002080/auth_kva/.htpasswd Это путь к файлу с паролями.
А файл внутри содержит пары типа:
user:$apr1$z4AvC7HJ$laE77te5Y2nLgyrHK5KE81
имя user пароль password
Если у Вас нет linux shell где доступна утилита htpasswd воспользуйтесь онлайн сервисом.
valid-user можно заменить на имя пользователя. В моём примере это user
Снизит ли это нагрузку на сервер? Да. Боты будут вылетать по ошибке. MySQL и php не будут участвовать в этом празднике.
Пароль писать в шапке нужно только для mass хостинга тоесть не для вас. вы пароли просто знайте.
Только добейтесь чтобы браузер спрашивал пароль и без ввода пароля выбрасывал по ошибке!
Если после этого хостер будет говорить что вы «кладёте сервер» требуйте доказательсв. Что именно «кладёт».---------- Добавлено 05.12.2013 в 03:05 ----------
Зависит от шаблона.
Можно так:
Создать дочерний шаблон (гуглите как)
В свой function.php добавить код:
function true_search_turn_off( $q, $e = true ) { if ( is_search() ) { $q->is_search = false; $q->query_vars = false; $q->query = false; if ( $e == true ){ $q->is_404 = true; } } } add_action( 'parse_query', 'true_search_turn_off' ); add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
Данный код вместо поиска отобразит страницу 404
Перед активацией шаблона проверить что он работает. Иначе из-за ошибки можно долго возиться чтобы вернуть рабочий шаблон обратно.
Другой вариант найти или написать плагин.
Пример
Ну и красиво бы убрать из шаблона само окошко поиска. Например спрятать элемент при помощи css.
Но сначала разберитесь где тормоза. Какой URL «доят» больше всего — заблокируйте. Смотрите что с нагрузкой.
Если нагрузка не упала смотрите что ещё дёргают. Потом научитесь читать логи и гуглить и станете администратором. :)
Если будете блокировать ботнет прописывая IP адреса то в конце концов админ сервера вас будет ругать за объём .htaccess который ложит ему web сервер. :)
Попробуйте ещё добавить внутрь каталогов сайтов /wp-admin/ файлик .htaccess с таким содержимым
<Files .htaccess>
order allow,deny
deny from all
</Files>
<Files *.php>
order deny,allow
allow from xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx <- ваш адрес
Да всё верно. Сервер блокирует вас из-за того что IP не в допустимом списке.
Добавьте в свой корневой .htaccess
строчку order allow,deny
Отлично! Разгребите их. Там будут IP адреса посетителей/атакеров.
и будут URL которые они посещают и результаты операций.
Должно быть видно что они запрашивают ещё. Бывает поиск по сайту если контента много повышает сильно нагрузку.
И еще. Попробуйте поставить плагин Better Delete Revision и почистить все лишние ревизии. Это облегчит базу и может облегчить запросы.
Конечно ставят 32-х битную и довольно часто. Есть много пользователей которым 64-х битные приложения не нужны или приложений нет под 64 битную архитектуру. Например финансовые или бухгалтерские инструменты. А главное что 64-х битная ось просто по умолчанию жрёт больше памяти.
PS.
У меня 32-х битная ось. :)
У вас есть доступ к логам web сервера которые относятся к вашему сайту?
Посмотрите нет ли там дёргания других скриптов сайта. Например поиска.
А если просто временно грубо заткнуть каталог с логином на быструю заглушку?
И вместо родной 404 страницы возвращать пустышку с надписью 404.
С другой стороны верно подсказывают, если речь о шаред хостинге то сам хостер должен вам пояснить что сделать. Это и в его интересах. WP распространённая система и у хостера должны быть решения, а главное специалисты и доступ к важным журналам сервера где всё записано. Если хостер дорожит клиентами конечно.
Вы уверены что верно прописали свой адрес или путь к файлу wp-login.php?
Попробуйте через FTP прописать заведомо не свой IP. Сервер должен вас заблокировать при попытке открыть wp-login.php
Я бы вообще правило сделал шире и запретил любой доступ к каталогу wp-admin с левых IP.
Сайты подвисать могут по разным причинам. Вы разбирались какая причина у вас? Ограничение канала, загрузка процессора, заполнение памяти и сильный свап. Потому что если боты забивают канал значит имеет место обычный флуд. Тогда ничего не поможет кроме смены хостера/апстрима или настройки CDN. Если ложится сервер, а канал свободен, то лимитирование по IP должно помочь. Если нет, ищите проблемы в сервере. Не должен он «складываться» (перезагружаться) при обработке .htaccess ботнетом.
Согласен. Но ко входной двери сложновато. :) Нужно обвес делать чтобы замок логи писал.
Спамхаус пользовал. И лежал.
В клаудфларе же есть саппорт.