خطای Content Encoding Error چیست؟
خطای Content Encoding Error (یا ERR_CONTENT_DECODING_FAILED در Chrome) زمانی رخ میدهد که مرورگر نمیتواند محتوای فشردهشده (Gzip/Deflate/Brotli) ارسالی از سرور را بهدرستی decompress کند. این خطا معمولاً با پیام The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression در فایرفاکس نمایش داده میشود.
دلایل اصلی بروز خطا
۱. مشکل فشردهسازی Gzip در سرور
رایجترین دلیل، تنظیم نادرست mod_deflate یا mod_gzip در Apache یا تنظیمات فشردهسازی در Nginx/LiteSpeed است. اگر سرور اعلام میکند محتوا فشردهشده (Content-Encoding: gzip) اما محتوا واقعاً فشرده نشده، مرورگر این خطا را نمایش میدهد.
۲. مشکل .htaccess
دستورات اشتباه فشردهسازی در فایل .htaccess میتواند باعث این خطا شود. بهخصوص اگر فشردهسازی Gzip دوبار اعمال شود (مثلاً هم در .htaccess و هم در تنظیمات سرور).
۳. کش خراب مرورگر
گاهی کش قدیمی یا خراب مرورگر باعث بروز این خطا میشود.
۴. افزونههای وردپرس
برخی افزونههای کش و بهینهسازی وردپرس مانند W3 Total Cache یا WP Super Cache ممکن است با تنظیمات فشردهسازی سرور تداخل ایجاد کنند.
روشهای رفع خطا
روش ۱: پاک کردن کش مرورگر
ابتدا سادهترین راهحل را امتحان کنید. کش و کوکیهای مرورگر را پاک کنید. در Chrome با Ctrl+Shift+Delete و در فایرفاکس با Ctrl+Shift+Delete این کار را انجام دهید.
روش ۲: بررسی و اصلاح .htaccess
اگر از Apache استفاده میکنید، فایل .htaccess را بررسی کنید. دستورات مربوط به فشردهسازی را موقتاً حذف یا کامنت کنید:
# حذف یا کامنت کردن خطوط مربوط به Gzip
# AddOutputFilterByType DEFLATE text/html
# SetOutputFilter DEFLATE
اگر با حذف این خطوط مشکل حل شد، دستورات صحیح فشردهسازی را جایگزین کنید.
روش ۳: تنظیم صحیح فشردهسازی Gzip
تنظیمات صحیح فشردهسازی برای Apache:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml
AddOutputFilterByType DEFLATE text/css text/javascript
AddOutputFilterByType DEFLATE application/javascript application/json
</IfModule>
روش ۴: غیرفعال کردن فشردهسازی در افزونه کش
اگر از افزونههای کش وردپرس استفاده میکنید، بخش فشردهسازی (Gzip/Brotli) افزونه را غیرفعال کنید. فشردهسازی در سطح سرور انجام شود، نه در سطح افزونه.
روش ۵: بررسی تنظیمات سرور
اگر مدیر سرور هستید، تنظیمات فشردهسازی را در سطح سرور بررسی کنید. در LiteSpeed از طریق WebAdmin Console و در Apache از فایل httpd.conf تنظیمات mod_deflate را بررسی نمایید.
پیشگیری
برای جلوگیری از بروز مجدد، فشردهسازی را فقط در یک سطح (سرور یا افزونه) فعال کنید، نه هر دو. از تنظیمات استاندارد استفاده کنید و از کپیپیست کدهای نامعتبر در .htaccess خودداری نمایید.
انتخاب یک هاست وردپرس با تنظیمات بهینه فشردهسازی در سطح سرور، بسیاری از این مشکلات را از ابتدا حل میکند. هاست وردپرس میهن هاستینگ با LiteSpeed و فشردهسازی Brotli از پیش تنظیمشده، بهترین عملکرد را ارائه میدهد.
اگر سرور مجازی دارید، خدمات کانفیگ سرور شامل بهینهسازی فشردهسازی وبسرور نیز میشود.
🚀 هاست بهینهشده
هاست وردپرس با فشردهسازی Brotli، LiteSpeed و تنظیمات بهینه از پیش آماده.