Полное отключение стандартного поиска в WordPress
Предположим, вы не используете поиск на своем блоге, либо у вас стоит поиск от google, или на ajax, как у меня.
А что вы сделали с тем поиском, который был в WordPress по умолчанию? Просто убрать форму поиска из виджетов или из кода темы недостаточно . Ведь когда я не находил её на сайте, я вводил поисковой запрос напрямую в URL, например https://misha.agency/?s=wordpress
Для отключения такой возможности вставьте этот код в functions.php текущей темы или в свой плагин:
function true_search_turn_off( $q, $e = true ) { if ( is_search() ) { $q->is_search = false; $q->query_vars[s] = false; $q->query[s] = false; if ( $e == true ){ // вешаем страницу с ошибкой 404 $q->is_404 = true; } } } add_action( 'parse_query', 'true_search_turn_off' ); add_filter( 'get_search_form', '__return_false' );
Теперь, в том случае, если кто-то захочет обратиться к результатам поиска напрямую через URL, его перекинет на страницу 404-й ошибки.
Миша
Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.
Пишите, если нужна помощь с сайтом или разработка с нуля.
Как отключить поиск в WordPress
Рад видеть, достопочтенный посетитель!
Если ты здесь, то очевидно неспроста. Тебя явно гложет вопрос, как отключить функционал, позволяющий осуществлять поиск по сайту, что работает на популярном «движке» под названием WordPress.
Ты зашёл по адресу! Но сначала давай рассмотрим, зачем может понадобиться отключать данный функционал:
- на сайте всего несколько страниц, и поиск по ним осуществлять не требуется
- поисковый движок, что имеется в WordPress, не устраивает выводимыми результатами поиска
- планируется использование стороннего поискового инструмента: Яндекс – Поиск для сайта или Пользовательский поиск Google
- кто-то злонамеренно (беспрерывно и многопоточном режиме) использует поиск, чтобы создать избыточную нагрузку на сайт
Да, причин набралось весьма приличное количество. И вполне возможно, что здесь указана и та, что побудила тебя раскрыть данную статью, уважаемый посетитель.
Ну что же, остаётся перейти к инструктажу по полному отключению поискового механизма, что внедрили разработчики в своё творение, именуемое WordPress.
Для уточнения – под полным отключением подразумевается не только удаление поисковой формы, но и отключение данного функционала. Это значит, что даже сформировав поисковый запрос (вписав соответствующую ссылку), сайт не отобразит результаты поиска, а выдаст сообщение, что такой страницы нет на сайте. Это особенно полезно в случае, если поисковым механизмом попытается воспользоваться какой-либо бот.
Инструкция по отключению штатного поискового функционала в WordPress
Дабы быстро реализовать задуманное, мы просто воспользуемся лёгким и популярным плагином, что устанавливается из официального хранилища ВордПресс.
- Проследуйте в консоли ВордПресс в меню Плагины ->Добавить новый. В форме, где вводится название плагина, впишите Disable Search.
- После непродолжительного поиска будет выведен список с плагинами, среди которого находится и интересующий нас.
Нажмите по соответствующей кнопке, дабы произвести установку. - После установки включите плагин.
Всё. Плагин начал работу – формы поиска были удалены с сайта, соответствующий функционал отключен.
Стоит сказать, что в редких случаях отключается только поисковый функционал, а поисковая форма (куда вводится поисковый запрос) так и продолжает выводиться на сайте. Объяснение этому вполне простое – разработчик темы, которую вы используете, не придерживался официальных рекомендаций по написанию кода, которые были подготовлены командой создателей WordPress.
В этом случае необходимо прибегнуть к правке файлов темы. Едва ли возможно описать универсальную инструкцию, как можно удалить поисковую форму из используемой темы. Это связанно с тем, что темы для WordPress по своему дизайну и структуре весьма разнообразны – тут всё всецело зависит от прихоти создавшего ту или иную тему.
Как отключить поиск на сайте WordPress?
Мы всегда отключаем функцию поиска на одностраничных сайтах. Поиск на на Landing Page может вводить пользователей в заблуждение, давая им повод думать о том, что на одностраничном сайте есть еще страницы, которые скрыты. На одностраничных сайтах целесообразно просто отключать поиск.

Как отключить поиск?
Есть два способа отключения функции поиска на сайте. Мы расскажем о самом безопасном способе.
Как отключить поиск на сайте WordPress?
Часто на сайтах функция поиска бывает просто не нужна. Такая ситуация актуальна обычно для одностраничных сайтов с вертикальной навигацией, на которых поисковая форма может помешать работе пользователя. Так, на подобном сайте наличие поиска может ввести в заблуждение посетителя, давая ему повод думать, что может быть какая-то другая информация, которую он не видят. В таком случае функцию поиска целесообразно просто отключить.
Как отключить поиск?
Рассмотрим два способа, способных решить эту задачу.
Способ 1. Плагин Disable Search
Плагин Disable Search не нуждается в какой-либо настройке со стороны пользователя. Его достаточно установить и активировать, после чего он удалит форму поиска из темы и отключит виджет поиска. Если пользователь попытается ввести URL-адрес поискового запроса, плагин вернет страницу ошибки 404. Следует отметить, что плагин не влияет каким-либо образом на функциональность поиска внутри области администрирования WordPress. Вы по-прежнему можете выполнять поиск внутри админ-панели WordPress.

Способ 2. Ручное отключение поиска
Ручной способ отключения поискового механизма на сайте предполагает редактирование файла functions.php Вашей активной темы на WordPress-сайте.
Если Вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин ProFunctions.
Итак, для решения задачи в самый конец functions.php необходимо добавить следующий код:
function wpschool_filter_query( $query, $error = true ) < if ( is_search() ) < $query->is_search = false; $query->query_vars[s] = false; $query->query[s] = false; if ( $error == true ) $query->is_404 = true; > > add_action( 'parse_query', 'wpschool_filter_query' ); add_filter( 'get_search_form', create_function( '$a', "return null;" ) ); function wpschool_remove_search_widget() < unregister_widget('WP_Widget_Search'); >add_action( 'widgets_init', 'wpschool_remove_search_widget' );
Этот способ аналогичен предыдущему. Он также отключает виджет Поиск и перенаправляет все прямые или косвенные поисковые запросы на страницу 404.
Нажмите, пожалуйста, на одну из кнопок, чтобы узнать понравилась статья или нет.
