غیرفعال کردن جستجو در وردپرس با افزونه یا کدنویسی

غیرفعال کردن جستجو در وردپرس با افزونه یا کدنویسی

اگه سایتتون چند صفحه محدود داره و کاربر از طریق منو به همه بخش‌ها دسترسی پیدا می‌کنه، شاید فرم جستجو فقط صفحه رو شلوغ کرده باشه. در این آموزش یاد می‌گیرید چطور جستجوی اصلی وردپرس در بخش عمومی سایت رو با افزونه Disable Search یا یک قطعه‌کد ببندید. همین‌طور تفاوت حذف فرم جستجو با غیرفعال کردن آدرس‌های جستجوی اصلی وردپرس رو بررسی می‌کنیم.

هر دو روش جستجوی اصلی وردپرس در جلوی سایت رو هدف می‌گیرن و جستجوی نوشته‌ها، برگه‌ها یا محصولات داخل پیشخوان رو باز نگه می‌دارن. البته جستجوی زنده، Ajax، REST API یا جستجوی اختصاصی فروشگاه، قالب و افزونه‌های دیگه ممکنه مسیر جداگانه‌ای داشته باشه. مسیر قالب‌های بلوکی و کلاسیک هم جدا توضیح داده شده تا حتی اگه اولین باره با تنظیمات وردپرس کار می‌کنید، بدون سردرگمی جلو برید.

آنچه در این مقاله می‌خوانید

غیرفعال کردن جستجو در وردپرس چه بخش‌هایی رو از کار می‌اندازه؟

جستجوی وردپرس دو بخش داره. بخش اول فرم، آیکن یا بلوکیه که بازدیدکننده داخل سایت می‌بینه. بخش دوم پردازش درخواست جستجوئه؛ یعنی وردپرس آدرس‌هایی مثل /?s=عبارت رو می‌گیره و صفحه نتایج رو می‌سازه.

اگه فقط فرم رو از سربرگ یا سایدبار حذف کنید، ظاهر جستجو ناپدید می‌شه؛ ولی درخواست مستقیم هنوز کار می‌کنه. برای بستن جستجوی اصلی وردپرس باید پردازش این آدرس‌ها هم بسته بشه.

نمایش فرم جستجو در سایت

وقتی درخواست جستجو بسته باشه، باید با پاسخ ۴۰۴ روبه‌رو بشه. پاسخ ۴۰۴ یعنی صفحه درخواستی پیدا نشده. این رفتار با انتقال یا ریدایرکت فرق داره؛ مرورگر به آدرس تازه‌ای فرستاده نمی‌شه و همون درخواست با وضعیت ۴۰۴ جواب می‌گیره. بعد از اجرای هر روش، بهتره وضعیت واقعی پاسخ رو هم آزمایش کنید.

جستجوی داخل پیشخوان همچنان فعال می‌مونه. پس می‌تونید از بخش نوشته‌ها، برگه‌ها، دیدگاه‌ها یا محصولات، موارد موردنظرتون رو پیدا کنید. چیزی که بسته می‌شه جستجوی اصلی وردپرس برای بازدیدکننده‌های سایت هست، نه لزوما همه ابزارهای جستجوی اختصاصی.

غیر فعال کردن فرم جستجو در سایت

قبل از غیرفعال کردن جستجوی وردپرس به چه نکاتی توجه کنیم؟

سایت‌های شرکتی کوچک، لندینگ‌پیج‌ها و سایت‌هایی که فقط چند صفحه ثابت دارن، معمولا بدون جستجو هم قابل‌استفاده هستن. ولی برای فروشگاه‌ها، وبلاگ‌های بزرگ، سایت‌های آموزشی و سایت‌هایی با آرشیو زیاد، جستجو می‌تونه مسیر مهمی برای رسیدن کاربر به محتوا باشه.

قبل از هر تغییری، منو و ساختار سایتتون رو بررسی کنید. کاربر باید بدون جستجو هم بتونه صفحه‌های مهم رو پیدا کنه. اگه مسیرها گیج‌کننده هستن، بهتره اول روی معماری و ساختار سایت کار کنید.

قبل از افزودن کد هم یک نسخه پشتیبان کامل بگیرید. یک اشتباه کوچک در فایل PHP ممکنه سایت رو با خطای فنی روبه‌رو کنه. داشتن نسخه پشتیبان کمک می‌کنه سریع به حالت قبل برگردید.

اگه تازه‌کار هستید، روش افزونه راحت‌تره. اگه با کد و خطایابی وردپرس آشنا هستید و نمی‌خواید افزونه جداگانه‌ای نگه دارید، می‌تونید از قطعه‌کد استفاده کنید. بهتره هر دو روش رو اول روی نسخه آزمایشی سایت امتحان کنید.

روش اول: غیرفعال کردن جستجو در وردپرس با افزونه Disable Search

نصب و فعال‌سازی افزونه Disable Search

افزونه Disable Search از مخزن رسمی وردپرس در دسترسه. قبل از نصب، اطلاعات سازگاری افزونه با نسخه وردپرس و PHP سایتتون رو در صفحه مخزن بررسی کنید. اگه مخزن درباره آزمایش‌نشدن افزونه با نسخه‌های تازه وردپرس هشدار می‌ده، تغییر رو اول روی نسخه آزمایشی سایت انجام بدید.

  1. وارد پیشخوان وردپرس بشید.
  2. از منوی «افزونه‌ها» روی «افزودن افزونه تازه» کلیک کنید.
  3. عبارت Disable Search رو داخل کادر جستجو بنویسید.
  4. افزونه رو پیدا کنید و دکمه نصب رو بزنید.
  5. بعد از پایان نصب، دکمه فعال‌سازی رو بزنید.

اگه با این بخش آشنا نیستید، مقاله افزونه وردپرس چیست و چطور کار می‌کنه دید بهتری به شما می‌ده.

نصب افزونه Disable Search
نصب افزونه Disable Search

افزونه Disable Search چطور کار می‌کنه؟

طبق توضیحات صفحه رسمی افزونه، این افزونه صفحه تنظیمات جداگانه‌ای نداره. بعد از فعال شدن، فرم جستجوی معمولی، ابزارک کلاسیک، بلوک جستجو و گزینه جستجوی نوار مدیریت در نمای عمومی سایت رو غیرفعال می‌کنه. چون رفتار افزونه ممکنه در کنار بعضی قالب‌ها و افزونه‌های جستجو فرق کنه، نتیجه رو روی سایت خودتون آزمایش کنید.

افزونه فقط ظاهر فرم رو هدف نمی‌گیره. طبق توضیحات رسمی اون، اگه کسی آدرس جستجوی اصلی وردپرس رو مستقیم وارد کنه، درخواست باید با پاسخ ۴۰۴ روبه‌رو بشه. جستجوی داخل پیشخوان دست‌نخورده می‌مونه. این توضیح لزوما شامل جستجوی زنده، Ajax، REST API یا مسیر اختصاصی افزونه‌های دیگه نیست.

آزمایش عملکرد افزونه بعد از فعال‌سازی

اول سایت رو در یک پنجره ناشناس مرورگر باز کنید. فرم یا آیکن جستجو نباید در سربرگ، فوتر یا سایدبار دیده بشه. نسخه موبایل، منوی بازشونده و سربرگ چسبان رو هم بررسی کنید. بعد آدرس زیر رو با دامنه خودتون آزمایش کنید:

کد
https://example.com/?s=test

به‌جای example.com دامنه سایتتون رو بذارید. اگه افزونه درست کار کنه، باید صفحه ۴۰۴ قالب نمایش داده بشه و پاسخ HTTP هم وضعیت ۴۰۴ داشته باشه. در آخر، وارد پیشخوان بشید و جستجوی بخش نوشته‌ها رو هم امتحان کنید تا مطمئن بشید جستجوی مدیریتی فعاله.

نکات سازگاری افزونه با وردپرس و قالب سایت

ظاهر صفحه ۴۰۴ رو قالب سایت تعیین می‌کنه. اگه قالب صفحه ۴۰۴ مناسبی نداشته باشه، ممکنه خروجی ساده یا نامرتب دیده بشه. کش سایت و مرورگر هم ممکنه فرم قدیمی رو موقتا نگه دارن؛ پس بعد از فعال‌سازی، همه کش‌ها رو پاک کنید.

بعضی قالب‌ها، صفحه‌سازها و افزونه‌های فروشگاهی فرم یا موتور جستجوی اختصاصی خودشون رو دارن. در این حالت افزونه ممکنه جستجوی اصلی وردپرس رو ببنده، ولی المان ظاهری یا مسیر اختصاصی همچنان کار کنه. پس تنظیمات همون قالب، صفحه‌ساز یا افزونه رو هم بررسی کنید.

روش دوم: غیرفعال کردن جستجو در وردپرس با کدنویسی

کد رو کجا اضافه کنیم؟

برای یک کاربر تازه‌کار، راه امن‌تر استفاده از افزونه مدیریت قطعه‌کده. این نوع افزونه اجازه می‌ده کد رو بدون دست‌کاری مستقیم فایل‌های قالب اضافه، آزمایش یا غیرفعال کنید. افزونه‌ای رو انتخاب کنید که با نسخه فعلی وردپرس و PHP سایتتون سازگار باشه و قبل از فعال کردن قطعه‌کد، حتما نسخه پشتیبان داشته باشید.

راه دوم، افزودن کد به فایل functions.php چایلد تمه. چایلد تم یا قالب فرزند، قالبی وابسته به قالب اصلیه که تغییرات سفارشی شما رو نگه می‌داره. اگه با فایل‌های قالب و بازیابی سایت آشنا نیستید، سراغ این روش نرید. کد رو هم به قالب اصلی اضافه نکنید؛ چون با به‌روزرسانی قالب ممکنه حذف بشه.

کد بستن جستجوی اصلی وردپرس

قطعه‌کد زیر برای بستن درخواست اصلی جستجو در بخش عمومی سایت نوشته شده. همین‌طور فرم و ابزارک جستجوی قالب‌های کلاسیک رو حذف می‌کنه. قبل از استفاده در سایت اصلی، اون رو با نسخه فعلی وردپرس، PHP، قالب و افزونه‌های سایتتون روی یک نسخه آزمایشی بررسی کنید:

PHP
function mihanwp_disable_public_search( $query ) {    if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) {        $query->is_search = false;        $query->set( 's', '' );        $query->is_404 = true;    }}add_action( 'parse_query', 'mihanwp_disable_public_search' );add_filter( 'get_search_form', '__return_empty_string' );function mihanwp_remove_search_widget() {    unregister_widget( 'WP_Widget_Search' );}add_action( 'widgets_init', 'mihanwp_remove_search_widget' );

اگه از افزونه مدیریت قطعه‌کد استفاده می‌کنید، معمولا نباید تگ آغازین <?php رو به کد اضافه کنید. راهنمای همون افزونه رو بخونید تا مطمئن بشید کد PHP رو با چه قالبی می‌پذیره و باید اجرای اون رو در کدوم بخش سایت فعال کنید.

این کد چه کاری انجام می‌ده؟

شرط ! is_admin() کمک می‌کنه جستجوی پیشخوان بسته نشه. شرط‌های بعدی فقط درخواست اصلی جستجوی جلوی سایت رو هدف می‌گیرن. کد بعد از شناسایی این درخواست، وضعیت جستجو رو خاموش می‌کنه و اون رو به‌عنوان درخواست ۴۰۴ علامت می‌زنه.

فیلتر get_search_form خروجی فرم جستجوی کلاسیک رو خالی می‌کنه. تابع آخر هم ابزارک قدیمی جستجو رو از فهرست ابزارک‌ها برمی‌داره. بلوک جستجو در قالب‌های بلوکی باید از ویرایشگر سایت حذف بشه که در بخش بعدی توضیحش می‌دیم. این کد هم لزوما جستجوی Ajax، REST API یا موتورهای جستجوی اختصاصی رو نمی‌بنده.

روش آزمایش کد و برگشت به حالت قبل

بعد از فعال کردن کد، صفحه اصلی سایت، یک نوشته و آدرس /?s=test رو بررسی کنید. آدرس جستجو باید صفحه ۴۰۴ رو نشون بده و پاسخ HTTP هم باید واقعا ۴۰۴ باشه. بقیه صفحه‌ها باید عادی باز بشن. جستجوی نوشته‌ها در پیشخوان، نسخه موبایل، سربرگ چسبان و منوی بازشونده رو هم امتحان کنید.

برای برگشت به حالت قبل، قطعه‌کد رو غیرفعال کنید یا همین بخش رو از فایل functions.php چایلد تم بردارید. اگه سایت بعد از افزودن کد باز نشد، از فایل‌منیجر هاست یا FTP وارد فایل‌ها بشید و کد تازه رو حذف کنید. اگه با این کار آشنا نیستید، قبل از ویرایش فایل از پشتیبانی هاست کمک بگیرید.

حذف بلوک جستجو از قالب‌های بلوکی وردپرس

پیدا کردن بلوک جستجو در ویرایشگر سایت

قالب بلوکی، قالبیه که سربرگ، فوتر و بخش‌های اصلی اون با بلوک‌های وردپرس ساخته می‌شن. اگه در پیشخوان مسیر «نمایش ← ویرایشگر» رو می‌بینید، احتمالا از همین نوع قالب استفاده می‌کنید. اسم بعضی گزینه‌ها ممکنه با توجه به نسخه وردپرس، زبان پیشخوان یا قالب کمی فرق کنه.

  1. از پیشخوان وارد «نمایش ← ویرایشگر» بشید.
  2. بخش مربوط به طراحی یا الگوها رو باز کنید.
  3. سربرگ، فوتر یا الگویی رو انتخاب کنید که فرم جستجو داخل اون دیده می‌شه.
  4. نمای فهرست رو باز کنید تا همه بلوک‌ها رو راحت‌تر ببینید.
  5. بلوک «جستجو» رو انتخاب کنید.

حذف بلوک جستجو از سربرگ یا بخش‌های قالب

بعد از انتخاب بلوک جستجو، منوی سه‌نقطه اون رو باز کنید و گزینه حذف رو بزنید. در پایان تغییرات رو ذخیره و بخش‌های قالب رو تأیید کنید. صفحه اصلی، چند صفحه داخلی، نسخه موبایل، سربرگ چسبان و منوی بازشونده رو هم ببینید تا مطمئن بشید جستجو باقی نمونده و چیدمان به‌هم نریخته.

چرا حذف بلوک به‌تنهایی جستجو رو غیرفعال نمی‌کنه؟

حذف بلوک فقط ورودی قابل‌مشاهده رو برمی‌داره. وردپرس همچنان می‌تونه آدرس‌هایی مثل /?s=test رو پردازش کنه. پس برای بستن جستجوی اصلی وردپرس، در کنار حذف بلوک باید افزونه Disable Search یا قطعه‌کد این آموزش هم فعال باشه.

حذف فرم جستجو از قالب‌های کلاسیک وردپرس

حذف ابزارک جستجو از سایدبار و فوتر

در قالب‌های کلاسیک، فرم جستجو معمولا به‌شکل ابزارک داخل سایدبار یا فوتر قرار می‌گیره. از پیشخوان وارد «نمایش ← ابزارک‌ها» بشید، ناحیه موردنظر رو باز کنید و ابزارک جستجو رو حذف کنید. اسم یا محل این گزینه ممکنه در بعضی قالب‌ها کمی فرق کنه. اگه با ابزارک‌ها آشنا نیستید، آموزش مدیریت ابزارک‌های وردپرس رو ببینید.

بررسی فرم جستجو در سربرگ و منوی سایت

بعضی قالب‌ها آیکن جستجو رو از بخش سفارشی‌سازی یا تنظیمات اختصاصی خودشون کنترل می‌کنن. وارد بخش تنظیمات ظاهری قالب بشید و دنبال گزینه‌هایی مثل «جستجوی سربرگ» یا Search Icon بگردید. مسیر دقیق این گزینه به قالب سایتتون بستگی داره.

اگه چنین گزینه‌ای پیدا نکردید، مستندات رسمی همون قالب رو بررسی کنید. ویرایش مستقیم فایل‌های قالب اصلی انتخاب خوبی نیست؛ چون تغییرات با به‌روزرسانی بعدی از بین می‌رن.

رفع مشکلات رایج بعد از غیرفعال کردن جستجو

فرم جستجو هنوز در سایت دیده می‌شه

اول کش افزونه، هاست، شبکه توزیع محتوا و مرورگر رو پاک کنید. بعد بررسی کنید فرم با بلوک وردپرس ساخته شده یا یکی از امکانات اختصاصی قالب و صفحه‌سازه. نسخه موبایل، منوی بازشونده و سربرگ چسبان رو هم جدا ببینید. ممکنه لازم باشه المان ظاهری رو از همون ابزار حذف کنید.

آدرس جستجو همچنان نتیجه نشون می‌ده

آدرس /?s=test رو در پنجره ناشناس آزمایش کنید. اگه هنوز نتیجه می‌بینید، مطمئن بشید افزونه یا قطعه‌کد فعاله. بعضی افزونه‌های جستجوی اختصاصی، فروشگاهی، زنده یا Ajax مسیر جداگانه‌ای دارن و باید تنظیمات همون افزونه رو بررسی کنید.

صفحه ۴۰۴ به‌درستی نمایش داده نمی‌شه

روش انتخابی باید وضعیت درخواست جستجو رو به ۴۰۴ تبدیل کنه؛ ولی ظاهر صفحه به قالب بستگی داره. اگه صفحه خالی یا نامرتب دیده می‌شه، قالب یا فایل صفحه ۴۰۴ اون رو بررسی کنید. یادتون نره فقط دیدن ظاهر صفحه ۴۰۴ کافی نیست و بهتره وضعیت HTTP پاسخ رو هم بررسی کنید. برای پیدا کردن درخواست‌های ناموفق می‌تونید از آموزش پیدا کردن صفحات ۴۰۴ با Rank Math کمک بگیرید.

بعد از افزودن کد، سایت خطا می‌ده

معمولا یک کاراکتر اضافه، آکولاد ناقص یا قرار دادن کد در جای اشتباه باعث این مشکل می‌شه. قطعه‌کد رو غیرفعال کنید یا کد تازه رو از فایل functions.php بردارید. بعد کد رو دوباره و بدون تغییر کپی کنید. اگه تجربه فنی ندارید، روش افزونه انتخاب امن‌تریه.

افزونه بهتره یا کدنویسی؟

برای بیشتر کاربران تازه‌کار، افزونه راحت‌تره. نصب و برگشت از تغییر ساده‌تر انجام می‌شه و نیازی نیست فایل‌های PHP رو دست‌کاری کنید. در مقابل، باید وضعیت نگهداری و سازگاری افزونه رو قبل از نصب و بعد از به‌روزرسانی‌های وردپرس بررسی کنید.

کدنویسی برای سایت‌های سفارشی و مدیرانی مناسبه که با چایلد تم، خطایابی PHP و نگهداری کد آشنا هستن. این روش افزونه جداگانه‌ای اضافه نمی‌کنه، ولی مسئولیت آزمایش کد با نسخه‌های فعلی وردپرس و PHP و نگهداری اون با خودتونه.

  • افزونه: راه‌اندازی و برگشت راحت‌تر، مناسب کاربران تازه‌کار و نیازمند بررسی وضعیت سازگاری.
  • کدنویسی: کنترل بیشتر و بدون افزونه جداگانه، ولی نیازمند دانش فنی، آزمایش عملی و نسخه پشتیبان.

جمع‌بندی

برای غیرفعال کردن جستجوی اصلی وردپرس، فقط حذف فرم کافی نیست. باید هم فرم یا بلوک قابل‌مشاهده رو بردارید و هم درخواست مستقیم جستجو رو ببندید. افزونه Disable Search این کار رو بدون تنظیمات پیچیده انجام می‌ده و قطعه‌کد هم می‌تونه برای سایت‌های سفارشی مناسب باشه؛ ولی هر دو روش باید روی سایت خودتون آزمایش بشن.

بعد از اعمال تغییر، فرم‌های قابل‌مشاهده، نسخه موبایل، منوی بازشونده، آدرس مستقیم جستجو، وضعیت واقعی پاسخ ۴۰۴ و جستجوی پیشخوان رو جداگانه آزمایش کنید. اگه سایتتون جستجوی زنده، فروشگاهی یا اختصاصی داره، اون رو هم جدا بررسی کنید. این بررسی کمک می‌کنه مطمئن بشید فقط بخش موردنظرتون بسته شده و قسمت‌های دیگه درست کار می‌کنن.

سؤال‌های متداول درباره غیرفعال کردن جستجو در وردپرس

آیا حذف فرم جستجو جلوی آدرس‌های جستجو رو هم می‌گیره؟

نه. حذف فرم فقط ظاهر جستجو رو برمی‌داره. برای بستن آدرس‌هایی مثل /?s=test باید پردازش درخواست جستجوی اصلی وردپرس رو هم با افزونه یا قطعه‌کد غیرفعال کنید.

چطور جستجوی وردپرس رو دوباره فعال کنیم؟

افزونه Disable Search رو غیرفعال کنید یا قطعه‌کدی که اضافه کردید بردارید. بعد بلوک، ابزارک یا آیکن جستجو رو دوباره به قالب اضافه کنید، کش سایت رو پاک کنید و آدرس جستجو رو آزمایش کنید.

آیا غیرفعال کردن جستجو روی سئوی سایت اثر می‌ذاره؟

نتیجه برای همه سایت‌ها یکسان نیست. بستن آدرس‌های جستجوی داخلی به‌خودی‌خود نوشته‌ها و صفحه‌های اصلی رو حذف نمی‌کنه، ولی اگه کاربر برای پیدا کردن محتوا به جستجو وابسته باشه، حذف اون می‌تونه پیدا کردن صفحه‌ها رو سخت‌تر کنه. قبل از این کار، منو، لینک‌های داخلی و ساختار سایتتون رو بررسی کنید و مطمئن بشید مسیر روشنی برای رسیدن به محتوا هست.

نظر شما در این مورد چیه؟

    پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
    تیم میهن وردپرس
    پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
    تیم میهن وردپرسآنلاین و پاسخگوی شما هستیم.آنلاین

    در حال بارگذاری...

    هر سوالی دارید بپرسید.پاسخگوی شما هستیم.