اگر از همراهان همیشگی پرشین تولز هستید، حتماً مقاله قبلی در مورد رفع خطاهای سایت به کمک GTmetrix را خواندهاید! در این مقاله هم قصد داریم به بررسی ادامه این بحث بپردازیم تا بتوانید با افزایش سرعت سایت، وضعیت سئوی سایت خود را بهبود ببخشید و رضایت کاربران را هم جلب کنید.
رفع خطای Reduce cookie size در GTmetrix
یکی دیگر از خطاهای رایج که در تست سرعت سایت با جی تی متریکس نمایش داده میشود، خطای Reduce cookie size است. همانطور که از معنای لغوی این خطا برداشت میشود، از ما خواسته شده که اندازه و تعداد کوکیهای سایت را کاهش دهیم. کوکیها درخواستهایی هستند که به صورت HTTP در اولین ورود به هر سایتی در مرورگر ذخیره میشوند که برای اهداف مختلفی از آنها استفاده میشود. بیشترین استفاده برای کوکیها جهت احراز هویت کاربران است و اگر دقت کرده باشید هنگام ورود به وردپرس گزینه تحت عنوان مرا به خاطر بسپار وجود دارد که اگه تیک این گزینه را بزنید، پس از بستن پنجره مرورگر اگر به سایت وارد شده باشید همچنان در حالت لاگین باقی میمانید، اما اگر تیک این گزینه را فعال نکنید، بعد از بستن مرورگر مجدداً باید فرم ورود را پر کنید و وارد سایت شوید. کوکیهایی که در مرورگر کاربران ذخیره میکنید باعث کاهش تعداد درخواست HTTP سایت میشوند اما در مقابل حالتی که پیش میآید این است که اگر تعداد کوکی هم بالا باشد، باعث به وجود اومدن خطای Make fewer HTTP requests خواهند شد.
کوکیها علاوه بر اطلاعات احراز هویتی قادر هستند اطلاعاتی را در خود ذخیره کنند که بیشترین نمونهها شامل اطلاعات بانکی، رمزهای ورود، اطلاعات ورود به هر سایت و… میشود. اما اگر این سوال برای شما پیش آمده که پس چرا اطلاعات کارت بانکی شما در درگاه پرداخت ذخیره نمیشوند، بخاطر این است که کوکی در درگاههای بانکی به منظور افزایش امنیت و کاهش خطر هک حسابهای بانکی به صورت کش شده نیست و ذخیره نمیشوند.
کوکیها درخواستهای HTTP رار در Header بین مرورگر و سرور رد و بدل میکنند که اگر بتوانیم حجم این کوکیها را کمتر کنیم و علاوه بر این هم با حذف کوکیهایی که به آنها ممکن است نیازی نداشته باشیم، اقدام به بهینه سازی کوکیهای سایت کنیم. کارهایی مثل جلوگیری کردن از حالت کوکی در فایلهای استاتیک میتواند گزینه خوبی باشد. برای بهینه سازی کوکی در سایت میتونید دقیقا مطابق توضیحاتی که در بخش آموزش رفع خطای Enable gzip compression در GTmetrix توضیح دادیم، عمل کنید.
Reduce به معنای کاهش است و ترجمه Reduce cookie size میشود اندازه سایز کوکیها را کاهش دهید، چیزی که ما از این ارور برداشت میکنیم، این است که باید تا حد امکان اندازه کوکیها و همین طور تعداد کل کوکیها را پایین نگه داریم که این امر باعث بهبود خطای Make fewer HTTP requests میگردد؛ زیرا درخواستهای هدر HTTP بهینه میشود و این هدرهای HTTP هستند که کوکیها را از سرور به مرورگر کاربران هدایت میکنند. درخواستهای HTTP در نوع کوکی که نامهای مختلفی دارد درست مانند HTTP cookie ، web cookie و یا browser cookie گفته میشود و تمام این نامها یکی هستند، کوکی برای مواردی مختلف همانند احرازهویت یا شخصی سایتی استفاده میشود، کوکی ها همچنین میتوانند اطلاعات کارت بانکی، پسوردها و لاگینهایی که صورت میگیرد را ذخیره کنند و البته این مسئله به دلیل سرقت اطلاعات حساب بانکی شما و مشکلاتی که ممکن است برای شما بوجود بیاید، پیشنهاد نمیشود! اکثر وب سایتها برای ذخیره سازی اطلاعات ورود به سایت یا اپلیکیشن شما سوالی میپرسند که آیا ذخیره شود یا خیر، و اگر جواب منفی باشد عمل کوکی برای ذخیره سازی اطلاعات لاگین شما اتفاق نمیافتد، در سایتهای بانکی در زمان پرداخت و درج اطلاعات کوکی فعال نیست و اطلاعات به شکل کش شده در مرورگر ذخیره نمیشود و این عمل خطر امنیت را کاهش میدهد.
-
کاهش حجم و درخواست کوکی با Gzip
همونطور که در بالا هم اشاره کردیم، کوکیها به صورت درخواستهای HTTP هستند که در Header مرورگر اجرا میشوند و ممکن است برای هر درخواستی این کار انجام بگیرد و به صورت کوکی ذخیره شوند. این کار میتواند هم روی فایلهای استاتیک انجام بگیرد و هم این که میتواند روی سایر درخواستها که مربوط به پردازش داده هستند صورت بگیرد. اگه درخواستها مربوط به فایلهای استاتیک باشند، میتوانید به کمک کش کردن این درخواستها و همچنین استفاده از قابلیت فشرده سازی حجم کوکی را کمتر کنید.
یکی از راههای فشرده سازی استفاده از Gzip است که میتوانید به میزان قابل توجهی حجم کوکی را کمتر کنید. برای این منظور اگر از هاست سی پنل استفاده میکنید با اضافه کردن کدهای زیر به فایل htaccess. میتوانید حجم کوکیهایی که به صورت استاتیک هستند را کمتر کنید.
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
اما اگر از کنترل پنل دایرکت ادمین استفاده میکنید استفاده از کد زیر میتواند برای فعال کرده قابلیت Gzip گزینه بهتری باشد که روی درخواستهای کوکی هم تاثیر گذار است.
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
-
استفاده از Cookie Free Domains
در این روش برای افزایش سرعت سایت با استفاده از کوکی دامنه، به صورتی عمل میکنیم که کلیه فایلها را از دامنه و یا ساب دامنه دیگه دریافت کنیم تا سرعت بارگذاری فایلهای ثابت افزایش پیدا کند. اگر در gtmetrix، وبسایت خودتان را تست کرده باشید، احتمالا به بخش Use cookie-free domains برخورد کردهاید که مشخص میکند تا چه میزان شما از کوکیها برای رد و بدل کردن دادههای سایت توسط زیر دامنه و یا دامنه دیگه استفاده میکنید.
برای استفاده از cookie-free domains در وردپرس ابتدا باید یک ساب دامنه در سایت خود ایجاد کنید. اگر با نحوه ساخت زیر دامنه آشنایی ندارید، میتوانید از آموزش نحوه ساخت ساب دامین در کنترل پنل سی پنل استفاده کنید. بنابراین بعد از ورود به هاست خود به منوی ساب دامنهها مراجعه کرده و سپس یک ساب دامنه با نام دلخواه خودتان ایجاد کنید و مسیر آن را روی public_html/wp-content تنظیم کنید. در اینجا ما قصد داریم تا از ساب دامنه CDN برای این کار استفاده کنیم. حالا بعد از آن که ساب دامنه شما برای وردپرس در هاست ساخته شد به مسیر File Manager در هاست خود مراجعه کنید و سپس به مسیر public_html در هاست سی پنل مراجعه کنید. بعد از این که وارد مسیر public_html در هاست سی پنل شدید، باید به دنبال فایل wp-config.php وردپرس بگردید و بعد از این که فایل را پیدا کردید، روی آن کلیک راست کرده و گزینه Edit را انتخاب کنید تا به صفحه ویرایش فایل هدایت شده و در نهایت کدهای زیر را در مکان مناسبی از این فایل قرار دهید.
define("COOKIE_DOMAIN", "www.mizbanfa.net");define("WP_CONTENT_URL", "http://cdn.site.net");define("WP_PLUGIN_URL", "http://cdn.site.net/plugins")
بکاپ گرفتن را فراموش نکنید! دقت کنید که قبل از ایجاد هر گونه تغییری در فایلهای هسته وردپرس یک نسخه کپی از اون داشته باشید تا در صورت بروز مشکل و خطایی سریعا با جایگزین کردن فایل اصلی بتوانید مشکل را برطرف کنید. در کد بالا دقت کنید که اگر اقدام به نصب گواهی SSL در وردپرس کردهاید به جای http باید از https برای آدرسدهی خود استفاده کنید. حالا که آدرس دامنه خود را وارد کردهاید، فایل را ذخیره کنید.
بعد از این مرحله حالا باید آدرس فایلهای خود را که در سایت استفاده کردهاید، به آدرسی که روی ساب دامنه قرار دارد تغییر دهید و آدرس هر فایلی که داخل مطالب ازش استفاده میکنید، را روی ساب دامنه تنظیم کنید.
کوکیها یک سری اطلاعاتی را در HTTP headers بین وب سرور و مرورگر مبادله میکند و این مورد بسیار اهمیت دارد که ما بتوانیم سایز کوکیها را به حداقل برسانیم و همینطور تعداد کوکیها را کاهش دهیم تا زمان درخواست پاسخ به کاربران بهینه شود. خطای Use cookie free domains هم به این مورد اشاره دارد و میگوید از کوکی کردن فایلهای استاتیک خود اجتناب کنید.
در مقاله بعدی به بررسی ادامه این بحث میپردازیم.