Как исключить страницы из результатов поиска WordPress

Одной из замечательных особенностей платформы WordPress есть внутренний поиск. Однако функция поиска в CMS ВордПресс не всегда выдает релевантные результаты. И это не очень хорошо, ведь может привести к потере посетителей. Но, к счастью, у WordPress есть возможность настроить под себя практически любой аспект, включая поиск. Одним из способов улучшить результаты поиска является исключение нерелевантных (неподходящих) страниц. И именно этому вопросу посвящен сегодняшний практический урок. Итак, вперед!

 

Краткий обзор функции поиска по умолчанию в WordPress

Даже ваш недавно созданный «свеженький» сайт будете иметь встроенный поиск, — поскольку это функционал движка по умолчанию. Конечно, это не будет поиск по типу как у Google, но примитивный функционал у вас уже будет на руках. Но иногда поиск не будет возвращать полезные результаты, поскольку система будет искать «запрос» только в контенте публикаций и/или страниц. И не будет учитывать метки и/или специальные (кастомные) поля. Часто этого бывает маловато. Но хорошая новость заключается в том, что мы можем это улучшить, например, с помощью простого кода, и указав ВордПресс, какие страницы исключить из сканирования, чтобы лишнее не загромождало поиск.

 

Почему необходимо исключить определенный контент из результатов поиска

Таких случаев есть два основных вида:

  1. Если вы публикуете приватный контент, который должны видеть только определенные пользователи. И, соответственно, чтобы такой контент не был доступен всем в результатах поиска.
  2. Чтобы не показывать всем нерелевантные страницы. Например, исключить из показа страницы определенного (или всех) авторов, или из определенной категории и т.д.

Это легко скорректировать, и наконец поможет посетителям вашего сайта находить нужное им содержимое.

 

Как исключить определенные страницы из результатов поиска WordPress

Давайте теперь перейдем к практическому решению данного вопроса с помощью редактирования файла functions.php активной темы.

! Сначала убедитесь, что перед началом таких работ вы создали резервную копию своего сайта.

Чтобы редактировать файлы на сервере, вы можете использовать, например, протокол передачи файлов FTP. А с помощью текстового редактора, например Notepad++, сможете вносить изменения в код PHP файлов. После корректировок сохраните файл functions.php, и результаты поиска на вашем сайте будут улучшены!

 

Вот пример кода, который нужно добавить, если вы хотите исключить определенные категории из результатов поиска:

<?php
add_filter( 'pre_get_posts', 'sebweo_search_results_adjustment' );
function sebweo_search_results_adjustment( $query ) {
  // если это страница поиска, но и не ограничивать админа сайта
  if ( $query->is_search && !is_admin() ) {
   $query->set( 'cat','-7, -9' ); // исключаем из результатов категории с ID 7 и 9
  }
  return $query;
}
?>

Основной код находится в строке, в которой указано «cat», а затем два числа (7 и 9). Каждое из этих чисел представляет идентификатор категории, которую следует исключить из поиска (со знаком минус перед ними). Обратите внимание, что вы можете использовать не только один ID, но и гораздо больше.

 

Если вам нужно отключить страницы по их тегам, а не категориям, тогда используйте код следующего вида:

<?php
add_filter( 'pre_get_posts', 'sebweo_search_results_adjustment' );
function sebweo_search_results_adjustment( $query ) {
  // если это страница поиска, но и не ограничивать админа сайта
  if ( $query->is_search && !is_admin() ) {
    $query->set( 'tag','-15, -33' ); // исключаем из результатов теги с ID 15 и 33
  }
  return $query;
}
?>

Этот код очень похож на предыдущий, за исключением того, что здесь мы используем термин таксономии tag (тега), а не cat (категории). Подобным образом вы можете использовать код такого вида практически для любой таксономии на вашем сайте.

 

 

Вместо вывода

Есть несколько аспектов в сайтах на WordPress, которые вы можете улучшить, приложив лишь немного усилий. К примеру, дефолтную функцию поиска. Убрав нерелевантные страницы из результатов поиска, вы поможете в первую очередь посетителям вашего сайта быстрее находить нужный контент. Это может побудить их провести больше времени на вашем сайте и получить желаемое.

Сегодня мы рассмотрели практический способ исключения определенных страниц из результатов поиска и, соответственно, улучшения их для сайта на WordPress. Самый простой способ для этого — отредактировать файл functions.php темы и добавить небольшую функцию.

 

Recent Posts

Билл Гейтс

Люди всегда переоценивают изменения за неделю, и недооценивают возможные достижения за год Билл Гейтс  

4 часа ago

Основные задачи болотного экскаватора: где и для чего он используется

Болотный экскаватор – это специализированная техника, предназначенная для работы в условиях повышенной влажности, на болотистых…

1 неделя ago

Почему пластинчатые теплообменники являются оптимальным выбором для промышленности

Промышленные системы теплопередачи нуждаются в эффективных, надежных и экономичных решениях. Одним из наиболее распространенных и…

1 неделя ago

Зигмунд Фрейд

Когда ты умер, ты об этом не знаешь. Только другим тяжело. То же самое, когда…

1 неделя ago

Подбор игрового ноутбука для комфортного прохождения S.T.A.L.K.E.R 2

Как для человека, который прошел каждую из 3 оригинальных игр серии, и на относительно слабеньком…

1 неделя ago

Как научиться менеджменту в Украине?

Если вы закончили школу и хотите посвятить себя процессу управления бизнесом (любого уровня), тогда перед…

2 недели ago