غیرفعال کردن Feed وردپرس با کد و افزونه رایگان
- مقالات آموزشی
- بروزرسانی شده در

وردپرس خودش برای نوشتهها، دیدگاهها، دستهبندیها و چند بخش دیگه خوراک RSS میسازه. RSS در اصل یک خروجی ساده و همیشه بهروز از محتوای سایتتونه که فیدخوانها و سرویسهای خودکار میتونن دنبالش کنن. اگه مطمئنید سایتتون به این خروجی نیاز نداره، اینجا غیرفعال کردن Feed وردپرس رو هم با کد یاد میگیرید و هم با یک افزونه رایگان.
قبل از شروع، این نکته رو در نظر بگیرید که خود وردپرس هنوز گزینهای برای خاموش کردن کامل خوراکها نداره. پس باید سراغ کد یا افزونه برید. روش افزونه برای افراد تازهکار سادهتره، ولی هر دو راه رو قدمبهقدم با هم جلو میبریم.
آنچه در این مقاله میخوانید
RSS وردپرس چیه و چه کاربردی داره؟
RSS رو مثل یک فهرست در نظر بگیرید که همیشه تازهترین مطالب سایتتون رو نشون میده. برنامههای فیدخوان، بعضی سرویسهای خبرنامه و ابزارهای انتشار خودکار از همین فهرست کمک میگیرن. اگه میخواید با نحوه کارش بیشتر آشنا بشید، مقاله RSS چیست و چطور از آن استفاده کنیم توضیح کاملتری بهتون میده. مستندات رسمی خوراکهای وردپرس هم آدرسهای مختلف Feed رو معرفی میکنه.
آیا بهتره Feed وردپرس رو غیرفعال کنید؟
بعضی رباتها از خوراک سایت برای برداشتن خودکار مطالب کمک میگیرن. بستن RSS دسترسی اونها از مسیر Feed رو قطع میکنه، ولی قرار نیست جلوی همه روشهای کپی محتوا رو بگیره. یک ربات هنوز هم میتونه صفحههای عادی سایتتون رو بررسی کنه.
خاموش کردن RSS بهتنهایی مشکل محتوای تکراری رو حل نمیکنه و تضمینی هم برای بهتر شدن رتبه گوگل نیست. گوگل برای پیدا کردن نسخه اصلی محتوا به نشانههایی مثل آدرس canonical و حضور صفحه در نقشه سایت توجه میکنه. canonical یعنی آدرسی که به موتور جستوجو میگه نسخه اصلی یک محتوا کدوم صفحه هست. راهنمای رسمی مدیریت آدرسهای تکراری در Google Search این موضوع رو دقیقتر توضیح میده.
- اگه مخاطبهاتون نوشتهها رو با فیدخوان دنبال میکنن، بهتره RSS رو روشن نگه دارید.
- اگه خبرنامه یا یک سرویس انتشار خودکار به Feed وصل شده، اول اون اتصال رو بررسی کنید.
- اگه هیچ ابزار یا مخاطبی به RSS وابسته نیست، میتونید با خیال راحتتری غیرفعالش کنید.
نکته: سرویس اشتراک ایمیلی FeedBurner از ژوئیه ۲۰۲۱ متوقف شده، ولی قابلیتهای اصلی مدیریت خوراک FeedBurner کاملاً تعطیل نشدن. اگه سرویس دیگهای مطالب سایتتون رو با RSS میفرسته، بستن Feed میتونه اون اتصال رو از کار بندازه.
روش اول: غیرفعال کردن Feed وردپرس با کد
کدی که در ادامه میبینید، درخواست خوراکهای اصلی وردپرس رو متوقف میکنه و پاسخ ۴۰۴ نشون میده. خطای ۴۰۴ یعنی آدرس موردنظر در دسترس نیست. قبل از اضافه کردن کد هم حتماً از سایتتون نسخه پشتیبان بگیرید.
بهتره این کد رو داخل یک افزونه اختصاصی کوچیک یا فایل functions.php قالب فرزند بذارید. اگه کد رو مستقیم به قالب اصلی اضافه کنید، ممکنه بعد از بهروزرسانی یا عوض کردن قالب از بین بره. برای آشنایی بیشتر میتونید آموزش ترفندهای مفید برای فایل functions.php وردپرس رو بخونید.
function mihanwp_disable_feed() { wp_die( 'خوراک RSS این سایت غیرفعاله. میتونید به صفحه اصلی برگردید.', 'خوراک غیرفعاله', array( 'response' => 404 ) );}add_action( 'do_feed', 'mihanwp_disable_feed', 1 );add_action( 'do_feed_rdf', 'mihanwp_disable_feed', 1 );add_action( 'do_feed_rss', 'mihanwp_disable_feed', 1 );add_action( 'do_feed_rss2', 'mihanwp_disable_feed', 1 );add_action( 'do_feed_atom', 'mihanwp_disable_feed', 1 );add_action( 'do_feed_rss2_comments', 'mihanwp_disable_feed', 1 );add_action( 'do_feed_atom_comments', 'mihanwp_disable_feed', 1 );وقتی کد رو ذخیره کردید، کش سایت و مرورگرتون رو پاک کنید. حالا آدرس example.com/feed/ رو با دامنه واقعی سایتتون باز کنید. اگه پیام غیرفعال بودن خوراک رو همراه با پاسخ ۴۰۴ دیدید، یعنی کد درست کار میکنه.
روش دوم: غیرفعال کردن RSS با افزونه رایگان
اگه دوست ندارید با کد سروکله بزنید، افزونه رایگان Disable Feeds WP کار رو براتون راحتتر میکنه. این افزونه در مخزن رسمی وردپرس منتشر شده و میتونه درخواست خوراکها رو به محتوای مرتبط بفرسته یا برای اونها خطای ۴۰۴ نشون بده.
قدم اول: افزونه رو نصب کنید
در پیشخوان وردپرس به «افزونهها ← افزودن افزونه تازه» برید و عبارت Disable Feeds WP رو جستوجو کنید. افزونهای با همین نام رو پیدا کنید، روی «هماکنون نصب نمایید» بزنید و بعد از پایان نصب، فعالش کنید.

قدم دوم: رفتار خوراکها رو انتخاب کنید
بعد از فعالسازی، از پیشخوان وارد «تنظیمات ← خواندن» بشید. تنظیمات Disable Feeds WP رو در همین صفحه میبینید. اینجا میتونید درخواستهای Feed رو به صفحه مرتبط بفرستید یا نمایش خطای ۴۰۴ رو انتخاب کنید. اگه میخواید خوراکها واقعاً در دسترس نباشن، حالت ۴۰۴ انتخاب مناسبتریه.

یکی از گزینههای افزونه اجازه میده خوراک اصلی نوشتهها و دیدگاهها همچنان فعال بمونن و فقط خوراکهای دیگه بسته بشن. پس اگه هدفتون غیرفعال کردن کامل RSS هست، این گزینه نباید فعال باشه. ممکنه متن دقیق گزینه در نسخههای مختلف افزونه کمی فرق کنه؛ برای همین توضیحی رو که کنار هر گزینه میبینید هم با دقت بخونید.
قدم سوم: نتیجه رو آزمایش کنید
یک پنجره ناشناس در مرورگرتون باز کنید و آدرس example.com/feed/ رو با دامنه سایتتون امتحان کنید. بعد سراغ خوراک دیدگاهها برید و آدرسی مثل example.com/comments/feed/ رو هم باز کنید. نتیجه باید با انتخابی که در تنظیمات افزونه داشتید هماهنگ باشه؛ یعنی یا به صفحه مرتبط منتقل بشید یا خطای ۴۰۴ ببینید.

آیا خود وردپرس گزینه غیرفعال کردن RSS رو داره؟
نه؛ وردپرس بهصورت پیشفرض تنظیم مستقیمی برای خاموش کردن همه خوراکها نداره. صفحه «تنظیمات ← خواندن» فقط تعداد نوشتههای داخل خوراک و نوع محتوایی رو که نمایش داده میشه کنترل میکنه. گزینه غیرفعالسازی که بعد از نصب Disable Feeds WP در این صفحه میبینید، مربوط به خود افزونه هست.
کد بهتره یا افزونه؟
اگه تازه کار با وردپرس رو شروع کردید، افزونه رایگان Disable Feeds WP انتخاب راحتتریه. هر وقت هم بخواید رفتارش رو عوض کنید، لازم نیست کدی رو دستکاری کنید. ولی اگه نمیخواید افزونه تازهای نصب کنید و مدیریت کد اختصاصی براتون آشناست، روش کدنویسی هم کارتون رو راه میاندازه.
فرقی نمیکنه کد رو انتخاب کنید یا افزونه؛ بعد از انجام کار حتماً آدرسهای Feed رو آزمایش کنید. اگه بعداً یک خبرنامه، فیدخوان یا ابزار انتشار خودکار به RSS نیاز داشت، کد رو بردارید یا افزونه رو غیرفعال کنید تا خوراکها دوباره در دسترس باشن.
غیرفعال کردن RSS سئوی سایت رو بهتر میکنه؟
نه، بستن RSS بهتنهایی رتبه سایت رو بهتر نمیکنه. برای مشخص کردن نسخه اصلی محتوا بهتره canonical، نقشه سایت و لینکسازی داخلی درستی داشته باشید.
وردپرس بدون افزونه میتونه RSS رو غیرفعال کنه؟
وردپرس گزینه آمادهای برای خاموش کردن کامل RSS نداره. اگه نمیخواید افزونه نصب کنید، باید از کد کمک بگیرید.
چطور RSS رو دوباره فعال کنیم؟
اگه از افزونه استفاده کردید، غیرفعال یا حذفش کنید. اگه کدی اضافه کردید، همون قطعه کد رو از افزونه اختصاصی یا فایل قالب فرزند بردارید و بعد کش سایت رو پاک کنید.

من این کد رو داخل functions.php چایلد تمم وارد کردم ولی هنگام مشاهده صفحات فید به من پیام زیر رو نمایش میده:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
wp_die500
سلام از کجا بدونیم که feed به درستی غیر فعال شده
درود بر شما مهندس راد گرامی،
تو انتهای آدرس محصول ووکامرس feed اضافه میشه، و تو وبمستر هم خطای ایندکس میده، چطور حلش کنیم؟
سلام اقا رضا
/feed/ لازمه در robots.txt انفالو بشه؟
یا اینکه بهتره به ادرس اول سایت ریدایرکت بشه؟
و سوال بعدی اینکه روش بالا که توضیح دادید جلوی ربات های مزاحمو میگیره اما با غیرفعال کردن RSS وردپرس، مطالب شما نمیتوانند توسط فید برنر گوگل خوانده شوند
من نمیخوام مطالب سایتم کپی برداری بشه
راهی هست جلوشو گرفت جوری که مشکلی برای گوگل هم پیش نیاد؟
لطفا یک راهی پیشنهاد بدید که کمکم کنهممنونم
سلام اگر غیرفعالش کنید دیگه وجود نداره که ایندکس بشه. میتونید ریدایرکت کنید.
سلام جناب مهندس راد
من سئوالی دارم که در باب این مقاله هست
خواهش من اینه که تخصصی بهم پاسخ بدید
ممنون میشم لطف میکنید
من یه سایت فروشگاه اینترنتی دارم راه میندازم
میخوام فید رو تو سایتم بلاک کنم اول سئوال اینکه
با این کار سایت من لینک های فید دیگه تولید نمیکنه ؟ یا تولید میکنه و من از خوندنش برای ربات ها فقط جلوگیری کردم
اگر اره که هیچ اگر نه راهکار کلی جمع کردن فید از وردپرس چیه ؟
داستان اینه که من نمیخوام لینک های اضافی بیخود توسط وردپرس ساخته بشه تا حالا ایندکس بشه و از این حرفها میخوام تعداد لینک های سایتم حداقل از فید خالی باشن تا بودجه خزش سایتمو کمتر خرج مواردی بشه که عملا در یک سایت فروشگاهی به دردم نمیخوره
ایا این کار رو بکنم از نظر سئو به مشکل میخورم یا اینکه میتونه مفید باشه ؟
لطفا راهنمایی و کمک بفرمایید از لطف و اشتراک دانشتون متشکرم
سلام وقت بخیر. ۱. دسترسی بهش غیرفعال میشه ۲. تغییر هسته وردپرس ۳. همین روش رو استفاده کنید کافیه ۴. خیر مشکلی از نظر سئو نداره چون کلا فید ایندکس نمیشه
سلام . اگر کد به به جای نمایش خطا به صفحه اول ریدارکت شه مشکلی برای سئو سایت نداره ؟
سلام خیر مشکلی نیست
سلام
من این کد را استفاده کردم و الان خطای 5xx میگیرم. روی همان یوآرال هایی که آخرشون feed هست. چکار کنم مشکل حل بشه
سلام کد رو احتمالا جایی اشتباه وارد کردید مجدد تست کنید.
سلام وقت بخیر تصویر شاخص این تصویر به آدرس
https://mihanwp.com/wp-content/uploads/2016/01/disable-feed-wordpress.jpg
حذف شده و موجود نیست
اصلاح کنید
سلام
ممنون از اطلاع رسانی شما. مشکل در حال بررسی هست
سلام وقت بخیر امروز 28 تیر همچنان تصویری برای این پست تعریف نشده
یک مورد دیگه اینکه وقتی زدم انتشار کامنت تاریخ درج شده (۲۹ تیر ۱۳۹۹) بود
در صورتی که امروز شنبه ،۲۸ تیر۱۳۹۹ می باشد
سپاس از شما
حل شد
سلام وقت بخیر
یه سوال داشتم از خدمتتون،
آیا اگر feed سایت در گوگل ایندکس بشه مشکلی نداره؟
الان که سایتم رو در گوگل چک کردم دیدم feed سایتم به این شکل سئو شده؛
example.com/feed
ممنون میشم راهنماییم کنید.
سلام
خیر طبیعی هست
سلام و صبح بخیر
خسته نباشید
جناب آقای حسینی چون در متن گفتید که به انتها اضافه کنیم از <?php اولش اشتباه میگیره! و سایت کار نمیکنه!
به نظرم اگه به انتها اضافه کنیم باید <?php رو از خط اول پاک کنیم.
نظرتون؟
درود خیر باید ?> رو از انتها حذف کنید و یا قبل از ?> قرارش بدید
جسارتا همین کارو هم کردم ولی زد سایت دچار مشکل فنی شده است!
کد رو مطمئن باش که تو پوشه قالب تو فایل fucntion اضافه کرده باشی