خطای Leverage browser caching برای بسیاری از متخصصان سئو، خطای نام آشنایی است. تقریبا همه افرادی که از آنالیزهای GTmetrix برای تحلیل وب سایت خود استفاده میکنند، حداقل یک بار برای رفع خطای Leverage browser caching تلاش کردهاند. برای اینکه راحت تر مفهوم کش یک وب سایت را توضیح بدهیم، یک مثال خواهیم زد. برای یک دانش آموز سال سوم دبستان اولین بار که جدول ضرب پرسیده میشود، بسیار نا آشنا به نظر میرسد. ممکن است او 10 یا 20 ثانیه برای یافتن پاسخ فکر کند. اما با هر بار تکرار جدول ضرب، یادآوری آن بسیار راحتتر خواهد بود. تا آنجا که اگر از یک فرد 20 ساله، حاصلضرب 2X9 پرسیده شود، بر اساس حافظهای که هزاران بار جدول ضرب را فراخوانی کرده است، پاسخ 18 در کسری از ثانیه بر زبانش جاری خواهد شد. کش مرورگر یک وب سایت نیز عملکردی مشابه با عملکرد مغز ما در به یاد آوردن حاصلضرب 2X9 دارد. اولین بار که مرورگر شما برای نشان دادن محتوای یک وب سایت به شما تلاش میکند، زمان به مراتب بیشتری صرف خواهد کرد. برای دفعات بعدی حافظه قبلی وب سایت به بارگذاری سریعتر آن کمک خواهد کرد و به این ترتیب سرعت به میزان چشمگیری افزایش مییابد. برای اینکه بدانید افزایش سرعت چه تاثیر شگفتانگیزی بر بهبود سئوی سایت شما و تجربه کاربری دارد، میتوانید مقاله تاثیر سرعت بر سئو را مطالعه فرمایید. برای اینکه میزان این تاثیر دستتان بیاید، باید بدانید که در حدود 40 درصد از کاربران تنها 3 ثانیه برای بارگذاری یک سایت صبر میکنند و پس از آن، سایت را ترک خواهند کرد. البته این مثال کاملا نیز دقیق نیست. وجه تمایز آن با کش کردن سایت این است که جدول ضرب با هر بار تکرار زمانی کمتر برای به یاد آوردن به خود اختصاص میدهد اما در مورد کش سایت اینطور نیست. در واقع زمان بارگذاری تنها در بار دوم نسبت به بار اول کمتر میشود و پس از بار دوم تغییری نمیکند. بنابراین استفاد از قابلیت کش بازدید و ترافیک سایت شما را به میزان زیادی افزایش میدهد. این تکنولوژی به برنامه نویسان کمک زیادی کرده است تا به عنوان مثال بتوانند فروش سایتهای فروشگاهی را افزایش دهند و یا خدمات وب سایتشان را با کیفیت بهتری ارائه دهند. در این مقاله ای نگاه قصد دارد ابتدا مفهوم کش کردن سایت را توضیح دهد و پس از تاثیر آن را بر بهبود سرعت و در نتیجه بهینه سازی موتورهای جستجو بیان کند.
کش کردن سایت چیست؟
خطای Leverage browser caching در GTmetrix را میتوان “کش مرورگر را مدیریت کنید.” ترجمه کرد. با وجود آنکه توضیح تکنولوژی دقیق کش کردن میتواند بسیار پیچیده و گیج کننده باشد، ایده اصلی پشت آن بسیار ساده است. یک بار دیگر مثال جدول ضرب ابتدای مقاله را به خاطر بیاورید. با وجود آنکه در نه سالگی شما سه ثانیه وقت صرف به یاد آوردن پاسخ 2X9 میکردید، اکنون در کسری از ثانیه جواب این سوال به ذهن شما خطور میکند. ذهن شما در این مثال درست مانند فرآیند کش کار میکند. وب سایتها ممکن است در ماه صدها، هزاران و حتی میلیونها بار بازدید داشته باشند. در حالت عادی وقتی یک کاربر خواهان محتوای یک صفحه وب سایت است، مرورگر او محتوای آن صفحه را از طریق یک درخواست HTTP، از سرور سایت مربوطه طلب میکند. سپس سرور مجبور خواهد بود تعداد زیادی محاسبات پیچیده انجام دهد. بعد از آن، سرور به این درخواستها پاسخ داده و موجب میشود که کاربر بتواند محتوای سایت را بر صفحه نمایش خود مشاهده نماید. با استفاده از قابلیت کش، دفعه بعد که همان کاربر درخواست بارگذاری درخواستهای HTTP مشابه با قبل را دارد، سرور و مرورگر کاربر به جای به یاد آوردن و پردازش مجدد تمامی درخواستها، نتایج را تنها از طریق یادآوری مطالب قبلا باگذاری شده، به معرض نمایش میگذارند. به همین دلیل است که کاهش درخواستهای HTTP سرعت سایت را زیاد کرده و تاثیر خوبی بر سئو خواهد داشت. برای اینکه راجع به این درخواستها بیشتر بدانید، میتوانید مقاله تکنیکهای کاهش درخواست HTTP را مطالعه فرمایید.
حال سوالی که شاید ذهن شما را به خود مشغول کرده باشد، آنکه،
اگر سایت تغییر پیدا کند، چه میشود؟
فرض کنید که شما تغییری در سایت خود ایجاد میکنید. برای مثال، یکی از کدها را تغییر میدهید یا یک مقاله جدید بارگذاری میکنید. با ایجاد این تغییر، سوال اینجاست که اگر قابلیت کش مرورگر کابران شما فعال باشد، پستهای جدید برای آنها نمایش داده نخواهند شد؟ خوب است بدانید که سیستمهای کش طراحی شده، این مشکل را پیشبینی کردهاند. تنها قابلیت یک سیستم کش، ذخیرهسازی فایلهای یک وب سایت نیست. این سیستمها معمولا دارای قابلیت خالی کردن حافظه کش و بازفعال کردن آن در موقعیتهایی هستند که لازم خواهد بود. برای مثال در مواقعی که شما یک محتوای جدید به انتشار میگذارید انتظار دارید که کاربران بتوانند نسخه جدید سایت را مشاهده کنید. در این مواقع شما میتوانید این قابلیت را به سایت خود بدهید که ورژن کش شده سایتتان را از روی مرورگر کاربرانتان حذف کنید و از آنها بخواهید دوباره سایت را فراخوانی کنند تا مخاطبان بتوانند محتوای نو را مشاهده کنند.
تاثیر کش کردن سایت
راجع به تاثیر افزایش سرعت بر بهبود سئو آنقدر در مقالات آنقدر مطلب نوشته شده است که اگر بدانیم عاملی بر افزایش سرعت تاثیر چشمگیری دارد قطعا دوست داریم آن را بهتر بشناسیم. تکنیک های افزایش سرعت سایت توسط ای نگاه بطور مبسوط توضیح داده شدهاند. خطای Leverage browser caching در GTmetrix نیز یکی از خطاهای رایج است و از اهمیت مدیریت کش خبر میدهد. اما سوال اینجا است که تاثیر مدیریت کش کردن سایت واقعا تا کجا پیش میرود؟ پاسخ، قطعا “بسیار زیاد” است. هر دو نوع کش کردن مرورگر و سرور تاثیری شگفتانگیز بر سرعت سایت دارند. در ادامه این دو نوع کش کردن را توضیح خواهیم داد. در ضمن باید به خاطر داشته باشید که مدیریت اسب کش تنها سرعت سایت را افزایش نمیدهد بلکه تجربه به مراتب دلنشینتری را برای کاربران نیز به ارمغان خواهد آورد.
طبق یک پژوهش انجام شده درباره تاثیر مدیریت کش بر سرعت سایت یاهو، معلوم شده است که استفاده صحیح از کش کردن سایت، سرعت بارگذاری آن را تا 250% بهبود میبخشد. در زیر شما میتوانید تعداد درخواستها و زمان تخصیص داده شده به هر یک را برای بارگذاری سایت Yahoo.com در دو حالت فعال بودن و نبودن قابلیت کش مشاهده کنید. همانطور که از تصویر بالا مشخص است، برای بارگذاری این صفحه با یک کش خالی، تقریبا 30 المان باید بارگذاری شوند. از طرفی در شکل پایین میتوانید تعداد درخواستهای HTTP و زمان تخصیص یافته برای انجام آنها را در حالت کش کامل مشاهده کنید. در حالت دوم، مرورگر تنها ملزم به بارگذاری سه المان است که شامل یک فایل HTML میباشد. بدون استفاده از کش قبلی، این سایت 2.4 ثانیه و با استفاده از قابلیت کش کامل، تنها 0.9 ثانیه برای بارگذاری نیاز خواهد داشت. در این مثال، تاثیر چشمگیر کش بر سرعت بارگذاری توضیح داده شده است.
با درک ماهیت کش و تاثیر آن بر سرعت سایت متوجه شدیم که این قابلیت تاثیر غیر قابل انکاری بر بهبود سئو سایت خواهد داشت. بنابراین وقتی که متخصصان سئو برای رفع خطای Leverage browser caching در GTmetrix میگذارند منطقی به نظر میرسد. در ادامه ای نگاه انواع کش را توضیح خواهد داد.
انواع کش
در کل، دو نوع کش بیشتر شناخته شده است. کش مرورگر و کش سرور. ماهیت قابلیت کش برای هر دو مورد یکسان است. تنها مکان فرآیند کش است که بین آنها تفاوت ایجاد میکند که در مورد اول از طرف کاربر رخ میدهد و در دومی از سوی سرور.
کش مررگر
کش مرورگر به مرورگر شما این امکان را میدهد که فایلهای قبلا بارگذاری شده یک وب سایت را برای مدتی ذخیره کند و به این ترتیب هر بار برای بازدید از سایت، از بارگذاری شدن مجدد تمامی فایلها جلوگیری کند.
کش سرور
قابلیت کش سرور به سرور اجازه میدهد به جای پردازش همه درخواستها در هر بازدید کاربر، نتایج این درخواستها را ذخیره کرده و در مواقع ضروری آنها را به کار بگیرد و به این ترتیب به بارگذاری سایت سرعت ببخشد. اگر به عبارتهایی مانند “object cache” و “full page cache” برخورد کرده باشید باید بدانید که آنها متعلق به روش کش سرور هستند. در قابلیت “object cache” شما میتوانید المانهای انتخابی خودتان را برای کش شدن یا نشدن انتخاب کنید.
کش کردن سایت در وردپرس
سه چیز است که در زمینه کش کردن سایت در وردپرس باید بدانید: کد بهینه برای سایت بنویسید، از پلاگینهای کش کردن استفاده کنید، از کش هاست خود استفاده کنید. مهمترین نکتهای که باید به خاطر داشته باشید، آنکه، هرگز و به هیچ وجه، از دو پلاگین برای کش کردن وب سایت خود استفاده نکنید. این کار سایت شما را سریعتر نخواهد کرد. بلکه در بیشتر مواقع سرعت وب سایت را کاهش داده و در فرایند آن وقفه ایجاد میکند. در مسیر رفع خطای Leverage browser caching تنها از یک پلاگین بهره ببرید. معروف ترین افزونههایی که برای این کار استفاده میشوند، WP Rocket ،W3 Total cache و WP Super cache هستند که ای نگاه درمقاله بعدی بطور مبسوط به تویضیح آنها خواهد پرداخت.