äžçäžã®ãŠãŒã¶ãŒã«æé©ãªäœéšãæäŸããããããªãœãŒã¹å¶çŽã«çŠç¹ãåœãŠãããã³ããšã³ãããã©ãŒãã³ã¹ããžã§ããã®èšå®ã»ç®¡çæ¹æ³ã解説ããŸãã
ã°ããŒãã«ãªãŒãã£ãšã³ã¹åãããã³ããšã³ãããã©ãŒãã³ã¹ããžã§ããïŒãªãœãŒã¹å¶çŽ
仿¥ã®ããžã¿ã«ç°å¢ã«ãããŠããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ã¯æãéèŠã§ããèªã¿èŸŒã¿ã®é ããŠã§ããµã€ãã¯ããŠãŒã¶ãŒã®äžæºããšã³ã²ãŒãžã¡ã³ãã®äœäžããããŠæçµçã«ã¯åçã®æå€±ã«ã€ãªããå¯èœæ§ããããŸããã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ãã¿ãŒã²ããã«ããããžãã¹ã«ãšã£ãŠãå°åã«ãã£ãŠç°ãªããããã¯ãŒã¯ç¶æ³ãããã€ã¹ã®æ§èœããŠãŒã¶ãŒã®æåŸ ã®ãããããã³ããšã³ãã®ããã©ãŒãã³ã¹æé©åã¯ããã«éèŠã«ãªããŸãããã®ã¬ã€ãã§ã¯ãããã³ããšã³ãã®ããã©ãŒãã³ã¹ããžã§ããã®æŠå¿µããç¹ã«ãªãœãŒã¹ã®å¶çŽã«çŠç¹ãåœãŠãŠæ¢æ±ããäžçäžã®ãŠãŒã¶ãŒã«æé©ãªäœéšãæäŸããããã®å®è·µçãªæŠç¥ãæäŸããŸãã
ããã³ããšã³ãããã©ãŒãã³ã¹ããžã§ãããšã¯ïŒ
ããã³ããšã³ãããã©ãŒãã³ã¹ããžã§ãããšã¯ããŠã§ããµã€ãã®èªã¿èŸŒã¿æéãå šäœçãªããã©ãŒãã³ã¹ã«åœ±é¿ãäžããæ§ã ãªææšã«å¯ŸããŠããããããå®çŸ©ãããäžé£ã®å¶éã®ããšã§ããããã¯è²¡åäºç®ã®ãããªãã®ã ãšèããŠãã ããããã ãããéã®ä»£ããã«ã次ã®ãããªãªãœãŒã¹ãäºç®ãšããŠå²ãåœãŠãŸãã
- ããŒãžãŠã§ã€ãïŒ ããŒãžäžã®ãã¹ãŠã®ã¢ã»ããïŒHTMLãCSSãJavaScriptãç»åããã©ã³ããªã©ïŒã®åèšãµã€ãºã
- HTTPãªã¯ãšã¹ãæ°ïŒ ãã©ãŠã¶ãããŒãžãã¬ã³ããªã³ã°ããããã«ããŠã³ããŒãããå¿ èŠãããåã ã®ãã¡ã€ã«ã®æ°ã
- èªã¿èŸŒã¿æéïŒ ããŒãžãã€ã³ã¿ã©ã¯ãã£ãã«ãªããŸã§ã«ãããæéã
- æåã®1ãã€ããŸã§ã®æéïŒTTFBïŒïŒ ãã©ãŠã¶ããµãŒããŒããæåã®1ãã€ãã®ããŒã¿ãåä¿¡ãããŸã§ã«ãããæéã
- First Contentful Paint (FCP)ïŒ æåã®ã³ã³ãã³ãïŒããã¹ããç»åãªã©ïŒãç»é¢ã«æç»ããããŸã§ã®æéã
- Largest Contentful Paint (LCP)ïŒ æå€§ã®ã³ã³ãã³ãèŠçŽ ïŒç»åãåç»ããããã¯ã¬ãã«ã®ããã¹ãèŠçŽ ïŒãç»é¢ã«æç»ããããŸã§ã®æéã
- Cumulative Layout Shift (CLS)ïŒ ããŒãžã®èŠèŠçãªå®å®æ§ã枬å®ããäºæããªãã¬ã€ã¢ãŠãã®ãããå®éåããŸãã
- JavaScriptå®è¡æéïŒ ã¡ã€ã³ã¹ã¬ããã§JavaScriptã³ãŒãã®å®è¡ã«è²»ããããæéã
æç¢ºãªããã©ãŒãã³ã¹ããžã§ãããèšå®ãããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ããããã®ããžã§ããã«å¯ŸããŠç¶ç¶çã«ç£èŠããããšã§ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«æªåœ±é¿ãäžããåã«ãæœåšçãªããã«ããã¯ãç©æ¥µçã«ç¹å®ãã察åŠããããšãã§ããŸãã
ãªãã°ããŒãã«ãªãŒãã£ãšã³ã¹ã«ãšã£ãŠãªãœãŒã¹å¶çŽãéèŠãªã®ã
ãªãœãŒã¹å¶çŽãšã¯ã以äžã®ãããªèŠå ã«ãã£ãŠèª²ãããå¶éãæããŸãã
- ãããã¯ãŒã¯ç¶æ³ïŒ ã€ã³ã¿ãŒãããã®é床ãšä¿¡é Œæ§ã¯äžçäžã§å€§ããç°ãªããŸããäžéšã®å°åã®ãŠãŒã¶ãŒã¯äœéãª2GãŸãã¯3Gæ¥ç¶ã§ããäžæ¹ãä»ã®ãŠãŒã¶ãŒã¯é«éãªå ãã¡ã€ããŒã€ã³ã¿ãŒããããå©çšããŠããŸãã
- ããã€ã¹æ§èœïŒ ãŠãŒã¶ãŒã¯ãã€ãšã³ãã®ã¹ããŒããã©ã³ãããåŠçèœåãã¡ã¢ãªãéãããå€ãæ§èœã®äœãããã€ã¹ãŸã§ãå¹ åºãããã€ã¹ã§ãŠã§ããµã€ãã«ã¢ã¯ã»ã¹ããŸãã
- ããŒã¿ã³ã¹ãïŒ äžéšã®å°åã§ã¯ã¢ãã€ã«ããŒã¿ãé«äŸ¡ã§ããããŠãŒã¶ãŒã¯æ¶è²»ããããŒã¿éã«éåžžã«ææã§ãã
ãããã®ãªãœãŒã¹å¶çŽãç¡èŠãããšããªãŒãã£ãšã³ã¹ã®ããªãã®éšåã«ãšã£ãŠæšæºä»¥äžã®ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«ã€ãªããå¯èœæ§ããããŸããäŸãã°ãåç±³ã®é«éæ¥ç¶ã§è¿ éã«èªã¿èŸŒãŸãããŠã§ããµã€ãããæ±åã¢ãžã¢ã®äœéãªã¢ãã€ã«æ¥ç¶ã®ãŠãŒã¶ãŒã«ãšã£ãŠã¯ãéåžžã«é ãæãããããããããŸããã
以äžã«ããã€ãã®äž»èŠãªèæ ®äºé ãæããŸãã
- 倧ããªç»åãµã€ãºïŒ ç»åã¯ããŒãžãŠã§ã€ãã«æã倧ããè²¢ç®ããããšãå€ãã§ããæé©åãããŠããªãç»åãæäŸãããšãç¹ã«äœéæ¥ç¶ã®ãŠãŒã¶ãŒã«ãšã£ãŠãèªã¿èŸŒã¿æéãå€§å¹ ã«å¢å ããå¯èœæ§ããããŸãã
- éå°ãªJavaScriptïŒ è€éãªJavaScriptã³ãŒãã¯ãç¹ã«æ§èœã®äœãããã€ã¹ã§ã¯ãããŠã³ããŒããè§£æãå®è¡ã«æéããããããšããããŸãã
- æé©åãããŠããªãCSSïŒ å€§ããªCSSãã¡ã€ã«ãèªã¿èŸŒã¿æéã«åœ±é¿ãäžããå¯èœæ§ããããŸãã
- å€ãããHTTPãªã¯ãšã¹ãïŒ åHTTPãªã¯ãšã¹ãã¯ãªãŒããŒãããã远å ããããŒãžã®èªã¿èŸŒã¿ãé ãããŸãã
- ãŠã§ããã©ã³ãã®èªã¿èŸŒã¿ïŒ è€æ°ã®ãŠã§ããã©ã³ããããŠã³ããŒããããšãããã¹ãã®ã¬ã³ããªã³ã°ãå€§å¹ ã«é ããå¯èœæ§ããããŸãã
ããã³ããšã³ãããã©ãŒãã³ã¹ããžã§ããã®èšå®ïŒã°ããŒãã«ãªèŠç¹
çŸå®çã§å¹æçãªããã©ãŒãã³ã¹ããžã§ãããèšå®ããã«ã¯ãã¿ãŒã²ãããªãŒãã£ãšã³ã¹ãšãã®ç¹å®ã®ãªãœãŒã¹å¶çŽãèæ ®ããå¿ èŠããããŸãã以äžã«æ®µéçãªã¢ãããŒãã瀺ããŸãã
1. ãªãŒãã£ãšã³ã¹ãçè§£ãã
ãŸããã¿ãŒã²ãããªãŒãã£ãšã³ã¹ã®äººå£çµ±èšãå°ççãªå Žæãããã€ã¹ã®äœ¿çšãã¿ãŒã³ãçè§£ããããšããå§ããŸããGoogle Analyticsã®ãããªåæããŒã«ã䜿çšããŠã以äžã®ããŒã¿ãåéããŸãã
- ããã€ã¹ã¿ã€ãïŒ ãªãŒãã£ãšã³ã¹ã䜿çšããæãäžè¬çãªããã€ã¹ïŒãã¹ã¯ããããã¢ãã€ã«ãã¿ãã¬ããïŒãç¹å®ããŸãã
- ãã©ãŠã¶ïŒ æã人æ°ã®ãããã©ãŠã¶ã決å®ããŸãã
- ãããã¯ãŒã¯éåºŠïŒ ç°ãªãå°ççå°åã«ããããããã¯ãŒã¯é床ãåæããŸãã
ãã®ããŒã¿ã¯ããµããŒãããå¿ èŠãããããã€ã¹ãšãããã¯ãŒã¯ç¶æ³ã®ç¯å²ãçè§£ããã®ã«åœ¹ç«ã¡ãŸãã äŸãã°ããªãŒãã£ãšã³ã¹ã®å€§éšåãåç±³ã®3Gãããã¯ãŒã¯ã§å€ãAndroidããã€ã¹ã䜿çšããŠããå Žåãããã©ãŒãã³ã¹ã®æé©åãããç©æ¥µçã«è¡ãå¿ èŠããããŸãã
2. ããã©ãŒãã³ã¹ç®æšãå®çŸ©ãã
ããªãã®ããã©ãŒãã³ã¹ç®æšã¯äœã§ããïŒ ç¹å®ã®èªã¿èŸŒã¿æéãFCPããŸãã¯LCPãéæãããã§ããïŒ ç®æšã¯éå¿çã§ãããªããéæå¯èœã§ããã¹ãã§ããªãŒãã£ãšã³ã¹ã®ãªãœãŒã¹å¶çŽãèæ ®ã«å ¥ããå¿ èŠããããŸãã以äžã®äžè¬çãªã¬ã€ãã©ã€ã³ãæ€èšããŠãã ããã
- èªã¿èŸŒã¿æéïŒ ç¹ã«ã¢ãã€ã«ããã€ã¹ã§ã¯ã3ç§ä»¥äžã®ããŒãžèªã¿èŸŒã¿æéãç®æããŸãã
- FCPïŒ 1ç§ä»¥äžã®FCPãç®æããŸãã
- LCPïŒ 2.5ç§ä»¥äžã®LCPãç®æããŸãã
- CLSïŒ CLSã0.1æªæºã«ä¿ã¡ãŸãã
- ããŒãžãŠã§ã€ãïŒ ç¹ã«ã¢ãã€ã«ãŠãŒã¶ãŒåãã«ã¯ãç·ããŒãžãŠã§ã€ãã2MBæªæºã«ä¿ã€ããã«ããŸãã
- HTTPãªã¯ãšã¹ãæ°ïŒ HTTPãªã¯ãšã¹ãã®æ°ãã§ããã ãæžãããŸãã
- JavaScriptå®è¡æéïŒ JavaScriptã®å®è¡æéãæå°éã«æãã0.5ç§æªæºãç®æããŸãã
3. ããžã§ããå€ãèšå®ãã
ãªãŒãã£ãšã³ã¹åæãšããã©ãŒãã³ã¹ç®æšã«åºã¥ããŠãåææšã«ç¹å®ã®ããžã§ããå€ãèšå®ããŸããWebPageTestãGoogleã®Lighthouseã®ãããªããŒã«ã¯ããŠã§ããµã€ãã®çŸåšã®ããã©ãŒãã³ã¹ã枬å®ããæ¹åã®äœå°ãããé åãç¹å®ããã®ã«åœ¹ç«ã¡ãŸããç¹å®ã®ã³ã³ãã³ããæ©èœã«åºã¥ããŠãç°ãªãããŒãžã¿ã€ãïŒäŸïŒããŒã ããŒãžã補åããŒãžãããã°èšäºïŒããšã«ç°ãªãããžã§ãããäœæããããšãæ€èšããŠãã ããã
ããžã§ããäŸïŒ
ææš | ããžã§ããå€ |
---|---|
ããŒãžãŠã§ã€ãïŒã¢ãã€ã«ïŒ | < 1.5MB |
ããŒãžãŠã§ã€ãïŒãã¹ã¯ãããïŒ | < 2.5MB |
FCP | < 1.5ç§ |
LCP | < 2.5ç§ |
CLS | < 0.1 |
JavaScriptå®è¡æé | < 0.75ç§ |
HTTPãªã¯ãšã¹ãæ° | < 50 |
ãããã¯åãªãäŸã§ããããªãã®ç¹å®ã®ããžã§ããå€ã¯ãåã ã®ããŒãºãšç¶æ³ã«ãã£ãŠç°ãªããŸããæåã¯ããç·©ãããªããžã§ããããå§ãããŠã§ããµã€ããæé©åããã«ã€ããŠåŸã ã«å³ããããŠããããšããã°ãã°æå¹ã§ãã
ãªãœãŒã¹å¶çŽãæé©åããããã®æŠç¥
ããã©ãŒãã³ã¹ããžã§ãããèšå®ããããæ¬¡ã®ã¹ãããã¯ãŠã§ããµã€ãã®ãªãœãŒã¹ãæé©åãããããã®å¶éå ã«åããããã®æŠç¥ã宿œããããšã§ãã以äžã«ããã€ãã®å¹æçãªææ³ã玹ä»ããŸãã
1. ç»åã®æé©å
ç»åã¯ããŒãžãŠã§ã€ãã«æã倧ããè²¢ç®ããããšãå€ãã§ããç»åã®æé©åã¯ãç¹ã«äœéæ¥ç¶ã®ãŠãŒã¶ãŒã«ãšã£ãŠããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ãåäžãããããã«äžå¯æ¬ ã§ãã
- é©åãªãã©ãŒããããéžæããïŒ ïŒãµããŒããããŠããå ŽåïŒJPEGãPNGãšæ¯èŒããŠåªããå§çž®çãšå質ãæã€WebPã䜿çšããŸããå¯èœã§ããã°ãããã«åªããå§çž®çã®AVIFã䜿çšããŸããå€ããã©ãŠã¶ã«ã¯ãJPEGãPNGã®ãããªãã©ãŒã«ããã¯ãã©ãŒããããæäŸããŸãã
- ç»åãå§çž®ããïŒ TinyPNGãImageOptimããŸãã¯Squooshã®ãããªç»åå§çž®ããŒã«ã䜿çšããŠãå質ãããŸãæãªãããšãªãç»åãã¡ã€ã«ãµã€ãºãåæžããŸãã
- ç»åã®ãµã€ãºã倿ŽããïŒ æ£ãã寞æ³ã®ç»åãæäŸããŸãã200x200ãã¯ã»ã«ã§ãã衚瀺ãããªãå Žåã«ã2000x2000ãã¯ã»ã«ã®ç»åãã¢ããããŒãããªãã§ãã ããã
- é
å»¶èªã¿èŸŒã¿ã䜿çšããïŒ ãã¥ãŒããŒãã«è¡šç€ºãããããã«ãªã£ããšãã«ã®ã¿ç»åãèªã¿èŸŒã¿ãŸããããã«ãããåæããŒãžã®èªã¿èŸŒã¿æéã倧å¹
ã«ççž®ã§ããŸãã
<img>
ã¿ã°ã«loading="lazy"
屿§ã䜿çšããŸãã - ã¬ã¹ãã³ã·ãç»åïŒ
<picture>
èŠçŽ ãŸãã¯<img>
ã¿ã°ã®srcset
屿§ã䜿çšããŠããŠãŒã¶ãŒã®ããã€ã¹ãšç»é¢è§£å床ã«åºã¥ããŠç°ãªããµã€ãºã®ç»åãæäŸããŸããããã«ãããã¢ãã€ã«ããã€ã¹ã®ãŠãŒã¶ãŒãäžå¿ èŠã«å€§ããªç»åãããŠã³ããŒãããããšããªããªããŸãã - ã³ã³ãã³ãããªããªãŒãããã¯ãŒã¯ïŒCDNïŒïŒ CDNãå©çšããŠããŠãŒã¶ãŒã«è¿ããµãŒããŒããç»åãé ä¿¡ããã¬ã€ãã³ã·ãåæžããŸãã
äŸïŒ äžçäžã®ãŠãŒã¶ãŒã«ãµãŒãã¹ãæäŸãããã¥ãŒã¹ãŠã§ããµã€ãã¯ãWebPããµããŒããããã©ãŠã¶ã«ã¯WebPããå€ããã©ãŠã¶ã«ã¯JPEGã䜿çšããããšãã§ããŸãããŸããã¬ã¹ãã³ã·ãç»åãå®è£ ããŠã¢ãã€ã«ãŠãŒã¶ãŒã«ã¯ããå°ããªç»åãæäŸããé å»¶èªã¿èŸŒã¿ã䜿çšããŠãã¡ãŒã¹ããã¥ãŒã®ç»åãåªå çã«è¡šç€ºããŸãã
2. JavaScriptã®æé©å
JavaScriptã¯ãç¹ã«ã¢ãã€ã«ããã€ã¹ã«ãããŠããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ã«å€§ããªåœ±é¿ãäžããå¯èœæ§ããããŸããããŠã³ããŒããšå®è¡æéãæå°éã«æããããã«ãJavaScriptã³ãŒããæé©åããŸãã
- MinifyïŒæå°åïŒãšUglifyïŒé£èªåïŒïŒ JavaScriptã³ãŒãããäžèŠãªæåïŒç©ºçœãã³ã¡ã³ãïŒãåé€ããŠãã¡ã€ã«ãµã€ãºãåæžããŸããUglifyã¯å€æ°åã颿°åãçãããããšã§ãããã«ãã¡ã€ã«ãµã€ãºãåæžããŸãããã®ç®çã®ããã«Terserã®ãããªããŒã«ã䜿çšã§ããŸãã
- ã³ãŒãåå²ïŒ JavaScriptã³ãŒããããå°ããªãã£ã³ã¯ã«åå²ããç¹å®ã®ããŒãžãæ©èœã«å¿ èŠãªã³ãŒãã®ã¿ãèªã¿èŸŒã¿ãŸããããã«ãããåæããŠã³ããŒããµã€ãºãå€§å¹ ã«åæžã§ããŸãã
- ããªãŒã·ã§ã€ãã³ã°ïŒ JavaScriptãã³ãã«ãããããã³ãŒãïŒäœ¿çšãããªãã³ãŒãïŒãåé€ããŸããWebpackãä»ã®ãã³ãã©ã¯ããªãŒã·ã§ã€ãã³ã°ããµããŒãããŠããŸãã
- èªã¿èŸŒã¿ãé
å»¶ãããïŒ
<script>
ã¿ã°ã®defer
ãŸãã¯async
屿§ã䜿çšããŠãéèŠã§ãªãJavaScriptã³ãŒããéåæã«èªã¿èŸŒã¿ãŸããdefer
ã¯HTMLã®è§£æåŸã«ã¹ã¯ãªãããé çªã«å®è¡ããasync
ã¯ããŠã³ããŒããå®äºæ¬¡ç¬¬ããã«ã¹ã¯ãªãããå®è¡ããŸãã - äžèŠãªã©ã€ãã©ãªãåé€ããïŒ JavaScriptã®äŸåé¢ä¿ãè©äŸ¡ããå¿ é ã§ãªãã©ã€ãã©ãªãåé€ããŸããããå°ããã軜éãªä»£æ¿æ¡ãæ€èšããŸãã
- ãµãŒãããŒãã£è£œã¹ã¯ãªãããæé©åããïŒ ãµãŒãããŒãã£è£œã¹ã¯ãªããïŒäŸïŒåæãåºåïŒã¯ãŠã§ããµã€ãã®ããã©ãŒãã³ã¹ã«å€§ããªåœ±é¿ãäžããå¯èœæ§ããããŸããããããéåæã§ãå¿ èŠãªãšãã«ã®ã¿èªã¿èŸŒã¿ãŸãããµãŒãããŒãã£è£œã¹ã¯ãªããã®èªã¿èŸŒã¿ãå¶åŸ¡ããããã«ãã¹ã¯ãªãã管çããŒã«ã®äœ¿çšãæ€èšããŸãã
äŸïŒ Eã³ããŒã¹ãµã€ãã¯ãã³ãŒãåå²ã䜿çšããŠããŠãŒã¶ãŒãåå詳现ããŒãžã«ã¢ã¯ã»ã¹ãããšãã«ã®ã¿ãã®ããŒãžã®JavaScriptã³ãŒããèªã¿èŸŒãããšãã§ããŸãããŸããã©ã€ããã£ãããŠã£ãžã§ãããA/Bãã¹ãããŒã«ã®ãããªéèŠã§ãªãã¹ã¯ãªããã®èªã¿èŸŒã¿ãé å»¶ãããããšãã§ããŸãã
3. CSSã®æé©å
JavaScriptãšåæ§ã«ãCSSããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ã«åœ±é¿ãäžããå¯èœæ§ããããŸãããã¡ã€ã«ãµã€ãºãæå°éã«æããã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ãåäžãããããã«ãCSSã³ãŒããæé©åããŸãã
- CSSãMinifyïŒæå°åïŒããïŒ CSSã³ãŒãããäžèŠãªæåãåé€ããŠãã¡ã€ã«ãµã€ãºãåæžããŸãããã®ç®çã®ããã«CSSNanoã®ãããªããŒã«ã䜿çšã§ããŸãã
- æªäœ¿çšã®CSSãåé€ããïŒ ãŠã§ããµã€ãã§äœ¿çšãããŠããªãCSSã«ãŒã«ãç¹å®ããŠåé€ããŸããUnCSSã®ãããªããŒã«ãæªäœ¿çšã®CSSãèŠã€ããã®ã«åœ¹ç«ã¡ãŸãã
- ã¯ãªãã£ã«ã«CSSïŒ ãã¡ãŒã¹ããã¥ãŒã®ã³ã³ãã³ããã¬ã³ããªã³ã°ããããã«å¿ èŠãªCSSã«ãŒã«ãæœåºããHTMLã«çŽæ¥ã€ã³ã©ã€ã³åããŸããããã«ããããã©ãŠã¶ã¯å€éšCSSãã¡ã€ã«ã®ããŠã³ããŒããåŸ ããã«åæã³ã³ãã³ããã¬ã³ããªã³ã°ã§ããŸããããã«ã¯CriticalCSSã®ãããªããŒã«ã圹ç«ã¡ãŸãã
- CSS Expressionãé¿ããïŒ CSS Expressionã¯éæšå¥šã§ãããã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ã«å€§ããªåœ±é¿ãäžããå¯èœæ§ããããŸãã
- å¹ççãªã»ã¬ã¯ã¿ã䜿çšããïŒ ãã©ãŠã¶ãã«ãŒã«ãèŠçŽ ã«äžèŽãããã®ã«è²»ããæéãæå°éã«æããããã«ãå ·äœçã§å¹ççãªCSSã»ã¬ã¯ã¿ã䜿çšããŸãã
äŸïŒ ããã°ã¯ãã¯ãªãã£ã«ã«CSSã䜿çšããŠèšäºã®ã¿ã€ãã«ãšæåã®æ®µèœãã¬ã³ããªã³ã°ããããã«å¿ èŠãªã¹ã¿ã€ã«ãã€ã³ã©ã€ã³åãããã®ã³ã³ãã³ããè¿ éã«è¡šç€ºãããããã«ããããšãã§ããŸãããŸããããŒãããæªäœ¿çšã®CSSã«ãŒã«ãåé€ããŠãå šäœã®CSSãã¡ã€ã«ãµã€ãºãåæžããããšãã§ããŸãã
4. ãã©ã³ãã®æé©å
ãŠã§ããã©ã³ãã¯ãŠã§ããµã€ãã®èŠèŠçãªé åãé«ããããšãã§ããŸãããæ£ããæé©åãããŠããªããšããã©ãŒãã³ã¹ã«åœ±é¿ãäžããå¯èœæ§ããããŸãã
- ãŠã§ããã©ã³ããã©ãŒããããè³¢ã䜿çšããïŒ ã¢ãã³ãã©ãŠã¶ã«ã¯WOFF2ã䜿çšããŸããWOFFã¯è¯ããã©ãŒã«ããã¯ã§ããå¯èœã§ããã°ãEOTãTTFã®ãããªå€ããã©ãŒãããã¯é¿ããŸãã
- ãã©ã³ãããµãã»ããåããïŒ ãŠã§ããµã€ãã§å®éã«äœ¿çšãããŠããæåã®ã¿ãå«ããŸããããã«ããããã©ã³ããã¡ã€ã«ãµã€ãºãå€§å¹ ã«åæžã§ããŸããGoogle Webfonts Helperã®ãããªããŒã«ããµãã»ããåã«åœ¹ç«ã¡ãŸãã
- ãã©ã³ããããªããŒãããïŒ
<link rel="preload">
ã¿ã°ã䜿çšããŠãã©ã³ããããªããŒããããã©ãŠã¶ã«ã¬ã³ããªã³ã°ããã»ã¹ã®æ©ã段éã§ããŠã³ããŒãããããã«æç€ºããŸãã font-display
ã䜿çšããïŒfont-display
ããããã£ã¯ããã©ã³ããèªã¿èŸŒãŸããŠããéã®è¡šç€ºæ¹æ³ãå¶åŸ¡ããŸããswap
ãfallback
ããŸãã¯optional
ã®ãããªå€ã䜿çšããŠãã¬ã³ããªã³ã°ã®ããããã³ã°ãé²ããŸãããã©ã³ããèªã¿èŸŒãŸãããŸã§ãã©ãŒã«ããã¯ããã¹ãã衚瀺ãããããäžè¬çã«swap
ãæšå¥šãããŸãã- ãã©ã³ãã®æ°ãå¶éããïŒ ããŸãã«ãå€ãã®ç°ãªããã©ã³ãã䜿çšãããšãããã©ãŒãã³ã¹ã«æªåœ±é¿ãäžããå¯èœæ§ããããŸããå°æ°ã®ãã©ã³ãã«çµãããŠã§ããµã€ãå šäœã§äžè²«ããŠäœ¿çšããŸãã
äŸïŒ ã«ã¹ã¿ã ãã©ã³ãã䜿çšããæ
è¡ãµã€ãã¯ããã©ã³ãã£ã³ã°ãšãŠã§ããµã€ãã®ããã¹ãã«å¿
èŠãªæåã®ã¿ãå«ãããã«ãã©ã³ãããµãã»ããåã§ããŸãããŸãããã©ã³ããããªããŒãããfont-display: swap
ã䜿çšããŠããã©ã³ãããŸã èªã¿èŸŒãŸããŠããªããŠãããã¹ããè¿
éã«è¡šç€ºãããããã«ããããšãã§ããŸãã
5. HTTPãªã¯ãšã¹ãã®æé©å
åHTTPãªã¯ãšã¹ãã¯ãªãŒããŒãããã远å ããããããªã¯ãšã¹ãã®æ°ãæžããããšã§ãŠã§ããµã€ãã®ããã©ãŒãã³ã¹ãå€§å¹ ã«åäžãããããšãã§ããŸãã
- ãã¡ã€ã«ãçµåããïŒ è€æ°ã®CSSããã³JavaScriptãã¡ã€ã«ãåäžã®ãã¡ã€ã«ã«çµåããŠããªã¯ãšã¹ãã®æ°ãæžãããŸããWebpackãParcelã®ãããªãã³ãã©ããã®ããã»ã¹ãèªååã§ããŸãã
- CSSã¹ãã©ã€ãã䜿çšããïŒ è€æ°ã®å°ããªç»åãåäžã®ç»åã¹ãã©ã€ãã«çµåããCSSã䜿çšããŠã¹ãã©ã€ãã®é©åãªéšåã衚瀺ããŸããããã«ãããç»åãªã¯ãšã¹ãã®æ°ãæžå°ããŸãã
- å°ããªã¢ã»ãããã€ã³ã©ã€ã³åããïŒ å°ããªCSSããã³JavaScriptã³ãŒããHTMLã«çŽæ¥ã€ã³ã©ã€ã³åããŠãåå¥ã®ãªã¯ãšã¹ãã®å¿ èŠæ§ããªãããŸãã
- HTTP/2ãŸãã¯HTTP/3ã䜿çšããïŒ HTTP/2ããã³HTTP/3ã¯ãåäžã®æ¥ç¶ã§è€æ°ã®ãªã¯ãšã¹ããè¡ãããšãå¯èœã«ãããªãŒããŒããããåæžããŸãããµãŒããŒããããã®ãããã³ã«ããµããŒãããŠããããšã確èªããŠãã ããã
- ãã©ãŠã¶ãã£ãã·ã¥ã掻çšããïŒ éçã¢ã»ããã«é©åãªãã£ãã·ã¥ããããŒãèšå®ããããã«ãµãŒããŒãæ§æããŸããããã«ããããã©ãŠã¶ã¯ãããã®ã¢ã»ããããã£ãã·ã¥ã§ããå蚪åæã®ãªã¯ãšã¹ãæ°ãæžå°ããŸãã
äŸïŒ ããŒã±ãã£ã³ã°ãµã€ãã¯ãWebpackã䜿çšããŠãã¹ãŠã®CSSããã³JavaScriptãã¡ã€ã«ãåäžã®ãã³ãã«ã«çµåã§ããŸãããŸããCSSã¹ãã©ã€ãã䜿çšããŠå°ããªã¢ã€ã³ã³ãåäžã®ç»åã«çµåããç»åãªã¯ãšã¹ãã®æ°ãæžããããšãã§ããŸãã
ããã©ãŒãã³ã¹ããžã§ããã®ç£èŠãšç¶æ
ããã©ãŒãã³ã¹ããžã§ããã®èšå®ã¯äžåºŠããã®äœæ¥ã§ã¯ãããŸããããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ãããžã§ããã«å¯ŸããŠç¶ç¶çã«ç£èŠããå¿ èŠã«å¿ããŠèª¿æŽããå¿ èŠããããŸãã
- ããã©ãŒãã³ã¹ç£èŠããŒã«ã䜿çšããïŒ WebPageTestãGoogleã®LighthouseãGTmetrixã®ãããªããŒã«ã䜿çšããŠããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ã宿çã«ç£èŠããæ¹åã®äœå°ãããé åãç¹å®ããŸãã
- èªåããã©ãŒãã³ã¹ãã¹ããèšå®ããïŒ ããã©ãŒãã³ã¹ãã¹ããéçºã¯ãŒã¯ãããŒã«çµ±åããŠãããã©ãŒãã³ã¹ã®äœäžãæ©æã«ãã£ããããŸãããã®ç®çã®ããã«Sitespeed.ioãSpeedCurveã®ãããªããŒã«ã䜿çšã§ããŸãã
- äž»èŠãªææšã远跡ããïŒ èªã¿èŸŒã¿æéãFCPãLCPãCLSãªã©ã®äž»èŠãªããã©ãŒãã³ã¹ææšãé·æçã«ç£èŠããŸãã
- ããžã§ããã宿çã«èŠçŽãã調æŽããïŒ ãŠã§ããµã€ããé²åããã«ã€ããŠãããã©ãŒãã³ã¹ããžã§ããã®èª¿æŽãå¿ èŠã«ãªãå ŽåããããŸãã宿çã«ããžã§ãããèŠçŽãããªãŒãã£ãšã³ã¹ã®ããŒãºãšããã©ãŒãã³ã¹ç®æšã«åºã¥ããŠå€æŽãå ããŸãã
ãŸãšã
æç¢ºã«å®çŸ©ãããäžè²«ããŠå®æœãããããã³ããšã³ãããã©ãŒãã³ã¹ããžã§ããã¯ãã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã«æé©ãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããããã«äžå¯æ¬ ã§ããããŸããŸãªå°åã®ãŠãŒã¶ãŒãçŽé¢ãããªãœãŒã¹å¶çŽãçè§£ããããã«å¿ããŠãŠã§ããµã€ãã®ãªãœãŒã¹ãæé©åããããšã§ããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ãåäžããããŠãŒã¶ãŒãšã³ã²ãŒãžã¡ã³ããé«ããããžãã¹ç®æšãéæããããšãã§ããŸãããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ãç¶ç¶çã«ç£èŠããäžçäžã®ãŠãŒã¶ãŒã«åžžã«æé«ã®äœéšãæäŸã§ãããããå¿ èŠã«å¿ããŠããžã§ããã調æŽããããšãå¿ããªãã§ãã ãããç»åã®æé©åãJavaScriptã®æé©åãCSSã®æé©åããã©ã³ãã®æé©åãåªå ããŠãã ãããäžè²«æ§ã®ããæé©åãããããã©ãŒãã³ã¹ã¬ãã«ãç¶æããããã«ãããŒã«ãšèªååãããããã»ã¹ã掻çšããŸãããã