چگونه سرعت WordPress را گامبهگام افزایش دهیم؟
چرا بعضی سایتهای وردپرسی با همان قالب و همان افزونهها سه برابر سریعتر از بقیه هستند؟ مسیر ششلایهای که در پروژههای واقعی جواب داده است.
در جلسههای مشاوره، جملهای که بیش از همه میشنوم این است: ما افزونه کش نصب کردیم ولی سایت هنوز کند است. در پاسخ، اول یک سوال میپرسم: عدد TTFB (Time To First Byte) سایت شما چند است؟ بیشتر مواقع جوابی برای این سوال وجود ندارد. یعنی بهینهسازی بدون اندازهگیری شروع شده، و همین دلیل شکست است. سرعت وردپرس یک مسئله چندلایه است و تا زمانی که ندانید کدام لایه گلوگاه است، هر افزونهای نصب کنید فقط یک لایه ابهام روی مسئله میسازد. این مقاله، همان مسیر تشخیصمحور است.
گام صفر: عدد بگیرید، بعد دست به کار شوید
پنج عدد کلیدی که پیش از هر اقدامی ثبت میکنم: TTFB (Time To First Byte)، LCP (Largest Contentful Paint)، مجموع بایت CSS و JS صفحه اصلی، تعداد درخواستها، و مصرف CPU پنل هاست در ساعت پیک. برای تفسیر این اعداد، مقاله Core Web Vitals چیست و چرا گوگل بر آن تاکید دارد نقطه شروع خوبی است.
اگر ابتدا این پنج عدد را ثبت نکنید، بعد از هر تغییری نمیتوانید بگویید بهتر شد یا بدتر. من در هر پروژه یک شیت گوگل میسازم و هر تغییر را در آن مستند میکنم؛ نتیجه این عادت، تصمیمهای مبتنی بر داده بهجای حدس است.
بهینهسازی بدون اندازهگیری، ورزش نیست؛ جنبوجوش دلگرمکننده است.
لایه اول: هاست، بستر همه چیز
اگر TTFB روی همه صفحات بالا است و حتی با افزونه کش هم درست نمیشود، مشکل در بستر است. هاستهای ارزان معمولاً روی سرورهای اشتراکی با همسایههای پرخوری که CPU را میخورند کار میکنند و شما فقط صف انتظار را تجربه میکنید. اگر شک دارید، مقاله تأثیر هاست بر سرعت سایت را بخوانید.
هاستهایی که بر پایه LiteSpeed کار میکنند و کش سمت سرور دارند، بزرگترین برد را در سایتهای اشتراکی میدهند. برای مقایسه گزینههای مختلف، مقاله بهترین هاست برای وردپرس را بررسی کنید.
لایه دوم: قالب و سقف تعیینشده
قالب، سقفِ سرعتی سایت شماست. اگر در صفحهای بدون افزونههای نمایشی تعداد درخواستهای استاتیک بالای ۴۰ و مجموع بایت CSS/JS بالای ۵۰۰ کیلوبایت باشد، هر بهینهسازی بعدی فقط سقف را کمی بالا میبرد؛ دیوار سر جایش است.
در تجربهام، سایتهایی که روی قالبهای سبک بازنویسی شدهاند، TTFB مشابه را با یکسوم بایت تجربه میکنند. اگر لازم است قالب عوض شود، پروتکل امن آن در چگونه قالب وردپرس را بدون آسیب تغییر دهیم آمده است.
لایه سوم: افزونهها و مالیات پنهان
هر افزونه در هر بازدید یک مالیات پنهان دارد: اجرای PHP، کوئری دیتابیس، فایل CSS/JS، و در بعضی موارد کرون. تفکیک این چهار کانال را در مقاله افزونههای وردپرس چگونه روی سرعت سایت اثر میگذارند توضیح دادهام.
روش دستهبندی افزونهها و حذف مرحلهای، سریعترین راه شناسایی مقصر است. یک قاعده شخصی: هر افزونهای که در شش ماه گذشته تغییری در آن اعمال نشده، کاندید حذف است.
لایه چهارم: کش، موتور تحویل
سه نوع کش را از هم تفکیک کنید: کش صفحه (Page Cache)، کش مرورگر (Browser Cache) و کش آبجکت (Object Cache). افزونههای معتبر هر سه را پوشش میدهند. مقایسه گزینهها در بهترین افزونههای کش وردپرس آمده است.
نکته مهم: کش، سقف قالب را بالا نمیبرد. اگر قالب سنگین است، کش فقط زمان پاسخ را بهبود میدهد ولی حجم صفحه را نمیکاهد. در سایتهایی که ترافیک جهانی دارند، CDN (Content Delivery Network) لایه بعدی است.
لایه پنجم: تصاویر، بایتهای روزمره
در بیشتر سایتهای محتوایی، تصاویر بزرگترین بایتهای صفحه را میسازند. سه اصل: انتخاب فرمت درست (WebP برای فتوشاپ، PNG برای گرافیک تخت)، فشردهسازی بدون افت کیفیت محسوس، و ارائه ابعاد درست با srcset. اگر میخواهید بفهمید کدام تصویر دقیقاً LCP را خراب میکند، مقاله سئوی تصویر چیست را ببینید.
لایه ششم: دیتابیس و کرون
سایتهای چندساله معمولاً با بدهی دیتابیس دستوپنجه نرم میکنند: ردیفهای باقیمانده افزونههای حذفشده، revisionهای بیشمار، و ردیفهای autoload در wp_options. تفکیک این موارد و پاکسازی آگاهانه در مقاله تأثیر دیتابیس بر سرعت سایت آمده است.
علاوه بر این، wp-cron را با cron واقعی سرور جایگزین کنید. اجرای wp-cron در لحظه بازدید کاربر، دقیقاً همان وقتی است که نباید اتفاق بیفتد.
سرعت، محصول کنارِ معماری درست است، نه هدفی که با نصب افزونه به دست بیاید.
ترتیب اجرا و بودجه زمان
| هفته | کار اصلی | هزینه تقریبی |
|---|---|---|
| هفته اول | عددگیری و کش | صفر |
| هفته دوم | پاکسازی افزونهها | چند ساعت کار |
| هفته سوم | هاست و CDN | ماهانه جزئی |
| هفته چهارم | مهاجرت قالب (در صورت نیاز) | یکباره سنگین |
اگر در سه هفته اول عدد LCP موبایل زیر ۲.۵ ثانیه شد، مهاجرت قالب ضروری نیست. یکی از مهمترین تصمیمهای مهندسی، تصمیم به انجام ندادن است. برای بخشهای تکمیلی، مقاله چگونه مشکل سرعت سایت را عیبیابی کنیم مسیر را گامبهگام نشان میدهد.
اشتباهات رایج در افزایش سرعت
شایعترین اشتباه، شروع از انتها است: نصب افزونه کش پیش از اصلاح هاست. اشتباه دوم: ترکیب افزونههای بهینگی مختلف که روی هم اثر میگذارند و صفحه را میشکنند. اشتباه سوم: تست سرعت روی مرورگر دسکتاپ و وایفای شرکت، در حالی که مخاطب اصلی موبایل است. اشتباه چهارم: بهینهسازی یکبار و رها کردن سایت به حال خود؛ سرعت، فرآیند ماهانه میخواهد. اشتباه پنجم: پاکسازی دیتابیس با افزونههای بیپروا که ممکن است ردیفهای مفید را هم حذف کنند.
پرسشهای پرتکرار درباره افزایش سرعت وردپرس
پاسخ کوتاه و کاربردی به سوالات تکراری مشتریان، برای تصمیمگیری سریع خواننده.
آیا بهترین افزونه کش، مسئله سرعت را کامل حل میکند؟
خیر. کش، زمان پاسخ سرور را بهبود میدهد ولی حجم صفحه و تعداد درخواستها را کم نمیکند. اگر بایت زیاد است، باید لایههای دیگر را اصلاح کنید.
چرا با کش، عدد PageSpeed هنوز پایین است؟
PageSpeed آزمایشگاهی، بر پایه بارگذاری اول است و کش روی بارگذاری دوم اثر میگذارد. تست میدانی را با CrUX بسنجید، نه آزمایشگاه.
VPS الزاماً سریعتر از هاست اشتراکی است؟
نه همیشه. VPS مدیریتنشده و بد تنظیم، میتواند از یک هاست اشتراکی بهینه کندتر باشد.
بهترین فرمت تصویر برای سرعت چیست؟
برای اکثر سایتها WebP. برای لوگو و گرافیک تخت، SVG. اگر مخاطب مرورگرهای قدیمی دارد، fallback از JPEG کنید.
آیا سرعت روی رتبه گوگل اثر دارد؟
بله، بهعنوان یکی از سیگنالهای تجربه کاربری. اما وزن آن در برابر محتوا کمتر است؛ سرعت، ضریب تصمیم است نه اصل تصمیم.
نگاهی متفاوت به معنای سرعت
در طول سالها کار روی سایتهای پربازدید، به این باور رسیدهام که سرعت واقعی، عدد LCP نیست؛ آن حسی است که مشتری در سه ثانیه اول تجربه میکند. گوگل و ابزارهای سنجش، این حس را به عدد ترجمه میکنند، ولی تصمیم کاربر بر پایه عدد گرفته نمیشود. کاری کنید سایت طوری از نظر روانی سریع حس شود که کاربر متوجه تاخیر نشود. این هدف، با ترکیب عددسنجی و توجه به جزئیات انسانی به دست میآید: تصویر درست، فونت مناسب، محتوای زودتر دیدنی، و صدای بصری تمیز. اگر سرعت را از منظر تجربه کاربر ببینید، اولویتهایتان خودبهخود عوض میشوند. تجربه خودتان از سایتی که در نگاه اول سریع حس میشود ولی عددش ایدهآل نیست را در دیدگاهها بنویسید؛ همین مشاهدهها به من یاد دادند سرعت، بیش از آنکه عدد باشد، حسی است که باید ساخته شود.