کاهش درخواست‌های HTTP در وردپرس

  • دسته بندی ها: وردپرس

سرعت بارگذاری صفحات وب یکی از عوامل کلیدی در موفقیت یک وب‌سایت وردپرس محسوب می‌شود. کاربران امروزی انتظار دارند صفحات در کوتاهترین زمان ممکن بارگذاری شده و در صورت تاخیر، به‌سادگی سایت را ترک می‌کنند. از سوی دیگر، موتورهای جستجو هم سرعت سایت را به‌عنوان یکی از معیارهای مهم رتبه‌بندی در نظر می‌گیرند. یکی از دلایل اصلی کندی سایت‌های وردپرس، تعداد زیاد درخواست‌های HTTP است که مرورگر برای دریافت منابع مختلف صفحه به سرور ارسال می‌کند.

در این مطلب به‌صورت جامع بررسی می‌کنیم درخواست‌های HTTP چیست، چرا کاهش آن‌ها اهمیت دارد و چگونه می‌توان با راهکارهای عملی، تعداد این درخواست‌ها را در وردپرس کاهش و سرعت سایت را به‌طور محسوسی افزایش داد.

درخواست HTTP چیست و چگونه بر سرعت سایت اثر می‌گذارد؟

هر زمان که کاربر یک صفحه وب را باز می‌کند، مرورگر برای نمایش کامل آن صفحه باید فایل‌های مختلفی را دریافت کند. این فایل‌ها شامل تصاویر، فایل‌های CSS، فایل‌های JavaScript، فونت‌ها و سایر منابع هستند. هر فایل به‌صورت جداگانه از سرور درخواست می‌شود و به این درخواست‌ها، HTTP Requests گفته می‌شود.
هرچه تعداد این درخواست‌ها بیشتر باشد، مرورگر باید ارتباطات بیشتری با سرور برقرار کند. حتی اگر حجم فایل‌ها کم باشد، تعداد بالای درخواست‌ها باعث افزایش زمان بارگذاری می‌شود، به ویژه زمانی که منابع از دامنه‌های مختلف دریافت شوند یا سرور با محدودیت منابع مواجه باشد.

چرا کاهش درخواست‌های HTTP اهمیت دارد؟

کاهش تعداد درخواست‌های HTTP تنها یک بهینه‌سازی فنی ساده نیست، بلکه تاثیر مستقیم بر جنبه‌های مختلف عملکرد سایت دارد.

  • افزایش سرعت بارگذاری صفحات
    هر درخواست کمتر به معنی یک مرحله ارتباطی کمتر بین مرورگر و سرور است. این موضوع باعث می‌شود صفحه سریع‌تر لود شده و محتوای اصلی زودتر در اختیار کاربر قرار گیرد.
  • بهبود تجربه کاربری
    کاربران سایت‌های سریع را حرفه‌ای‌تر و قابل اعتمادتر می‌دانند. کاهش تاخیر در بارگذاری صفحات، نرخ پرش را کاهش داده و تعامل کاربران با سایت را افزایش می‌دهد.
  • بهبود سئو و رتبه در نتایج جستجو
    سرعت سایت یکی از فاکتورهای مهم سئو است. کاهش درخواست‌های HTTP می‌تواند معیارهای عملکردی مانند زمان بارگذاری محتوای اصلی را بهبود دهد و در نتیجه به ارتقای رتبه سایت کمک کند.
  • کاهش مصرف منابع سرور
    درخواست‌های کمتر به معنی مصرف کمتر CPU، رم و پهنای باند سرور است. این موضوع برای سایت‌های پرترافیک اهمیت دوچندان دارد.

شناسایی منابع ایجادکننده درخواست‌های زیاد

قبل از هر اقدامی، باید بدانید چه بخش‌هایی از سایت بیشترین درخواست‌های HTTP را ایجاد می‌کنند. معمولا این منابع شامل موارد زیر هستند:

  • قالب‌های سنگین با فایل‌های CSS و JavaScript متعدد
  • افزونه‌هایی که فایل‌های خود را در تمام صفحات بارگذاری می‌کنند
  • تصاویر با تعداد یا حجم بالا
  • فونت‌های وب و فایل‌های خارجی
  • اسکریپت‌های جانبی مانند ابزارهای آماری یا تبلیغاتی

شناخت این منابع، اولین قدم برای بهینه‌سازی موثر است.

حذف یا جایگزینی افزونه‌ها و قالب‌های سنگین

یکی از رایج‌ترین دلایل افزایش درخواست‌های HTTP در وردپرس، استفاده بیش از حد از افزونه‌ است. بسیاری از افزونه‌ها حتی زمانی که در یک صفحه استفاده نمی‌شوند، فایل‌های CSS و JavaScript خود را بارگذاری می‌کنند.

برای کاهش این مشکل:

  • افزونه‌های غیرضروری را غیرفعال و حذف کنید.
  • از قالب‌هایی استفاده کنید که سبک و بهینه طراحی شده‌اند.
  • افزونه‌هایی را انتخاب کنید که امکان بارگذاری شرطی فایل‌ها را دارند.

کاهش تعداد افزونه‌ها، اغلب تاثیر چشمگیری بر تعداد درخواست‌های HTTP دارد.

بارگذاری شرطی فایل‌ها در وردپرس

بارگذاری شرطی به این معناست که فایل‌ها فقط در صفحاتی که واقعا به آن‌ها نیاز است لود شوند. به‌عنوان مثال، اگر یک افزونه فرم تماس فقط در صفحه «تماس با ما» استفاده می‌شود، نیازی نیست فایل‌های آن در تمام صفحات سایت بارگذاری شوند.

با استفاده از توابع وردپرس می‌توان فایل‌های CSS و JavaScript را در صفحات خاصی غیرفعال یا فعال کرد. این کار باعث می‌شود تعداد درخواست‌ها در صفحات دیگر به‌طور قابل توجهی کاهش یابد.

مثال: برای غیرفعال کردن اسکریپت فرم تماس در همه جا به جز صفحه «تماس با ما»:

کوچک‌سازی (Minify) و ادغام (Combine) فایل‌های CSS و JavaScript

یکی از روش‌های موثر برای کاهش درخواست‌ها، Minify و Combine کردن فایل‌هاست.

کوچک‌سازی (Minification)

در این روش، فضاهای خالی، کامنت‌ها و کاراکترهای غیرضروری از کد حذف می‌شوند. این کار حجم فایل‌ها را کاهش می‌دهد و سرعت دانلود آن‌ها را افزایش می‌دهد.

ادغام فایل‌ها (Combination)

در این روش، چند فایل CSS یا JavaScript در یک فایل واحد ترکیب می‌شوند. به این ترتیب، مرورگر به‌جای ارسال چند درخواست جداگانه، تنها یک درخواست ارسال می‌کند.
البته در سرورهایی که از پروتکل‌های جدید استفاده می‌کنند، باید این روش‌ها با دقت و تست انجام شوند تا نتیجه معکوس نداشته باشند.

بهینه‌سازی فونت‌ها برای کاهش درخواست‌ها

فونت‌های وب، به‌ویژه زمانی که از سرویس‌های خارجی بارگذاری می‌شوند، می‌توانند باعث ایجاد چندین درخواست HTTP و همچنین انجام DNS Lookupهای اضافی شوند. این موضوع مستقیم فرآیند رندر شدن صفحه را کند می‌کند. با در اختیار گرفتن کامل مدیریت فونت‌ها، می‌توان این درخواست‌های خارجی را حذف کرد و اطمینان داشت که فونت‌ها با حداکثر کارایی از سرور بهینه‌شده خود سایت بارگذاری می‌شوند.

میزبانی محلی فونت‌ها (Host Fonts Locally)

به‌جای بارگذاری فونت‌ها از سرویس‌های خارجی، می‌توان آن‌ها را مستقیم روی سرور سایت میزبانی کرد. این کار باعث حذف درخواست‌های خارجی و کاهش تاخیر در بارگذاری می‌شود.
در وردپرس می‌توان از افزونه‌هایی استفاده کرد که به‌صورت خودکار فونت‌های استفاده‌شده در سایت را شناسایی می‌کنند، آن‌ها را دانلود کرده و از داخل همان سرور ارائه می‌دهند. با این روش، درخواست به دامنه‌های خارجی حذف شده و فونت‌ها دقیقا مانند سایر فایل‌های سایت بارگذاری می‌شوند.

زیرمجموعه‌سازی فونت‌ها

بسیاری از فایل‌های فونت شامل کاراکترها، زبان‌ها و وزن‌هایی هستند که در سایت شما هرگز استفاده نمی‌شوند. Subset کردن فونت‌ها به این معناست که تمام کاراکترها و وزن‌های غیرضروری از فایل فونت حذف شوند.
این کار می‌تواند حجم فایل فونت را به‌طور چشمگیری کاهش دهد و در نتیجه زمان دانلود و تعداد داده‌های منتقل‌شده کمتر شود. بسیاری از ابزارهای تولید فونت محلی، امکان Subset کردن را به‌صورت پیشفرض در اختیار قرار می‌دهند.

استفاده از font-display: swap

برای جلوگیری از نمایش ندادن متن هنگام بارگذاری فونت سفارشی، می‌توان از ویژگی font-display: swap در تعریف فونت‌ها استفاده کرد.
با افزودن این ویژگی به دستور @font-face، مرورگر ابتدا متن را با یک فونت سیستمی نمایش می‌دهد و پس از بارگذاری فونت اصلی، آن را جایگزین می‌کند. این کار از بروز مشکل «نمایش ندادن متن» یا همان Flash of Invisible Text جلوگیری می‌کند.
نمونه استفاده در CSS:

پیش‌بارگذاری فونت‌های حیاتی (Preload Critical Fonts)

معمولا تنها یک یا دو فایل فونت برای نمایش محتوای بالای صفحه (Above-the-Fold) ضروری هستند. این فونت‌ها باید با بالاترین اولویت ممکن بارگذاری شوند.
با استفاده از Preload، می‌توان به مرورگر اعلام کرد که این فایل‌ها حیاتی هستند و باید در ابتدای فرآیند بارگذاری دانلود شوند. این کار از تاخیر در نمایش محتوای اصلی صفحه جلوگیری می‌کند.
نمونه استفاده از Preload در بخش <head> سایت:

 

هاست وردپرس با وب سرور محبوب لایت اسپید و کش لایت اسپید باعث می‌شود تا سرعت لود فوق العاده‌ای را تجربه کنید.
با خرید هاست وردپرس کانفیگ حرفه‌ای و نظارت بر سرور به صورت پیوسته توسط تیم فنی پارسدِو انجام خواهد شد.

کاهش درخواست‌های خارجی

درخواست‌هایی که به دامنه‌های خارجی ارسال می‌شوند، معمولا زمان‌برتر از درخواست‌های داخلی هستند. اسکریپت‌های آماری، فونت‌ها، ابزارهای تبلیغاتی و سرویس‌های جانبی از جمله این موارد هستند.
برای کاهش این نوع درخواست‌ها:

• بررسی کنید کدام سرویس‌ها واقعا ضروری هستند.
• در صورت امکان، فایل‌ها را به‌صورت لوکال میزبانی کنید.
• اسکریپت‌های غیرضروری را حذف یا محدود کنید.

بهینه‌سازی تصاویر و کاهش درخواست‌ها

هر تصویر در یک صفحه وب، یک درخواست HTTP مجزا ایجاد می‌کند. اگر صفحه‌ای دارای تصاویر متعدد باشد، تعداد درخواست‌ها به‌سرعت افزایش می‌یابد.
راهکارهای موثر در این زمینه عبارتند از:

• کاهش تعداد تصاویر غیرضروری
• استفاده از فرمت‌های بهینه و فشرده
• فعال‌سازی بارگذاری تنبل (Lazy Loading)
• استفاده از فایل‌های SVG برای آیکن‌ها به‌جای تصاویر جداگانه

این اقدامات هم تعداد درخواست‌ها و هم حجم داده‌های منتقل‌شده را کاهش می‌دهند.

مدیریت ویژگی‌های پیشفرض وردپرس

وردپرس به‌صورت پیش‌فرض برخی قابلیت‌ها را فعال دارد که در همه سایت‌ها کاربردی نیستند، مانند ایموجی‌ها یا برخی اسکریپت‌های جانبی. غیرفعال‌سازی این قابلیت‌ها می‌تواند چندین درخواست HTTP را حذف کند و سرعت سایت را افزایش دهد.

جمع‌بندی

کاهش درخواست‌های HTTP یکی از موثرترین و در عین حال قابل کنترل‌ترین روش‌ها برای افزایش سرعت سایت وردپرس است. با مدیریت صحیح افزونه‌ها، بهینه‌سازی فایل‌های CSS و JavaScript، کنترل بارگذاری فونت‌ها، کاهش درخواست‌های خارجی و بهینه‌سازی تصاویر، می‌توان تعداد درخواست‌ها را به شکل محسوسی کاهش داد.
این بهینه‌سازی‌ها نه‌ تنها باعث افزایش سرعت بارگذاری صفحات می‌شوند، بلکه تجربه کاربری را بهبود، فشار روی سرور را کاهش داده و در نهایت به بهبود جایگاه سایت در نتایج جستجو کمک می‌کنند. اجرای این راهکارها به‌صورت تدریجی و همراه با تست، بهترین نتیجه را برای سایت شما به همراه خواهد داشت.