آموزش دایرکت ادمین، سی پنل، وب سایت پنل

خانه / wordpress / چگونه با رفع خطاهای Gtmetrix سرعت سایت را بهبود بخشیم؟

چگونه با رفع خطاهای Gtmetrix سرعت سایت را بهبود بخشیم؟

چگونه با رفع خطاهای Gtmetrix سرعت سایت را بهبود بخشیم؟ (قسمت دوم)

 

غیر فعال کردن WooCommerce Cart Fragment AJAX

اگر یک فروشگاه آنلاین دارید و از WooCommerce استفاده می کنید ، یک فایل Ajax وجود دارد که بارگیری آن زمان زیادی طول می کشد. این فایل Ajax ۲ یا ۳ ثانیه طول می کشد تا کاملا لود شود، بنابراین غیرفعال کردن آن باعث افزایش سرعت بارگذاری سایت شما می شود. برای حل مشکل WooCommerce cart fragment می توانید از افزونه رایگان استفاده کنید.

فایل های CSS و Javascript را مرتب سازی کنید

فایل های CSS و JS باید دارای برچسب( inline tag of the head tag) باشند. اگر آنها از جایی  خارج از سرور فراخوانی شوند، باید آنها را از وب سایت خود حذف یا دوباره مرتب کنید.

مشکل Captcha فرم تماس

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

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

تجزیه تحلیل جاوا اسکریپت

اول از همه ، باید بدانید که دو گزینه   برای لغو فایل جاوا اسکریپت و رفع این نوع خطا دارید.

روش اول:

<script type="text/javascript">
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "java.js";
document.body.appendChild(element);
}
if (window.addEventListener)
window.addEventListener("load",
downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>

روش دوم:

<script defer="defer"
type="text/javascript" src="java.js"></script>

Minify and Combine CSS and Minify Javascript

این به معنای کاهش حجم CSS و کدهای Javascript است. برای رفع این خطا به سادگی،  فاصله ها و توضیحات اضافی را حذف کنید.

وب سایت GTmetrix یک نسخه فشرده شده از استایل یا اسکریپت تان به نام Optimize Version در مقابل هر لینک به شما می دهد، که می‌توانید با استایل و اسکریپت وب سایت تان جایگزین کنید، اما قبل از آن به خاطر داشته باشید، همیشه یک نسخه پشتیبان از استایل و اسکریپت وب سایت تان تهیه کنید.ابزار ها و پلاگین های آنلاینب وجود دارد که می‌تواند به شما کمک کند.

در واقع ، تمام کدهای CSS و JS شما باید بعد از بستن تگ body (</body>tag) قرار داده شوند، بنابراین برای افزایش عملکرد وب سایت باید آنها را به ترتیب مناسب حرکت دهید.

Leverage Browser Caching

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

به عنوان مثال، GTmetrix گفته است که “http://…/font/calibri.woff” باید در کش کاربر ذخیره شود.

شما با پسوند و آدرس می بینید که این یک فونت استفاده شده برای طراحی وب سایت است. کافی است بگوییم که فونت با پسوند .woff باید در کش (حافظه پنهان) اکسپلورر کاربر ذخیره شود. برای این منظور کافی است کد زیر را کپی کرده و در فایل .htaccess قرار دهید:

<IfModule mod_expires.c>
ExpiresActive On ExpiresByType font/woff "access plus 1 year"
ExpiresDefault "access 1 month"
</IfModule>

 

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

 

<IfModule mod_deflate.c>
#Compress HTML, CSS, JavaScript, Text, XML and fonts 
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>
## EXPIRES HEADER CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType image/svg+xml "access 1 month"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access plus 1 month"  
ExpiresByType application/javascript "access plus 1 month"  
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>

تنظیم HTML (تنظیم یا حذف minify)

این یعنی حجم کدهای  HTML را کاهش دهید. برای انجام این بصورت دستی، کدهای مانند زیر تغییر دهید:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
</body>

یا از این حالت فشرده استفاده کنید:

<html xmlns="http://www.w3.org/1999/xhtml"><head><title></title></head><body>
</body></html>

جاوااسکریپت inline کوچک (Inline Small JavaScript)

برای برطرف کردن این مسئله بهتر است اسکریپت های بخش body  را به بخش اصلی (head) وب سایت یا در انتهای بخش body منتقل کنید.

فعال کردن  Keep-Alive

این برای نگه داشتن فایل بین سرور و اکسپلورر بکار می‌رود. فقط کافی است این کد زیر را در پوشه htaccess وب سایت خود قرار دهید:

<ifModule mod_headers.c>
Header set Connection keep-alive
</ifModule>

جلوگیری از درخواست های بد

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

تعداد درخواست ها

 

GTmetrix می گوید سایت شما باید کمتز از ۸۷ درخواست (request) در وب سایت داشته باشید. این تعداد میانگین است و هرچه درخواست شما کمتر باشد ، عملکرد بهتری خواهید داشت.

برای رفع این مشکل می توانید از افزونه WP-Rocket یا Lazy Load در وردپرس استفاده کنید. به عنوان مثال، Lazy Load ویژگیهای مقادیر تگ عکس ها را حذف کرده (Lazy Load omits the value attributes of the images tag) و و اجازه می دهد تا سایت به طور کامل بارگیری شود سپس مجدداً ویژگی های مقادیر تصویر را به ترتیب قبلی خود قرار می دهد. با انجام این کار ، درخواستها در حین لود شدن کاهش می یابد و میزان “Time to first-byte” شما بهبود می یابد.

 

تعیین ابعاد تصویر

 

به معنی تعیین مقادیر برای عرض و ارتفاع تصاویر در وب سایت شما است. بهتر است مقادیر نه تنها برای تصاویر ما از طریق CSS بلکه در HTML مانند موارد زیر مشخص شود:

<img src="#link#"
alt="#description#"
width="Y" height="X" />

پس از انجام این راه حل ، سئو تصاویر شما تقویت و بهینه می شوند ، بنابراین می بینید که سرعت ایندکس کردن تصاویر شما بالا می رود.