Проблема появилась после того как я начал оптимизировать сайт.
Основной проблемой стала нагрузка на сайт. Это мой первый проект который я разрабатывал сам.
Шаблон почти пустой, но нагрузка на цп достигала до 5-6% при том что пользователей было достаточно мало.
Закрыл крон, убрал фид, произвел оптимизацию картинок и css. Так же сократил количество запросов на сайте.
Поставил поиск по сайту (Research Everything)
Нагрузка упала до 0.4-1%
Это хороший результат я считаю.
Но по логам хоста постоянно пользуются поиском, но запросы:
[18/Mar/2019:10:39:34 +0300] "GET /search/www.osramds.cn HTTP/1.0" 403 64
и тд.. 10-30 запросов в час если не больше. Закрыть поиск не вариант.
Поставил скрытое поле, ложное поле капчи... Есть ли еще действенный способ без использования плагинов и дополнительной нагрузки?
Вопрос не совсем понял. Если у Вас проблема с поиском WP, может воспользоваться поиском от гугла или яндекса?
Если Вам нужно запретить некоторые слова, может быть сделать обработку JS перед началом запроса?
Если речь о дефолтном поиске (поиске WP), то конечно пропустит пользователей, раз у них не активен JS, но можно же скрыть поиск и написать, у вас отключен JS.
Боты с ПС знают и умеют работать с JS, другие боты я не знаю. И зачем Вам это, вообще в robots.txt закройте индексацию по поиску.
Так дело даже не в том что поисковые системы лезут в поиск по сайту, эту часть я закрыл. Я так понимаю что боты постоянно в форму вбивают различные сайты, что и ведет к нагрузке на сервер.
сделайте защиту, к примеру с помощью js вставляйте hidden поле в форму поиска, и при submit проверяйте, а есть ли это поле, если нет, то игнорьте запрос
Анатолий, Конкуренты есть, но уровень сайта не такой что бы его можно было бы спамить и тд...
Спасибо, буду пробовать.
Еще вопрос, если использовать поле hidden, тогда нужно указать что если нет JS у клиента, то поиск будет недоступен?