رفع خطای Combine Images Using CSS Sprites
- مقالات آموزشی آموزش سئو وردپرس
- بروزرسانی شده در
همه ما با جی تی متریکس آشنا هستیم. با استفاده از این وبسایت میتوانید سایت خود را از نظر سرعت و بهینه بودن برنامهنویسی تست کنید و نتیجه تست را بصورت حروف لاتین از A تا F دریافت کنید. البته A بهترین رتبه و F بدترین رتبهای است که میتوانید دریافت کنید. آموزش کامل رفع خطاهای GTMetrix در آموزش افزایش سرعت سایت توضیح داده شد.
اما یکی از خطاهای معروف جی تی متریکس که همیشه به چشم میخورد، این خطاست:
Combine Images Using CSS Sprites
GTMetrix
و اما چطور باید خطای Combine Images Using CSS Sprites را حل کنیم؟! اصلا دلیل بهوجود آمدن این خطا چیست؟
آنچه در این مقاله میخوانید
دلیل ارور Combine Images Using CSS Sprites
این خطا زمانی بوجود میآید که شما در قالب سایتتان از تصاویری استفاده کردهاید و این تصاویر از فایلهای مختلفی لود میشوند. مثلا یک تصویر ایمیل در قالب سایت استفاده کردهاید و یک تصویر پس زمینه برای فوتر و برای لود شدن هر کدام از این دو تصویر، نیاز است تا کاربر یک درخواست مجزا به سمت سرور شما ارسال کند! فاجعهای بسیار بزرگ!
حالا فرض کنید در یک قالب از ۳۰ آیکون استفاده کردهاید و باید ۳۰ درخواست برای دریافت این ۳۰ آیکون کوچک به سمت سرور ارسال شود. یک فاجعهی بزرگتر که باید حتما حلش کنیم.
در نتیجه این خطا میگوید تصاویری که در قالب سایتتان از طریق CSS لود میشود را با یک تصویر لود کنید. مگر میشود؟ بله. بریم که حلش کنیم!
حل خطای Combine Images Using CSS Sprites
برای حل این خطا باید تصاویر استفاده شده در سی اس اس قالب سایتمان را از یک منبع لود کنیم. یعنی همه تصاویر را در یک فایل کنار هم قرار دهیم. مثلا اگر دو آیکون به این شکل داریم:
که البته این دو آیکون دو تا فایل مجزا هستند، این دو را بصورت یک فایل لود کنیم. به این شکل:
حالا دیگه نیازی نیست که ۲ درخواست به سمت سرور ارسال شود تا دو فایل داشته باشیم. برای دریافت هر دو آیکون میتوانیم یک درخواست به سمت سرور ارسال کنیم. هرچه Requestهایی که به سمت سرور ارسال میکنیم کمتر باشد در نتیجه سرعت بیشتری هم خواهیم داشت.
معمولا در تستهای سرعت، با کاهش تعداد Requestها به راحتی میتوانید سرعت سایت خود را تا ۳ ثانیه کاهش دهید و ۳ ثانیه زمان بسیار زیادی برای منتظر ماندن تا لود یک صفحه است. پس کاهش تعداد Requestهای سایت را فراموش نکنید.
اما چطور آیکونها را بصورت جداگانه استفاده کنیم؟
تا اینجای کار مشکلی نیست. با استفاده از فتوشاپ، آیکونها را کنار هم در یک فایل وارد قرار میدهیم. اما چطور باید این آیکونها را بصورت جدا برای بخشهای مختلف سایت استفاده کنیم؟
برای اینکار کافیست کمی دست به CSS شویم. یعنی با استفاده از سی اس اس مشخص کنیم که این قسمت از تصویر را برای این بخش از سایت استفاده کن و مابقی تصویر نمایش داده نشود. شروع میکنیم به سی اس اس. اگر با سی اس اس آشنایی دارید این کار بسیار ساده است. اما اگر با سی اس اس آشنایی ندارید پیشنهاد میکنم از یک طراح سایت کمک بگیرید یا آموزش طراحی سایت با وردپرس را ببینید. (یکم تبلیغ هم بد نیست.) 🙂
جدا کردن بخشی از تصویر در CSS
ابتدا حتما یک طول و عرض برای بخشی که میخواهید از تصویر به عنوان پس زمینه آن بخش استفاده کنید، مشخص کنید. مثلا:
width:32px;
height:32px;
حالا شروع میکنیم Background دادن به آن بخش. بعد از طول و عرض پس زمینه را مشخص میکنیم به این شکل:
background: url(social.webp) 0 2px;
دو مقدار 0 و 2 مشخص میکنند که در طول و ارتفاع تصویر Combine شده. (یعنی تصویری که تمام آیکونها را در آن قرار دادیم.) چه مقدار به سمت x و y حرکت کنیم.
مثلا اگر آیکون شما از ۵۰ پیکسل سمت چپ تصویر Combine شده شروع به نمایش داده شدن میکند، پس باید مقدار 0 را به 50 تغییر دهید و همین کار را برای y هم انجام دهید.
اینکار باید برای تمام بخشهایی که آيکونها در آن استفاده شده اند، استفاده کنید. سپس کش سایت را خالی کنید و سایت را با استفاده از جی تی متریکس دوباره تست کنید.
نتیجه باید به این شکل باشد:
موفق باشید.
سلام اقای راد من سایتم خیلی کنده و تمام تعداد بسیار زیادی درخواست در صفحه اصلی داره که نصفشون css های بلاک شدست
چطوری میتونم این درخاستارو کم کنم از هر افزونه ای هم ک معرفی کرده بودید برای سرعت ساعت استفاده کردم ولی همچنان رند سایت نزدیک به 7 ثانيست
درود
https://mihanwp.com/academy/website-management/
شما برای افزایش سرعت سایتتون باید دوره جامع رو تهیه بفرمایید به صورت کامل در این دوره از 0 تا 100 افزایش سرعت سایت و برطرف کردن خطا ها رو آموزش داده ایم