learn

Ajax در وردپرس چیست؟ عیب‌یابی مصرف admin-ajax.php و Heartbeat

دیدن admin-ajax.php در گزارش منابع به‌تنهایی علت را مشخص نمی‌کند؛ نام عملیات و زمان پاسخ را برای یافتن افزونه یا قابلیت مسئول بررسی کنید.

Ajax در وردپرس روشی برای تبادل داده با سرور بدون بارگذاری مجدد کل صفحه است. این نام یک فایل خراب یا خطای مستقل نیست. فایل admin-ajax.php یکی از مسیرهای پردازش درخواست‌های افزونه‌ها و هسته است؛ همهٔ ارتباطات غیرهمزمان وردپرس نیز الزاماً از همین مسیر نمی‌گذرند.

Ajax در وردپرس با Heartbeat چه تفاوتی دارد؟

در مستند Ajax وردپرس، درخواست می‌تواند نتیجهٔ جست‌وجو، ذخیرهٔ تنظیم یا عملیات یک افزونه باشد. داده هم الزاماً XML نیست و ممکن است JSON باشد. Heartbeat API یک سازوکار درخواست دوره‌ای است که از admin-ajax استفاده می‌کند؛ همهٔ درخواست‌های این فایل Heartbeat نیستند.

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

پیداکردن درخواست مسئول

  1. ابزار توسعه‌دهندهٔ مرورگر را باز و بخش Network را انتخاب کنید.
  2. عملیات کند را انجام دهید و درخواست‌های admin-ajax.php را فیلتر کنید.
  3. درخواست را باز کنید و زمان پاسخ، وضعیت و بخش Payload را ببینید.
  4. مقدار action و بخش Initiator را برای شناسایی قابلیت آغازکننده ثبت کنید.
  5. نتیجه را با لاگ و مصرف منابع همان زمان تطبیق دهید.

راهنمای Network مرورگر محل نمایش جزئیات درخواست را توضیح می‌دهد. نام action سرنخ است و همیشه نام افزونه را آشکار نمی‌کند. زمان طولانی مرورگر نیز دقیقاً معادل مصرف CPU نیست؛ انتظار شبکه یا سرویس خارجی می‌تواند دخیل باشد.

اصلاح افزونه یا قابلیت سنگین

اگر درخواست به افزونهٔ مشخص مربوط است، تنظیمات، نسخه و کوئری‌های همان قابلیت را بررسی کنید. آزمون غیرفعال‌سازی را محدود و در محیط آزمایشی انجام دهید. حذف فایل هسته یا مسدودکردن کامل admin-ajax می‌تواند فرم، فروشگاه و ویرایشگر را از کار بیندازد.

برای گزارش به توسعه‌دهنده، زمان وقوع، action و مراحل بازتولید کافی‌تر از تصویر صرفاً مصرف CPU است. پیش از ارسال HAR یا لاگ، کوکی، توکن، اطلاعات فرم و دادهٔ شخصی را حذف کنید.

تنظیم Heartbeat فقط در صورت نیاز

ابتدا تب‌های مدیریت بلااستفاده را ببندید. اگر اندازه‌گیری نشان داد Heartbeat عامل مؤثر است، کاهش فعالیت را برای محل لازم بررسی کنید. خاموش‌کردن کامل می‌تواند ذخیرهٔ خودکار، قفل ویرایش و قابلیت‌های وابسته را مختل کند.

اگر WP Rocket دارید، طبق راهنمای کنترل Heartbeat می‌توانید فعالیت پیشخوان، ویرایشگر و فرانت را جدا تنظیم کنید. در زمان بازبینی، صفحهٔ Heartbeat Control هشدار آزموده‌نشدن با نسخه‌های اصلی جدید وردپرس دارد؛ نصب آن بدون آزمون سازگاری توصیه نمی‌شود.

آزمون پس از تغییر

همان عملیات قبلی، ذخیرهٔ نوشته و قابلیت تعاملی سایت را دوباره امتحان کنید. هدف کاهش درخواست غیرضروری با حفظ کارکرد است، نه صفرکردن تعداد درخواست‌ها. اگر مشکل باقی ماند، به بررسی action و منابع برگردید و محدودیت را بی‌دلیل بیشتر نکنید.

مطالعهٔ مرتبط

بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شده‌اند.

مطالب مرتبط

ارسال نظر

فهرست مطالب