«افزونه ها را کم کن تا سایتت سریع شود» رایج ترین توصیه سرعت در وردپرس فارسی است و ما اندازه گرفتیم که چقدر درست است. جواب کوتاه: تعداد افزونه ها با زمان پاسخ سرور تقریبا هیچ رابطه ای ندارد، ولی با تعداد فایلی که مرورگر باید بگیرد رابطه محکمی دارد.
این دو تا یکی نیستند و تفاوتشان تعیین می کند کدام کار را باید انجام بدهید.

روش
در ۲۵ مرداد ۱۴۰۵ صفحه اصلی ۵۹ سایت ایرانی را که در بیست نتیجه اول عبارت های وردپرسی و سئویی رتبه دارند از یک سرور Hetzner در هلسینکی گرفتیم. سی تا از آنها وردپرس بودند و در ۲۵ تای آنها نشانی افزونه در سورس صفحه دیده می شد.
برای هر سایت شمردیم چند افزونه متمایز در آدرس فایل ها ظاهر می شود، چند فایل جاوااسکریپت و استایل صدا زده می شود، و زمان پاسخ سرور با میانه سه اندازه گیری چقدر است.
دو محدودیت را همین اول بگوییم، چون بدون آنها این عددها را نباید باور کرد. اول اینکه فقط افزونه هایی شمرده می شوند که فایلی در صفحه اصلی بارگذاری می کنند؛ افزونه ای که فقط در پنل مدیریت کار می کند در این شمارش دیده نمی شود، پس این عدد کف است نه کل. دوم اینکه نقطه اندازه گیری ما در فنلاند است و سایت های ایرانی از آنجا دورند، پس عدد زمان پاسخ برای مقایسه سایت ها با هم معتبر است، نه به عنوان عددی که کاربر ایرانی تجربه می کند.
نتیجه ای که انتظارش را نداشتیم
ضریب همبستگی را بین سه جفت متغیر حساب کردیم:
| رابطه بین | همبستگی | یعنی چه |
|---|---|---|
| تعداد افزونه و زمان پاسخ سرور | ۰.۰۵ | عملا هیچ رابطه ای |
| تعداد افزونه و تعداد فایل جاوااسکریپت و استایل | ۰.۴۸ | رابطه واقعی و قابل توجه |
| تعداد فایل و زمان پاسخ سرور | ۰.۰۸ | عملا هیچ رابطه ای |
و وقتی سایت ها را به دو گروه تقسیم کردیم، تصویر واضح تر شد:
| گروه | تعداد سایت | میانه زمان پاسخ | میانه فایل های جاوااسکریپت و استایل |
|---|---|---|---|
| سه افزونه یا کمتر | ۹ | ۴۳۵ میلی ثانیه | ۳۰ فایل |
| شش افزونه یا بیشتر | ۱۰ | ۳۵۲ میلی ثانیه | ۷۶ فایل |
سایت هایی که افزونه بیشتری داشتند سرور کندتری نداشتند. در واقع میانه زمان پاسخشان کمی بهتر بود، که احتمالا یعنی کسی که افزونه بیشتری نصب می کند سرور بهتری هم خریده. ولی دو و نیم برابر فایل به مرورگر کاربر می فرستادند.
چرا این طور است
افزونه وردپرس دو جور هزینه دارد و آنها را با هم قاطی می کنند.
هزینه سمت سرور این است که PHP باید کد افزونه را بخواند و اجرا کند. این هزینه واقعی است ولی کوچک، و مهم تر از آن، با کش صفحه تقریبا صفر می شود. وقتی صفحه یک بار ساخته و ذخیره شد، بازدیدکننده بعدی فایل آماده را می گیرد و کد هیچ افزونه ای اجرا نمی شود. به همین دلیل است که در داده ما تعداد افزونه زمان پاسخ را پیش بینی نمی کند: بیشتر این سایت ها کش دارند.
هزینه سمت مرورگر این است که هر افزونه فایل CSS و JS خودش را به صفحه اضافه می کند و این را کش صفحه حل نمی کند. راهنمای بهینه سازی LCP در web.dev همین را جدا می کند: وقت پاسخ سرور و وقت بارگذاری منابع دو بخش مستقل از یک عدد هستند. فایل ها همچنان در HTML خروجی هستند و مرورگر باید همه شان را بگیرد و پردازش کند. سنگین ترین سایت فهرست ما ۱۴ افزونه و ۷۹ فایل استایل و اسکریپت داشت.
پس توصیه «افزونه را کم کن» به هدف اشتباه شلیک می کند. مسئله تعداد افزونه نیست، تعداد فایلی است که به صفحه اضافه می شود، و این دو همیشه با هم بالا نمی روند.
کاری که به جایش باید کرد
ببینید هر افزونه چه فایلی به صفحه اضافه می کند. سورس صفحه را باز کنید و دنبال wp-content/plugins بگردید. افزونه ای که در صفحه اصلی فایل بارگذاری می کند ولی کارش فقط در یک صفحه دیگر است، همان چیزی است که باید محدود شود.
افزونه ای که فقط در یک صفحه لازم است را به همان صفحه محدود کنید. افزونه فرم تماس در تمام صفحه های سایت فایل بار می کند در حالی که فقط در صفحه تماس کار دارد. این یک مورد معمولا بیشترین صرفه را دارد.
کش صفحه را قبل از هر کار دیگری راه بیندازید. اگر کش ندارید، هزینه سمت سرور افزونه ها واقعی است و آن وقت شمردنشان معنی دارد. اگر دارید، آن بحث تمام شده و باید سراغ فایل ها بروید. ما روی همین سایت از FlyingPress استفاده می کنیم. اگر هنوز کش ندارید، رابطه هاست با سرعت و سئو نقطه شروع بهتری از عوض کردن افزونه هاست.
صفحه ساز را جدی بگیرید. در داده ما بیشترین تعداد فایل مربوط به سایت هایی بود که صفحه ساز داشتند، و صفحه ساز در شمارش ما فقط یک افزونه حساب می شود. یک افزونه می تواند بیشتر از ده افزونه دیگر فایل اضافه کند.
حدی که این داده دارد
پنجاه و نه سایت نمونه بزرگی نیست و همه شان سایت هایی هستند که در گوگل رتبه دارند، یعنی احتمالا از میانگین سایت های ایرانی بهترند. همبستگی هم علیت نیست: اینکه افزونه بیشتر با زمان پاسخ بهتر همراه بود، به این معنی نیست که افزونه نصب کردن سرور را سریع می کند.
و یک مورد هست که توصیه رایج در آن درست است: افزونه ای که در هر بار بارگذاری صفحه به سرور بیرونی درخواست می زند، با کش هم مشکل ساز می ماند. آن یکی را باید حذف کرد، نه به خاطر تعدادش، به خاطر کاری که می کند.
پرسش های متداول
افزونه در وردپرس یعنی چه؟ بسته ای از کد که قابلیتی به وردپرس اضافه می کند بدون آنکه هسته دست بخورد. از فرم تماس تا فروشگاه، همه با افزونه اضافه می شوند.
کدام افزونه ها برای وردپرس ضروری هستند؟ فهرست ضروری واحدی وجود ندارد. آنچه تقریبا هر سایت لازم دارد یکی برای کش، یکی برای سئو و یکی برای پشتیبان گیری است. بقیه به کاری که سایت می کند بستگی دارد.
بهترین افزونه های رایگان وردپرس کدامند؟ رایگان بودن معیار خوبی برای انتخاب نیست. معیار بهتر این است که افزونه در شش ماه گذشته به روزرسانی گرفته باشد و چند فایل به صفحه شما اضافه کند.
کدام افزونه ها برای زیباسازی سایت وردپرس مناسب هستند؟ افزونه هایی که ظاهر را عوض می کنند معمولا سنگین ترین دسته اند، چون باید در تمام صفحه ها فایل بار کنند. اگر ظاهر برایتان مهم است، انجام دادنش در قالب ارزان تر از انجام دادنش با افزونه است.
چطور بفهمم کدام افزونه سایتم را کند کرده؟ اول کش را روشن کنید، بعد سورس صفحه را بشمارید. اگر بعد از کش هنوز کند است، مشکل سمت سرور است نه افزونه.
اگر می خواهید این کار روی سایت خودتان انجام شود، ما شمارش فایل ها و پاک سازی خروجی صفحه را با عدد قبل و بعد گزارش می کنیم؛ و اگر عدد بعد از کار بهتر نشد، همان را می نویسیم. برای فهمیدن اینکه کدام عدد اصلا مهم است، مرور Core Web Vitals نقطه شروع بهتری از هر ابزار نمره دهی است.
دیدگاه ها و پرسش ها
سوالی درباره این مطلب دارید؟ بپرسید؛ پاسخ می دهیم.
هنوز دیدگاهی ثبت نشده؛ اولین نفر باشید.