غیرفعال کردن جستجو در وردپرس با کد PHP (بدون افزونه)
در برخی سایتهای وردپرسی، مخصوصاً سایتهای شرکتی، معرفی خدمات یا صفحات لندینگ، قابلیت جستجو نهتنها مفید نیست بلکه میتواند باعث نمایش صفحات بیارزش، خطای سئو و تجربه کاربری ضعیف شود.
به همین دلیل بسیاری از مدیران سایت ترجیح میدهند جستجوی وردپرس را بهطور کامل غیرفعال کنند.
در این آموزش یاد میگیریم بدون نصب هیچ افزونهای، با استفاده از یک کد PHP ساده، جستجو در وردپرس را کاملاً غیر فعال کنیم.
با آموزش و معرفی کد غیرفعال کردن قابلیت جستجو در وردپرس با شما هستیم در حالت کلی جستجو و سرچ مطالب یکی از پارامتر های اصلی در هر قالب وردپرس میباشد اما گاهی نیاز دارید این قابلیت را غیر فعال کنید .
چرا باید جستجوی وردپرس را غیرفعال کنیم؟
غیرفعال کردن جستجو در وردپرس میتواند مزایای زیر را داشته باشد:
جلوگیری از ایندکس شدن صفحات جستجوی بیکیفیت در گوگل
کاهش درخواستهای غیرضروری به دیتابیس
افزایش امنیت سایت در برابر کوئریهای مخرب
مناسب برای سایتهای تکصفحهای، شرکتی و معرفی خدمات
جلوگیری از خطاهای Search Result Page در سرچ کنسول
اگر بهجای غیرفعال کردن کامل جستجو، دوست داری نتایج دقیقتری به کاربر نمایش داده شود، میتوانی از آموزش جستجو فقط در عنوان پستها در وردپرس | افزایش دقت نتایج جستجو استفاده کنی که باعث میشود وردپرس بهجای بررسی کل محتوا، فقط عنوان نوشتهها را جستجو کند و نتایج مرتبطتر و سریعتری نمایش دهد.
آموزش غیر فعال کردن ویژگی جستجو در وردپرس
۱- وارد داشبورد خود شوید و به مسیر نمایش > ویرایشگر > function.php بروید و کد زیر را اضافه و ذخیره کنید
function fb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars['s'] = false;
$query->query['s'] = false;
// نمایش خطای 404
if ( $error == true )
$query->is_404 = true;
}
}
add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
این کد دقیقاً چه کاری انجام میدهد؟
بیایید عملکرد کد را به زبان ساده بررسی کنیم:
is_search بررسی میکند آیا کاربر وارد صفحه جستجو شده یا نه
مقدار جستجو (s) بهطور کامل غیرفعال میشود
وضعیت جستجو از وردپرس حذف میشود
در صورت فعال بودن پارامتر error صفحه جستجو به 404 واقعی تبدیل میشود
فرم جستجوی وردپرس نیز بهطور کامل از قالب حذف میشود
نتیجه؟
هیچ کاربری نمیتواند جستجو انجام دهد
هیچ صفحه جستجویی لود یا ایندکس نمیشود
۲- در کد بالا اگر میخواهید کاربر با صفحه ۴۰۴ مواجه شود eroor=true باشد در غیر این صورت مقدار آن را به false تغییر دهید . امیدوارم این آموزش وردپرس مورد استفاده شما قرار گرفته باشد. موفق و پیروز باشید
اگر نمیخواهی جستجوی وردپرس را بهصورت کامل غیرفعال کنی و ترجیح میدهی فقط برخی نوشتهها یا برگهها در نتایج نمایش داده نشوند، آموزش افزونه Search Exclude | کنترل کامل نتایج جستجو در وردپرس یک راهحل حرفهای و بدون کدنویسی در اختیار تو قرار میدهد تا مدیریت دقیقی روی محتوای قابل جستجو در سایت داشته باشی.
آیا این روش برای سئو مناسب است؟
✅ بله
این روش از نظر سئو کاملاً اصولی است چون:
صفحات جستجو به 404 واقعی تبدیل میشوند
از ایندکس شدن URLهای بیارزش جلوگیری میشود
Crawl Budget سایت هدر نمیرود
تجربه کاربری بهبود پیدا میکند
چه سایتهایی بهتر است جستجو را غیرفعال کنند؟
این روش برای سایتهای زیر کاملاً مناسب است:
سایتهای شرکتی و معرفی خدمات
سایتهای تکصفحهای
لندینگ پیجها
سایتهایی که محتوای محدودی دارند
سایتهایی که جستجوی داخلی کاربردی ندارند
جمعبندی
اگر به جستجوی داخلی وردپرس نیازی نداری، غیرفعال کردن آن با کد PHP بهترین و سبکترین راهحل ممکن است.
کدی که در این آموزش وردپرس دیدی، بدون افزونه، بدون فشار اضافی به سایت و کاملاً سازگار با اصول سئو، این کار را برایت انجام میدهد.





