حذف صفحات خاص، نویسنده ها و سایر موارد از جستجو وردپرس
آیا قصد دارید که تعدادی از برگهها، نویسندگان و یا هر محتوای دیگر موجود در وردپرس خود را از لیست نتایج جستجو در وبسایتتان بیرون بکشید؟ وردپرس بصورت پیشفرض تمام نوشتهها و برگهها را برای جستجو دربرمیگیرد و نتایج حاصل از آن را نشان میدهد. در این مقاله قصد داریم تا به شما نشان دهیم، چگونه میتوان یک نوشته، برگه، نویسنده، دستهبندی و یا هر شکل دیگری از محتوا را از لیست نتایج جستجو حذف کرد.
آنچه خواهید خواند:
چرا باید برخی از صفحات را از نتایج جستجو وردپرس حذف کنیم؟
همانطور که گفتیم جستجو پیشفرض وردپرس، تمامی آیتمهای موجود در وردپرس از جمله، نوشتهها، برگهها، نویسندهها و پستتایپها را دربرمیگیرد. این موضوع برای بسیاری از وبسایتها قابل قبول است و تاثیری در سئو وردپرس و یا پرفورمنس ندارد.
اما اگر یک فروشگاه آنلاین دارید، ممکن است که نخواهید برخی از این آیتمها در نتایج جستجو وجود داشته باشد. برای مثال، برگه پرداخت، حساب کاربری و یا حتی برگه تشکر پس از خرید.
مشابه این اتفاق زمانی میافتد که یک وبسایت اشتراک یک خدمت را مدیریت میکنید، در این شرایط نیز برخی از پستتایپها و برگهها را احتمالا نمیخواهید در نتایج جستجو وردپرس، دیده شوند.
برخی از مدیران وبسایتها نیز ممکن است یک دستهبندی خاص را پنهان کنند، در حالی که دیگران همین کار را برای نوشتهها و برگهها انجام دهند. بهینهسازی جستجو وردپرس، با حذف موارد غیرضروری و غیرمفید، باعث ارائه یک تجربه کاربری بهتر شده و نتایج تمیزتری را ارائه میدهد.
حالا پس از بررسی علل حذف کردن برخی از آیتمها از نتایج جستجوی وردپرس، با هم خواهیم دید که چگونه باید اینکار را انجام دهیم.
حذف نوشته، برگه و یا پستتایپ خاص از نتایج جستجو وردپرس
اولین کاری که باید انجام دهید، نصب و فعالسازی افزونه Search Exclude است. اگر نیاز به راهنمایی در نصب افزونهها دارید، آموزش نصب افزونه در وردپرس را مطالعه کنید.
بعد از فعالسازی، بر روی ویرایش نوشته، برگه، پستتایپ و یا هر چیزی که میخواهید از نتایج جستجو حذف کنید، کلیک کنید. در بخش ویرایش، یک گزینه که قابلیت فعالسازی با استفاده از تیک را دارد، خواهید دید.
کافیست به سادگی، تیک مورد نظر را بزنید و سپس نوشته یا برگه و یا هرچیزی که در حال ویرایش آن بودید را ذخیره کنید. اینکار باعث خواهد شد تا آن آیتم دیگر در لیست نتایج جستجو دیده نشود.
برای دیدن تمامی آیتمهایی که از بازهی جستجو خارج کردهاید، کافیست که بخش تنظیمات و سپس برگهی Search Exclude بروید. در اینجا شما لیست تمامی آیتمها را خواهید یافت.
اگر میخواهید محدودیت لحاظ شده را بردارید، کافیست که تیک آن آیتم را بردارید و برروی دکمهی Save Changes کلیک کنید.
حذف دستهبندی، تگ و یا طبقهبندی خاص از نتایج جستجو وردپرس
در این روش باید تکه کدی را در وبسایت وردپرسی خود اضافه کنید. اگر تا به حال اینکار را انجام ندادهاید، آموزشهای قبلی ما را در مورد نحوه اضافه کردن کدها، بررسی فرمایید.
ابتدا باید Category ID یا همان شناسه دستهبندیای که میخواهید از نتایج جستجو حذف کنید را بیابید.
سپس، باید تکه کد زیر را در فایل function.php اضافه کنید.
function wpb_search_filter( $query ) { if ( $query->is_search && !is_admin() ) $query->set( 'cat','-7' ); return $query; } add_filter( 'pre_get_posts', 'wpb_search_filter' );
و البته نباید تغییر شماره ۷ را با آیدی دستهبندی مورد نظرتان، فراموش کنید.
حال اگر بخواهید بیش از یک دستهبندی را از نتایج حذف کنید. آیدیهای دیگر را باید به شکل زیر، در کد قرار دهید.
function wpb_search_filter( $query ) { if ( $query->is_search && !is_admin() ) $query->set( 'cat','-7, -10, -21' ); return $query; } add_filter( 'pre_get_posts', 'wpb_search_filter' );
حذف کردن یک تگ خاص از نتایج جستجو وردپرس
اگر قصد دارید تا پستهایی که حاوی یک تگ خاص هستند را از نتایج جستجو حذف کنید، کافیست که از کد زیر استفاده کنید.
if ( $query->is_search && !is_admin() ) $query->set( 'tag','-19' ); return $query; } add_filter( 'pre_get_posts', 'wpb_search_filter' );
و باز هم فراموش نکنید که آیدی تگ مورد نظرتان را به جای عدد ۱۹ قرار دهید.
در صورتی که میخواهید چندین تگ را در این لیست قرار دهید، باز هم به روش قبل که در دستهبندیها انجام دادیم، عمل خواهید کرد و میتوانید به مانند تکه کد زیر، آیدیها را اضافه کنید.
if ( $query->is_search && !is_admin() ) $query->set( 'tag','-19, -27, -56' ); return $query; } add_filter( 'pre_get_posts', 'wpb_search_filter' );
و اگر قصد دارید واژههای خاصی را در taxonomy ها، مورد فیلتر قرار دهید، کافیست از کد زیر استفاده کرده و فراموش نکنید که ژانر را با نام taxonomy مورد نظرتان و action را با واژه انتخابی، عوض کنید.
function wpb_modify_search_query( $query ) { global $wp_the_query; if( $query === $wp_the_query && $query->is_search() ) { $tax_query = array( array( 'taxonomy' => 'genre', 'field' => 'slug', 'terms' => 'action', 'operator' => 'NOT IN', ) ); $query->set( 'tax_query', $tax_query ); } } add_action( 'pre_get_posts', 'wpb_modify_search_query' );
حذف کردن یک نویسنده خاص از لیست نتایج جستجوی وردپرس
اگر میخواهید نوشتههای یک نویسنده را از لیست نتایج جستجوی وردپرس حذف کنید، دو راه برای اینکار پیش رو دارید.
اگر نویسنده مورد نظرتان فقط چند نوشته در وبسایت دارد و قرار نیست در آینده نوشتههای جدیدی از طرف او اضافه شود، میتوانید نوشتههای او را به روش اولی که با هم مرور کردیم، از نتایج حذف کنید.
اما اگر نویسنده مورد نظر تعداد نوشتههای بالایی دارد یا به هر دلیل دیگری نمیخواهید از روش اول بهره ببرید، میتوانید از تکه کد زیر استفاده کنید تا تمام نوشتههای او از نتایج جستجو حذف گردد.
function wpb_search_filter( $query ) { if ( $query->is_search && !is_admin() ) $query->set( 'author','-24' ); return $query; } add_filter( 'pre_get_posts', 'wpb_search_filter' );
و البته تعویض عدد ۲۴ موجود در کد با آیدی نویسنده مورد نظرتان، فراموش نشود.
همچنین برای قرار دادن چندین نویسنده در این لیست، به همانند روشهای بالایی، فقط کافیست تا آنها را با کاما از یکدیگر جدا کنید.
function wpb_search_filter( $query ) { if ( $query->is_search && !is_admin() ) $query->set( 'author','-24, -12, -19' ); return $query; } add_filter( 'pre_get_posts', 'wpb_search_filter' );
امیدواریم که در این مقاله، توانسته باشیم به شما در حذف کردن آیتمهای مورد نظرتان از لیست نتایج جستجوی وردپرس، کمک کرده باشیم. در صورت وجود هرگونه مشکل در این پروسه و یا داشتن پیشنهاد برای انجام اینکار با روشی بهتر، حتما ما را از بخش نظرات، مطلع فرمایید.
سلام ببخشید اگر یکسری از برگه های قالبم رو پاک کنم که در هیچ جای سایتم از اونها استفاده نمیکنم امکان داره سایتم بهم بریزه ؟ ارور بده ؟
سلام، خیر امکان بهم ریختگی وجود نداره.(مگر اون برگه ها، برگه های تعیین شده برای یک افزونه یا قسمتی از وب سایت شما باشن. اما اگر استفاه نمیکنید مشکلی به وجود نمیاد.
همینطور توجه داشته باشید که از نظر سئویی این مورد خوب نیست که چندین برگه شما که از قبل وجود داشتن الان ارور ۴۰۴ بدن. پیشنهاد میکنم بعد از پاک کردن برگه ها تون، برگه های ارزشمند رو ریدایرکت ۳۰۱ کنید به صفحه یا برگه ای که ارتباط داره…