Как исключить страницы из результатов поиска 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

Зиг Зиглар

Тебя определяют две вещи: твое терпение, когда у тебя ничего нет и твое поведение, когда…

2 дня ago

Стивен Кинг

Сколько бы не было у человека друзей, он все равно будет одинок, если рядом с…

3 дня ago

Марк Туллий Цицерон

Величайшее из достоинств оратора — не только сказать то, что нужно, но и не сказать…

1 неделя ago

Локальная поисковая оптимизация (local SEO) в теоретических деталях

Ваша стратегия SEO продвижения должна быть сильной и охватывать практически все грани этой комплексной работы,…

1 неделя ago

Омар Хайям

Я знаю мир: В нем вор сидит на воре, Глупец у мудреца всегда выигрывает в…

2 недели ago

Уроки JavaScript — Массивы: основы использования и основные функции

Массивы не только в JavaScript являются фундаментальной структурой данных, но и практически во всех языках…

2 недели ago