آموزش غیرفعال کردن pingback وردپرس + بستن پینگبکهای قدیمی و افزایش امنیت
پاسخ سریع (Featured Snippet)
برای غیرفعال کردن pingback وردپرس، کافی است از پیشخوان وردپرس به مسیر تنظیمات > گفتوگوها بروید و گزینه «اجازه به دیگر سایتها برای فرستادن بازبازتاب (پینگبک) روی نوشتههای تازه» را از حالت انتخاب خارج کنید. برای نوشتههای قدیمی نیز باید از بخش نوشتهها، ویرایش دستهجمعی را انتخاب کرده و حالت Pings را روی «اجازه ندادن» قرار دهید.
نقشه راه سریع غیرفعالسازی پینگبک در وردپرس
ایجاد کامنتهای اسپم، حملات DDoS و کندی دیتابیس توسط پینگبکها.
حذف تیک پینگبک از تنظیمات گفتوگو برای پستهای جدید.
ویرایش دستهجمعی نوشتههای قبلی و بستن ارسال پینگ.
مسدودسازی کامل XML-RPC یا استفاده از قطعه کد functions.php.
فهرست مطالب مقاله

- پینگبک (Pingback) در وردپرس چیست و چه کاربردی دارد؟
- چرا غیرفعال کردن Pingback در وردپرس حیاتی است؟
- روشهای غیرفعال کردن pingback وردپرس
- جدول مقایسهای: سایت با و بدون پینگبک
- عیبیابی سریع (Troubleshooting) و سوالات متداول
اگر با مدیریت وردپرس آشنا باشید، احتمالاً دیدهاید که وقتها با قرار دادن لینک یک مقاله در مقالهای دیگر، دیدگاهی خودکار ایجاد میشود. این دیدگاه همان پینگبک است. سیستم پینگبک و تراکبک (Trackback) سالها پیش برای آگاهی وبلاگنویسان از ارجاعات متقابل طراحی شدند. اما امروزه این قابلیت تبدیل به سیبل هکرها و اسپمرها شده است. بستن آن یکی از نخستین اقدامات برای بالا بردن امنیت و پایداری سایت است.
پینگبک (Pingback) در وردپرس چیست و چه کاربردی دارد؟

پینگبک یک اعلان خودکار است که وقتی سایتی به یکی از صفحات شما لینک میدهد، به وردپرس شما ارسال میشود. اگر هر دو سایت از وردپرس استفاده کنند و پینگبک روی آنها فعال باشد، وردپرس بهطور اتوماتیک یک دیدگاه در زیر نوشته مقصد ثبت میکند تا نشان دهد صفحهای دیگر به آن لینک داده است.
تفاوت اصلی Pingback با Trackback در نحوه ارسال اطلاعات است. تراکبک به صورت دستی ارسال میشود و محتوایی از خلاصه مطلب را ارائه میدهد، اما پینگبک کاملاً خودکار است و از پروتکل XML-RPC برای برقراری ارتباط استفاده میکند.
در پروژههای جدید طراحی سایت اختصاصی یا سیستمهای مدیریت محتوا، ویژگیهایی مانند پینگبک بهدلیل ساختار قدیمی خود از روند اصلی توسعه کنار گذاشته شدهاند تا بهینهسازی دیتابیس بهتر انجام گیرد.
چرا غیرفعال کردن Pingback در وردپرس حیاتی است؟

در نگاه اول ممکن است پینگبکها مفید به نظر برسند، اما در دنیای امروز وب، دلایل متعدد و محکمی وجود دارد که باید بلافاصله این feature را خاموش کنید:
- تولید بیرویه اسپم (Spam): رباتها از طریق ارسال پینگبکهای جعلی به سایت شما تلاش میکنند لینکهای مخرب خود را در بخش دیدگاههای شما ثبت کنند.
- حملات منع خدمت (DDoS Attacks): هکرها از فایل
xmlrpc.phpو قابلیت پینگبک استفاده میکنند تا هزاران درخواست همزمان به یک سایت هدف بفرستند. این مسله میتواند فشار زیادی روی سرور ایجاد کند و سایت شما را کاملاً از دسترس خارج سازد. - کاهش سرعت سایت و سنگین شدن دیتابیس: با ذخیره هزاران پینگبک خودکار یا اسپم، جدول دیدگاهها سنگین شده و پردازش سرور کند میشود.
- پینگبکهای داخلی آزاردهنده (Self-Pings): هر زمان که در مقالات خود به مقاله دیگری از سایت خودتان لینک دهید، وردپرس یک پینگبک برای خودتان میفرستد که مدیریت دیدگاهها را شلوغ میکند.
اگر به موضوعات مرتبط با امنیت سایت علاقه دارید، بستن پینگبکها در کنار رعایت اصول جامع راهکارهای ضد هک وردپرس پایداری پایگاه داده شما را تضمین میکند. همچنین داشتن ساختار بهینه، تاثیر مستقیمی بر بهبود وضعیت سئو و بهینهسازی وبسایت خواهد داشت.
روشهای غیرفعال کردن pingback وردپرس
برای غیرفعال کردن کامل این سیستم، باید هم نوشتههای آینده و هم نوشتههای قبلی را پوشش دهید. در ادامه ۴ روش کاربردی را گامبهگام بررسی میکنیم.
روش اول: بستن پینگبک برای پستهای جدید از پیشخوان
این روش بسیار ساده است و فقط مانع ارسال پینگبک برای نوشتههایی میشود که از این به بعد منتشر میکنید:
- وارد پیشخوان وردپرس شوید.
- از منوی سمت راست وارد بخش تنظیمات > گفتوگوها شوید (گاهی در تنضیمات وردپرس این بخش با نام Discussion دیده میشود).
- گزینه «اجازه به دیگر سایتها برای فرستادن بازبازتاب (پینگبک) روی نوشتههای تازه» را پیدا کرده و تیک آن را بردارید.
- همچنین تیک گزینه «کوشش برای آگاه کردن هر وبلاگی که پیوندش در این نوشته است» را هم بردارید.
- روی دکمه ذخیره تغییرات در پایین صفحه کلیک کنید.
روش دوم: غیرفعال کردن پینگبک برای نوشتههای قدیمی
تغییر تنظیمات بالا روی پستهایی که قبلاً منتشر شدهاند اعمال نمیشود. برای بستن پینگبک در نوشتههای گذشته به روش زیر عمل کنید:
- به منوی نوشتهها > همه نوشتهها بروید.
- تیک بالای لیست را بزنید تا همه نوشتهها انتخاب شوند. (اگر تعداد نوشتهها زیاد است، از «تنظیمات صفحه» در بالای سمت چپ، تعداد موارد در هر صفحه را روی عدد بالاتری مثل ۱۰۰ بگذارید).
- از منوی کشویی «کارهای دسته جمعی»، گزینه ویرایش را انتخاب کرده و روی اجرا کلیک کنید.
- در بخش باز شده، گزینه پینگها (Pings) را پیدا کرده و آن را روی حالت «اجازه ندادن» (Do not allow) قرار دهید.
- روی دکمه بهروزرسانی کلیک کنید.
روش سوم: غیرفعال کردن پینگبک با کدنویسی (در functions.php)
اگر میخواهید کلاً پینگبک را در سطح هسته قالب متوقف کنید و حتی جلوی پینگبکهای داخلی (Self-Pings) را بگیرید، قطعه کد زیر را به فایل functions.php قالب فعال یا چایلد تم خود اضافه کنید:
add_action(‘pre_ping’, ‘disable_self_pingbacks’);
function disable_self_pingbacks(&$links) {
$home = get_option(‘home’);
foreach ($links as $l => $link) {
if (0 === strpos($link, $home)) {
unset($links[$l]);
}
}
}
// بستن متدهای پینگبک در XML-RPC
add_filter(‘xmlrpc_methods’, function($methods) {
unset($methods[‘pingback.ping’]);
return $methods;
});
برای افزایش سطح ایمنی پروندههای قالب، مطالعه راهنمای غیرفعالسازی ویرایشگر فایلهای وردپرس پیشنهاد میشود تا امکان تغییر کدهای حساس از پیشخوان سلب شود.
روش چهارم: مسدود کردن فایل xmlrpc.php در htaccess.
چون حملات پینگبک از طریق فایل xmlrpc.php انجام میشوند، مسدود کردن دسترسی به این فایل ترافیک اضافی ناشی از رباتها را کاملاً قطع میکند. کد زیر را در انتهای فایل .htaccess قرار دهید:
Order Allow,Deny
Deny from all
</Files>
در صورت تمایل به سختتر کردن دسترسیها، علاوه بر این روش میتوانید اقداماتی نظیر محدود کردن و غیرفعال کردن rest api وردپرس را بررسی نموده یا نسبت به عوض کردن لینک ورود به مدیریت اقدام کنید. همچنین جهت رفع آسیبپذیریهای متداول فرمها، پیادهسازی الزامات مربوط به جلوگیری از حملات csrf در ajax وردپرس توصیه میشود.
جدول مقایسهای: وضعیت سایت قبل و بعد از غیرفعالسازی Pingback
| ویژگی / وضعیت | نتیجه تغییر و غیرفعال کردن |
|---|---|
| حملات DDoS ناشی از XML-RPC | کاهش ۱۰۰ درصدی خطر سوءاستفاده از پینگبک |
| دیدگاههای اسپم خودکار | حذف کامل دیدگاههای بازبازتابی بیپایه |
| مصرف منابع سرور (CPU & RAM) | کاهش بار پردازشی به ویژه هنگام بروزرسانی مطالب |
| پینگبکهای داخلی سایت خودمان | توقف کامل نوتیفیکیشنهای بلااستفاده |
اگر برای کسبوکار خود نیاز به مشاوره دارید، مجموعه خدمات متنوع مانند طراحی سایت شرکتی یا راهاندازی فروشگاه اینترنتی را میتوانید در مهیار هاب مشاهده کنید. همچنین ایدههای جدید در حوزه دیجیتال مارکتینگ به رشد ترافیک واقعی شما کمک شایانی خواهند کرد.
عیبیابی سریع (Troubleshooting) و سوالات متداول
عیبیابی: چرا با وجود تغییر تنظیمات هنوز پینگبک دریافت میکنم؟
اگر تیک پینگبک را برداشتهاید اما هنوز دیدگاههای پینگبک ثبت میشوند، علت آن یکی از دو مورد زیر است: ۱) نوشتههای قبلی ویرایش دستهجمعی نشدهاند و هنوز گزینه Pings در آنها فعال است. ۲) کش سایت یا کش افزونه امنیتی بروز نشده است. مطمئن شوید ویرایش دستهجمعی را روی تمامی نوشتهها اعمال کردهاید.
آیا غیرفعال کردن پینگبک به سئوی سایت ضربه میزند؟
خیر، به هیچ وجه. پینگبک فقط یک اعلان خودکار است و هیچ تاثیر مثبت مستقیمی روی سئو ندارد. حتی بستن آن با جلوگیری از ایجاد لینکهای اسپم به بهبود سئو کمک میکند.
آیا افزونهای برای مدیریت بهتر پینگبک وجود دارد؟
بله، افزونههایی مثل Disable XML-RPC یا افزونههای جامع امنیتی نظیر Wordfence و iThemes Security امکان بستن کامل این قابلیت را بدون نیاز به کدنویسی فراهم میکنند.
آیا با مسدود کردن XML-RPC اپلیکیشن موبایل وردپرس از کار میافتد؟
اگر کل فایل xmlrpc.php را ببندید، ممکن است برخی ابزارهای قدیمی متصل به سایت کار نکنند. اما اگر فقط متد pingback را بر اساس قطعه کد روش سوم ببندید، هیچ مشکلی برای سایر خدمات ایجاد نخواهد شد.