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

Опубликовано: 2018-08-22

WordPress - потрясающая платформа во многих аспектах. Однако есть одна область, где определенно есть что улучшить, - это внутренний поиск. Многие пользователи согласны с тем, что функция поиска WordPress не всегда дает наилучшие результаты. На практике это означает, что некоторые посетители вашего сайта могут упускать интересующий их контент.

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

Давайте приступим к поиску!

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

Когда вы настраиваете новый веб-сайт WordPress, он будет оснащен панелью поиска по умолчанию. Вы можете использовать эту функцию, как и любую другую: вы вводите запрос и получаете список соответствующих результатов. К сожалению, получаемые вами результаты не всегда самые точные.

Конечно, мы все немного избалованы Google, но даже если вы начнете с низкими ожиданиями, вы часто обнаружите, что поиск по умолчанию им не соответствует. Например, когда вы впервые настраиваете WordPress, платформа добавит сообщение «Hello world!». пост, цель которого - познакомить вас с редактором платформы.

Если мы воспользуемся функцией поиска, чтобы найти термин «привет», он, конечно же, вернет это сообщение. Однако вот что произойдет, если мы попробуем «привет, куколка»:

Проблема в том, что WordPress всегда будет искать сообщения и страницы, которые по умолчанию включают все ваши поисковые запросы. Другими словами, иногда он не будет возвращать какие-либо полезные результаты поиска, если ваши посетители не попробуют несколько раз, используя разные ключевые слова. Это не то, что вы хотите навязывать своим пользователям, поскольку большинство из них могут сдаться после первой попытки.

Как будто этого было недостаточно, поисковый модуль WordPress не просматривает теги или настраиваемые поля. Другими словами, это все посты и страницы, и ничего больше.

Хорошая новость в том, что вы можете улучшить поисковую функцию WordPress, используя плагины и настроив его код. Однако это может быть немного излишним, если на вашем веб-сайте нет огромной библиотеки контента. По нашему опыту, вы также можете улучшить результаты, указав WordPress, какие страницы он не должен сканировать, чтобы они не загромождали ваши результаты поиска. Давайте поговорим о том, как вы можете улучшить результаты поиска в WordPress.

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

Есть несколько причин, по которым вы можете захотеть исключить определенные страницы из результатов поиска WordPress. Некоторые из них включают:

  • Вы публикуете частный контент. Если вы публикуете сообщения, которые должны видеть только определенные пользователи, вы не хотите, чтобы они отображались в результатах поиска вашего сайта.
  • Чтобы предотвратить отображение нерелевантных страниц. Например, вы можете не захотеть, чтобы ваша домашняя страница или страницы авторов отображались в результатах поиска. С небольшой настройкой вы можете исключить их все.

В конечном итоге исключение нерелевантных страниц из результатов поиска должно помочь посетителям быстрее находить нужный контент. Кроме того, это изменение довольно легко реализовать в WordPress с помощью подходящих инструментов.

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

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

Давайте начнем!

1. Если вы являетесь пользователем Divi, используйте поисковый модуль Divi.

С Divi вы получаете полный контроль над размещением панели поиска WordPress. Тема включает в себя модуль поиска, который вы можете добавить на любую из своих страниц, например:

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

Если вы перейдете на экран настроек модуля и откроете вкладку «Содержимое», вы найдете раздел «Исключения». Здесь есть три настройки, в том числе параметры для исключения страниц и / или сообщений в целом из результатов поиска WordPress:

Для большего контроля над сообщениями, которые вы хотите, чтобы WordPress игнорировал, вам нужно использовать параметр «Исключить категории»:

Все, что вам нужно сделать, это настроить категорию и назначить ее тем сообщениям, которые вы не хотите отображать в результатах поиска. Затем выберите эту категорию в разделе «Исключить категории» и сохраните изменения.

Единственная проблема с этим подходом заключается в том, что WordPress не позволяет вам организовывать страницы с помощью категорий и тегов, как это делается с сообщениями. Чтобы добавить эту функцию на свой веб-сайт, вам необходимо использовать плагин, например Category Tag Pages.

После включения этого плагина вы сможете создавать и назначать категории и теги страницам. Затем вы можете применить категорию исключения к страницам и установить ее в разделе «Категории исключения» модуля поиска.

Теперь, когда кто-то выполняет поиск на вашем веб-сайте, сообщения и страницы из исключенной категории не отображаются, даже если они включают поисковые запросы.

2. Настройте свой файл WordPress functions.php

Если вы не используете Divi) или вам просто нужно больше контроля над тем, какие страницы вы исключаете из результатов поиска), вы всегда можете выбрать ручной путь. Однако этот процесс включает в себя редактирование файла functions.php вашей темы, поэтому убедитесь, что вы создали резервную копию своего веб-сайта, прежде чем начать.

Для начала вам необходимо подключиться к своему веб-сайту через протокол передачи файлов (FTP) с помощью такого клиента, как FileZilla. Как только вы войдете, перейдите в каталог public_html / wp-content / themes. Внутри вы должны найти папки для каждой из тем, установленных на вашем сайте:

Найдите папку, соответствующую вашей активной теме, что должно быть легко, поскольку они, вероятно, имеют одно и то же имя. Имейте в виду, что мы всегда рекомендуем использовать дочерние темы для таких модификаций. Фактически, вам следует использовать дочернюю тему, если вы планируете вносить практически любые изменения в код своей темы.

Откройте папку с активной темой и найдите в ней файл functions.php. Щелкните его правой кнопкой мыши и выберите опцию View / Edit, если вы используете FileZilla:

Это откроет файл с помощью текстового редактора по умолчанию, что позволит вам внести изменения в код внутри. Войдя в систему, вы можете исключить определенные страницы из результатов поиска двумя способами. Вы можете сделать это с помощью тегов или категорий (как мы это делали с модулем поиска Divi).

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

function wpb_search_filter( $query ) {
if ( $query->is_search && !is_admin() )
$query->set( 'cat','-5, -11' );
return $query;
}
add_filter( 'pre_get_posts', 'wpb_search_filter' )

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

Теперь обратите внимание на URL-адрес этой страницы. Должен быть раздел с надписью category & tag_ID = X. Только вместо X вы увидите число - идентификатор, который нужно вставить в код, который мы вам показали ранее.

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

function wpb_search_filter( $query ) {
if ( $query->is_search && !is_admin() )
$query->set( 'tag','-5, -11' );
return $query;
}
add_filter( 'pre_get_posts', 'wpb_search_filter' );

Код в основном тот же, за исключением того, что мы заменяем термин кошка тегом. Вы можете использовать любой подход в зависимости от таксономии вашего сайта. Просто не забудьте сохранить изменения в файле functions.php, и все готово!

Заключение

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

Когда вы будете готовы приступить к работе и улучшить результаты поиска WordPress, есть два способа удалить из них определенные страницы:

  1. Используйте модуль поиска Divi, чтобы исключить нужные страницы.
  2. Настройте свой файл WordPress functions.php.

У вас есть вопросы о том, как улучшить результаты поиска в WordPress? Давайте поговорим о них в разделе комментариев ниже!

Миниатюра статьи от VectorKnight / shutterstock.com