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

5 аграрних помилок, які коштують врожаю, але про них рідко говорять

Урожай найчастіше втрачають не через аномальні зміни погоди, а через дрібні рішення, які здаються неважливими.…

2 дні ago

Музичні інструменти, історія, класифікація та роль у культурі людства

Музичні інструменти супроводжують людство протягом усієї його історії. Вони з'явилися задовго до писемності і стали…

6 днів ago

VR-продакшн, повний цикл створення віртуальної реальності

VR-продакшн сьогодні є окремим напрямком у цифровому виробництві, що поєднує технології віртуальної реальності, 3D-графіку, програмування,…

1 тиждень ago

Чому Bambu Lab – «iPhone серед 3D-принтерів»

Ще кілька років тому 3D-друк вважався заняттям для «обраних» – людей, які готові витрачати час…

3 тижні ago

Найпоширеніші продукти smart-технологій: ТОП-5 видів гаджетів

Наразі практично жодну сферу життя людини не можна уявити без гаджетів. Ці підтримувані штучним інтелектом…

2 місяці ago

Що таке Unix Domain Socket: секретний тунель у Linux

У нашій подорожі світом сокетів ми почали з "верхнього поверху" — WebSocket у браузері, потім…

2 місяці ago