رفع خطای Reduce Cookie Size در GTmetrix برای افزایش سرعت سایت
شاید برای شما هم پیش آمده باشد که با وجود بهینهسازی کامل تصاویر و کدهای سایت، همچنان GTmetrix هشدار کاهش سرعت را نمایش میدهد. در چنین مواردی، کوکیهای حجیمی که با هر درخواست مرورگر بین کاربر و سرور مبادله میشوند، میتوانند عامل اصلی افت سرعت باشند. خطای «Reduce cookie size» در GTmetrix دقیقاً به همین مشکل اشاره دارد. هنگامی که حجم کوکیها از حد استاندارد فراتر رود، پهنای باند بیهوده اشغال شده و زمان پاسخدهی سرور افزایش مییابد. در این مقاله از بخش آموزش سئو، دلایل بروز این خطا را بررسی و راهکارهای فنی و عملی برای رفع آن را آموزش میدهیم تا سرعت سایت خود را به حداکثر برسانید.
چرا خطای Reduce cookie size در GTmetrix رخ میدهد؟
برای درک این خطا، کافی است بدانید کوکیها فایلهای متنی کوچکی هستند که اطلاعات کاربر را در مرورگر ذخیره میکنند. وقتی کاربر سایت شما را باز میکند، مرورگر این کوکیها را همراه با درخواستهای شبکه به سمت سرور میفرستد. بر اساس استانداردهای وب، مجموع حجم این کوکیها نباید بیشتر از ۴ کیلوبایت باشد. اگر حجم کوکیها از این مقدار بیشتر شود، درخواستها سنگین شده، زمان پاسخدهی سرور افزایش مییابد و خطای Reduce cookie size در صفحه GTmetrix ظاهر میشود. اما چه عواملی باعث این افزایش حجم غیرطبیعی میشوند؟ دلایل اصلی عبارتند از:
- ذخیره اطلاعات بیش از حد: برخی توسعهدهندگان به جای ذخیره یک شناسه کوتاه (Session ID)، تمام اطلاعات کاربر را مستقیماً درون کوکی ذخیره میکنند.
- محدود نکردن دامنه کوکی (Cookie Scope): اگر کوکیها به درستی محدود نشوند، مرورگر مجبور است آنها را همراه با فایلهای استاتیک، مانند تصاویر و فونتها نیز به سرور بفرستد.
- افزونهها و اسکریپتهای جانبی: نصب افزونههای متعدد در وردپرس، کوکیهای تکراری و حجیمی را به سایت تحمیل میکند.
- انباشت کوکیهای منقضیشده: عدم تنظیم زمان انقضا باعث میشود کوکیهای قدیمی و بیاستفاده در مرورگر کاربر باقی بمانند و مدام ارسال شوند.
راهکارهای حل خطای Reduce cookie size در GTmetrix
برای رفع این هشدار و کاهش حجم هدر درخواستهای HTTP، پنج راهکار تخصصی و گامبهگام وجود دارد که میتوانید بر اساس ساختار وبسایت خود آنها را پیادهسازی کنید.
۱. پاکسازی و حذف کوکیهای غیرضروری
قبل از هر اقدام پیچیدهای، باید کوکیهای فعال وبسایت را بررسی و موارد اضافی را حذف کنید:
- وبسایت خود را در مرورگر باز کرده و کلید F12 را فشار دهید تا ابزار Developer Tools باز شود.
- به تب Application در مرورگر کروم یا Storage گیم ستاپ در فایرفاکس بروید.
- از منوی سمت چپ، بخش Cookies را باز کرده و دامنه وبسایت خود را انتخاب کنید.
- جدول کوکیها شامل نام، مقدار و حجم را بررسی کنید. کوکیهای حجیم یا مواردی که توسط افزونههای بلااستفاده ایجاد شدهاند را شناسایی کنید.
- کدهای مربوط به این کوکیها را در سمت سرور غیرفعال کرده یا افزونههای اضافی را حذف کنید.
۲. استفاده از دامنه بدون کوکی (Cookie-free Domain)
یکی از مؤثرترین راهکارها برای جلوگیری از ارسال کوکیها همراه فایلهای رسانهای، ایجاد یک دامنه یا سابدامنه مجزا است:
- در پنل مدیریت هاست مانند cPanel یا DirectAdmin، یک سابدامنه جدید ایجاد کنید.
- مسیر این سابدامنه را به پوشه فایلهای رسانهای وبسایت مانند پوشه wp-content/uploads در وردپرس متصل کنید.
- کدهای زیر را به فایل wp-config.php اضافه کنید تا دامنه اصلی از سابدامنه استاتیک تفکیک شود:
۳. انتقال دادهها به LocalStorage
دادههای ذخیرهشده در LocalStorage برخلاف کوکیها، همراه درخواستهای HTTP به سرور ارسال نمیشوند و پهنای باند شبکه را اشغال نمیکنند.
- کدهای جاوا اسکریپت سایت که از
document.cookieبرای ذخیره اطلاعات موقت استفاده میکنند را پیدا کنید. - ساختار کد را به LocalStorage تغییر دهید:
هنگام نیاز به این دادهها در کلاینت، مقدار را مستقیماً از حافظه محلی مرورگر بخوانید.
۴. بهینهسازی دامنه و مسیر کوکیها
تنظیم نامناسب پارامترهای Domain و Path باعث میشود مرورگر، کوکیها را در صفحاتی ارسال کند که اصلاً نیازی به آنها نیست.
- محدودسازی دامنه: هنگام تنظیم کوکی در PHP، از قرار دادن علامت نقطه قبل از دامنه، مانند
.example.comپرهیز کنید، زیرا این کار کوکی را به تمام سابدامنهها تعمیم میدهد. - محدودسازی مسیر (Path): مسیر کوکی را فقط به بخشهای مورد نیاز محدود کنید. مثلاً اگر کوکی مربوط به پنل کاربری است، آن را اینگونه تنظیم کنید:
۵. مدیریت نشستها (Session Management)
بهترین راهکار این است که دادههای کاربر در سرور ذخیره شوند و تنها یک شناسه (ID) کوتاه در کوکی مرورگر قرار گیرد.
- انتقال به دیتابیس یا رم: مدیریت نشستها را طوری تنظیم کنید که دادههای متنی حجیم درون دیتابیس یا حافظههای موقت سرور ذخیره شوند.
- کاهش زمان انقضا: مقادیر طولانیمدت کوکیها را کاهش دهید تا مرورگر، کوکیهای منقضیشده را فوراً پاک کند.
- استفاده از کوکیهای موقت: کوکیهای مربوط به یک جلسه را بدون تاریخ انقضا تنظیم کنید تا با بستن تب مرورگر به صورت خودکار حذف شوند.
جمعبندی
رفع خطای Reduce cookie size نقش مهمی در کاهش حجم درخواستهای شبکه و افزایش چشمگیر سرعت بارگذاری وبسایت دارد. با ایجاد دامنه بدون کوکی برای فایلهای استاتیک، انتقال دادهها به LocalStorage و محدود کردن مسیر کوکیها، میتوانید امتیاز GTmetrix سایت خود را ارتقا دهید.
سوالات متداول
خطای Reduce cookie size در GTmetrix چیست؟
این خطا زمانی رخ میدهد که مجموع حجم کوکیهای ارسالشده در هدر درخواست HTTP بیش از حد مجاز (معمولاً بالای ۴ کیلوبایت) باشد و باعث کندی پاسخدهی سرور شود.
آیا ارسال کوکی روی فایلهای تصویری باعث افت سرعت میشود؟
بله، فایلهای استاتیک (مانند عکسها و فونتها) نیازی به احراز هویت ندارند. ارسال کوکی همراه آنها فقط باعث مصرف پهنای باند و افزایش تأخیر میشود.
چگونه دامنه بدون کوکی (Cookie-free Domain) در وردپرس بسازیم؟
کافی است یک سابدامنه برای فایلهای رسانهای خود بسازید و با تعریف ثابت COOKIE_DOMAIN روی دامنه اصلی در فایل wp-config.php، جلوی ارسال کوکیها به سابدامنه را بگیرید.