فرض کن یه Plugin داری که فقط برای یک صفحه خاص لازمه.
ولی فایلهای CSS و JavaScript اون Plugin روی تمام صفحات سایت لود میشن.
مشکل فقط Performance نیست.
هر Plugin اضافهای که Asset یا قابلیت پردازشی خودش رو در کل سایت فعال کنه، سطح پیچیدگی و در بعضی شرایط سطح حمله رو هم بیشتر میکنه.
یکی از کارهایی که در پروژههای حرفهای باید بررسی کنی اینه:
آیا این قابلیت واقعاً باید در تمام صفحات Load بشه؟
مثلاً میتونی در بعضی سناریوها Assetهای یک Plugin رو فقط در صفحه موردنیاز enqueue کنی.
به جای:
تمام سایت
↓
Plugin CSS
Plugin JS
برسی به چیزی شبیه:
/checkout
↓
Checkout CSS
Checkout JS
این کار هم Performance رو بهتر میکنه، هم وابستگیهای غیرضروری رو کمتر میکنه.
و این موضوع وقتی مهمتر میشه که بدونی در همین روزهای اخیر چندین آسیبپذیری جدی در Pluginهای WordPress گزارش شده؛ از جمله مواردی که میتونستن به Account Takeover یا حتی Remote Code Execution منجر بشن.
💡 داخل وردپرس Plugin کمتر، کد کمتر و سطح حمله کمتر همیشه به معنی امنیت بیشتر نیست؛ ولی مدیریت دقیق وابستگیها قطعاً بخشی از یک معماری سالمه.
@CodeVerse_dev