آموزش سئو فنیآموزش سئو پیشرفتهآموزش افزایش سرعت سایت با ابزار GTMetrix

رفع خطای Use cookie-free domains در YSlow جی تی متریکس

رفع خطای Use cookie-free domains در سایت GTmetrix.com به راحتی اتفاق نمی‌افتد و براساس هزینه‌هایی که دارد برای هر کسب و کاری پیشنهاد نمی‌شود. ولی متاسفانه اگر سایت‌های فارسی پیاز داغ آموزش ارور Use cookie-free domains در جی تی متریکس را بالا برده‌اند. در ادامه بیشتر درباره نحوه حل این مشکل و اینکه چرا برای هر کسب و کاری پیشنهاد نمی‌شود صحبت خواهیم کرد.

در ادامه آموزش بهینه سازی سرعت سایت با ابزار GTMetrix از مقالات سئو در سایت میـزفا خدمت شما هستیم

خطای Use cookie-free domains جز ارورهای YSlow است

در مقاله قبلی درباره CDN چیست و چه کاربردی دارد صحبت کردیم در این پست قصد داریم درباره ارور Use cookie-free domains بحث کنیم و بررسی کنیم منظور این خطا چیست و اینکه رفع آن چگونه باعث بهبود سرعت سایت ما می‌شود، و اگر رفع کنیم چه مشکلی خواهد داشت.

همان طور که مشخص است ارور Use cookie free domains جز خطاهای یاهو است و گوگل به این مورد اهمیت زیادی نمی‌دهد و جز فاکتورهای گوگل نیست.

خلاصه‌ای از خطا Use cookie-free domains

نام: Use cookie-free domains
نوع: کوکی
اولویت: پایین
میزان سختی: متوسط
میانگین امتیاز:  48%

 

فرق کوکی و کش چیست

قبل از رفع خطای Use cookie-free domains بهتر است ابتدا دانش آن را کسب کنیم تا بتوانیم در ادامه مقاله زبان هم دیگر را متوجه شویم. بنابراین در ابتدای کار باشد فرق کوکی و کش را بدانیم تا بهتر بتوانیم خطای موجود را درک و بر اساس آن نسبت به رفع کردن یا نکردن آن تصمیم بگیریم.

کوکی چیست (Cookies)

Cookies یا کوکی تیکه اطلاعات کوچکی هستند که کاربر با هر بار بازدید کردن از یک سایت، در کامپیوتر او ذخیره می‌شود. هر بار که کاربر آن سایت را لود می‌کند، مرورگرش آن کوکی‌ها را دوباره به سرور ارسال می‌کند تا سرور را از فعالیت‌های قبلی کاربر اطلاع دهد. کوکی‌ها طول عمر خاصی دارند که توسط کدهای آن سایت مشخص می‌شود، مثلاً در سایت‌های وردپرس توسط زبان PHP در قالب‌ها و پلاگین‌های مختلف، کوکی‌های مختلفی بر روی مرورگر کاربر ذخیره می‌شود. در آخر یک کوکی منقضی خواهد شد و تاریخ مشخصی برای ماندن در مرورگر کاربر دارد، بنابراین کوکی‌ها معمولاً برای ذخیره‌سازی اطلاعات کوچک در یک دوره زمانی کوتاه مورداستفاده قرار می‌گیرد.

کوکی‌ها در کجا استفاده می‌شود:

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

  • اغلب کوکی‌ها برای ردگیری اطلاعات از کاربران است، مثلاً کاربران چه صفحاتی را بازدید می‌کنند یا از چه صفحه‌ای وارد چه صفحه دیگری می‌شوند. یا مثلاً چه دکمه‌ای را کلیک کرده‌اید و مواردی از این قبیل.
  • یکی از موارد پرکاربرد کوکی ثبت اقلام موجود در سبد خرید سایت‌های فروشگاهی است. حتماً برای شما پیش‌آمده بدون ثبت‌نام در سایت فروشگاهی اقدام به انتخاب یک محصولی کرده باشید و آن محصول در سبد خرید شما اضافه می‌شود و شما درحالی‌که در گشت‌وگذار در آن سایت هستید محصولات انتخابی شما در سبد خرید موجود است و این عمل را کوکی انجام می‌دهد و اگر بعد از یک ماه دوباره سر بزنید دیگر آن محصول را در سبد خود نخواهید دید چراکه کوکی تاریخ انقضا دارد. در فروشگاه آموزشی میزفا هم از این قابلیت مثل سایر فروشگاه‌ها استفاده می‌شود.
  • نظرات که ما بدون ثبت‌نام در سایتی ارسال می‌کنیم و با عبارت‌های مشابه “دیدگاه شما در انتظار تائید است” روبه‌رو می‌شویم از کوکی استفاده می‌کند، و ممکن است شما فردا دوباره به سایت سر بزنید و اگر آن دیدگاه را مشاهده کردید یعنی تاریخ انقضای کوکی مربوط به دیدگاه‌ها هنوز منقضی نشده ولی اگر نباشد یا تاریخ کوکی منقضی شده یا توسط شما از مرورگر خود آن کوکی را پاک‌کرده‌اید. می‌توانید برای تست این موضوع در مـیزفا و همین پست یک نظر ارسال کنید تا بهتر متوجه وجود کوکی شوید.
  • تمام اطلاعات مربوط به پسوردها و یوزرنیم ها از طریق کوکی ثبت می‌شود و ده‌ها کاربرد دیگر
اینم بخون، جالبه
رفع خطای Avoid CSS @import

کش چیست؟ (Cache)

یک کش وب (HTTP cache) فنّاوری است که از طریق درخواست‌های HTTP یک سری اسناد وب را به شکل موقت در مرورگر کاربر ذخیره می‌کند، همانند عکس‌ها و فایل‌های CSS و JS که تغییرات زیادی روی آن‌ها صورت نمی‌گیرد. هر بار که شما از وب سایتی بازدیدی انجام می‌دهید لازم است که یک سری فایل‌هایی را دانلود کنید تا سایت قابل‌مشاهده باشد، حال برخی فایل‌ها مانند، CSS، JS، HTML و عکس‌ها که ممکن است در کش مرورگر (یا کش محلی یا کش لوکال) ذخیره شوند.

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

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

 

تفاوت بین کوکی و کش (difference between Cache and Cookie)

  • هرچند کوکی و کش هر دو راهی برای ذخیره‌سازی اطلاعات در مرورگر کاربر هستند اما آن‌ها تفاوت‌هایی را باهم دارند چراکه دارای اهدافی متفاوت هستند.
  • کوکی برای ذخیره‌سازی یک سری اطلاعات در جهت ردیابی فعالیت‌های کاربر استفاده می‌شود درحالی‌که کش برای بهبود سرعت سایت مورداستفاده قرار می‌گیرد.
  • کوکی اطلاعات مربوط به کاربران نظیر تنظیمات کاربری، پسورد، یوزرنیم و … است درحالی‌که کش برای نگه‌داری منابع استاتیک (فایل‌های ثابت) نظیر عکس، استایل‌های CSS یا جاواسکریپت است.
  • کوکی محدودیت ذخیره‌سازی دارد و تا 4KB می‌تواند حجم داشته باشد درحالی‌که کش چنین محدودیت‌هایی ندارد.
  • کوکی و هم کش توسط کاربر می‌تواند پاک شود ولی معمولاً کوکی‌ها عمر کوتاه‌تری دارند و زمان انقضاهای آن‌ها سریع‌تر می‌رسد درحالی‌که کش‌ها به این شکل نیستند و در مرورگر کاربران وجود دارند مگر دستی توسط کاربر پاک شود.
    نحوه پاکس کردن کش و کوکی در کروم
    نحوه پاکس کردن کش و کوکی در کروم

 

اینم بخون، جالبه
نحوه بهینه سازی و افزایش سرعت لود سایت به کمک جدول Wp_options از پایگاه داده

وجه مشترک کوکی و کش

وجه مشترک کوکی و کش این است که هر دو برای ذخیره‌سازی در مرورگر کاربر استفاده می‌شوند که بیشتر کوکی برای ذخیره‌سازی اطلاعات کاربری کار دارد ولی کش بیشتر سمت ذخیره‌سازی فایل‌های موجود در سند یک سایت است. همچنین کوکی و کش هر دو از نوع درخواست‌های HTTP به سمت مرورگر ارسال می‌شوند.

افزایش سرعت سایت با Use cookie-free domains

تمام موارد بالا گفته شد تا به این قسمت برسیم که خطای Use cookie-free domains چه چیزی را به ما می گوید، و منظور از این خطا چیست؟ چه زمانی کوکی باعث ایجاد این خطا در Gtmetrix می‌شود؟

کوکی چه مشکلاتی را ایجاد می کند؟

همان‌طور که در مقاله اشاره کردیم، کوکی بیشتر برای ذخیره‌سازی اطلاعات کاربران است، نه فایل‌های موجود در سند، درحالی که وقتی شما کوکی را فعال می‌کنید از آن پس تمام درخواست‌ها به همراه کوکی ارسال می‌شود و فایل‌های استاتیک یا ثابت هم همانند یوزنیم و پسورد دارای کوکی‌اند، حال مثلا عکسی که دارای کوکی باشد چه مشکلی را به وجود می‌اورد؟

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

به تصویر زیر توجه کنید، هدر یکی از عکس‌های سایت میزفا است که دارای کوکی است و نباید چنین کوکی همراه عکس باشد (هر چند سرعت سایت ما بسیار مناسب است و نیازی به رفع این مورد نبوده است) ولی اگر عکس‌های سایتی مثل دیجی کالا را بررسی کنید عکس‌هایشان همه در یک زیردامنه قرار دارند و این زیردامنه بر روی CDN پیاده سازی شده که این عمل باعث می‌شود ترافیک ماهانه و حجم اشغالی منابع به شدت کاهش یابد. و هر چه سایت شما پربازدیدتر باشد رفع این خطا چشم‌گیرتر خواهد بود

cookie header mizfa
cookie header mizfa

راه حل کلی برای رفع ارور Use cookie free domains

فرض کنید دامنه شما mizfa.com باشد هر عکس یا فایلی استاتیک در داخل دایرکتوری این دامنه باشد بالاخره کوکی به آن فایل‌ها در هنگام ارسال درخواست‌های HTTP به کاربر اضافه خواهد شد مگر فایل‌ها و عکس‌های ثابت و استاتیک خود را به یک زیردامنه یا دامنه‌ای دیگر انتقال دهید. بسیاری از سایت‌های معروف از این روش برای بالا بردن سرعت سایت خود استفاده کرده‌اند.

مثلا سایت یاهو از دامنه‌ای مستقل به آدرس yimg.com برای لود فایل‌های خود استفاده می‌کند، سایت آمازون از زیردامنه images-amazon.com برای عکس‌های استاتیک خود استفاده می‌کند، سایت دیجی کالا هم که قبلا به آن اشاره کردیم و دیگر سایت‌های مختلف که اهمیت بسیاری به تجربه کاربری می‌دهند.

اینم بخون، جالبه
رفع خطای Specify image dimensions در gtmetrix

 

ساخت زیر دامنه در وردپرس برای حل مشکل Use cookie free domains

هشدار ۱: به دلیل فنی بودن، ممکن است با رفع این خطا، خطاهای دیگر رخ دهد و یا بیشتر مشکل ساز شود تا آنکه بهبودی ایجاد شود. برای رفع این خطا کد جادویی وجود ندارد که بدهیم و سریع رفع شود.

هشدار ۲: پیشنهاد می‌شود قبل از هر کاری از سایت فول بک آپ تهیه کنید.

هشدار ۳: از طرفی اگر سایت شما بازدید کمی دارد و جز سایت‌های برتر ایران نیست پیشنهاد می‌شود به فکر رفع این خطا نباشید و یا آن را به یک متخصص بسپارید.

هشدار ۱: پیشنهاد میشه به جای استفاده از زیردامنه از یک دامنه مجزا برای این کار استفاده کنید. مثلا به جای img.mizfa.com بیایید از دامنه هایی مثل mizfa-img.com استفاده کنید. به همین منظور باید برای دامنه (یا زیردامنه) یک هاست مجزا تهیه کنید که به شکل پیش فرض از سمت سرور کوکی ارسال نکنه.

شروع کار

فرض کنیم قصد داریم زیر دامنه static.yourwebsite.com را برای فایل‌های استاتیک خود ایجاد کنیم، به این منظور در کنترل پنل خود (سی پنل، دایرکت ادمین و …) فیلدها را به شکل زیر پر می‌کنیم.

 ساخت زیر دامنه
ساخت زیر دامنه

در قسمت Document Root دقت داشته باشید که آدرس دقیقا همانند تصویر بالا باشد. سپس فایل wp-config.php باز کرده و دستور زیر را قرار می‌دهیم.

define("WP_CONTENT_URL", "http://static.yourwebsite.com"); 
define("COOKIE_DOMAIN", "www.yourwebsite.com");

حال زیردامنه اماده شده را می‌توانید فایل‌های استاتیک بدون کوکی در آن قرار دهید. توجه داشته باشید ممکن است راه‌حل بالا برای سایت شما کار نکند یا مشکل ساز شود بنابراین قبل از هر گونه تغییرات فول بک آپ بگیرید.

چند نکته:

یک: شما روش‌های متعدد دیگری هم برای رفع مشکل Use cookie-free domains دارید، مثلا به زیردامنه static.yourwebsite.com یک IP سرور متفاوت تنظیم کنید و در هاست دیگر آن را لود کنید یا می‌توانید زیردامنه خود را در یکی از CDNها پیاده سازی کنید، جهت اطلاعات بیشتر درباره CDNها به مقاله CDN چیست مراجعه کنید (پیشنهاد می‌شود برای پیاده‌سازی چنین عملی در سایت خود از یک کارشناس باتجربه استفاده نمایید)

دو: خطای Reduce cookie size زیر مربوط به کوکی است و خواندن ان به شما توصیه می‌شود چرا که در این خطا درباره نحوه کاهش کوکی‌ها و علت آن صحبت شده است.

سه: هر سه ارور روبه‌رو مربوط به کش هستند و مطالعه آن قطعا برای شما مفید خواهد بود: ارور Leverage browser caching ، ارور Specify a cache validator و ارور Add Expires headers

به پایان مقاله حل ارور Use cookie-free domains از دوره آموزش جی تی متریکس رسیدیم و امیدواریم در این آموزش SEO که باعث افزایش سرعت سایت و همچنین افزایش رتبه سایت در گوگل می‌شود، کمک شایانی کرده باشیم، اگر سوالی داشتید حتما در انجمن سایت میزفا مطرح کنید. در جلسه بعد به معرفی خطای Use GET for AJAX requests می‌پردازیم. با ما میزفا همراه باشید.

 

لطفا تجربیات خود و یا مشکلاتی که دارید را در قسمت نظرات مطرح کنید. پاسخگوی شما خواهیم بود

رفع خطای Use cookie-free domains در YSlow جی تی متریکس
امتیاز 4.1 از 15 رای
برچسب ها

پوریا آریافر

اولین کسب و کار آنلاین خودم را در فیسبوک راه‌اندازی کردم و در سال ۲۰۱۱ یکی از پرتعامل‌ترین صفحات فارسی با ۸۰ هزار فالور فعال را داشتم. سپس وارد دنیای شبکه شدم و در انتهای سال ۲۰۱۲ مدرک MCSE مایکروسافت را دریافت کردم، در دوران خدمت سربازی مسئول بهینه سازی یک وبسایت خبری معتبر شدم و آشنایی با سئو را آموختم و در سال ۲۰۱۴ توانستم به رتبه ۴۰۰ الکسا نزدیک کنم. برخلاف میل درونی، وارد دانشگاه شدم و سه ساله در مقطع کارشناسی IT فارغ التحصیل شدم، در همان سال بزرگ‌ترین کانال تلگرامی IT با ۴۰ هزار عضو را داشتم، که فروختم تا بتوانم تمرکز را فقط بر روی سئو بگذارم، فعالیت‌های سئو به شکل تخصصی بنده در قالب پروژه‌های مختلف و آموزش‌های حضوری و غیرحضوری در دفتر میزفا و دانشگاه علامه طباطبایی تهران صورت ‌می‌گیرد، تجربه بهینه سازی موفقی در بهبود UX و CRO پروژه‌های سئو کسب کرده‌ام. در همه ابزارهای گوگل به جز adwords تسلط کاملی دارم. عاشق کسب تجربه های جدید هستم. راز پیشرفت در هر کاری را یادگیری و یاددادن می‌دانم و میزفا که در اواخر ۲۰۱۶ راه‌اندازی شده، می‌تواند چنین بستر مناسبی را فراهم کند. نقد و بازخوردهای سازنده شما، جوهر تلاش‌های مستمر ماست تا یک قدم خودمون بهبود بدیم. منتظریم ...

نوشته های مشابه

‫16 نظرها

  1. با سلام
    این موردایا رای سایت های وردپرسی هم پاسخگو هستش؟
    چون تا جایی که من دیدم فقط زیر دامنه داریم ایجاد میکنیم و دستور خوندن تصاویر از اون میدیم ولی هیچ انتقالی برای کپی کردن پوشه upload وردپرس به مسیر دیگه ای توش انجام نمیدیم
    ممنون میشم برای سایت های وردپرسی راهنمایی بیشتری بفرمایید

    1. سلام. این ترفندی هست که بتونیم باهاش کوکی رو برای عکس ها غیرفعال کنیم. قصدجابه جایی نداریم.
      با این حال بارها در نظرات و مقاله ذکر کردم پیشنهاد نمیشه و بهتره به یک متخصص بسپارید که کل عکس ها رو در یک هاست دانلود فراخوانی بکنه و هاست جداگانه داشته باشه.
      این مورد هم آموزش نداره چرا اینکه برای هر سایت فرق داره و طبیعتا نمیشه به اندازه کل سایت های دنیا آموزش قرار داد. حتی در وردپرس هم کاملا بستگی به تنظیمات هاست ها داره.

  2. سلام من اینکارو انجام دادم. اما تغییری رخ نداد. آیا باید تصاویر استاتیک رو به ساب دامین منتقل کنم و سپس از ادرس تصاویر در ساب دامین جهت استفاده ازشون استفاده کنم؟

    1. سلام همان طور که در مقاله هم اشاره کردیم ممکنه این روش جواب نده چرا که نحوه انجام دادن اون و همینطور تنظیمات سرور اهمیت داره. به فکر سایر رفع خطاها باشید. چون امکان آموزش رفع این خطا در قالب مقاله تقریبا غیرممکن است. برای هرسایتی فرق داره.
      ولی سناریو کلی در مقاله اشاره شده

  3. سلام عزیز
    من هم مشکل اون دوستمون و دارم مراحل رو برای ساب دامین طی کردم اما همچنان اون ارور وجود داره و زیر دامنه همچنان با کوکی فایل ارسال میکنه
    ایا از طریق فایل htaccess میشه دستورتی رو داد مبنی بر اینکه کوکی بعضی فرمتها رو ارسال و دریافت نکنه مثلا تصاویر و فونتها رو ؟
    ممنون میشم پاسخم رو بدید مرسی و خدا نگهدار

    1. سلام، بستگی به تنظیمات سرور داره، بله میشه ولی خیلی وقت ها کار نمیکنه چون تنظیمات بازنویسی میشن سمت سرور. میشه کارهای دیگه کرد که نیاز به توضیح بیشتر از سمت ما و همینطور هزینه بیشتر و کار بیشتر از سمت شما داره. مثل هزینه های هاست و کافینگ و …
      موفق باشید.

  4. سلام
    سایت من وردپرسی نیست بلکه php و با html css طراحی شده. چجوری می تونم مشکب کوکی رو برطرف کنم؟

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

        1. خیر، ننوشتم این آموزش برای وردپرس هست. بلکه وردپرس رو مثال قرار دادم به این علت که خیلی ها استفاده میکنن. در انتهای مقاله راه حل مخصوص وردپرس درج شده و قبل اون اموزش برای هر نوع سایتی مناسب است و میتونید استفاده کنید.

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

  5. با سلام

    مراحلو انجام دادم کدم زدم

    define(“WP_CONTENT_URL”, “http://static.yourwebsite.com”);
    define(“COOKIE_DOMAIN”, “www.yourwebsite.com”);

    و جای ادرس پیش فرض ادرس خودمو زدم ولی تغییری ایجاد نشد؟

    ممنون می شم جواب بدید

    با تشکر

    1. سلام
      ما در مقاله ذکر کردیم که ممکنه این راه‌حل برای برخی سایت‌ها کار نکنه، هر چند کار هم بکنه پیشنهاد نمیشه، چرا که واقعا باعث بهینه سازی سایت نمیشه، صرفا باعث میشه رتبه بهتری در GTMetrix بگیرید، ولی راه حلی که در نکته یک ذکر کردیم بسیار عالی میتونه باشه و اکثر سایت‌های بزرگ برای بهینه سازی داخلی خودشون از این روش استفاده می‌کنند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
سایت خود را در گوگل مدیریت کنید + ۱۵ ساعت فیلم آموزشیجزئیات بیشتر اینجا کلیک کنید
بستن
با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
ترک میزفا خوب نیست!
دوره رایگان سئو