رفع خطای Use cookie free domains ؛ سرفصل‌ها

  • خطای Use cookie free domains جز ارورهای YSlow است
    • خلاصه‌ای از خطای Use cookie free domains
  • فرق کوکی و کش چیست؟
    • کوکی (Cookies) چیست ؟
    • کش (Cache) چیست؟
    • تفاوت بین کوکی و کش (difference between Cache and Cookie)
    • وجه مشترک کوکی و کش
    • jQuery CDN
  • افزایش سرعت سایت با Use cookie free domains
    • کوکی چه مشکلاتی را ایجاد می کند؟
    • راه حل کلی برای رفع ارور Use cookie free domains
    • ساخت زیر دامنه در وردپرس برای حل مشکل Use cookie free domains

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

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

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

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

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

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

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

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

کوکی چیست (Cookies)

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

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

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

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

کش چیست؟ (Cache)

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

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

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

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

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

نحوه پاکس کردن کش و کوکی در کروم

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

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

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

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

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

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

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

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

cookie header

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

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

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

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

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

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

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

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

شروع کار

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

رفع خطای Use cookie free domains

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

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

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

چند نکته:

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

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

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

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

منبع: میزفا

جهت کسب اطلاعات و مشاهده مقالات بیشتر به بخش مقالات آموزشی مراجعه نمایید.

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

پاسخی بگذارید

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