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

سلام درمورد هر وبسایت حرفه ای یا هر وب اپلیکیشنی که بخوایم صحبت کنیم سرعت سایت یکی مهم ترین فاکتور های برای ارزیابی حساب میشه و اگر دارین این مطلب رو میخونید پس به نظرم لازم نیست درمورد اهمیت سرعت سایت در موارد مختلف صحبت کنم.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://gtmetrix.com/https://developers.google.com/speed/pagespeed/insights/https://www.pingdom.com/خب در افزایش سرعت وبسایت یک نکته خیلی مهم دیگه هم وجود داره:افزایش سرعت وبسایت شما تا یک حدی به نفع شما خواهد بود و بعد از آن باعث اتلاف وقت شما خواهد شد چرا که ممکن است تلاش خیلی زیادی بکنید و فقط بتوانید چند میلی ثانیه افزایش سرعت داشته باشید.یا ممکنه شما افزایش سرعت ساییتون رو فدای یک سری ویژگی ها بکنید و از خیلی چیز ها خودتون محروم کنید.پس پیشنهاد من برای شما اینه که:اگر تونستید ساییتون رو به یک سرعت مطلوب و قابل قبول برسونید در این مورد وسواس به خرج ندید تا از سایر موارد مهم درمورد وبسایتتون غافل نشیددرضمن من مرتضی شجاعی هستم و اینجا درمورد چیز هایی که یاد میگیرم مینویسم و ادعایی هم در مورد نوشته هام ندارم و میدونم داخلش اشتباهاتی وجود داره و ممنون میشم در اصلاحشون به من کمک کنید.اگر دوست داشتید میتونید من رو دنبال کنید. :))))