مرتضی شجاعی || Morteza Shojaei
مرتضی شجاعی || Morteza Shojaei
خواندن ۶ دقیقه·۵ سال پیش

چک لیست افزایش سرعت وبسایت

سلام

درمورد هر وبسایت حرفه ای یا هر وب اپلیکیشنی که بخوایم صحبت کنیم سرعت سایت یکی مهم ترین فاکتور های برای ارزیابی حساب میشه و اگر دارین این مطلب رو میخونید پس به نظرم لازم نیست درمورد اهمیت سرعت سایت در موارد مختلف صحبت کنم.


website speed
website speed



پس یه راست میرم سراغ اصل مطلب و موارد مهم در این زمینه رو به صورت تیتر وار و با یک توضیح کوچیک ذکر میکنم:


1 . استاندارد کد بزنید

از هر تکنولوژی ای که برای وبسایت یا وب اپتون استفاده میکنید مهم ترین نکته برای سرعت وبسایتتون اینه که کد های وبساییتون استاندارد باشه و کار های اضافه انجام ندین و با توجه به لایف سایکل های تکنولوژی تون حواستون به سرعت باشه.

(البته این مورد چون خیلی به تکنولوژی وبسایت یا وب اپتون داره توضیحش یکم سخته و بسته به کار خودتون باید تحقیق کنید)

2.طراحی رابط کاربری مناسبی داشته باشید

در هنگام طراحی رابط کاربری وبسایت خود حتما سرعت وبسایت رو هم در نظر داشته باشید و دیتا های خیلی زیادی در یک صفحه قرار ندهید (البته بیشتر منظور دیتا های داینامیک هستش)

3.تا حد امکان از دیتای استاتیک استفاده کنید

به داده هایی که از سمت سرور می آیند و داخل خود کد قرار ندارند دیتای استاتیک میگویند.سعی کنید غیر از موارد واقعا مهم از دیتای استاتیک استفاده کنید.

4.هرچیز غیر ضروری را حذف کنید

اگر عکس یا هر داده ای در پروژتون وجود داره که اصلا ازش استفاده نکردید یا قبلا قرار بوده استفاده کنید و دیگه لازمش ندارید لزومی نداره داخل پروژه تون باشه

5.کدهای css ای که لازم ندارید رو پاک کنید

دقت کنید که اگر کدی قبلا نوشتید که الان دیگه بود و نبودش مهم نیست پس باید حذف بشه:)

6.تا حد امکان ریدایرکت ها رو کاهش بدین

7.فایل ها html,css,javascript خود را minify کنید

حتما این فایل هارو minify ینی داخل فایل خط فاصله و فضای خالی و .. نباشه برای اینکار میتونید به لینک زیر مراجعه کنید :

http://minifycode.com/

یا درمورد نحوه minify کردن در تکنولوژی مورد استفادتون تحقیق کنید(برای cms های مختلف پلاگین های زیادی وجود داره).


8.تصاویرتان باید در همان سایزی باشند که قرار است نمایش داده شود

اگر شما عکسی داشته باشید که برای مثال 1000px*600px باشد اما قرار است 100px*60px نمایش داده شود حتما باید آن را اول به 100px*60px تبدیل کنید سپس از آن استفاده کنید.

9.حجم تصاویرتان را کاهش دهید

به هیج وجه از تصاویر با حجم بالا استفاده نکنید چرا که برروی سرعت وبسایت شما تاثیر مستقیم دارد.

برای کاهش حجم تصاویرتان می توانید از سایت زیر استفاده کنید:

https://tinypng.com/

10.هاست و یا سرور با سرعت بالا خریداری کنید

با توجه به اینکه این مورد تاثیر خیلی زیادی دارد حتما بودجه مناسبی برای آن در نظر بگیرید.

سعی کنید وب سرورتان در صورت امکان(فقط اگر با این موضوع مشکلی ندارید) لایت اسپید باشد.


11.از CDN استفاده کنید

درصورت امکان میتوانید از cdn ها یا همان content delivery system ها استفاده کنید برای اینکه بدانید کار cdn چیست به یکی از لینک های زیر مراجعه کنید:

توضیح فارسی

توضیح انگلیسی

12.از یک cache مناسب در سمت سرور استفاده کنید

با توجه به این که از چه تکنولوژی استفاده میکنیدمیتوانید یک cache مناسب پیاده سازی کنید تا سرور شما هر بار که یک کاربر یک دیتا را درخواست می دهد زیر بار نرود (برای cms هایی همچون وردپرس پلاگین های زیادی همچون W3 total cache وجود دارند)


13.از lazy loading برای تصاویر خود استفاده کنید

با این روش وقتی کاربر وارد وبسایت شما می شود تمام تصاویر آن صفحه بارگیری نمی شود و وقتی کاربر اسکرول کرده و به آن تصویر نزدیک می شود آن عکس برای کاربر بارگیری میشود


14. تا حد امکان استفاده از Third Party Librarie را کاهش دهید

تا جایی که می توانید موارد را خودتان پیاده سازی کنید و از کتابخانه ها استفاده نکنید تا فایل حجیم آن ها سرعتتان را کاهش ندهند.(در صورت استفاده از یک کتابخانه حجم آن را بررسی کنید)


15.از فشرده سازی gzip استفاده کنید

مزیت استفاده از Gzip compression  این است که فشرده سازی فایل های HTML و CSS شما با gzip معمولا حدود پنجاه تا هفتاد درصد حجم فایل را ذخیره می کند.

فعال سازی gzip در وب سرور های مختلف دستورالعمل های مختلفی دارند.


16.عدم استفاده یا کاهش استفاده از منابع سایر وبسایت ها

اگر چیزی در سایت شما از منابع (برای مثال api آنها) سایت های دیگر استفاده می کند سرعت آن سایت های دیگر برروی سرعت سایت شما تاثیر خواهد گذاشت.

17.از خالی بود attribute های html بپرهیزید

برای مثال کدهای مشابه کد زیر نباید داخل کد های وبسایت شما وجود داشته باشد:

<html manifest=&quot&quot> <a src=&quot&quot> <object data=&quot&quot>


18.کاهش DNS lookup ها

اگر سایت شما به host های مختلفی ریکوست بزند برای هر کدام از آن ها 20 تا 120 میلی ثانیه زمان لازم است تا ip address آن ها به دست آید.پس بهتر است به تعداد host محدودی ریکوست بزنید


19. از expires header ها استفاده کنید

استفاده از این مورد باعث می شود که مرورگر بفهمد که یک فایل را کی از سرور و کی از cache مرورگر بگیرد.


20. استفاده کردن از preloading

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

برای مثال کد زیر را ببینید:

<head> <link rel=&quotpreload&quot href=&quotstyle.css&quot as=&quotstyle&quot> <link rel=&quotstylesheet&quot href=&quotstyle.css&quot> </head>

21. استفاده کردن از DNS prefetching

این مورد به مرورگر می گوید که در آینده یک سری منابع از host غیر از هاست ما مورد نیاز هست.اینکار باعث میشود که در آینده ما به DNS lookup و (اتلاف وقت) نیازی نداشته باشیم و سرعت سایت بالا برود. مثال DNS prefetching را میتونید در کد زیر ببینید:

<link rel=&quotdns-prefetch&quot href=&quot//example.com&quot>


22. استفاده کردن از prefetching

این مورد شبیه preloading است اما prefetching میتواند توسط مرورگر نادیده گرفته شود یعنی ممکن است ما گفته باشیم که یک فونت با حجم زیاد را prefetch کن اما مرورگر اینکار را برای یک کاربر با اتصال اینترنت ضعیف انجام نمیدهد چرا که درکل به نفعش نیست


23. استفاده کردن از Prerendering برای صفحات

اگر در یک صفحه مطمئن هستید که کاربر به صفحه خاص دیگری خواهد رفت میتوانید آن صفحه را قبل از اینکه کاربر کلیک کند Prerender کنید یعنی درواقع به طور پنهان کل آن صفحه را رندر کنید تا به سرعت قابل دسترسی باشد. کد نمونه:

<link rel=&quotprerender&quot href=&quothttps://css-tricks.com&quot>



خب تا اینجا به یک سری موارد اشاره کردیم اما یک نکته مهم وجود دارد:


اگر که نمیتونی اون رو اندازه گیری کنی پس نمی تونی ارتقاش بدی !


برای اندازه گیری و بررسی سرعت وبسایتتون می تونید از لینک های زیر کمک بگیرید



خب در افزایش سرعت وبسایت یک نکته خیلی مهم دیگه هم وجود داره:


افزایش سرعت وبسایت شما تا یک حدی به نفع شما خواهد بود و بعد از آن باعث اتلاف وقت شما خواهد شد چرا که ممکن است تلاش خیلی زیادی بکنید و فقط بتوانید چند میلی ثانیه افزایش سرعت داشته باشید.یا ممکنه شما افزایش سرعت ساییتون رو فدای یک سری ویژگی ها بکنید و از خیلی چیز ها خودتون محروم کنید.


پس پیشنهاد من برای شما اینه که:


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


درضمن من مرتضی شجاعی هستم و اینجا درمورد چیز هایی که یاد میگیرم مینویسم و ادعایی هم در مورد نوشته هام ندارم و میدونم داخلش اشتباهاتی وجود داره و ممنون میشم در اصلاحشون به من کمک کنید.
اگر دوست داشتید میتونید من رو دنبال کنید. :))))
وبافزایش سرعت وبسایتبرنامه نویسی وب
من مرتضی شجاعی هستم برنامه نویس وب :) اینجا از آموخته هام براتون می نویسیم در مورد هرچیزی. وبسایت من: https://mortezashojaei.github.io
شاید از این پست‌ها خوشتان بیاید