آموزش غیر فعال کردن و حذف کامل فید وردپرس
اگر توجه کرده باشید این روزها دیگر از زمان داغ بودن استفاده از خوراک RSS/Atom گذر کرده ایم و نسبت به سالهای گذشته هر روز افراد کمتری از این سرویس برای دنبال کردن محتوای وبسایت مورد نظر خود استفاده میکنند. علاوه بر کم تر شدن کاربرد فید، ممکن است شما دلایل متعدد دیگری برای عدم استفاده و غیر فعال کردن آن در سایت خود داشته باشید. مثلا با در نظر گرفتن اینکه وردپرس یک سیستم مدیریت محتوای گسترده است، واضح خواهد بود که همه سایت های راه اندازی شده با این سیستم الزاما وبلاگی و خبری نیستند. بر این اساس خیلی از وبسایت های شرکتی و موارد مشابه احتمالا اصلا نیازی به استفاده از فید نخواهند داشت.
به هر دلیلی که مایل باشید امکان استفاده از فید را در وردپرس غیر فعال کنید، آموزش امروز برای شما مناسب خواهد بود در این آموزش یاد میگیریم که چطور به طور کامل سرویس RSS Feed را در وردپرس غیر فعال کرده و کلیه آدرس های آن را نیز به طور کامل از سایت حذف کنیم. این آموزش را به سه روش مختلف دنبال میکنیم. شما میتوانید بر اساس نیاز و تمایل خود، هر یک از سه روش را که برای شما مناسب تر باشد جهت غیر فعال کردن این امکان در وردپرس استفاده نمایید. از شما دعوت میکنیم در ادامه با مسترکد همراه شوید.
غیر فعال کردن فید RSS در وردپرس
آموزش را ابتدا از طریق استفاده از افزونه، سپس با استفاده از کد نویسی و در پایان با استفاده از قوانین htaccess دنبال خواهیم کرد. پیش از انجام تغییرات اساسی در سایت، تهیه نسخه پشتیبان از سایت را فراموش نکنید.
غیر فعال کردن فید با استفاده از افزونه
ساده ترین کاری که برای غیر فعال کردن فید آر اس اس در وردپرس میتوانید انجام دهید استفاده از پلاگین است. برای این کار کافی است افزونه Disable Feeds را در سایت خود نصب و فعال کنید. (آموزش نصب افزونه در وردپرس)
این افزونه پس از فعال سازی کلیه فید های RSS / Atom / RDF را در سایت شما غیر فعال کرده و کاربران را در صورت دسترسی به آدرس های مربوط به فید، به محتوای مرتبط هدایت میکند. البته تنظیمات مربوط به افزونه با مراجعه به منوی تنظیمات و زیرمنوی خواندن در اختیار شما قرار خواهد گرفت و در صورت نیاز میتوانید به دلخواه آنها را تغییر دهید و مثلا کاری کنید که کاربران بجای هدایت شدن به محتوای مرتبط، با صفحه 404 مواجه شوند.
هرچند استفاده از این روش بسیار ساده است اما ممکن است مسائلی مثل به روز نگه داشتن افزونه، یا عدم تمایل به استفاده از افزونه های اضافی در سایت، شما را از استفاده از این شیوه منصرف کند. در این حالت توصیه میکنیم از روشی که در ادامه به شرح آن پرداخته ایم بهره بگیرید.
غیر فعال کردن فید از طریق کد
در این روش همه انواع فید شامل RSS / RDF / ATOM را به طور کامل در همه محتوای سایت اعم از نوشته ها، دیدگاه ها، نوع ارسال های سفارشی و … غیر فعال خواهیم کرد و هر گاه شخصی سعی در دسترسی به آدرس مربوط به فید ها داشته باشد، آدرس را به صفحه اصلی سایت هدایت میکنیم. در این روش همچنین تگ مربوط به فید را که در head سایت قرار داده میشود را نیز از سایت حذف خواهیم کرد. برای استفاده از این روش کافی است کد زیر را در فایل functions.php قالب یا افزونه ای که برای سایت خود ساخته اید قرار دهید (آموزش ساخت افزونه برای سایت وردپرسی)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | /** * Redirect to the homepage all users trying to access feeds. */ function disable_feeds() { wp_redirect( home_url() ); die; } // Disable global RSS, RDF & Atom feeds. add_action( 'do_feed', 'disable_feeds', -1 ); add_action( 'do_feed_rdf', 'disable_feeds', -1 ); add_action( 'do_feed_rss', 'disable_feeds', -1 ); add_action( 'do_feed_rss2', 'disable_feeds', -1 ); add_action( 'do_feed_atom', 'disable_feeds', -1 ); // Disable comment feeds. add_action( 'do_feed_rss2_comments', 'disable_feeds', -1 ); add_action( 'do_feed_atom_comments', 'disable_feeds', -1 ); // Prevent feed links from being inserted in the <head> of the page. add_action( 'feed_links_show_posts_feed', '__return_false', -1 ); add_action( 'feed_links_show_comments_feed', '__return_false', -1 ); remove_action( 'wp_head', 'feed_links', 2 ); remove_action( 'wp_head', 'feed_links_extra', 3 ); |
جلوگیری از دسترسی به فید از طریق htaccess
در این روش، سرویس فید را غیر فعال نمیکنیم و فقط با استفاده از ریدایرکت آدرس های مربوط به فید، از دسترسی به آن ها جلوگیری میکنیم. برای این کار کافی است کد زیر را به قبل از بخش # BEGIN WordPress در فایل htaccess سایت خود اضافه کنید :
1 2 3 4 5 6 7 8 | # BEGIN Feed redirect <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^(.*/)?feed(/rss|/rss2|/atom|/rdf)?/?$ /$1 [R=301,NC,L] RewriteCond %{QUERY_STRING} (?|&)feed= RewriteRule (.*) $1/? [R=301,NC,L] </IfModule> # END Feed redirect |
اگر خط # BEGIN WordPress را پیدا نکردید میتوانید کد را به ابتدای فایل اضافه کنید. با استفاده از این کد، هرگاه کاربر سعی در بارگذاری آدرس های مربوط به فید داشته باشد، به صفحه خانگی یا صفحه مرتبط به آرشیو/نوشته یا نویسنده مرتبط هدایت خواهد شد.
در بین این روش ها، روش دوم یعنی استفاده از کد روش مورد علاقه مسترکد است. اما بدیهی است که شما میتوانید با توجه به نیازها و امکانات در دسترس، روشی که برای خودتان ایده آل است را انتخاب کرده و در سایت خود مورد استفاده قرار دهید. طبق معمول، پیش از ایجاد تغییرات اساسی در سایت، بکاپ گرفتن را را فراموش نکنید!
سلام ممنون بابت آموزش ارزنده تون
مشکل من این هست کخ در سرچ کنسول به آخر یک سری از URL ها feed اضافه شده و با رفتن به اون آدرس یک فابل رو برای دانلود میاره
دم شما گرم لطف کردید خیلی عالی بود
سلام. اگر قالب سایت بعد از مدتی بروزرسانی بشه، این کد هایی که در فانکشن گذاشتیم حذف میشن یا میمونن؟؟
سلام
کد هایی که در فایل funtions.php قرار بدید در صورت آپدیت قالب از بین خواهند رفت. برای همین اشاره کردیم برای سایتتون افزونه بسازید :
https://mrcode.ir/?p=895
سلام من روش دوم که کدنویسی بود را با ساخت افزونه انجام دادم. الان دیگه نباید کاری انجام بدم چون تو ساخت افزونه گفته بودید باید این قابلیت را فعال کنم؟
خیلی عالی ممنون از مقاله کاربردی شما.