
به اشتراک بگذارید

به اشتراک بگذارید
سئو | بلاگ وبداده
فعالسازی فشردهسازی Gzip در وردپرس
mod_deflate به فایل .htaccess در آپاچی یا دایرکتیوهای gzip در Nginx.content-encoding: gzip را بررسی کنید.| روش | سطح دشواری | مناسب چه کسی | نکته |
|---|---|---|---|
| افزونهی کش | بسیار ساده | کاربران مبتدی | بدون کدنویسی، با چند کلیک |
| کد در .htaccess (آپاچی) | متوسط | کاربران نیمهحرفهای | نیاز به دسترسی فایل و بکاپ |
| کانفیگ سرور (Nginx) | پیشرفته | مدیران سرور/VPS | نیاز به دسترسی root و ریاستارت سرویس |
# فعالسازی فشردهسازی Gzip در آپاچی (افزودن به انتهای فایل .htaccess)
<IfModule mod_deflate.c>
# فشردهسازی HTML، CSS، JavaScript، متن و XML
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml
AddOutputFilterByType DEFLATE application/javascript application/x-javascript text/javascript
AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/rss+xml
AddOutputFilterByType DEFLATE image/svg+xml image/x-icon
AddOutputFilterByType DEFLATE font/ttf font/otf application/vnd.ms-fontobject
# سازگاری با مرورگرهای قدیمی
Header append Vary User-Agent
</IfModule>Apache# فعالسازی Gzip در Nginx (افزودن به بلوک http در nginx.conf)
gzip on;
gzip_comp_level 6; # سطح فشردهسازی ۱ تا ۹؛ ۶ تعادل خوب CPU و حجم
gzip_min_length 256; # فایلهای کوچکتر از این مقدار فشرده نشوند
gzip_proxied any;
gzip_vary on;
gzip_disable "msie6";
gzip_types text/plain text/css application/javascript application/json
application/xml image/svg+xml font/ttf;Nginxnginx -t از درستبودن کانفیگ مطمئن شوید.
# بررسی فعالبودن Gzip از خط فرمان
curl -I -H "Accept-Encoding: gzip" https://example.com
# در خروجی باید این هدر دیده شود:
# content-encoding: gzipBash| ویژگی | Gzip | Brotli |
|---|---|---|
| پشتیبانی پیشفرض سرور | بسیار گسترده | نیاز به ماژول جداگانه |
| میزان فشردهسازی | خوب | معمولاً بهتر |
| پشتیبانی مرورگرها | تقریباً همه | مرورگرهای مدرن |
| رویکرد توصیهشده | جایگزین مطمئن | اولویت اول در صورت در دسترس بودن |
Gzip فایلهای متنی سایت مثل HTML، CSS و JavaScript را روی سرور فشرده میکند و نسخهی کوچکشده را به مرورگر میفرستد. مرورگر آن را باز میکند و به کاربر نمایش میدهد. چون حجم دادهی منتقلشده کم میشود، صفحه سریعتر بارگذاری میشود.
نه لزوماً. سادهترین روش استفاده از یک افزونهی کش مثل W3 Total Cache یا WP Rocket است که با چند کلیک Gzip را فعال میکند. اگر بخواهید روش حرفهایتر را انتخاب کنید، باید کد را به فایل .htaccess یا کانفیگ Nginx اضافه کنید که نیاز به دسترسی فنی دارد.
میتوانید آدرس سایت را در ابزارهایی مثل GTmetrix یا PageSpeed Insights بررسی کنید، یا در تب Network ابزار توسعهدهندهی مرورگر هدر پاسخ را ببینید. اگر مقدار content-encoding: gzip وجود داشته باشد، فشردهسازی فعال است. دستور curl هم همین هدر را نشان میدهد.
ابتدا کدی که اضافه کردهاید را از فایل .htaccess بردارید تا سایت به حالت عادی برگردد. خطای 500 معمولاً یعنی ماژول mod_deflate روی سرور فعال نیست یا کد ایراد نگارشی دارد. از پشتیبانی هاست بخواهید فعالبودن mod_deflate را بررسی کند.
خیر. فایل .htaccess مخصوص وبسرور آپاچی است و در Nginx کاربردی ندارد. در Nginx باید دایرکتیوهای gzip را در فایل nginx.conf اضافه کنید و سپس سرویس را ریاستارت کنید. اگر مطمئن نیستید سرورتان آپاچی است یا Nginx، از پشتیبانی هاست بپرسید.
خیر، یا تأثیر بسیار کمی دارد. تصاویری مثل JPEG و PNG از قبل فشرده شدهاند و Gzip روی آنها سود چندانی ندارد. برای کاهش حجم تصاویر باید از بهینهسازی تصویر و فرمتهای مدرن مثل WebP استفاده کنید.
Brotli معمولاً فشردهسازی بهتری از Gzip ارائه میدهد، اما بهصورت پیشفرض روی همهی سرورها نصب نیست و در Nginx به ماژول جداگانه نیاز دارد. بهترین رویکرد استفاده از هر دو با هم است: Brotli برای مرورگرهای پشتیبان و Gzip بهعنوان جایگزین مطمئن.
بهصورت غیرمستقیم بله. Gzip با کاهش حجم انتقال داده سرعت سایت را بالا میبرد و سرعت و تجربهی صفحه (Core Web Vitals) از فاکتورهای رتبهبندی گوگل هستند. با این حال عوامل دیگری مثل کیفیت هاست و بهینهسازی تصاویر هم نقش مهمی در سرعت دارند.