افزایش سرعت درخواست‌های AJAX در پرستاشاپ

درخواست AJAX زمانی استفاده می‌شه که بدون لود مجدد صفحه، یک اتفاق بیفته؛ مثلا تغییر صفحات در شاخه‌ها، افزودن محصول به سبد، تغییر ترکیب یا… یک درخواست AJAX ثبت می‌شه. اگر در این موارد کندی زیادی رو تجربه می‌کنید احتمالا مشکل اینه که Gzip برای “application/json” در سایتتون فعال نیست. Gzip یک مورد حیاتی برای سرعت لود صفحه هست که روی اغلب هاست‌ها فعال هست، اما gzip برای “application/json” همیشه فعال نیست. تو این حالت تمام درخواست‌های ajax کند خواهند بود. فعال کردن این مورد می‌تونه درخواست‌ها رو +10 برابر سریع‌تر کنه.

این تغییر روی سرعت لود چه مواردی تاثیر داره؟

  • صفحه‌بندی (مثلا در شاخه‌ها)
  • تغییر ترکیب
  • افزودن به سبد خرید
  • نمایش سریع
  • ماژول پرداخت تک‌صفحه‌ای پرستاشاپ
  • ماژول نظرات محصول
  • ماژول جستجوی محصول
  • و تمام ویژگی‌هایی که از AJAX استفاده می‌کنند.

چطور بررسی کنیم که Gzip برای درخواست AJAX فعال هست یا نه؟

1. با استفاده از مرورگر کروم یک صفحه شاخه که صفحه بندی داره رو باز کنید و منتظر بمونید که لود صفحه کامل بشه.

2. developer tools رو با زدن دکمه‌های (Ctrl + Shift + i در ویندوز یا Option + ⌘ + i در مک) باز کنید و به تب “Network” برید و گزینه “XHR” رو انتخاب کنید:

تب XHR در developer tools کروم
عکس ۱ – تب XHR در developer tools کروم

3. روی صفحه 2 (در شاخه) کلیک کنید. (اگر صفحه‌بندی سایت شما ajax نیست، با یک عمل دیگه، مثل افزودن به سبد، این مورد رو بررسی کنید.)

4. با لود شدن محصولات صفحه دوم، یک ردیف جدید در بخش XHR نمایش داده می‌شه. روی ردیف کلیک کنید و در بخش Response headers دنبال content-encoding: gzip بگردید. دقت کنید که حتما در بخش Response headers دنبال gzip باشید و نه Request header.

تصویر زیر حالتی رو نمایش میده که gzip برای “application/json” فعال هست:

فعال بودن gzip برای درخواست AJAX
عکس ۲ – فعال بودن gzip

تصویر زیر حالتی رو نمایش میده که gzip برای “application/json” فعال نیست:

فعال نبودن gzip
عکس ۳ – فعال نبودن gzip

چطور gzip رو برای “application/json” فعال کنیم؟

کد زیر رو در آخرین بخش از فایل htaccess. که در روت سایت هست اضافه کنید. این تغییر برای پرستاشاپ 1.6 و 1.7 کار می‌کند و ارتباطی با قالبی که استفاده می‌کنید ندارد.

<IfModule mod_deflate.c>
    <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE application/json
    </IfModule>
</IfModule>
فعال کردن gzip برای "application/json" در htaccess
عکس ۴ – فعال کردن gzip برای “application/json” در htaccess

درخواست‌های ajax چقدر سریع‌تر می‌تونن بشن؟

اسکرین‌شات‌های زیر تفاوت سرعت لود رو در یک صفحه شاخه مشابه با 30 محصول در صفحه رو نمایش میده.

حالتی که gzip برای “application/json” غیرفعال است:

حجم صفحه و مدت زمان لود در حالت غیرفعال بودن gzip
عکس ۵ – حجم صفحه و مدت زمان لود در حالت غیرفعال بودن gzip

حالتی که gzip برای “application/json” فعال است:

حجم صفحه و مدت زمان لود در حالت فعال بودن gzip
عکس ۶ – حجم صفحه و مدت زمان لود در حالت فعال بودن gzip

در صورتی که سوالی داشتید در بخش نظرات مطرح کنید. سعی می‌کنیم خیلی سریع پاسخ بدیم.

نوشته های مشابه

به من اطلاع بده وقتی
guest
0 نظرات
بازخوردهای اینلاین
مشاهده همه دیدگاه ها
دکمه بازگشت به بالا
0
دوست داریم نظرتونو بدونیم، لطفا دیدگاهی بنویسیدx