SHET23

فعال‌سازی GZip در وردپرس؛ راهنمای کامل و ساده

فعال‌سازی GZip در وردپرس؛ راهنمای کامل و ساده

فعال‌سازی GZip در وردپرس می‌تونه حجم انتقال فایل‌های متنی سایتتون رو کمتر کنه تا مرورگر کاربر اون‌ها رو سریع‌تر دریافت کنه. البته ممکنه هاست یا CDN سایتتون همین حالا GZip، Brotli یا Zstandard رو فعال کرده باشه. پس قبل از نصب افزونه یا تغییر فایل‌های سرور، بهتره وضعیت فعلی سایت رو بررسی کنید.

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

آنچه در این مقاله می‌خوانید

فشرده‌سازی GZip چیه و چه کمکی به سرعت سایت می‌کنه؟

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

HTML ساختار صفحه، CSS ظاهر اون و JavaScript قابلیت‌های تعاملی صفحه رو می‌سازه. چون این فایل‌ها متن‌های تکراری زیادی دارن، معمولاً برای فشرده‌سازی مناسب هستن. فایل‌های متنی دیگه مثل JSON، XML و SVG هم می‌تونن از این قابلیت سود ببرن.

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

تفاوت GZip، Brotli و Zstandard چیه؟

GZip تنها روش فشرده‌سازی پاسخ‌های سایت نیست. Brotli و Zstandard هم روش‌های دیگه‌ای برای فشرده‌سازی HTTP هستن، ولی پشتیبانی از هر روش به مرورگر، وب‌سرور و CDN بستگی داره. هر سه روش یک هدف دارن: کم‌کردن حجم داده‌ای که برای کاربر فرستاده می‌شه.

مرورگر با هدر Accept-Encoding به سرور می‌گه چه روش‌هایی رو پشتیبانی می‌کنه. سرور یا CDN هم روش مناسب رو انتخاب می‌کنه و نتیجه رو در هدر Content-Encoding می‌نویسه. برای نمونه، مقدار gzip یعنی پاسخ با GZip، مقدار br یعنی پاسخ با Brotli و مقدار zstd یعنی پاسخ با Zstandard فشرده شده.

پس اگه در بررسی سایتتون به‌جای gzip مقدار br، zstd یا روش پشتیبانی‌شده دیگه‌ای رو دیدید، لزوماً مشکلی ندارید. مهم اینه که فایل‌های متنی با روشی سازگار فشرده بشن؛ لازم نیست مقدار هدر حتماً gzip باشه.

قبل از فعال‌سازی GZip در وردپرس این موارد رو بررسی کنید

  • وضعیت فعلی رو آزمایش کنید: ممکنه هاست یا CDN فشرده‌سازی رو از قبل فعال کرده باشه. در این حالت به تنظیم دوباره نیاز ندارید.
  • نوع وب‌سرور رو بپرسید: Apache، Nginx، LiteSpeed و IIS تنظیمات یکسانی ندارن. اگه نوع وب‌سرور رو نمی‌دونید، از پشتیبانی هاست بپرسید.
  • نسخه پشتیبان بگیرید: قبل از ویرایش فایل‌هایی مثل .htaccess یک بکاپ قابل‌بازیابی داشته باشید. برای آشنایی با این کار می‌تونید راهنمای بکاپ‌گرفتن از وردپرس رو ببینید.
  • کش رو در نظر بگیرید: کش وردپرس، سرور و CDN می‌تونه باعث بشه نتیجه تغییرات رو همون لحظه نبینید.

چطور بفهمیم فشرده‌سازی سایت فعاله؟

بررسی Content-Encoding با ابزار توسعه‌دهنده مرورگر

  1. صفحه موردنظرتون رو در Chrome، Firefox یا مرورگر مشابه باز کنید.
  2. کلید F12 رو بزنید یا با راست‌کلیک، گزینه Inspect (بررسی صفحه) رو انتخاب کنید.
  3. وارد بخش Network (درخواست‌های شبکه) بشید و صفحه رو دوباره بارگذاری کنید.
  4. در فهرست درخواست‌ها، درخواست اصلی صفحه رو انتخاب کنید. نوع اون معمولاً Document (سند صفحه) هست.
  5. در بخش Response Headers (هدرهای پاسخ) دنبال Content-Encoding بگردید.

مقدار gzip، br، zstd یا یک روش فشرده‌سازی پشتیبانی‌شده دیگه نشون می‌ده پاسخ فشرده شده. اگه این هدر رو نمی‌بینید، یک فایل CSS یا JavaScript هم بررسی کنید؛ چون ممکنه تنظیمات برای همه پاسخ‌ها یکسان نباشه.

بررسی فشرده‌سازی با PageSpeed Insights

آدرس یکی از صفحه‌های سایتتون رو در PageSpeed Insights وارد کنید و آزمایش رو اجرا کنید. اگه فایل متنی فشرده‌نشده‌ای پیدا بشه، ممکنه گزارش ابزار پیشنهادی مرتبط با کاهش حجم انتقال یا فشرده‌سازی متن نشون بده. نام و محل این پیشنهادها ممکنه با تغییر نسخه ابزار عوض بشه و نبودن هشدار هم به‌تنهایی فعال‌بودن فشرده‌سازی رو ثابت نمی‌کنه. پس PageSpeed Insights رو روش کمکی بدونید و برای بررسی دقیق‌تر، هدر Content-Encoding رو ببینید.

روش‌های فعال‌سازی GZip در وردپرس

فعال‌سازی از پنل هاست

بعضی کنترل‌پنل‌های هاست بخشی برای فشرده‌سازی محتوا دارن. نام و محل این بخش به شرکت هاست و کنترل‌پنل بستگی داره. دنبال گزینه‌هایی با نام Compression، Optimize Website، GZip یا Brotli بگردید. فقط فایل‌های متنی رو انتخاب کنید و بعد از ذخیره تنظیمات، هدر Content-Encoding رو دوباره بررسی کنید.

درخواست فعال‌سازی از پشتیبانی هاست

برای بیشتر کاربران مبتدی، کمک‌گرفتن از پشتیبانی هاست معمولاً راه کم‌ریسک‌تریه. آدرس سایت، نتیجه بررسی Content-Encoding، وضعیت استفاده از CDN و متن خطایی رو که می‌بینید برای پشتیبانی بفرستید. از اون‌ها بخواید فشرده‌سازی مناسب فایل‌های متنی رو با توجه به وب‌سرور سایتتون بررسی و فعال کنن.

فعال‌سازی از طریق CDN

CDN یا شبکه توزیع محتوا، فایل‌های سایت رو از سرورهای نزدیک‌تر به کاربر تحویل می‌ده. خیلی از CDNها فشرده‌سازی رو به‌صورت خودکار انجام می‌دن یا گزینه‌ای برای GZip و Brotli دارن. قبل از تغییر سرور اصلی، تنظیمات CDN رو بررسی کنید. راهنمای انتخاب CDN ایرانی یا خارجی هم برای آشنایی بیشتر کمکتون می‌کنه.

تنظیم هم‌زمان فشرده‌سازی در چند بخش همیشه سرعت بیشتری نمی‌ده. اگه CDN پاسخ نهایی رو فشرده می‌کنه، تنظیم‌های تکراری یا ناسازگار بین CDN و سرور می‌تونن عیب‌یابی رو سخت کنن.

فعال‌سازی در Apache با فایل .htaccess

اگه سایتتون روی Apache اجرا می‌شه، ماژول mod_deflate باید روی سرور فعال باشه و هاست هم باید اجازه استفاده از دستورهای مربوط به اون رو در فایل .htaccess بده. فایل .htaccess معمولاً در پوشه اصلی وردپرس و کنار فایل wp-config.php قرار داره. چون نام فایل با نقطه شروع می‌شه، شاید لازم باشه نمایش فایل‌های مخفی رو در فایل‌منیجر فعال کنید.

قبل از ویرایش، یک کپی از فایل نگه دارید. کد زیر فقط یک نمونه برای سرورهای Apache سازگاره و ممکنه با پیکربندی هاستتون فرق داشته باشه. اگه پشتیبانی هاست سازگاری اون رو تأیید کرد، می‌تونید کد رو بیرون از محدوده‌ای که خود وردپرس مدیریت می‌کنه قرار بدید:

<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/css
  AddOutputFilterByType DEFLATE application/javascript text/javascript application/json application/xml
  AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>

عبارت‌هایی مثل text/css و application/javascript نوع محتوایی هستن که سرور برای فایل‌ها اعلام می‌کنه. اضافه‌کردن text/javascript هم کمک می‌کنه بعضی پاسخ‌های JavaScript که با این نوع محتوا فرستاده می‌شن پوشش داده بشن.

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

فعال‌سازی در Nginx، LiteSpeed یا IIS

Nginx از فایل .htaccess استفاده نمی‌کنه و تغییر تنظیمات اصلی اون معمولاً به دسترسی مدیر سرور نیاز داره. LiteSpeed هم تنظیمات مخصوص خودش رو داره و ممکنه از تنظیم‌های سازگار با Apache یا گزینه‌های کنترل‌پنل استفاده کنه. IIS هم فشرده‌سازی رو از تنظیمات ویندوز سرور مدیریت می‌کنه.

اگه سرور مجازی مدیریت‌نشده ندارید یا با تنظیمات وب‌سرور آشنا نیستید، بهتره این بخش رو به مدیر سرور یا پشتیبانی هاست بسپارید. یک تنظیم اشتباه می‌تونه سایت رو از دسترس خارج کنه.

آیا برای فعال‌سازی GZip به افزونه وردپرس نیاز دارید؟

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

اول قابلیت‌های هاست، وب‌سرور و CDN رو بررسی کنید. اگه به افزونه بهینه‌سازی نیاز دارید، گزینه‌ای رو انتخاب کنید که با هاستتون سازگار باشه و پشتیبانی هاست هم اون رو تأیید کنه. برای نمونه می‌تونید با امکانات افزونه افزایش سرعت رخش یا راهنمای تنظیم W3 Total Cache آشنا بشید. یادتون نره که کش، بهینه‌سازی فایل‌ها و فشرده‌سازی HTTP قابلیت‌های متفاوتی هستن.

بعد از فعال‌سازی چطور نتیجه رو آزمایش کنیم؟

  1. کش افزونه وردپرس، کش سرور، CDN و مرورگر رو پاک کنید.
  2. یکی از صفحه‌های مهم سایت رو در پنجره ناشناس مرورگر باز کنید.
  3. در بخش Network، هدر Content-Encoding درخواست اصلی، فایل CSS و فایل JavaScript رو بررسی کنید.
  4. در ستون‌های Size (اندازه فایل) و Transferred (داده منتقل‌شده)، نتیجه رو با آزمایش قبل از تغییر مقایسه کنید. این دو عدد همیشه یک معنی ندارن و کش مرورگر هم می‌تونه روی مقدار Transferred اثر بذاره؛ پس هر دو آزمایش رو در شرایط یکسان انجام بدید.
  5. صفحه اصلی، یک نوشته، یک برگه مهم و در صورت داشتن فروشگاه، صفحه محصول و تسویه‌حساب رو آزمایش کنید.
  6. آزمایش رو هم در موبایل و هم دسکتاپ انجام بدید و مطمئن بشید ظاهر و قابلیت‌های سایت درست کار می‌کنن.

حل مشکلات رایج فعال‌سازی GZip در وردپرس

Content-Encoding نمایش داده نمی‌شه

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

بعد از تغییر فایل .htaccess خطای ۵۰۰ می‌بینید

از فایل‌منیجر هاست یا FTP وارد پوشه اصلی وردپرس بشید و آخرین کدی رو که به .htaccess اضافه کردید بردارید. اگه از فایل نسخه پشتیبان دارید، نسخه سالم رو برگردونید. وقتی سایت دوباره بالا اومد، کد و متن خطا رو برای پشتیبانی هاست بفرستید تا ماژول‌های فعال و دستورهای مجاز رو بررسی کنن.

فشرده‌سازی فعاله ولی سرعت سایت بهتر نشده

GZip فقط حجم انتقال فایل‌های متنی رو کم می‌کنه. اگه عکس‌های خیلی بزرگ، کدهای سنگین، افزونه‌های کند، درخواست‌های زیاد یا هاست ضعیف داشته باشید، اثر فشرده‌سازی به‌تنهایی چشمگیر نیست. گزارش PageSpeed Insights و بخش Network مرورگر رو بررسی کنید تا فایل‌ها و درخواست‌های سنگین رو پیدا کنید.

بهینه‌سازی عکس‌ها، استفاده درست از کش، کم‌کردن کدهای اضافی و انتخاب هاست مناسب برای سایت بخش‌های دیگه بهبود سرعت هستن. پس GZip رو یکی از قطعه‌های این پازل در نظر بگیرید، نه راه‌حل همه مشکلات سرعت.

تأثیر فشرده‌سازی روی سئو و تجربه کاربری

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

تأثیر فشرده‌سازی روی سئو و تجربه کاربری
تأثیر فشرده‌سازی روی سئو و تجربه کاربری

معیارهای Core Web Vitals گوگل شامل LCP، INP و CLS هستن و جنبه‌هایی از سرعت بارگذاری، واکنش‌پذیری و ثبات چیدمان رو می‌سنجن. فشرده‌سازی فایل‌های متنی ممکنه به عملکرد بهتر صفحه کمک کنه، ولی به‌تنهایی نتیجه خوب این معیارها یا رتبه بهتر گوگل رو تضمین نمی‌کنه.

جمع‌بندی

قبل از هر تغییری، هدر Content-Encoding رو بررسی کنید. اگه مقدار gzip، br، zstd یا روش فشرده‌سازی مناسبی رو می‌بینید، احتمالاً لازم نیست کار دیگه‌ای انجام بدید. اگه فشرده‌سازی فعال نیست، روش اجرا رو براساس هاست، وب‌سرور یا CDN سایتتون انتخاب کنید.

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

سؤال‌های رایج درباره فعال‌سازی GZip در وردپرس

از کجا بفهمیم GZip یا Brotli روی سایت فعاله؟

در ابزار توسعه‌دهنده مرورگر وارد بخش Network بشید، درخواست اصلی صفحه یا یک فایل متنی رو باز کنید و هدر Content-Encoding رو ببینید. مقدار gzip نشون‌دهنده GZip، مقدار br نشون‌دهنده Brotli و مقدار zstd نشون‌دهنده Zstandard هست.

آیا فعال‌سازی GZip به افزونه وردپرس نیاز داره؟

معمولاً نه. این قابلیت بیشتر در وب‌سرور، هاست یا CDN فعال می‌شه. افزونه فقط وقتی می‌تونه کمک کنه که سرور و سطح دسترسی هاست اجازه تغییر تنظیمات رو بدن.

GZip برای عکس‌ها و ویدئوها هم مناسبه؟

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

GZip بهتره یا Brotli؟

پاسخ ثابت و یکسانی برای همه سایت‌ها نداریم. مرورگر، سرور یا CDN می‌تونن براساس پشتیبانی موجود روش مناسب رو انتخاب کنن. دیدن br به‌جای gzip معمولاً نشونه مشکل نیست.

چرا بعد از فعال‌سازی فشرده‌سازی تغییری در سرعت نمی‌بینیم؟

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

اگه بعد از تغییر تنظیمات با خطای ۵۰۰ روبه‌رو شدیم، باید چی کار کنیم؟

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

نظر شما در این مورد چیه؟

  1. U324269۲ مهر ۱۴۰۲

    افزونه راکت کار این را انجام میدهد یا جدا ان هرکدام ؟

    • رضا راد۳ مهر ۱۴۰۲

      نه معمولا از طریق هاست فعال میشه.

  2. U324269۱ مهر ۱۴۰۲

    من از افزونه راکت استفاده میکنم نیاز است از افزونه فشرده سازی استفاده کنم یا راکت این کار را میکنه؟

    • رضا راد۳ مهر ۱۴۰۲

      سعی میکنه فعال کنه اما نه همیشه

  3. U324269۳۱ شهریور ۱۴۰۲

    اگر این رو فعال کنیم در ساختار سایت مشکلی پیش نمیاد که ؟

    • تیم پشتیبانیتیم پشتیبانی۱ مهر ۱۴۰۲

      سلام
      خیر مشکلی نیست

  4. U310784۲۰ دی ۱۴۰۰

    سلام
    این افزونه دیگه کار نمیکنه. لطفا یک افزونه دیگر معرفی کنید

    • رضا راد۲۱ دی ۱۴۰۰

      سلام بهتره از هاست بخواید فعال کنند

  5. U26430۲۶ اسفند ۱۳۹۹

    این افزونه دیگه پشتیبانی نمیشه و در سرچ پلاگین های خود وردپرس هم دیگه نمیاد.

    • رضا راد۲۷ اسفند ۱۳۹۹

      از همین صفحه دانلود و نصب کنید.

  6. کاربر مهمان۱۲ تیر ۱۳۹۶

    سلام اگر از افزونه wp-rocket در حال استفاده باشیم.آیا همچنان به افزونه GZip Ninja نیاز می باشد؟
    ممنونم

    • تیم پشتیبانیتیم پشتیبانی۱۳ تیر ۱۳۹۶

      درود.
      پیشنهاد من این هستش که دیگه از GZip Ninja استفاده نکنید و از همان Wp Rocket که یک افزونه غیر رایگان می باشد استفاده نمایید.
      لینک Wp Rocket : https://mihanwp.com/وردپرس-راکت/

پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرس
پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرسآنلاین و پاسخگوی شما هستیم.آنلاین

در حال بارگذاری...

هر سوالی دارید بپرسید.پاسخگوی شما هستیم.