
Як виключити певні сторінки з результатів пошуку WordPress
Однією із чудових особливостей платформи WordPress є внутрішній пошук. Проте, функція пошуку в CMS ВордПрес не завжди видає релевантні результати. І це не дуже добре, адже може призвести до втрати відвідувачів. Але, на щастя, у WordPress є можливість налаштувати під себе практично будь-який аспект, включно з пошуком. Одним із способів покращити результати пошуку є виключення нерелевантних (невідповідних) сторінок. І саме цьому питанню присвячений сьогоднішній практичний урок. Тож, вперед!
Короткий огляд функції пошуку за замовчуванням у WordPress
Навіть ваш щойностворений «свіженький» сайт будете мати вбудований пошук, — оскільки це функціонал двигуна за замовчуванням. Звичайно, що це не буде пошук по типу як у Google, але примітивний функціонал у вас вже буде на руках. Але іноді пошук не буде повертати корисних результатів, оскільки система буде шукати «запит» лише у контенті публікацій та/або сторінок. І не буде враховувати теги та/або спеціальні (кастомні) поля. Часто цього буває замало. Але, хороша новина полягає в тому, що ми можемо це покращити, наприклад, з допомогою простого коду, та вказавши ВордПрес, які сторінки виключити зі сканування, щоб зайве не захаращувало пошук.
Чому є необхідність у виключенні певного контенту із результатів пошуку
Таких випадків є два основних види:
- Якщо ви публікуєте приватний контент, який повинні бачити лише певні користувачі. Та, відповідно, щоб такий контент не був доступний усім в результатах пошуку.
- Щоб не показувати всім нерелевантні сторінки. Наприклад, виключити з показу сторінки певного (або й всіх) авторів, чи з певної категорії, тощо.
Це легко скоригувати, і зрештою допоможе відвідувачам вашого сайту знаходити потрібний їм вміст.
Як виключити певні сторінки з результатів пошуку 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
теми та додати невеличку функцію.