خطای Reduce cookie size در GTmetrix چیست؟
کوکیها فایلهای متنی کوچکی هستند که توسط وبسایتها روی مرورگر شما و کاربران ذخیره میشوند. این فایلها اطلاعاتی مانند تنظیمات کاربر، سابقه بازدیدها و اطلاعات ورود به سیستم را در خود دارد. برای مثال، زمانی که شما وارد سایتی میشوید و تیک گزینه «مرا به خاطر بسپار» را میزنید، یک کوکی ذخیره میشود تا سری بعد نیازی به وارد کردن رمز عبورتان نباشید.

هرچند این کوکیهای کارراهانداز به تجربه کاربری کمک میکنند اما حجم زیاد آنها، حجم درخواستهای HTTP سرور را بالا میبرد و سرعت سایت کاهش پیدا میکند. اینجاست که GTmetrix با نمایش خطای «Reduce cookie size» به شما میگوید حجم کوکیهای سایتتان بیش از حد استاندارد شده است.
| بخش | توضیح |
|---|---|
| تعریف خطا | خطای Reduce cookie size زمانی رخ میدهد که حجم کوکیهای سایت زیاد بوده و باعث کاهش سرعت لود صفحات میشود. |
| علت بروز | ذخیره اطلاعات غیرضروری در کوکیها، ارسال کوکی برای فایلهای استاتیک، و نداشتن تاریخ انقضا برای آنها. |
| راهکار ۱ | کاهش حجم کوکیها با حذف دادههای اضافی و تعیین تاریخ انقضا با Expires یا Max-Age. |
| راهکار ۲ | کاهش تعداد کوکیها با ادغام آنها یا جلوگیری از ارسال کوکی برای فایلهای CSS، JS و تصاویر. |
| راهکار ۳ | فعالسازی Gzip یا Brotli برای فشردهسازی هدرهای HTTP و کاهش حجم دادهها. |
| راهکار ۴ | بررسی و حذف کوکیهای غیرضروری با استفاده از Developer Tools مرورگر. |
| راهکار ۵ | استفاده از زیردامنههای بدون کوکی (Cookie-free domains) برای فایلهای استاتیک. |
| نتیجه نهایی | با بهینهسازی کوکیها، سرعت سایت و امتیاز GTmetrix به شکل چشمگیری افزایش مییابد. |
راهکار عملی برای رفع خطای Reduce cookie size در GTmetrix
برای رفع این خطا، میتوانید از روشهای زیر استفاده کنید:
۱. کاهش حجم کوکیها
- حذف اطلاعات اضافی
فقط اطلاعات ضروری برای عملکرد سایت را در کوکیها ذخیره کنید. از ذخیره دادههای غیرضروری مانند دادههای تحلیلهای غیر حیاتی یا اطلاعات کاربری که در همه درخواستها لازم نیست، خودداری کنید. این دادهها را میتوانید در session یا Local Storage ذخیره کنید.
- استفاده از کوکیهای کوچکتر
از نامهای کوتاه برای کوکیها (مانند id بجای userId) و مقادیر کوتاه و فشرده استفاده کنید. به جای رشتههای طولانی، از شناسههای عددی یا روشهای کدگذاری مانند base64 استفاده کنید.
- تنظیم تاریخ انقضا
برای کوکیها تاریخ انقضا تعیین کنید. کوکیهایی که تاریخ انقضای آنها گذشته باشد، بهصورت خودکار توسط مرورگر حذف میشوند. در این زمینه میتوانید از Max-Age برای تعیین طول عمر کوکی به ثانیه و از Expires برای تعیین تاریخ دقیق انقضا استفاده کنید؛ برای مثال:
Set-Cookie: id=a3fWa; Expires=Thu, 31 Oct 2021 07:28:00 GMT;
در مثال بالا کوکی با نام id و مقدار a3fWa تا تاریخ پنجشنبه، ۳۱ اکتبر ۲۰۲۱، ساعت ۰۷:۲۸:۰۰ به وقت گرینویچ (GMT) معتبر است و بعد از آن منقضی میشود.
حالا فرض کنید به جای تاریخ میخواهید بگویید این کوکی برای مدت مشخصی مثلا یک ماه اعتبار دارد. ویژگی Max-Age همین کار را انجام میدهد. شما مدت زمان اعتبار کوکی را بر حسب ثانیه مشخص میکنید.
Set-Cookie: id=a3fWa; Max-Age=2592000
عدد ۲۵۹۲۰۰۰ نشان دهنده مدت زمان اعتبار کوکی بر حسب ثانیه است. ۲۵۹۲۰۰۰ ثانیه برابر با ۳۰ روز (۳۰ × ۲۴ × ۶۰ × ۶۰) است. یعنی این کوکی به مدت ۳۰ روز روی مرورگر کاربر باقی میماند و سپس حذف میشود.

۲. کاهش تعداد کوکیها
- ادغام کوکیها
اگر چند کوکی دارید که اطلاعات مشابهی را ذخیره میکنند، آنها را در یک کوکی ادغام کنید. درصورتیکه از زبان سمت سرور مانند PHP استفاده میکنید، میتوانید دادهها را بهصورت آرایه درنظر گرفته و با json_encode به JSON تبدیل و در یک کوکی ذخیره کنید.
برای مثال در PHP میتوانید دستور زیر را بهکار ببرید:
$cookie_data = json_encode($data); setcookie("my_cookie", $cookie_data);- استفاده نکردن از کوکی برای فایلهای استاتیک
فایلهای استاتیک مانند تصاویر، CSS و JavaScript نیازی به کوکی ندارند. با تنظیم سرور (Apache یا Nginx) از ارسال کوکی برای این فایلها جلوگیری کنید.

برای مثال در Nginx میتوانید از دستور add_header با مقدار خالی برای Set-Cookie استفاده کنید.
location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ { add_header Set-Cookie ""; }۳. استفاده از Gzip برای فشردهسازی
فشردهسازی Gzip (یا Brotli که جدیدتر و کارآمدتر است) حجم هدرهای HTTP از جمله کوکیها را کمتر میکند. این قابلیت را باید روی سرور فعال کنید.
مثال:
.htaccess
(Apache – استفاده از mod_deflate):
apache <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript application/json </IfModule>
۴. بررسی و حذف کوکیهای اضافی
از ابزارهای توسعهدهنده مرورگر (Developer Tools) برای مشاهده و حذف کوکیهای ذخیره شده برای سایت خود استفاده کنید. در Chrome DevTools به بخش Application و سپس Cookies بروید.
- برای حذف کوکی، روی آن کلیک کرده و گزینه Delete selected در نوار بالا را انتخاب کنید.

- سپس روی عبارت clear all بزنید.

۵. استفاده از زیردامنههای بدون کوکی (Cookie-free Domains)
برای فایلهای استاتیک از ساب دامین جداگانه استفاده کنید. سرور را طوری تنظیم کنید که برای این زیردامنه هیچ کوکی ارسال نشود. این روش بهترین راه برای جلوگیری از ارسال بیمورد کوکیها است. به عنوان مثال، به جای استفاده از www.example.com/image.jpg از static.example.com/image.jpg استفاده کنید. برای تعیین ساب دامنه میتوانید مقاله زیر را بخوانید:
راهنمای قدمبهقدم ساخت ساب دامین در دایرکت ادمین
با CDN ایران سرور، رتبه سایتتان را در GTmetrix متحول کنید
آیا میخواهید سایتتان مثل جت پرواز کند و کاربران تجربهای بینظیر از سرعت سریع سایت داشته باشند؟ استفاده از زیردامنههای بدون کوکی، یک ترفند طلایی است که با CDN ایران سرور عملی میشود. با این فناوری، فایلهای استاتیک شما از نزدیکترین سرور به کاربر ارائه میشوند و سرعت بارگذاری بهشدت بالا میرود. برای اطلاعات بیشتر همین حالا روی لینک زیر کلیک کنید.
اوج سرعت سایت را با بهینهسازی کوکیها تجربه کنید
در این مقاله به بررسی خطای «Reduce cookie size» در GTmetrix و راهکارهای عملی برای رفع آن پرداختیم. کوکیها، این فایلهای کوچک و به ظاهر بیضرر، با حجم نامناسب خود، سرعت سایت شما را تحت تاثیر قرار میدهند. با رعایت نکاتی که گفته شد، از جمله:
- کاهش حجم و تعداد کوکیها
- فشردهسازی کوکیها
- استفاده هوشمندانه از زیردامنههای بدون کوکی
میتوانید این مشکل را بهراحتی برطرف کرده و تجربهای سریع و لذتبخش را برای کاربران خود رقم بزنید. اگر در این مسیر نیاز به راهنمایی دارید،کارشناسان ایران سرور مشتاق پاسخگویی به شما هستند. همین حالا میتوانید با شماره ۰۲۱۲۲۰۹۲۰۳۷ تماس بگیرید.
سوالات متداول
۱. حداکثر حجم مجاز برای کوکیها چقدر است؟
محدودیت دقیقی برای حجم هر کوکی وجود ندارد اما محدودیتی برای کل هدرهای درخواست HTTP وجود دارد که کوکیها هم بخشی از آن هستند. توصیه میشود که میانگین حجم کوکیها در هر دامنه زیر ۴۰۰ بایت باشد و از ارسال کوکیهای بسیار بزرگ (بیش از ۱ کیلوبایت) خودداری شود.
۲. منظور از زیردامنههای بدون کوکی (Cookie-free Domains) چیست؟
زیردامنههای بدون کوکی به شما این امکان را میدهند که فایلهای استاتیک را از یک آدرس جداگانه (مثل static.example.com) ارائه دهید، بدون اینکه هیچ کوکیای با آنها ارسال شود.
۳. چگونه میتوان خطای «Reduce cookie size» در GTmetrix را برای سایت وردپرسی از بین برد؟
در وردپرس، میتوانید از افزونههای بهینهسازی سرعت مانند WP Rocket، LiteSpeed Cache یا Perfmatters استفاده کنید که قابلیتهایی برای بهینهسازی کوکیها، از جمله تنظیم انقضا و حذف کوکیهای غیرضروری را ارائه میدهند.
منابع

