SHET23

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

غیرفعال کردن 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
افزونه Disable Feeds WP

قدم دوم: رفتار خوراک‌ها رو انتخاب کنید

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

انتخاب رفتار خوراک‌ها در تنظیمات خواندن وردپرس
انتخاب رفتار خوراک‌ها در تنظیمات خواندن وردپرس

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

قدم سوم: نتیجه رو آزمایش کنید

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

صفحه ۴۰۴ در آدرس feed
صفحه ۴۰۴ در آدرس feed

آیا خود وردپرس گزینه غیرفعال کردن RSS رو داره؟

نه؛ وردپرس به‌صورت پیش‌فرض تنظیم مستقیمی برای خاموش کردن همه خوراک‌ها نداره. صفحه «تنظیمات ← خواندن» فقط تعداد نوشته‌های داخل خوراک و نوع محتوایی رو که نمایش داده می‌شه کنترل می‌کنه. گزینه غیرفعال‌سازی که بعد از نصب Disable Feeds WP در این صفحه می‌بینید، مربوط به خود افزونه هست.

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

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

فرقی نمی‌کنه کد رو انتخاب کنید یا افزونه؛ بعد از انجام کار حتماً آدرس‌های Feed رو آزمایش کنید. اگه بعداً یک خبرنامه، فیدخوان یا ابزار انتشار خودکار به RSS نیاز داشت، کد رو بردارید یا افزونه رو غیرفعال کنید تا خوراک‌ها دوباره در دسترس باشن.

غیرفعال کردن RSS سئوی سایت رو بهتر می‌کنه؟

نه، بستن RSS به‌تنهایی رتبه سایت رو بهتر نمی‌کنه. برای مشخص کردن نسخه اصلی محتوا بهتره canonical، نقشه سایت و لینک‌سازی داخلی درستی داشته باشید.

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

وردپرس گزینه آماده‌ای برای خاموش کردن کامل RSS نداره. اگه نمی‌خواید افزونه نصب کنید، باید از کد کمک بگیرید.

چطور RSS رو دوباره فعال کنیم؟

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

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

  1. U367144۱۹ دی ۱۴۰۳

    من این کد رو داخل functions.php چایلد تمم وارد کردم ولی هنگام مشاهده صفحات فید به من پیام زیر رو نمایش میده:
    This XML file does not appear to have any style information associated with it. The document tree is shown below.

    wp_die

    500

  2. U358803۱۰ آبان ۱۴۰۳

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

  3. U352030۲۹ مرداد ۱۴۰۳

    درود بر شما مهندس راد گرامی،
    تو انتهای آدرس محصول ووکامرس feed اضافه میشه، و تو وبمستر هم خطای ایندکس میده، چطور حلش کنیم؟

  4. U331030۱۵ مهر ۱۴۰۲

    سلام اقا رضا
    /feed/ لازمه در robots.txt انفالو بشه؟
    یا اینکه بهتره به ادرس اول سایت ریدایرکت بشه؟
    و سوال بعدی اینکه روش بالا که توضیح دادید جلوی ربات های مزاحمو میگیره اما با غیرفعال کردن RSS وردپرس، مطالب شما نمی‌توانند توسط فید برنر گوگل خوانده شوند
    من نمیخوام مطالب سایتم کپی برداری بشه
    راهی هست جلوشو گرفت جوری که مشکلی برای گوگل هم پیش نیاد؟
    لطفا یک راهی پیشنهاد بدید که کمکم کنه‌ممنونم

    • رضا راد۱۶ مهر ۱۴۰۲

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

  5. U324652۱۵ خرداد ۱۴۰۲

    سلام جناب مهندس راد

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

    • رضا راد۲۴ خرداد ۱۴۰۲

      سلام وقت بخیر. ۱. دسترسی بهش غیرفعال میشه ۲. تغییر هسته وردپرس ۳. همین روش رو استفاده کنید کافیه ۴. خیر مشکلی از نظر سئو نداره چون کلا فید ایندکس نمیشه

  6. U318996۳ آذر ۱۴۰۱

    سلام . اگر کد به به جای نمایش خطا به صفحه اول ریدارکت شه مشکلی برای سئو سایت نداره ؟

  7. U315413۲۲ تیر ۱۴۰۱

    سلام
    من این کد را استفاده کردم و الان خطای 5xx میگیرم. روی همان یوآرال هایی که آخرشون feed هست. چکار کنم مشکل حل بشه

    • رضا راد۲۵ تیر ۱۴۰۱

      سلام کد رو احتمالا جایی اشتباه وارد کردید مجدد تست کنید.

  8. U15326۱۶ تیر ۱۳۹۹

    سلام وقت بخیر تصویر شاخص این تصویر به آدرس
    https://mihanwp.com/wp-content/uploads/2016/01/disable-feed-wordpress.jpg
    حذف شده و موجود نیست
    اصلاح کنید

    • تیم پشتیبانیتیم پشتیبانی۱۷ تیر ۱۳۹۹

      سلام
      ممنون از اطلاع رسانی شما. مشکل در حال بررسی هست

      • U15326۲۹ تیر ۱۳۹۹

        سلام وقت بخیر امروز 28 تیر همچنان تصویری برای این پست تعریف نشده

        • U15326۲۹ تیر ۱۳۹۹

          یک مورد دیگه اینکه وقتی زدم انتشار کامنت تاریخ درج شده (۲۹ تیر ۱۳۹۹) بود
          در صورتی که امروز شنبه ،۲۸ تیر۱۳۹۹ می باشد

        • تیم پشتیبانیتیم پشتیبانی۲۹ تیر ۱۳۹۹

          سپاس از شما
          حل شد

  9. U14500۱۲ تیر ۱۳۹۹

    سلام وقت بخیر
    یه سوال داشتم از خدمتتون،
    آیا اگر feed سایت در گوگل ایندکس بشه مشکلی نداره؟
    الان که سایتم رو در گوگل چک کردم دیدم feed سایتم به این شکل سئو شده؛
    example.com/feed

    ممنون میشم راهنماییم کنید.

    • تیم پشتیبانیتیم پشتیبانی۱۴ تیر ۱۳۹۹

      سلام
      خیر طبیعی هست

  10. کاربر مهمان۲۱ اردیبهشت ۱۳۹۸

    سلام و صبح بخیر
    خسته نباشید

    جناب آقای حسینی چون در متن گفتید که به انتها اضافه کنیم از <?php اولش اشتباه میگیره! و سایت کار نمیکنه!
    به نظرم اگه به انتها اضافه کنیم باید <?php رو از خط اول پاک کنیم.
    نظرتون؟

    • رضا راد۲۱ اردیبهشت ۱۳۹۸

      درود خیر باید ?> رو از انتها حذف کنید و یا قبل از ?> قرارش بدید

      • U14437۲۱ اردیبهشت ۱۳۹۸

        جسارتا همین کارو هم کردم ولی زد سایت دچار مشکل فنی شده است!

        • رضا راد۲۱ اردیبهشت ۱۳۹۸
        • U11543۱۹ بهمن ۱۴۰۱

          کد رو مطمئن باش که تو پوشه قالب تو فایل fucntion اضافه کرده باشی

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

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

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