در این جلسه قصد داریم درباره مشکل Optimize images و حل آن در GTmetrix صحبت کنیم و بررسی کنیم که چگونه عکس و تصاویر سایت خود را در جهت افزایش سرعت سایت، بهینه سازی کنیم و روشهای رایج بهینه سازی عکس چیست و چه تاثیری بر روی سئو و تجربه کاربری دارد و اگر عکس ها بهینه سازی نشوند چه اتفاقی سمت کاربر و سئو تصاویر رخ میدهد.
نام: Optimize images
نوع: عکس
اولویت: بالا
میزان سختی: متوسط
میانگین امتیاز: 69%
وقتی از عبارت بهینه سازی عکس استفاده میکنیم دو روش کلی برای بهینه سازی تصاویر مد نظر است، روش اول بهینه سازی، سایز عکس ها (Serve scaled images) و کاهش حجم عکس ها (Optimize images) هست که باعث افزایش سرعت سایت میشود روش اول به شکل غیرمستقیم بر روی بهبود سئو سایت تاثیر میگذارد. روش دوم بهینه سازی عکس، استفاده از اتریبیوت های همانند title و alt در عکس ها هست که به شکل مستقیم بر روی سئو تاثیرگذار است. در PageSpeed و ابزار تست سرعت gtmetrix اشاره به بهینه نبودن سایز و حجم عکسها دارد به عبارتی خطای Optimize images و خطای Serve scaled images روش اول را متذکر میشود و ما در این مقاله حجم عکس ها را کامل بررسی میکنیم.
زمانی که تصاویر شما به خوبی فشرده سازی نشده باشند چنین خطایی رخ میدهد، ارور Optimize images باعث کاهش لود سایت شما میشود و هم از طرفی پهنای باند ماهانه هاست شما را زودتر تمام میکند، و وقتی سایتی دیر باز شود تجربه کاربری بدی را به کاربران منتقل میکند چرا که جدا از گرفتن زمان کاربران برای باز شدن سایت، ترافیک اینترنت کاربران را هم به شکل زیادی مصرف میکند.
بهترین روش برای رفع ارور Optimize images قبل از آپلود عکس در سایت میباشد شما می توانید با استفاده از ابزارهای همانند فتوشاپ سایز و حجم آنها را بدون کاهش کیفیت، خروجی بگیرید. به این منظور عکس مورد نظر را در فتوشاپ باز کرده و بعد از آن بر روی تب File کلیک کنید و گزینه Export را انتخاب کنید، در زیرمنوهای نمایش داده شده گزینه Save for Web را انتخاب کنید، در پنجره باز شده میتوانید انواع کیفیت و سایز مد نظر برای عکس را انتخاب کنید.
روش دوم برای رفع ارور Optimize images استفاده از ابزارهای آنلاین فشرده سازی میباشد. سایتهای معروف و قوی همانند optimizilla.com، سایت tinypng.com و compressor.io ابزارهای آنلاین مناسبی برای کاهش انواع فایلهای تصویری هستند.
روش اول و دوم قبل از آپلود عکس در سایت کاربرد دارد بر خلاف روش سوم که بعد از اپلود تصاویر نیز مورد استفاده قرار میگیرد. روش سوم برای رفع مشکل Optimize images استفاده از پلاگین های وردپرس و جوملا است. گاهی ممکن است شما تعداد تصاویر بسیاری را در طراحی سایت (طراحی سایت شرکتی، طراحی سایت فروشگاهی) خود با حجم بالا قرار دادهاید و زمان لازم برای بهینه سازی حجم زیادی از عکس ها را ندارید در این صورت پلاگین هایی که اشاره خواهیم کرد میتوانند به شما اندکی در کاهش حجم تصاویر کمک کنند.
از معروف ترین پلاگین های وردپرس میتوان به افزونه EWWW Image Optimizer و افزونه Smush اشاره کرد و پلاگینهای ImageRecycle image optimizer و Imgen برای مدیریت محتوای جوملا مناسب هستند، البته جوملا پلاگین دیگری به نام JCH Optimize نیز دارد که پک کامل در زمینه بهینه سازی سایت است و یکی از ویژگیهای این پلاگین فشرده سازی تصاویر است.
پیشنهاد ما برای بهینه سازی تصویر و کاهش حجم عکس ها استفاده از نرم افزار Photoshop هست و طبق تجربههای چند ساله هیچ یک از روشها انعطافپذیری و کارایی فتوشاپ در بهینه سازی تصاویر را ندارد.
در این مقاله قصد داریم درباره خطای Minimize request size و حل آن در GTmetrix صحبت کنیم. رفع ارور Minimize request size برای افزایش سرعت سایت و بهینه سازی لود شما بسیار حائز اهمیت خواهد بود و از طرفی رفع این مشکل باعث رفع مشکلات دیگری هم خواهد شد که در ادامه به بررسی و تشریح آن میپردازیم.
نام: Minimize request size
نوع: محتواها
اولویت: بالا
میزان سختی: متوسط
میانگین امتیاز: 98%
معمولا در هر صفحه از طراحی سایت (طراحی سایت فروشگاهی، طراحی سایت شرکتی) تعدادی فایل (عکسها، استایلها، فایلهای جاوا اسکریپت و …) استفاده شده است ، برای دریافت هر کدام از این فایلها مرورگر مجبور است یک درخواست به سمت سرور ارسال کند ، رد و بدل این درخواستها توسط مرورگر و سرور نیاز به زمان زیادی دارد و اگر تعداد فایلها زیاد باشید به مراتب تعداد درخواستها بیشتر میشود و طبیعتا درگیری سرور هم بالا میرود، این موضوع شاید در سایتهای کم بازدید خیلی محسوس نباشد ولی وقتی بازدیدکننده سایت بالا باشد قطعا رفع ارور Minimize request size قدم بزرگی در بهینه سازی سایت چه در سمت سرور و چه در سمت کاربر خواهد کرد.
حال اگر با ارور Minimize request size در GTMetrix برخورد کردید نشان از این است که تعداد درخواستها برای بارگذاری عکسها، فایلهای CSS یا جاوا اسکریپت و… به سرور ارسال میگردد، باید کاهش پیدا کند. چنین خطاهایی مخصوصا در CMS های رایگان بسیار رایج است چرا که سازنده قالب برای بالا بردن انعطافپذیری قالب خود ناگزیر است استایلها و فایلهای جداگانهای تعریف کند مثلا برای راستچین کردن قالب، کدهای آن را در rtl.css قرار میدهد درحالی که در اکثر سایتهایی که طراحی سایت آن به شکل اختصاصی صورت میگیرد و دارای CMS اختصاصی هستند چنین مواردی کمتر دیده میشود البته این موضوع به معنی ضعف CMSهای رایگان نیست و با کمی مدیریت و بهینه سازی قالب میتوان این مشکل را به راحتی رفع نمود.
روشهای مختلفی را میتوان برای فایلها اجرا کرد تا ارور Minimize request size رفع شود، ادغام فایلها، ایجاد لود تنبل فایلها و یا حذف فایلهای اضافی از مهمترین روشها برای رفع این خطا است.
یکپارچه سازی تصاویر و ادغام آنها یکی از مهمترین فاکتورها در بهبود خطای Minimize request size است. یکی از بهترین روشها برای ادغام تصاویر ٰcss sprites است و ما در مقاله رفع خطای Combine images using CSS sprites به تشریح درباره این خطا صبحت کردیم و پیشنهاد میشود برای رفع ارور Minimize request size مقاله اشاره شده را حتما بخوانید.
همچنین شما میتوانید از لود تنبل برای عکسها (Images Lazy Loading) نیز استفاده کنید تا تعداد درخواستهای همزمان نیز به شدت کاهش یابد، روش Lazy Load اگر برای عکسها فعال شوید به این شکل است که کاربرها صرفا عکسهایی را لود میکنند که در صفحه مانیتور آنها قابل مشاهده است و مثلا عکسهای موجود در پایین سایت را در مرورگر خود لود نمیکنند مگر با اسکرول به سمت پایین صفحه بروند و آن زمان درخواست برای بارگذاری عکس به سمت سرور ارسال میشود، روش لود تنبل باعث کاهش چشمگیری از درخواستهای اولیه برای لود یک صفحه میشود. برای فعالسازی این قابلیت در سایت خود کافی است بسته به نوع کدنویسی و CMS خود در گوگل جستجو کنید. مثلا lazy load Plugin WordPress یا lazy load Plugin Joomla یا اگر CMS اختصاصی دارید براساس نوع زبان نوشته شده سایت خود جستجو را انجام دهید مثلا lazy load PHP Example یا lazy load ASP.NET MVC
روشهایی مشابه همانند عکس برای فایلهای CSS و JS نیز وجود دارد اگر از CMS اختصاصی استفاده میکنید بهترین است به طراح سایت خود این موضوع را به اشتراک بگذارید و از او بخواهید برای رفع این خطا اقدام کند ولی اگر از CMSهای رایگان استفاده میکنید افزونه های مختلفی برای یکپارچه سازی و ادغام فایل های سایت شما وجود دارد. افزونه وردپرس Autoptimize جدا از رفع ارور Minify CSS ، رفع ارور Minify JavaScript و همچنین رفع ارور Minify HTML، خطای Minimize request size را هم میتواند برطرف کند، این افزونه با ادغام کردن فایلهای CSS با هم و همینطور ادغام کردن فایلهای JS با هم باعث کاهش تعداد این فایلها شده و در نتیجه باعث کاهش تعداد درخواستها هم نیز میشود. البته باید توجه داشته باشید که بعد از فعالسازی این امکان سایت شما ظاهر خود را نگهداشته باشد چرا که گاهی ممکن است ادغام فایلها باعث تداخل و بهمریختی سایت شود.افزونه وردپرس WP Rocket نیز تمام امکانات افزونه Autoptimize را نیز دارد بعلاوه میتواند حالت لود تنبل را برای عکسها نیز محیا کند. یکی دیگر از روشهای کاهش درخواست و برای رفع مشکل Minimize request size استفاده از اتریبیوتهای defer و یا async است.
روش سوم که شاید راحتترین روش برای رفع ارور Minimize request size باشد حذف فایلهای اضافه است، شما باید به خوبی سایت خود را بشناسید و بدانید فلان فایل برای چه عملی در صفحات فراخوانی میشود و سعی کنید فقط پلاگینهایی را نصب کنید که لازم دارید، هر چه تعداد پلاگینهای موجود در سایت شما کمتر باشد لود سایت شما بهتر خواهد بود چرا که فایلهای کمتری در مرورگر لود میشود و از طرفی سرور هم کمتر درگیر میشود. سعی کنید در ساخت سایت خود از یک نوع فونت استفاده کنید و از فونتهای مختلف که باعث لود اضافه میشود پرهیز کنید.
اگر توجه کرده باشید طبق عکس زیر میتوانید به جای ایجاد فایل جاوااسکریپت خارجی، به روش inline از آنها استفاده نمایید که باعث کاهش تعداد درخواست یا همان Minimize request size میشود، البته توجه داشته باشید که باید یک سری شرایط را رعایت نمایید، برای اینکه این روش را به شکل اصولی برای فایلهای CSS و JS و حتی عکسها انجام دهید.
در این مقاله قصد داریم درباره خطای Minify HTML و حل آن در GTmetrix صحبت کنیم. البته رفع خطای Minify HTML تاثیر ناچیزی در سرعت سایت خواهد داشت برخلاف دو خطای Minify CSS و Minify JavaScript که تاثیر بالایی در افزایش سرعت سایت دارند، برهرحال خواندن مقاله صرف از هر نتیجهای برای شما مفید خواهد بود.
نام: Minify HTML
نوع: مربوط به HTML
اولویت: کم
میزان سختی: ساده
میانگین امتیاز: 98%
عبارت Minify در روند بهینهسازیسایت به معنای طراحی سایت با فایلهای حجم پایین است. هدف از Minify کردن از بین بردن فضاهای خالی در بین کدها و همچنین کامنتهای بین کدها است. خطها و کاراکترهای غیرضروری در سورس کدهای شما را در جهت بهینه سازی سرعت سایت از بین میبرد. معمولا از این روش برای فایلهایی که سمت کاربر ارسال میشود، استفاده میکنند، فایلهایی از قبیل HTML ، CSS و جاواسکریپت. توجه داشته باشید که شما میتوانید فایلهای PHP را Minify کنید ولی PHP زبان برنامه نویسی سمت سرور است و Minify کردن آن تاثیری در بالا بردن سرعت سایت در سمت مرورگر کاربر ندارد.
عمل اصلی که در ٰMinify انجام میگیرد فشرده سازی فایلها سمت کاربر است و مزیت آشکار این سریعتر لود شدن فایلها و در نتیجه افزایش سرعت سایت است. نکته مهمی که باید به آن اشاره کنیم این است که عمل Minify کردن منابع (فایلها) جدا از اینکه باعث بهبود تجربه کاربری (تجربه کاربری چیست) میشود موتورهای جستجو هم چنین فایلهایی با حجم کمتر را بیشتر دوست دارند.
اگر طراحی سایت (طراحی سایت شرکتی، طراحی سایت فروشگاهی) شما استاتیک است یعنی دارای محتوای ثابت و بدون CMS است میتوانید از سایتهای زیر برای Minify فایلهای HTML استفاده نمایید.
مزیت وب سایت minifycode در این است که جدا از minify کردن فایلهای HTML میتواند فایلهای CSS و JavaScript را هم Minify کند.
برای Minify HTML در ساخت سایتهای وردپرس کافی است یکی از پلاگینهای زیر را نصب کنید تا عمل Minify صورت بگیرد.
پیشنهاد ما استفاده از افزونه Autoptimize یا WP Rocket است و میتوانید جدا از minify کردن فایلهای HTML سایر فایلهای مهم همانند CSS و JavaScript را فشرده سازی کنید.
اگر از CMS جوملا استفاده مینمایید میتوانید از پلاگینهای زیر بهره ببرید.
برخی از CDN ها همانند Cloudflare تظیماتی مبنی بر فشرده سازی فایلها زیر دارند، اگر طراحی سایت شما بر روی چنین CDNهایی هست میتوانید از این تنظیمات در جهت بهینه سازی سایت خود استفاده نمایید.
نتیجه کار Minify HTML را میتوانید بعد از Minify کردن در قالب یک عکس مشاهده کنید:
در این مقاله قصد داریم درباره مشکل Minify JavaScript و حل آن در GTmetrix صحبت کنیم.
نام: Minify JavaScript
نوع: مربوط به JavaScript
اولویت: بالا
میزان سختی: ساده
میانگین امتیاز: 87%
عبارت Minify در روند بهینهسازی سئو سایت به معنای طراحی سایت (طراحی سایت فروشگاهی، طراحی سایت شرکتی، قیمت طراحی سایت) با فایلهای حجم پایین است. هدف از Minify کردن از بین بردن فضاهای خالی در بین کدهااست. خطها و کاراکترهای غیرضروری در سورس کدهای شما را در جهت بهینه سازی سرعت سایت از بین میبرد. معمولا از این روش برای فایلهایی که سمتکاربر ارسال میشود، استفاده میکنند، فایلهایی از قبیل HTML ، CSS و جاواسکریپت. توجه داشته باشید که شما میتوانید فایلهای PHP را Minify کنید ولی PHP زبان برنامه نویسی سمت سرور است و Minify کردن آن تاثیری در بالا بردن سرعت سایت در سمت مرورگر کاربر ندارد.
عمل اصلی که در ٰMinify انجام میگیرد فشرده سازی فایلها سمت کاربر است و مزیت آشکار این سریعتر لود شدن فایلها و در نتیجه افزایش سرعت سایت است. نکته مهمی که باید به آن اشاره کنیم این است که عمل Minify کردن منابع (فایلها) جدا از اینکه باعث بهبود تجربه کاربری (تجربه کاربری چیست) میشود موتورهای جستجو هم چنین فایلهایی با حجم کمتر را بیشتر دوست دارند.
کمی دقیقتر درباره خطای Minify Javascript صحبت کنیم، به مثال زیر توجه کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | var currentTime = new Date(), hours = currentTime.getHours(), minutes = currentTime.getMinutes(); if (minutes < 10) { minutes = "0" + minutes; } var suffix = "AM"; if (hours >= 12) { suffix = "PM"; hours = hours - 12; } if (hours == 0) { hours = 12; } time = hours + ":" + minutes + " " + suffix; document.getElientById("time").innerHTML = time; |
اگر به کد بالا توجه کرده باشید برای درک بهتر کدنویسی از فضاهای خالی زیر استفاده شده است ولی زیبانویسی تاثیری برای موتورهای جستجو و مرورگرهاندارد. Minify شده یک فایل Javascript همانند زیر است:
1 | var currentTime=new Date,hours=currentTime.getHours(),minutes=currentTime.getMinutes();minutes<10&&(minutes="0"+minutes);var suffix="AM";hours>=12&&(suffix="PM",hours-=12),0==hours&&(hours=12),time=hours+":"+minutes+" "+suffix,document.getElientById("time").innerHTML=time; |
اگر دقت کرده باشید هر دو کدهای Javascript یک عمل را انجام میدهند ولی کد اولی فضای اضافه بیشتری نسبت به کد دومی دارد. حال که درک بهتری نسبت به Minify Javascript پیدا کردیم باید چگونه متوجه شویم که کدام فایلهای Javascript ما Minify شده است؟
پیدا کردن ارور Minify JavaScript نیز به سادگی تمام است، شما کافی است به یکی از ابزارهای تست سرعت سایت همانند Gtmetrix مراجعه کنید و اگر خطای Minify Javascript مشاهده کردید یک فایل برای دانلود خوده سایت Gtmetrix برای شما قرار میدهید که آن فایل Minify شده Javascript است و میتوانید دانلود کنید و در هاست آپلود کنید.
شما میتوانید از ابزارهای زیر برای فشرده سازی فایلها استفاده کنید به دین منظور وارد یکی از سایتهای زیر شوید و تمام کدهای فایل غیرفشردهJavaScript را کپی و در سایت مذکور Paste کنید و سپس گزینه فشرده سازی را کلیک نمایید تا فایل فشرده شده JavaScript یا همان Minify JavaScript را به شما بدهد و سپس در هاست خود آپلود کنید.
اگر از سیستم مدیریت محتوای وردپرس استفاده میکنید میتوانید از پلاگین رایگان Better WordPress Minify برای minify کردن فایلهای JS استفاده کنید. پلاگینهای جامع دیگر هم هستند که جدا از minify کردن انواع فایلها سمت کاربر، تنظیمات دیگری هم برای بالا بردن سرعت لود سایت در اختیار شما میدهند به عنوان مثال پلاگین رایگان WP Super Minifyهم minify کردن فایلهای سمت کاربر را انجام میدهد و هم نیز تنظیمات مختلف دیگر برای افزایش سرعت سایت شما در این پلاگین دیده میشود.
برخی از CDN ها همانند Cloudflare تظیماتی مبنی بر فشرده سازی فایلها زیر دارند، اگر سایت شما بر روی چنین CDNهایی هست میتوانید از این تنظیمات در جهت بهینه سازی سایت خود استفاده نمایید.
نتیجه کار Minify JavaScript:
نتیجه کار Minify JavaScript را میتوانید بعد از Minify کردن در قالب یک عکس مشاهده کنید:
توجه: گاهی ممکن است به دلایل مختلف بعد از Minify JavaSrcipt قالب سایت شکل ظاهری خود را از دست بدهد، بنابراین بعد از اعمال روشهای بالا حتما ظاهر سایت خود را بررسی کنید.
در این جلسه مقاله داریم درباره مشکل Minify CSS و حل اون در GTmetrix صحبت کنیم و ببینیم چطور میتونیم این مشکل را در کمتر از ۱۰ دقیقه در سایت پیدا و رفع کنیم.
نام: Minify CSS
نوع: مربوط به CSS
اولویت: بالا
میزان سختی: ساده
میانگین امتیاز: 94%
عبارت Minify در روند بهینه سازی سئو سایت به معنای طراحی سایت (طراحی سایت فروشگاهی، طراحی سایت شرکتی، قیمت طراحی سایت)با فایلهای حجم پایین است. هدف از Minify کردن از بین بردن فضاهای خالی در بین کدها نیز است. خطها و کاراکترهای غیرضروری در سورس کدهای شما را در جهت بهینه سازی سرعت سایت از بین میبرد. معمولا از این روش برای فایلهایی که سمت کاربر ارسال میشود، استفاده میکنند، فایلهایی از قبیل HTML ، CSS و جاواسکریپت. توجه داشته باشید که شما میتوانید فایلهای PHP را Minify کنید ولی PHP زبان برنامه نویسی سمت سرور است و Minify کردن آن تاثیری در بالا بردن سرعت سایت در سمت مرورگر کاربر ندارد.
عمل اصلی که در ٰMinify انجام میگیرد فشرده سازی فایلها سمت کاربر است و مزیت آشکار این سریعتر لود شدن فایلها و در نتیجه افزایش سرعت سایت است. نکته مهمی که باید به آن اشاره کنیم این است که عمل Minify کردن منابع (فایلها) جدا از اینکه باعث بهبود تجربه کاربری (تجربه کاربری چیست) میشود موتورهای جستجو هم چنین فایلهایی با حجم کمتر را بیشتر دوست دارند.
کمی دقیقتر درباره خطای Minify CSS صحبت کنیم، به مثال زیر توجه کنید:
اگر به کد بالا توجه کرده باشید برای درک بهتر کدنویسی از فضاهای خالی زیر استفاده شده است ولی زیبانویسی تاثیری برای موتورهای جستجو و مرورگرها ندارد. Minify شده یک فایل CSS همانند زیر است:
اگر دقت کرده باشید هر دو کدهای CSS یک عمل را انجام میدهند ولی کد اولی فضای اضافه بیشتری نسبت به کد دومی دارد. حال که درک بهتری نسبت به Minify CSS پیدا کردیم باید چگونه متوجه شویم که کدام فایلهای CSS ما Minify شده است؟
پیدا کردن ارور Minify CSS نیز به سادگی تمام است، شما کافی است به یکی از ابزارهای تست سرعت سایت همانند Gtmetrix مراجعه کنید و اگر خطای Minify CSS همانند شکل زیر مشاهده کردید با با دقت ادامه مقاله ما را بخوانید.
وقتی سایت Gtmetrix خطای minify CSS را به شما نشان میدهد فایل فشرده آن را هم قرار میدهد، همانند عکس زیر:
فایل فشرده شده را میتوانید دانلود کنید و به دایرکتوری فایل غیرفشرده رفته و فایل فشرده را جایگزین فایل غیرفشرده نمایید.
شما میتوانید از ابزارهای زیر برای فشرده سازی فایلها استفاده کنید به دین منظور وارد یکی از سایتهای زیر شوید و تمام کدهای فایل غیرفشرده CSS را کپی و در سایت مذکور Paste کنید و سپس گزینه فشرده سازی را کلیک نمایید تا فایل فشرده شده CSS یا همان Minify CSS را به شما بدهد و سپس در هاست خود آپلود کنید.
اگر از سیستم مدیریت محتوای وردپرس استفاده میکنید میتوانید از پلاگین رایگان Better WordPress Minify برای minify کردن فایلهای CSS استفاده کنید. سایر افزونههای دیگر هم وجود دارند به عنوان مثال یکی از کارهای پلاگین رایگان WP Super Minify که میتواند انجام دهد minify کردن فایلهای سمت کاربر هست این پلاگین تنظیمات اضافهتری هم برای بهینه سازی سرعت سایت در اختیار شما قرار میدهد. ولی اگر شما فقط مشکل ارور minify CSS را دارید میتوانید از پلاگین اولی یا روشهای اول و دوم استفاده نمایید.
برخی از CDN ها همانند Cloudflare تظیماتی مبنی بر فشرده سازی فایلها زیر دارند، اگر سایت شما بر روی چنین CDNهایی هست میتوانید از این تنظیمات در جهت بهینه سازی سایت خود استفاده نمایید.
نتیجه کار:
نتیجه کار Minify CSS نیز باید به شکل زیر باشد: