🎮 何よりも早ã動作ã™ã‚‹ãŸã‚ã®å”¯ä¸€ã®ãƒ•ãƒãƒ³ãƒˆã‚¨ãƒ³ãƒ‰ãƒ‘フォーマンスãƒã‚§ãƒƒã‚¯ãƒªã‚¹ãƒˆã§ã™ã€‚
シンプルãªãƒ«ãƒ¼ãƒ«: "パフォーマンスを考慮ã—ã¦ãƒ‡ã‚¶ã‚¤ãƒ³ãƒ»ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã™ã‚‹ã“ã¨"
Â
  Â
Â
Â
  Â
Â
 Â
  Â
Â
Â ä½¿ã„æ–¹ • Contributing • ãƒãƒ¼ãƒ‰ãƒžãƒƒãƒ— • Product Hunt
🇨🇳 🇫🇷 🇰🇷 🇵🇹 🇷🇺
Other Checklists:
🗂 Front-End Checklist • 💎 Front-End Design Checklist
- HTML
- CSS
- Fonts
- Images
- JavaScript
- サーム(作æˆä¸ï¼‰
- JS Frameworks (作æˆä¸ï¼‰
パフォーマンスã¯å¤§ããªãƒ†ãƒ¼ãƒžã§ã™ãŒã€ã„ã¤ã‚‚ "ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰" ã‚„ "管ç†è€…" ã®å•題ã¨ã„ã†ã‚ã‘ã§ã¯ã‚りã¾ã›ã‚“。フãƒãƒ³ãƒˆã‚¨ãƒ³ãƒ‰ã®è²¬ä»»ç¯„囲ã§ã‚‚ã‚りã¾ã™ã€‚ã“ã®ãƒ•ãƒãƒ³ãƒˆã‚¨ãƒ³ãƒ‰ãƒ‘フォーマンスãƒã‚§ãƒƒã‚¯ãƒªã‚¹ãƒˆã¯ã€ãƒ•ãƒãƒ³ãƒˆã‚¨ãƒ³ãƒ‰é–‹ç™ºè€…ã¨ã—ã¦ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆï¼ˆå€‹äººã§ã‚‚æ¥å‹™ã§ã‚‚)ã«å……ãŸã‚‹å ´åˆã«ã€ç¢ºèªã‚‚ã—ãã¯æ°—ã«ã—ã¦ãŠãã¹ãé …ç›®ã‚’ç¶²ç¾…çš„ã«ãƒªã‚¹ãƒˆã‚¢ãƒƒãƒ—ã—ãŸã‚‚ã®ã§ã™ã€‚
å„ルールã«ã¯ã€ã“ã®ãƒ«ãƒ¼ãƒ«ãŒé‡è¦ã§ã‚ã‚‹ ç†ç”± 㨠修æ£ã™ã‚‹ 方法 を記載ã—ã¦ã„ã¾ã™ã€‚ã‚ˆã‚Šè©³ç´°ãªæƒ…å ±ã¯ã€ 🛠: ツール〠📖: 記事〠📹: 動画サイト ã®ãƒªãƒ³ã‚¯ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
フãƒãƒ³ãƒˆã‚¨ãƒ³ãƒ‰ãƒ‘フォーマンスãƒã‚§ãƒƒã‚¯ãƒªã‚¹ãƒˆ ã¯ã€ã©ã‚Œã‚‚最高ã®ãƒ‘ãƒ•ã‚©ãƒ¼ãƒžãƒ³ã‚¹ã‚¹ã‚³ã‚¢ã‚’é”æˆã™ã‚‹ãŸã‚ã«ã¯ä¸å¯æ¬ ãªé …ç›®ã§ã™ãŒã€ã©ã®ãƒ«ãƒ¼ãƒ«ã‚’優先的ã«é©ç”¨ã™ã¹ãã‹ã‚’3段階ã§ç¤ºã—ã¦ã„ã¾ã™ã€‚
ã¯ã€å„ªå…ˆåº¦ãŒ 低 ã§ã‚ã‚‹ã“ã¨ã‚’æ„味ã—ã¦ã„ã¾ã™ã€‚
ã¯ã€å„ªå…ˆåº¦ãŒ ä¸ ã§ã‚ã‚‹ã“ã¨ã‚’æ„味ã—ã¦ã„ã¾ã™ã€‚ ã“ã®ãƒ«ãƒ¼ãƒ«ã®é©ç”¨ã‚’é¿ã‘ã‚‹ã¹ãã§ã¯ã‚りã¾ã›ã‚“。
ã¯ã€å„ªå…ˆåº¦ãŒ 高 ã§ã‚ã‚‹ã“ã¨ã‚’æ„味ã—ã¦ã„ã¾ã™ã€‚ ã“ã®ãƒ«ãƒ¼ãƒ«ã«å¾“ã„ã€æŽ¨å¥¨ã•れる方法ã§å®Ÿè£…ã—ã¦ãã ã•ã„。
ウェブサイト ã¾ãŸã¯ アプリケーションã®ãƒ†ã‚¹ãƒˆã‚„モニタリングã«ä½¿ç”¨ã§ãるツールã®ãƒªã‚¹ãƒˆ:
- 🛠WebPagetest - Website Performance and Optimization Test
- 🛠☆ Dareboost: Website Speed Test and Website Analysis (use the coupon WPCDD20 for -20%)
- 🛠Treo: Page Speed Monitoring
- 🛠GTmetrix | Website Speed and Performance Optimization
- 🛠PageSpeed Insights
- 🛠Web.dev
- 🛠Pingdom Website Speed Test
- 📖 Make the Web Faster | Google Developers
- 🛠Sitespeed.io - Welcome to the wonderful world of Web Performance
- 🛠Calibre
- 🛠Website Speed Test | Check Web Performance » Dotcom-Tools
- 🛠Website and Server Uptime Monitoring - Pingdom (Free Signup Link)
- 🛠Uptime Robot
- 🛠SpeedCurve: Monitor front-end performance
- 🛠PWMetrics - CLI tool and lib to gather performance metrics
- 🛠Varvy - Page speed optimization
- 🛠Lighthouse - Google
- 🛠Checkbot browser extension - Checks for web performance best practices
- 🛠Yellow Lab Tools | Online test to help speeding up heavy web pages
- 🛠Speedrank - Web Performance Monitoring
- 🛠DebugBear - Monitor website performance and Lighthouse scores
- 🛠packtracker.io - Check your webpack bundle size on every pull request.
- 🛠Exthouse - Analyze the impact of a browser extension on web performance
- 📹 The Cost Of JavaScript - YouTube (text version)
- AddyOsmani.com - Start Performance Budgeting
- 📖 Get Started With Analyzing Runtime Performance  | Google Developers
- 📖 State of the Web | 2018_01_01
- 📖 Page Weight Doesn't Matter
- 📖 Front-End Performance Checklist 2018 [PDF, Apple Pages]
- 📖 Designing for Performance Weighing Aesthetics and Speed - By Lara Callender Hogan [eBook, Print]
- 📖 Varvy - Web performance glossary
- 📖 fabkrum/web-performance-resources: Up to date collection of valuable web performance resources
- 📖 Checkbot - Web Speed Best Practices
- 🛠Progressive Tooling - A list of community-built, third-party tools that can be used to improve page performance
-
HTML ã®è»½é‡åŒ–(Minified):
HTML コードã¯åœ§ç¸®ã•れã€ã‚³ãƒ¡ãƒ³ãƒˆã€ç©ºç™½ã€æ”¹è¡ŒãŒæœ¬ç•ªã®ãƒ•ァイルã‹ã‚‰å‰Šé™¤ã•れã¦ã„ã‚‹ã“ã¨ã€‚
ç†ç”±:
ä¸è¦ãªã‚¹ãƒšãƒ¼ã‚¹ã€ã‚³ãƒ¡ãƒ³ãƒˆã€ãƒ–レークを全ã¦å‰Šé™¤ã™ã‚‹ã¨ã€HTML ã®ã‚µã‚¤ã‚ºãŒå°ã•ããªã‚Šã€ã‚µã‚¤ãƒˆã®ãƒšãƒ¼ã‚¸ã®èªã¿è¾¼ã¿æ™‚é–“ãŒçŸç¸®ã•れã€ãƒ¦ãƒ¼ã‚¶ã®ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã«ã‹ã‹ã‚‹æ™‚é–“ãŒæ˜Žã‚‰ã‹ã«è»½æ¸›ã•れã¾ã™ã€‚
方法:
ã»ã¨ã‚“ã©ã®ãƒ•レームワークã«ã¯ã€Web ページを容易ã«åœ§ç¸®ã™ã‚‹ã“ã¨ãŒã§ãるプラグインãŒã‚りã¾ã™ã€‚自動的ã«ã‚¸ãƒ§ãƒ–を実行ã§ãる多ãã® NPM モジュールを使用ã§ãã¾ã™ã€‚
-
ä¸è¦ãªã‚³ãƒ¡ãƒ³ãƒˆã®å‰Šé™¤:
コメントãŒãƒšãƒ¼ã‚¸ã‹ã‚‰å‰Šé™¤ã•れã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。
ç†ç”±:
コメントã¯ãƒ¦ãƒ¼ã‚¶ã«ã¨ã£ã¦ä½•ã‚‚å½¹ã«ç«‹ãŸãªã„ã®ã§ã€æœ¬ç•ªã®ãƒ•ァイルã‹ã‚‰ã¯å‰Šé™¤ã™ã¹ãã§ã™ã€‚ã‚³ãƒ¡ãƒ³ãƒˆã‚’ä¿æŒã—ãŸããªã‚‹ã‚±ãƒ¼ã‚¹ã¯ã€ãƒ©ã‚¤ãƒ–ラリã®ã‚½ãƒ¼ã‚¹ã‚’ä¿æŒã™ã‚‹å¿…è¦ãŒã‚ã‚‹å ´åˆãらã„ã§ã™ã€‚
方法:
ã»ã¨ã‚“ã©ã®å ´åˆã€ã‚³ãƒ¡ãƒ³ãƒˆã¯ HTML 圧縮プラグインを使ã£ã¦å‰Šé™¤ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
-
ä¸è¦ãªå±žæ€§ã®å‰Šé™¤:
type="text/javascript"ã‚„type="text/css"ã®ã‚ˆã†ãªã‚¿ã‚¤ãƒ—属性ã¯ã€ã‚‚ã¯ã‚„å¿…è¦ã§ã¯ãªã„ãŸã‚削除ã™ã¹ãã§ã™ã€‚<!-- Before HTML5 --> <script type="text/javascript"> // JavaScript code </script> <!-- Today --> <script> // JavaScript code </script>
ç†ç”±:
HTML5 ã§ã¯ãƒ‡ãƒ•ォルト㧠text/css 㨠text/javascript ãŒå«ã¾ã‚Œã¦ã„ã‚‹ãŸã‚ã€ã‚¿ã‚¤ãƒ—属性ã¯å¿…è¦ã‚りã¾ã›ã‚“。未使用ã®ã‚³ãƒ¼ãƒ‰ã¯ãƒšãƒ¼ã‚¸ã‚’é‡ãã™ã‚‹ãŸã‚ã€ã‚¦ã‚§ãƒ–サイトやアプリã§ä½¿ç”¨ã•れãªã„コードã¯å‰Šé™¤ã™ã¹ãã§ã™ã€‚
方法:
ã™ã¹ã¦ã®
<link>ãŠã‚ˆã³<script>ã‚¿ã‚°ã« type 属性ãŒãªã„ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。- 📖 The Script Tag | CSS-Tricks   Â
-
CSS ã‚¿ã‚°ã¯å¿…ãš JavaScript ã‚¿ã‚°ã®å‰ã«é…ç½®:
å¿…ãš CSS ㌠JavaScript コードã®å‰ã«ãƒãƒ¼ãƒ‰ã•れるã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。
<!-- Not recommended --> <script src="jquery.js"></script> <script src="foo.js"></script> <link rel="stylesheet" href="foo.css"/> <!-- Recommended --> <link rel="stylesheet" href="foo.css"/> <script src="jquery.js"></script> <script src="foo.js"></script>
ç†ç”±:
JavaScript ã®å‰ã« CSS ã‚¿ã‚°ã‚’ç½®ãã¨ã€ã‚ˆã‚ŠåŠ¹çŽ‡çš„ãªä¸¦åˆ—ダウンãƒãƒ¼ãƒ‰ãŒå¯èƒ½ã¨ãªã‚Šã€ãƒ–ラウザã®ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°æ™‚é–“ãŒçŸç¸®ã•れã¾ã™ã€‚
方法:
<head>内ã®<link>ã¨<style>ãŒã€å¸¸ã«<script>ã®å‰ã«ã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。 -
iframe ã®æ•°ã‚’最å°é™ã«æŠ‘ãˆã‚‹:
iframe ã¯ä»–ã®æŠ€è¡“çš„ãªå¯èƒ½æ€§ãŒãªã„å ´åˆã«ã®ã¿ä½¿ç”¨ã—ã¦ãã ã•ã„。ã§ãã‚‹é™ã‚Š iframe ã®ä½¿ç”¨ã‚’é¿ã‘ã¾ã—ょã†ã€‚
-
prefetchã€dns-prefetchã€prerender ã§ã®äº‹å‰èªã¿è¾¼ã¿ã«ã‚ˆã‚‹æœ€é©åŒ–:
一般的ãªãƒ–ラウザã§ã¯ã€
<link>ã‚¿ã‚°ã« "rel" 属性ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–指定ã™ã‚‹ã“ã¨ã§ç‰¹å®šã® URL を事å‰èªã¿è¾¼ã¿ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ç†ç”±:
事å‰èªè¾¼ã¿ï¼ˆPrefetching)ã«ã‚ˆã‚Šã€ãƒ–ラウザã¯ãƒ¦ãƒ¼ã‚¶ãŒè¿‘ã„å°†æ¥ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹å¯èƒ½æ€§ã®ã‚るコンテンツã®è¡¨ç¤ºã«å¿…è¦ãªãƒªã‚½ãƒ¼ã‚¹ã‚’事å‰ã«å–å¾—ã—ã¦ãŠãã“ã¨ãŒã§ãã¾ã™ã€‚ブラウザã¯ã“れらã®ãƒªã‚½ãƒ¼ã‚¹ã‚’ã‚ャッシュã«ä¿å˜ã™ã‚‹ã®ã§ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ãŒç•°ãªã‚‹ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’使ã£ã¦ã„ã‚‹å ´åˆã§ã‚‚ Web ページã®èªã¿è¾¼ã¿ã‚’高速化ã§ãã¾ã™ã€‚ Web ページã®èªã¿è¾¼ã¿ãŒå®Œäº†ã—ã€ã‚¢ã‚¤ãƒ‰ãƒ«æ™‚é–“ãŒçµŒéŽã™ã‚‹ã¨ã€ãƒ–ラウザã¯ä»–ã®ãƒªã‚½ãƒ¼ã‚¹ã®ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã‚’é–‹å§‹ã—ã¾ã™ã€‚ユーザãŒç‰¹å®šã®ãƒªãƒ³ã‚¯ï¼ˆäº‹å‰èªã¿è¾¼ã¿æ¸ˆã¿ï¼‰ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã¨ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¯å³æ™‚ã«æä¾›ã•れã¾ã™ã€‚
方法:
âƒ
<link>ã‚¿ã‚°ãŒ<head>タグ内㫠ã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。
-
ファイルã®è»½é‡åŒ–(minification):
ã™ã¹ã¦ã® CSS ファイルã¯åœ§ç¸®ã•れã€ã‚³ãƒ¡ãƒ³ãƒˆã€ç©ºç™½ã€æ”¹è¡ŒãŒæœ¬ç•ªã®ãƒ•ァイルã‹ã‚‰å‰Šé™¤ã•れã¦ã„ã¾ã™ã€‚
ç†ç”±:
CSS ファイルã®åœ§ç¸®ã‚’行ã†ã¨ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®èªã¿è¾¼ã¿æ™‚é–“ãŒæ—©ããªã‚Šã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ä¿¡ã•れるデータãŒå°‘ãªããªã‚Šã¾ã™ã€‚å¸¸ã«æœ¬ç•ªç”¨ã® CSS ファイルã¯åœ§ç¸®ã•れã¦ã„ã‚‹ã“ã¨ãŒé‡è¦ã§ã™ã€‚帯域幅やリソース使用é‡ã‚’削減ã—ãŸã„ビジãƒã‚¹ãƒ¦ãƒ¼ã‚¶ã«ã¨ã£ã¦æœ‰ç›Šã§ã™ã€‚
方法:
⃠ビルドã¾ãŸã¯ãƒ‡ãƒ—ãƒã‚¤ãƒ¡ãƒ³ãƒˆã®å‰ã¾ãŸã¯é€”ä¸ã§ãƒ•ァイルを自動的ã«åœ§ç¸®ã™ã‚‹ãƒ„ールを使用ã—ã¾ã™ã€‚
-
ファイルã®çµåˆ:
CSS ファイルを1ファイルã«çµåˆã—ã¾ã™ã€‚ (HTTP/2 ã§ã¯å¸¸ã«æœ‰åйã¨ã¯é™ã‚Šã¾ã›ã‚“)
<!-- Not recommended --> <link rel="stylesheet" href="foo.css"/> <link rel="stylesheet" href="bar.css"/> <!-- Recommended --> <link rel="stylesheet" href="foobar.css"/>
ç†ç”±:
ã¾ã HTTP/1 を使用ã—ã¦ã„れã°ã€ãƒ•ァイルをçµåˆã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。もã—サーãƒãŒ HTTP/2 を使用ã—ã¦ã„ã‚‹å ´åˆã¯ãã®é™ã‚Šã§ã¯ã‚りã¾ã›ã‚“。(テストを行ã†å¿…è¦ãŒã‚りã¾ã™ï¼‰
方法:
⃠ビルドå‰ã‹ãƒ“ルドä¸ã€ã‚‚ã—ãã¯ãƒ‡ãƒ—ãƒã‚¤å‰ã‹ãƒ‡ãƒ—ãƒã‚¤ä¸ã«ã€ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã®ãƒ„ールもã—ãã¯ãƒ—ラグインを使ã£ã¦ãƒ•ァイルをçµåˆã—ã¾ã™ã€‚
⃠もã¡ã‚ã‚“ã€çµåˆã«ã‚ˆã‚Šãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆãŒå£Šã‚Œãªã„ã‹ã©ã†ã‹ã¯ç¢ºèªã—ã¦ãã ã•ã„。 -
ノンブãƒãƒƒã‚ング:
DOM ã®èªã¿è¾¼ã¿ã«æ™‚é–“ãŒã‹ã‹ã‚‹ã®ã‚’防ããŸã‚ã€CSS ファイルã¯ãƒŽãƒ³ãƒ–ãƒãƒƒã‚ングã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
<link rel="preload" href="global.min.css" as="style" onload="this.rel='stylesheet'"> <noscript><link rel="stylesheet" href="global.min.css"></noscript>
ç†ç”±:
CSS ファイルã¯ã€ãƒšãƒ¼ã‚¸ã®èªã¿è¾¼ã¿ã‚’ブãƒãƒƒã‚¯ã—レンダリングをé…å»¶ã•ã›ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚
preloadを使用ã™ã‚‹ã¨ã€ãƒ–ラウザãŒãƒšãƒ¼ã‚¸ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„を表示ã—å§‹ã‚ã‚‹å‰ã« CSS ファイルをèªã¿è¾¼ã¾ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚方法:
âƒ
preloadã®å€¤ã‚’æŒã¤rel属性ã¨ã€as="style"ã‚’<link>è¦ç´ ã«è¿½åŠ ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ -
CSS クラスã®é•·ã•:
クラスã®é•·ã•ã¯ï¼ˆæœ€çµ‚çš„ã«ï¼‰HTML ファイル㨠CSS ファイルã«ï¼ˆã‚ãšã‹ãªï¼‰å½±éŸ¿ã‚’与ãˆã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚
ç†ç”±:
パフォーマンスã¸ã®å½±éŸ¿ã‚‚è°è«–ã®ä½™åœ°ãŒã‚りã¾ã™ãŒã€ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã®å‘½åè¦å‰‡ã‚’決ã‚ã¦ãŠãã¨ã€ã‚¹ã‚¿ã‚¤ãƒ«ã‚·ãƒ¼ãƒˆã®ä¿å®ˆæ€§ã«å¤§ããªå½±éŸ¿ã‚’与ãˆã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚BEM を使用ã™ã‚‹å ´åˆã€å¿…è¦ä»¥ä¸Šã®æ–‡å—ãŒã‚¯ãƒ©ã‚¹ã«å«ã¾ã‚Œã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚åå‰ã‚„åå‰ç©ºé–“ã‚’ã—ã£ã‹ã‚Šã¨è€ƒãˆé¸æŠžã™ã‚‹ã“ã¨ã¯å¸¸ã«é‡è¦ã§ã™ã€‚
方法:
æ–‡å—æ•°ã«åˆ¶é™ã‚’è¨å®šã™ã‚‹ã“ã¨ã¯ä¸€éƒ¨ã®äººã«ã¨ã£ã¦ã¯èˆˆå‘³æ·±ã„ã“ã¨ã§ã™ãŒã€ã‚¦ã‚§ãƒ–サイトをコンãƒãƒ¼ãƒãƒ³ãƒˆã«åˆ†å‰²ã™ã‚‹ã“ã¨ã§ã€ã‚¯ãƒ©ã‚¹ï¼ˆãŠã‚ˆã³å®£è¨€ï¼‰ã®æ•°ã¨é•·ã•を減らã™ã“ã¨ãŒã§ãã¾ã™ã€‚
-
未使用㮠CSS:
未使用㮠CSS セレクタを削除ã™ã‚‹ã€‚
ç†ç”±:
未使用㮠CSS セレクタを削除ã™ã‚‹ã¨ã€ãƒ•ァイルサイズãŒå‰Šæ¸›ã§ãアセットã®èªã¿è¾¼ã¿ã‚‚æ—©ããªã‚Šã¾ã™ã€‚
方法:
âƒ
âš ï¸ ä½¿ç”¨ã™ã‚‹ CSS フレームワークã«ãƒªã‚»ãƒƒãƒˆ CSS/ノーマライズ CSS ã®ã‚³ãƒ¼ãƒ‰ãŒå«ã¾ã‚Œã¦ã„ãªã„ã‹ã©ã†ã‹ã‚’常ã«ç¢ºèªã—ã¦ãã ã•ã„。リセット CSS/ノーマライズ CSS ファイルã«è¨˜è¼‰ã•れã¦ã„ã‚‹å…¨ã¦ã®ã‚³ãƒ¼ãƒ‰ã‚’å¿…è¦ã¨ã—ãªã„å ´åˆãŒã‚りã¾ã™ã€‚- 🛠UnCSS Online
- 🛠PurifyCSS
- 🛠PurgeCSS
- 🛠Chrome DevTools Coverage
-
クリティカル CSS:
クリティカル CSS(ã¾ãŸã¯ above the fold)ã¨ã¯ã€ãƒ•ァーストビューã®ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ã«ä½¿ç”¨ã•れるã™ã¹ã¦ã® CSS ã§ã™ã€‚主è¦ãª CSS ã®èªã¿è¾¼ã¿å‰ã«ã“れを
<style></style>ã‚¿ã‚°ã«ã‚¤ãƒ³ãƒ©ã‚¤ãƒ³åŒ–(å¯èƒ½ãªé™ã‚Šåœ§ç¸®ï¼‰ã—ã¦è¨˜è¼‰ã—ã¾ã™ã€‚ç†ç”±:
インライン化ã—ãŸã‚¯ãƒªãƒ†ã‚£ã‚«ãƒ« CSS を使用ã™ã‚‹ã¨ã€Web ページã®ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ã‚’高速化ã—ã€ã‚µãƒ¼ãƒã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆå›žæ•°ã‚’減らã™ã“ã¨ãŒã§ãã¾ã™ã€‚
方法:
オンラインツールã€ã¾ãŸã¯ Addy Osmani ãŒé–‹ç™ºã—ãŸã‚ˆã†ãªãƒ—ラグインを使用ã—ã¦ã‚¯ãƒªãƒ†ã‚£ã‚«ãƒ« CSS を生æˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
-
埋ã‚込㿠ã¾ãŸã¯ インライン CSS:
<body>内ã§åŸ‹ã‚込㿠CSSã€ã¾ãŸã¯ã‚¤ãƒ³ãƒ©ã‚¤ãƒ³ CSS を使ã†ã®ã¯é¿ã‘ã¾ã—ょã†ã€‚ (HTTP/2 ã§ã¯ç„¡åŠ¹ï¼‰ç†ç”±:
最åˆã®ç†ç”±ã®ä¸€ã¤ã¯ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„をデザインã‹ã‚‰åˆ†é›¢ ã™ã‚‹ã“ã¨ãŒã‚°ãƒƒãƒ‰ãƒ—ラクティスã ã‹ã‚‰ã§ã™ã€‚コードã®ä¿å®ˆæ€§ãŒå‘上ã—ã€ã‚µã‚¤ãƒˆã®ã‚¢ã‚¯ã‚»ã‚·ãƒ“リティもå‘上ã—ã¾ã™ã€‚パフォーマンスã«é–¢ã—ã¦è¨€ã†ã¨ã€HTML ページã®ãƒ•ァイルサイズã¨èªã¿è¾¼ã¿æ™‚é–“ã‚’çŸç¸®ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
方法:
常ã«å¤–部スタイルシートを使用ã™ã‚‹ã‹ã€
<head>ã« CSS を埋ã‚è¾¼ã¿ã¾ã™ã€‚(他㮠CSS パフォーマンスルールã«å¾“ã„ã¾ã™ï¼‰ -
スタイルシートã®è¤‡é›‘ã•を分æžã™ã‚‹:
スタイルシートを分æžã™ã‚‹ã¨ã€CSS セレクタã®å•題ã€å†—長性ã€é‡è¤‡ã‚’見ã¤ã‘ã‚‹ã®ã«å½¹ç«‹ã¡ã¾ã™ã€‚
ç†ç”±:
CSS ã«å†—長性や検証エラーãŒã‚ã‚‹å ´åˆã¯ã€CSS ファイルを分æžã—ã“れらã®è¤‡é›‘ãªã‚³ãƒ¼ãƒ‰ã‚’削除ã™ã‚‹ã¨ã€CSS ファイルã®èªã¿è¾¼ã¿ãŒé«˜é€ŸåŒ–ã•れã¾ã™ã€‚(ブラウザãŒé«˜é€Ÿã«èªã¿å–ã‚‹ãŸã‚ã§ã™ï¼‰
方法:
CSS プリプãƒã‚»ãƒƒã‚µã‚’使用ã—ã¦ã€CSS ã‚’æ•´ç†ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚下記ã®ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ãƒ„ールã®ä¸€éƒ¨ã¯ã‚³ãƒ¼ãƒ‰ã®åˆ†æžã¨ä¿®æ£ã«ã‚‚役立ã¡ã¾ã™ã€‚
- 🛠TestMyCSS | Optimize and Check CSS Performance
- 🛠CSS Stats
- 🛠macbre/analyze-css: CSS selectors complexity and performance a BEA4 nalyzer
- 🛠Project Wallace 㯠CSS Stats ã«ä¼¼ã¦ã„ã¾ã™ãŒã€å¤‰æ›´ã‚’追跡ã§ãるよã†ã«çµ±è¨ˆçµæžœã‚’長期間ä¿å˜ã—ã¾ã™ã€‚
-
ウェブフォント フォーマット:
ウェブプãƒã‚¸ã‚§ã‚¯ãƒˆã¾ãŸã¯ã‚¢ãƒ—リケーション㧠WOFF2 を使用ã—ã¦ã„ã¾ã™ã€‚
ç†ç”±:
Google ã«ã‚ˆã‚‹ã¨ã€WOFF 2.0 ウェブフォントã®åœ§ç¸®ãƒ•ォーマットã¯ã€WOFF 1.0 よりも平å‡30%å‘上ã—ã¾ã™ã€‚ãã®å ´åˆã€WOFF 2.0ã€WOFF 1.0 をフォールãƒãƒƒã‚¯ãŠã‚ˆã³ TTF ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚
方法:
æ–°ã—ã„フォントを購入ã™ã‚‹å‰ã«ã€ãƒ—ãƒãƒã‚¤ãƒ€ãŒ WOFF2 フォーマットをæä¾›ã—ã¦ã„ã‚‹ã‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。フリーフォントを使用ã—ã¦ã„ã‚‹å ´åˆã¯ã€å¸¸ã« Font Squirrel を使用ã—ã¦å¿…è¦ãªã™ã¹ã¦ã®ãƒ•ォーマットを生æˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
-
フォントをより速ãèªã¿è¾¼ã‚€ã«ã¯ã€
preconnectを使用ã—ã¾ã™:<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
ç†ç”±:
ウェブサイトã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãŸã‚‰ã€ãƒ‡ãƒã‚¤ã‚¹ã¯ãã®ã‚µã‚¤ãƒˆãŒã©ã“ã«ã‚りã€ã©ã®ã‚µãƒ¼ãƒã«æŽ¥ç¶šã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹æ¤œå‡ºã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ブラウザã¯ã€ãƒªã‚½ãƒ¼ã‚¹ï¼ˆãƒ•ォントã€CSS ファイル...)をå–å¾—ã™ã‚‹å‰ã«ã€DNS サーãƒã«æŽ¥ç¶šã—ã€ãƒ«ãƒƒã‚¯ã‚¢ãƒƒãƒ—ãŒå®Œäº†ã™ã‚‹ã®ã‚’å¾…ã¤å¿…è¦ãŒã‚りã¾ã—ãŸã€‚プリフェッãƒã¨ãƒ—リコãƒã‚¯ãƒˆã‚’使用ã™ã‚‹ã¨ã€ãƒ–ラウザ㯠DNS æƒ…å ±ã‚’æ¤œç´¢ã—ã¦ã€ãƒ•ォントファイルをホストã—ã¦ã„るサーãƒã¸ã® TCP 接続ã®ç¢ºç«‹ã‚’é–‹å§‹ã§ãã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€ãƒ–ラウザãŒãƒ•ã‚©ãƒ³ãƒˆæƒ…å ±ã‚’å«ã‚€ CSS ファイルを解æžã—ã€ã‚µãƒ¼ãƒã‹ã‚‰ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’è¦æ±‚ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã“ã¨ã‚’検出ã™ã‚‹ã¾ã§ã«ã€DNS æƒ…å ±ãŒäº‹å‰ã«è§£æ±ºã•れã€ã‚µãƒ¼ãƒã¸ã®ã‚ªãƒ¼ãƒ—ン接続ãŒã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールã«ç”¨æ„ã•れã¦ã„ã‚‹ãŸã‚ã€ãƒ‘フォーマンスãŒå‘上ã—ã¾ã™ã€‚
方法:
⃠ウェブフォントをプリフェッãƒã™ã‚‹å‰ã«ã€webpagetest を使ã£ã¦ã‚¦ã‚§ãƒ–サイトを評価ã—ã¾ã—ょã†
⃠é’緑色㮠DNS ルックアップを探ã—ã¦ã€è¦æ±‚ã•れãŸãƒ›ã‚¹ãƒˆã‚’メモã—ã¦ãã ã•ã„
⃠ウェブフォントを<head>ã®ä¸ã§ãƒ—リフェッãƒã—ã€æœ€çµ‚çš„ã«ã¯ãƒ—リフェッãƒã™ã‚‹å¿…è¦ãŒã‚るホストåã‚‚è¿½åŠ ã—ã¦ãã ã•ã„- 📖 Faster Google Fonts with Preconnect - CDN Planet
- 📖 Make Your Site Faster with Preconnect Hints | Viget
- 📖 Ultimate Guide to Browser Hints: Preload, Prefetch, and Preconnect - MachMetrics Speed Blog
- 📖 A Comprehensive Guide to Font Loading Strategies—zachleat.com
- 🛠typekit/webfontloader: Web Font Loader gives you added control when using linked fonts via @font-face.
-
ウェブフォント サイズ:
ウェブフォントã®ã‚µã‚¤ã‚ºã¯ 300kb 以下ã§ã™ï¼ˆå«ã¾ã‚Œã¦ã„ã‚‹ã™ã¹ã¦ã®ãƒãƒªã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ï¼‰
- フラッシュã¾ãŸã¯ä¸å¯è¦–テã‚ストã®é˜²æ¢:
ウェブフォントãŒèªã¿è¾¼ã¾ã‚Œã‚‹ã¾ã§ã¯ã€ãƒ†ã‚ストをé€éŽã•ã›ãªã„よã†ã«ã—ã¾ã™
-
📖 Image Bytes in 2018
-
ç”»åƒã®æœ€é©åŒ–:
エンドユーザーã«ç›´æŽ¥å½±éŸ¿ã‚’与ãˆã‚‹ã“ã¨ãªãç”»åƒã‚’圧縮ã—ã€æœ€é©åŒ–ã—ã¦ãã ã•ã„。
ç†ç”±:
最é©åŒ–ã•れãŸç”»åƒã¯ã‚ˆã‚Šé«˜é€Ÿã«ãƒ–ラウザã«èªã¿è¾¼ã¾ã‚Œã‚‹ãŸã‚ã€ãƒ‡ãƒ¼ã‚¿ã®æ¶ˆè²»ãŒå°‘ãªããªã‚Šã¾ã™ã€‚
方法:
⃠å¯èƒ½ã§ã‚れã°ã€CSS3 エフェクトを使用ã—ã¦ãã ã•ã„(å°ã•ãªç”»åƒã®ä»£ã‚りã«ï¼‰
⃠å¯èƒ½ã§ã‚れã°ã€ç”»åƒã«ã¯ãƒ†ã‚ストエンコードã®ä»£ã‚りã«ãƒ•ォントを使用ã—ã¦ãã ã•ã„
⃠SVG を使用ã—ã¦ãã ã•ã„
⃠ツールを使ã£ã¦ã€åœ§ç¸®ãƒ¬ãƒ™ãƒ«ã‚’ 85 æœªæº€ã«æŒ‡å®šã—ã¦ãã ã•ã„- 📖 Image Optimization | Web Fundamentals | Google Developers
- 📖 Essential Image Optimization - An eBook by Addy Osmani
- 🛠TinyJPG – Compress JPEG images intelligently
- 🛠Kraken.io - Online Image Optimizer
- 🛠Compressor.io - optimize and compress JPEG photos and PNG images
- 🛠Cloudinary - Image Analysis Tool
- 🛠ImageEngine - Image Webpage Loading Test
- 🛠SVGOMG - Optimize SVG vector graphics files
-
ç”»åƒå½¢å¼:
ç”»åƒå½¢å¼ã‚’é©åˆ‡ã«é¸ã‚“ã§ãã ã•ã„。
ç†ç”±:
ç”»åƒãŒåŽŸå› ã§ Web サイトã®é€Ÿåº¦ã‚’低下ã•ã›ãªã„よã†ã«ã™ã‚‹ã«ã¯ã€ç”»åƒã«é©ã—ãŸå½¢å¼ã‚’é¸ã³ã¾ã™ã€‚写真ã®å ´åˆã€PNG ã‚„ GIF よりも JPEG ãŒé©ã—ã¦ã„ã¾ã™ã€‚ãŸã ã—ã€ãƒ•ァイルã®ã‚µã‚¤ã‚ºã‚’削減ã§ãã‚‹ next-gen å½¢å¼ã‚’確èªã™ã‚‹ã“ã¨ã‚’忘れãªã„ã§ãã ã•ã„。å„ç”»åƒå½¢å¼ã«ã¯é•·æ‰€ã¨çŸæ‰€ãŒã‚りã¾ã™ãŒã€æœ€ã‚‚良ã„é¸æŠžã‚’ã™ã‚‹ãŸã‚ã«ã“れらã®ã“ã¨ã‚’知ã£ã¦ãŠãã“ã¨ãŒé‡è¦ã§ã™ã€‚
方法:
⃠Lighthouse を使用ã—ã¦ã€ç”»åƒãŒ next-gen å½¢å¼ï¼ˆJPEG 2000mã€JPEG XRã€WebP ãªã©ï¼‰ã‚’使用ã§ãã‚‹ã‹ã‚’特定ã—ã¾ã™ã€‚
⃠複数ã®ç•°ãªã‚‹ç”»åƒå½¢å¼ã‚’比較ã—ã¦ãã ã•ã„。PNG8 よりも PNG16 を使用ã™ã‚‹æ–¹ãŒè‰¯ã„å ´åˆã‚‚ã‚りã¾ã™ã€‚
-
ベクター画åƒã‹ãƒ©ã‚¹ã‚¿ãƒ¼/ビットマップを使用:
ビットマップ画åƒã‚ˆã‚Šã‚‚ベクター画åƒã‚’使用ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ï¼ˆå¯èƒ½ãªå ´åˆï¼‰ã€‚
ç†ç”±:
ãƒ™ã‚¯ã‚¿ãƒ¼ç”»åƒ (SVG) ã¯ã‚µã‚¤ã‚ºãŒå°ã•ããªã‚‹å‚¾å‘ãŒã‚りã€ãƒ¬ã‚¹ãƒãƒ³ã‚·ãƒ–ã§ã‚¹ã‚±ãƒ¼ãƒ«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã¾ãŸã“れらã®ç”»åƒã¯ã€CSS を使ã£ã¦ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã—ãŸã‚Šå¤‰æ›´ã—ãŸã‚Šã§ãã¾ã™ã€‚
-
ç”»åƒã®å¤§ãã•:
レンダリング時ã®ç”»åƒã‚µã‚¤ã‚ºãŒã‚ã‹ã£ã¦ã„ã‚‹å ´åˆã¯ã€
<img>ã‚¿ã‚°ã«widthã¨heightã®å±žæ€§ã‚’è¨å®šã—ã¾ã™ã€‚ç†ç”±:
ã‚らã‹ã˜ã‚ç”»åƒã«é«˜ã•ã¨å¹…ãŒè¨å®šã•れã¦ã„れã°ã€ãƒšãƒ¼ã‚¸ã‚’ãƒãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã™ã‚‹æ™‚ã«ç”»åƒè¡¨ç¤ºã«å¿…è¦ãªã‚¹ãƒšãƒ¼ã‚¹ãŒç¢ºä¿ã•れã¾ã™ãŒã€ã‚‚ã—ã“れらã®å±žæ€§ãŒè¨å®šã•れã¦ã„ãªã‘れã°ã€ãƒ–ラウザã¯ç”»åƒã®ã‚µã‚¤ã‚ºã‚’èªè˜ã§ããšé©åˆ‡ãªã‚¹ãƒšãƒ¼ã‚¹ã‚’確ä¿ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。ã“れã«ã‚ˆã‚Šã€ãƒšãƒ¼ã‚¸ï¼ˆç”»åƒãƒ•ァイル)ã®ãƒãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ä¸ã«ã€ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆãŒå¤‰æ›´ã•れるã¨ã„ã†å½±éŸ¿ãŒå‡ºã¦ã—ã¾ã„ã¾ã™ã€‚
-
Base64 ç”»åƒã®ä½¿ç”¨ã‚’é¿ã‘ã‚‹:
å°ã•ãªç”»åƒã§ã‚れ㰠base64 ã«å¤‰æ›ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ãŒã€å®Ÿéš›ã“れã¯ãƒ™ã‚¹ãƒˆãƒ—ラクティスã§ã¯ã‚りã¾ã›ã‚“。
-
Lazy loading(é…å»¶èªã¿è¾¼ã¿ï¼‰:
オフスクリーン画åƒï¼ˆãƒ–ラウザã«åˆæœŸè¡¨ç¤ºã•れãªã„ç”»åƒï¼‰ã¯é…å»¶ãƒãƒ¼ãƒ‰ã—ã¾ã™ï¼ˆnoscript フォールãƒãƒƒã‚¯ã¯å¸¸ã«æä¾›ã•れã¾ã™ï¼‰ã€‚
ç†ç”±:
表示画é¢ã®å¿œç”時間をçŸç¸®ã—ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒå¿…è¦ã¨ã—ãªã„ä¸è¦ãªç”»åƒã®èªã¿è¾¼ã¿ã‚’回é¿ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
方法:
⃠Lighthouse を使用ã—ã¦ã€ã‚ªãƒ•ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ç”»åƒ ã®æ•°ã‚’特定ã—ã¾ã™ã€‚
⃠以下ã®ã‚ˆã†ãª JavaScript プラグインを使用ã—ã¦ã€ç”»åƒã®é…å»¶èªã¿è¾¼ã¿ã‚’行ã„ã¾ã™ã€‚å¿…ãšã‚ªãƒ•スクリーン画åƒã®ã¿ã‚’é…å»¶èªã¿è¾¼ã¿å¯¾è±¡ã«ã—ã¦ãã ã•ã„。
⃠ã¾ãŸã€ãƒžã‚¦ã‚¹ã‚ªãƒ¼ãƒãƒ¼æ™‚やユーザーæ“作時ã«è¡¨ç¤ºã•れる代替画åƒã‚‚é…å»¶èªã¿è¾¼ã¿ã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。 -
レスãƒãƒ³ã‚·ãƒ–ç”»åƒ:
ディスプレイサイズã«è¿‘ã„ç”»åƒã‚’利用ã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。
ç†ç”±:
ç”»é¢ãŒå°ã•ã„デãƒã‚¤ã‚¹ã§ã¯ã€ãƒ“ューãƒãƒ¼ãƒˆã‚ˆã‚Šã‚‚大ããªç”»åƒã‚’å¿…è¦ã¨ã—ã¾ã›ã‚“。1ã¤ã®ç”»åƒã‚’ãれãžã‚Œã®ç•°ãªã‚‹ã‚µã‚¤ã‚ºã§è¤‡æ•°æžšç”¨æ„ã—ã¦ãŠãã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚
方法:
⃠ターゲットã¨ã™ã‚‹ãƒ‡ãƒã‚¤ã‚¹ç”¨ã«ç•°ãªã‚‹ç”»åƒã‚µã‚¤ã‚ºã‚’作æˆã—ã¾ã™ã€‚
âƒsrcset属性やpictureタグを使用ã—ã¦ã€å„ç”»åƒã®è¤‡æ•°ã®ãƒãƒªã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã‚’é…ä¿¡ã—ã¾ã™ã€‚
-
JS 圧縮:
å…¨ã¦ã® JavaScript ファイルãŒåœ§ç¸®ã•れã€ã‚³ãƒ¡ãƒ³ãƒˆã€ç©ºç™½ã€ãŠã‚ˆã³æ”¹è¡ŒãŒãƒ—ãƒãƒ€ã‚¯ã‚·ãƒ§ãƒ³ãƒ•ァイルã‹ã‚‰å‰Šé™¤ã•れã¾ã™ (HTTP/2を使用ã—ã¦ã„ã‚‹å ´åˆã§ã‚‚有効ã§ã™ï¼‰ã€‚
ç†ç”±:
ä¸è¦ãªã‚¹ãƒšãƒ¼ã‚¹ã€ã‚³ãƒ¡ãƒ³ãƒˆã€ãƒ–レークをã™ã¹ã¦å‰Šé™¤ã™ã‚‹ã¨ã€JavaScript ファイルã®ã‚µã‚¤ã‚ºãŒå°ã•ããªã‚Šã€ã‚µã‚¤ãƒˆã®ãƒšãƒ¼ã‚¸ã®èªã¿è¾¼ã¿æ™‚é–“ãŒçŸç¸®ã•れã€ãƒ¦ãƒ¼ã‚¶ã®ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ãŒæ˜Žã‚‰ã‹ã«è»½ããªã‚Šã¾ã™ã€‚
方法:
⃠以下ã«ç¤ºã™ãƒ„ールを使用ã—ã¦ã€ãƒ“ルドã¾ãŸã¯ãƒ‡ãƒ—ãƒã‚¤ãƒ¡ãƒ³ãƒˆã®å‰ã‹æœ€ä¸ã«ãƒ•ァイルを自動的ã«åœ§ç¸®ã—ã¾ã™ã€‚
-
JavaScriptを内部ã«ã¯ç„¡è¨˜è¼‰ :
(ウェブサイトã§ã®ã¿æœ‰åйã§ã™ï¼‰ body 内部ã«è¤‡æ•°ã® JavaScript コードを埋ã‚込むã“ã¨ã¯é¿ã‘ã¦ãã ã•ã„。JavaScript コードを外部ファイル内ã«ã€æœ€çµ‚çš„ã«ã¯
<head>ã€ã¾ãŸã¯ãƒšãƒ¼ã‚¸ã®æœ€å¾Œï¼ˆ</body>ã®å‰ï¼‰ã§å†ã‚°ãƒ«ãƒ¼ãƒ—化ã—ã¾ã™ã€‚ç†ç”±:
JavaScript ã®åŸ‹ã‚è¾¼ã¿ã‚³ãƒ¼ãƒ‰ã‚’直接
<body>ã«é…ç½®ã™ã‚‹ã¨ã€DOM ã®æ§‹ç¯‰ä¸ã«ãƒšãƒ¼ã‚¸ãŒèªã¿è¾¼ã¾ã‚Œã‚‹ãŸã‚ã€ãƒšãƒ¼ã‚¸ã®é€Ÿåº¦ãŒä½Žä¸‹ã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚ 最é©ãªã‚ªãƒ—ションã¯ã€DOM ã®ãƒ–ãƒãƒƒã‚¯ã‚’回é¿ã™ã‚‹ãŸã‚ã«ã€asyncã¾ãŸã¯deferã§å¤–部ファイルを使用ã™ã‚‹ã“ã¨ã§ã™ã€‚ 別ã®ã‚ªãƒ—ションã¯ã€<head>内ã«ã„ãã¤ã‹ã®ã‚¹ã‚¯ãƒªãƒ—トをé…ç½®ã™ã‚‹ã“ã¨ã§ã™ã€‚<head>ã«é…ç½®ã™ã‚‹ã‚¹ã‚¯ãƒªãƒ—トã¯ã€ã»ã¨ã‚“ã©ã®å ´åˆã€DOM ãŒãƒ¡ã‚¤ãƒ³å‡¦ç†ã«åˆ°é”ã™ã‚‹å‰ã«ãƒãƒ¼ãƒ‰ã™ã‚‹å¿…è¦ãŒã‚る分æžã‚³ãƒ¼ãƒ‰ã¾ãŸã¯å°ã•ãªã‚¹ã‚¯ãƒªãƒ—トã§ã™ã€‚方法:
ã™ã¹ã¦ã®ãƒ•ァイルãŒ
asyncã¾ãŸã¯deferを使用ã—ã¦ãƒãƒ¼ãƒ‰ã•れã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã€<head>ã«æŒ¿å…¥ã™ã‚‹å¿…è¦ãŒã‚るコードã‹ã©ã†ã‹è¦‹æ¥µã‚ã¾ã—ょã†ã€‚ -
ノンブãƒãƒƒã‚ング JavaScript:
JavaScript ファイルã¯ã€
asyncを使用ã—ã¦éžåŒæœŸã§ãƒãƒ¼ãƒ‰ã•れるã‹ã€defer属性を使用ã—ã¦é…å»¶ãƒãƒ¼ãƒ‰ã•れã¾ã™ã€‚<!-- Defer 属性 --> <script defer src="foo.js"></script> <!-- Async 属性 --> <script async src="foo.js"></script>
ç†ç”±:
JavaScript ã¯ã€é€šå¸¸ã® HTML ドã‚ュメント解æžã‚’ブãƒãƒƒã‚¯ã™ã‚‹ãŸã‚ã€ãƒ‘ーサãŒ
<script>ã‚¿ã‚°ã«åˆ°é”ã™ã‚‹ã¨ï¼ˆç‰¹ã«<head>内ã«ã‚る)ã€ãƒ•ェッãƒã¨å®Ÿè¡Œã‚’åœæ¢ã—ã¾ã™ã€‚スクリプトをページã®ä¸Šéƒ¨ã«é…ç½®ã™ã‚‹å ´åˆã¯asyncã¾ãŸã¯deferã‚’è¿½åŠ ã™ã‚‹ã“ã¨ã‚’å¼·ãæŽ¨å¥¨ã—ã¾ã™ãŒã€</ body>ã‚¿ã‚°ã®ç›´å‰ã§ã¯ã‚ã¾ã‚ŠåŠ¹æžœãŒã‚りã¾ã›ã‚“。ãŸã ã—ã€ã“れらã®å±žæ€§ã‚’常時使用ã—ã€ãƒ‘フォーマンスã®å•題を回é¿ã™ã‚‹ã“ã¨ãŒæœ›ã¾ã—ã„ã§ã™ã€‚方法:
⃠スクリプトタグã®å±žæ€§ã¨ã—ã¦ã€
async(スクリプトãŒä»–ã®ã‚¹ã‚¯ãƒªãƒ—トã«ä¾å˜ã—ã¦ã„ãªã„å ´åˆï¼‰ã¾ãŸã¯defer(スクリプトãŒä»–ã®ã‚¹ã‚¯ãƒªãƒ—トã«ä¾å˜ã€ã¾ãŸã¯éžåŒæœŸã‚¹ã‚¯ãƒªãƒ—トã«ä¾å˜ã—ã¦ã„ã‚‹å ´åˆï¼‰ã‚’è¿½åŠ ã—ã¾ã™ã€‚
⃠å°ã•ãªã‚¹ã‚¯ãƒªãƒ—トã¯ã€éžåŒæœŸã‚¹ã‚¯ãƒªãƒ—トã®ä¸Šã«ã‚¤ãƒ³ãƒ©ã‚¤ãƒ³ã‚¹ã‚¯ãƒªãƒ—トã§é…ç½®ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚ -
最é©åŒ–ãŠã‚ˆã³ã‚¢ãƒƒãƒ—デートã•れ㟠JS ライブラリ:
プãƒã‚¸ã‚§ã‚¯ãƒˆã§ä½¿ç”¨ã•れる全ã¦ã® JavaScript ライブラリãŒå¿…è¦ã§ã‚ã£ã¦ï¼ˆå˜ç´”ãªæ©Ÿèƒ½ã«ã¤ã„ã¦ã¯ãƒãƒ‹ãƒ© JavaScript を推奨)ã€JavaScript ライブラリを最新ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¸ã‚¢ãƒƒãƒ—デートã—ã€ä¸å¿…è¦ãªãƒ¡ã‚½ãƒƒãƒ‰ã§ JavaScript ã‚’ã†ã‚ã¤ãã•ãªã„ã§ãã ã•ã„。
ç†ç”±:
ã»ã¨ã‚“ã©ã®å ´åˆã€æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã¯æœ€é©åŒ–ã¨ã‚»ã‚ュリティ修æ£ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚最é©åŒ–ã•れãŸã‚³ãƒ¼ãƒ‰ã§ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã‚’高速化ã—ã€å¤ã„プラグインを使ã†ã“ã¨ãªãã€ã‚¦ã‚§ãƒ–サイトã¾ãŸã¯ã‚¢ãƒ—リã®é€Ÿåº¦ã‚’è½ã¨ã•ãªã„よã†ã«ã—ã¦ãã ã•ã„。
方法:
プãƒã‚¸ã‚§ã‚¯ãƒˆã§ NPM パッケージを使用ã—ã¦ã„ã‚‹å ´åˆã€npm-check ã¯ã€ãƒ©ã‚¤ãƒ–ラリをアップグレードï¼ã‚¢ãƒƒãƒ—デートã™ã‚‹ãŸã‚ã®éžå¸¸ã«èˆˆå‘³æ·±ã„ライブラリã§ã™ã€‚ Greenkeeper ã¯ã€ä¾å˜é–¢ä¿‚ã‚’è‡ªå‹•çš„ã«æŽ¢ã—ã€æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒãƒªãƒªãƒ¼ã‚¹ã•れる度ã«ã‚¢ãƒƒãƒ—ãƒ‡ãƒ¼ãƒˆã‚’ææ¡ˆã—ã¾ã™ã€‚
-
ä¾å˜é–¢ä¿‚ã®ã‚µã‚¤ã‚ºåˆ¶é™ã‚’確èª:
外部ライブラリã¯è¦‹æ¥µã‚ã¦ã‹ã‚‰ä½¿ç”¨ã—ã¦ãã ã•ã„。ã»ã¨ã‚“ã©ã®å ´åˆã€åŒã˜æ©Ÿèƒ½ã§ã‚れã°ã‚ˆã‚Šè»½ã„ライブラリを使用ã—ã¾ã™ã€‚
ç†ç”±:
npm ã«ã‚ã‚‹745 000パッケージã®ã„ãšã‚Œã‹ã‚’使用ã—ãŸããªã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“ãŒã€ãƒ‹ãƒ¼ã‚ºã«æœ€é©ãªãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’é¸æŠžã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚例ãˆã°ã€MomentJS ã¯ç´ 晴らã—ã„ライブラリã§ã™ãŒã€ã¾ã£ãŸã使ã‚れるã“ã¨ãŒãªã„多ãã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’å‚™ãˆã¦ã„ã‚‹ãŸã‚ã€Day.js ãŒä½œæˆã•れã¾ã—ãŸã€‚Day.js ã¯2 kB ã§ã€MomentJS ã¯16.4 kB gz ã§ã™ã€‚
方法:
常ã«ãƒ‹ãƒ¼ã‚ºã«åˆã£ãŸæœ€é©ã§è»½é‡ãªãƒ©ã‚¤ãƒ–ラリを比較ã—ã¦é¸æŠžã—ã¦ãã ã•ã„。npm trend ãªã©ã®ãƒ„ールを使用ã—㦠NPM パッケージã®ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰æ•°ã‚’比較ã—ãŸã‚Šã€Bundlephobia を使用ã—ã¦ä¾å˜é–¢ä¿‚ã®ã‚µã‚¤ã‚ºã‚’確èªã—ãŸã‚Šã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
-
JavaScript プãƒãƒ•ァイリング:
JavaScript ファイル(ãŠã‚ˆã³ CSS)ã®ãƒ‘フォーマンスã®å•題を確èªã—ã¾ã™ã€‚
ç†ç”±:
JavaScript ãŒè¤‡é›‘ã«ãªã‚‹ã¨ã€ãƒ©ãƒ³ã‚¿ã‚¤ãƒ ã®ãƒ‘フォーマンスãŒä½Žä¸‹ã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚ 考ãˆã‚‰ã‚Œã‚‹ã“れらã®å•題を特定ã™ã‚‹ã“ã¨ã¯ã€ã‚¹ãƒ ーズãªãƒ¦ãƒ¼ã‚¶ã‚¨ã‚¯ã‚¹ãƒšãƒªã‚¨ãƒ³ã‚¹ã‚’æä¾›ã™ã‚‹ãŸã‚ã«ä¸å¯æ¬ ã§ã™ã€‚
方法:
Chrome 開発者ツールã®ã‚¿ã‚¤ãƒ ラインツールを使用ã—ã¦ã‚¹ã‚¯ãƒªãƒ—トイベントを評価ã—ã€æ™‚é–“ãŒã‹ã‹ã‚Šã™ãŽã‚‹ã‚¤ãƒ™ãƒ³ãƒˆã‚’見ã¤ã‘ã¾ã™ã€‚
- 📖 Speed Up JavaScript Execution  | Tools for Web Developers  | Google Developers
- 📖 JavaScript Profiling With The Chrome Developer Tools — Smashing Magazine
- 📖 How to Record Heap Snapshots  | Tools for Web Developers  | Google Developers
- 📖 Chapter 22 - Profiling the Frontend - Blackfire
- 📖 30 Tips To Improve Javascript Performance
-
Service Worker ã®ä½¿ç”¨:
PWA ã§ Service Worker を使用ã—ã¦ã€ã‚¢ãƒ—リケーションã®ãƒ¦ãƒ¼ã‚¶ã‚¨ã‚¯ã‚¹ãƒšãƒªã‚¨ãƒ³ã‚¹ã«å½±éŸ¿ã‚’与ãˆã‚‹ã“ã¨ãªãã€ãƒ‡ãƒ¼ã‚¿ã‚’ã‚ャッシュã—ãŸã‚Šã€é‡ã„タスクを実行ã—ãŸã‚Šã—ã¾ã™ã€‚   Â
![サーãƒã‚µã‚¤ãƒ‰]
-
ウェブサイト㌠HTTPS を使用ã—ã¦ã„ã‚‹ã“ã¨:
ç†ç”±:
HTTPS ã¯ã€ e コマースウェブサイトã ã‘ã§ã¯ãªãã€ãƒ‡ãƒ¼ã‚¿ã‚’やりã¨ã‚Šã™ã‚‹å…¨ã¦ã®ã‚¦ã‚§ãƒ–サイト用ã§ã™ã€‚データã¨ã¯ã€ãƒ¦ãƒ¼ã‚¶ãŒå…±æœ‰ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ã€ã¾ãŸã¯å¤–部エンティティã¨å…±æœ‰ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ã§ã™ã€‚ä»Šæ™‚ã®æœ€æ–°ãƒ–ラウザã¯å®‰å…¨ã§ãªã„ã‚µã‚¤ãƒˆã®æ©Ÿèƒ½ã‚’制é™ã—ã¦ã„ã¾ã™ã€‚例ãˆã°ã€ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒ HTTPS を使用ã—ã¦ã„ãªã„å ´åˆã€ä½ç½®æƒ…å ±ã€ãƒ—ッシュ通知ã€ãŠã‚ˆã³ Service Worker ã¯æ©Ÿèƒ½ã—ã¾ã›ã‚“。ã¾ãŸã€ç¾åœ¨ã¯ SSL 証明書を使用ã—ãŸãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã®ã‚»ãƒƒãƒˆã‚¢ãƒƒãƒ—ãŒã€ä»¥å‰ã‚ˆã‚Šã‚‚ã¯ã‚‹ã‹ã«ç°¡å˜ã«ãªã‚Šã¾ã—ãŸã€‚(ãã—ã¦ã€ Let's Encrypt ã®ãŠã‹ã’ã§ç„¡æ–™ã§ã™ã€‚)
- 📖 Why Use HTTPS? | Cloudflare
- 📖 Enabling HTTPS Without Sacrificing Your Web Performance - Moz
- 📖 How HTTPS Affects Website Performance
- 📖 HTTP versus HTTPS versus HTTP2 - The real story | Tune The Web
- 📖 HTTP vs HTTPS — Test them both yourself
-
ãƒšãƒ¼ã‚¸å®¹é‡ < 1500 KB (ç†æƒ³çš„ã«ã¯ < 500 KB):
ページã¨ãƒªã‚½ãƒ¼ã‚¹ã®ã‚µã‚¤ã‚ºã‚’ã§ãã‚‹ã ã‘æ¸›ã‚‰ã™ã€‚
ç†ç”±:
500 KB 未満を目標ã«ã™ã‚‹ã®ãŒç†æƒ³ã§ã™ãŒã€ Web ã®çŠ¶æ…‹ã§ã¯ã€ãƒšãƒ¼ã‚¸å®¹é‡ã®ä¸å¤®å€¤ãŒç´„ 1500 KB (モãƒã‚¤ãƒ«ã§ã‚‚)ã§ã‚ã‚‹ã“ã¨ãŒç¤ºã•れã¦ã„ã¾ã™ã€‚ターゲットユーザã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯æŽ¥ç¶šã€ãƒ‡ãƒã‚¤ã‚¹ã«å¿œã˜ã¦ã€å¯èƒ½ãªé™ã‚Šç·ã‚ãƒãƒã‚¤ãƒˆæ•°ã‚’減らã™ã“ã¨ã§ã€å¯èƒ½ãªé™ã‚Šæœ€é«˜ã®ãƒ¦ãƒ¼ã‚¶ä½“験をæä¾›ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
方法:
⃠フãƒãƒ³ãƒˆã‚¨ãƒ³ãƒ‰ãƒ‘フォーマンスãƒã‚§ãƒƒã‚¯ãƒªã‚¹ãƒˆå†…ã®å…¨ã¦ã®ãƒ«ãƒ¼ãƒ«ã¯ã€ãƒªã‚½ãƒ¼ã‚¹ã¨ã‚³ãƒ¼ãƒ‰ã‚’å¯èƒ½ãªé™ã‚Šå‰Šæ¸›ã™ã‚‹ã®ã«å½¹ç«‹ã¡ã¾ã™ã€‚
-
ページèªã¿è¾¼ã¿æ™‚é–“ < 3 ç§’:
ページã®èªã¿è¾¼ã¿æ™‚é–“ã‚’å¯èƒ½ãªé™ã‚ŠçŸç¸®ã—ã¦ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’ç´ æ—©ãユーザã«é…ä¿¡ã™ã‚‹ã€‚
ç†ç”±:
ウェブサイトやアプリãŒé«˜é€Ÿã§ã‚れã°ã‚ã‚‹ã»ã©ã€é›¢è„±ã‚’å¢—åŠ ã™ã‚‹å¯èƒ½æ€§ã‚’減らã—ã€ãƒ¦ãƒ¼ã‚¶ã‚„å°†æ¥ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‚’失ã†å¯èƒ½æ€§ã‚’減らã—ã¾ã™ã€‚主題ã«é–¢ã™ã‚‹å分ãªèª¿æŸ»ã¯ã€ã“ã®ç‚¹ã‚’証明ã—ã¾ã™ã€‚
方法:
Page Speed Insight ã‚„ WebPageTest ãªã©ã®ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ãƒ„ールを使用ã—ã¦ã€ä½•ãŒé…ããªã‚‹ã‹ã‚’分æžã—ã€èªã¿è¾¼ã¿æ™‚é–“ã‚’çŸç¸®ã™ã‚‹ãŸã‚ã«ã€ãƒ•ãƒãƒ³ãƒˆã‚¨ãƒ³ãƒ‰ãƒ‘フォーマンスãƒã‚§ãƒƒã‚¯ãƒªã‚¹ãƒˆã‚’利用ã—ã¾ã™ã€‚
-
最åˆã®æƒ…å ±ã‚’å—ä¿¡ã™ã‚‹å¾…ã¡æ™‚é–“ < 1.3 ç§’:
データをå—ä¿¡ã™ã‚‹å‰ã«ã€ãƒ–ラウザãŒå¾…機ã™ã‚‹æ™‚é–“ã‚’ã§ãã‚‹é™ã‚Šæ¸›ã‚‰ã—ã¾ã™ã€‚
-
クッã‚ーサイズ:
クッã‚ーを利用ã—ã¦ã„ã‚‹ã®ã§ã‚れã°ã€å„クッã‚ーãŒ4096ãƒã‚¤ãƒˆã‚’è¶…ãˆãªã„よã†ã«ã—ã€ãƒ‰ãƒ¡ã‚¤ãƒ³æ¯Žã«20ã‚’è¶…ãˆã‚‹ã‚¯ãƒƒã‚ーãŒç„¡ã„よã†ã«ã—ã¦ãã ã•ã„。
ç†ç”±:
クッã‚ーã¯ã€ã‚¦ã‚§ãƒ–サーãƒã¨ãƒ–ラウザ間㧠HTTP ヘッダã§ã‚„りã¨ã‚Šã•れã¾ã™ã€‚ユーザã®å¿œç”時間ã¸ã®å½±éŸ¿ã‚’最å°é™ã«æŠ‘ãˆã‚‹ãŸã‚ã«ã€ã‚¯ãƒƒã‚ーã®ã‚µã‚¤ã‚ºã‚’ã§ãã‚‹é™ã‚Šå°ã•ãã™ã‚‹ã“ã¨ãŒé‡è¦ã§ã™ã€‚
方法:
ä¸è¦ãªã‚¯ãƒƒã‚ーを排除ã—ã¾ã™ã€‚
- HTTP ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æœ€å°åŒ–:
リクエストã•れã¦ã„ã‚‹å…¨ã¦ã®ãƒ•ァイルãŒã€ã‚¦ã‚§ãƒ–サイトã¾ãŸã¯ã‚¢ãƒ—リケーションã«ä¸å¯æ¬ ã§ã‚ã‚‹ã“ã¨ã‚’常ã«ç¢ºèªã—ã¦ãã ã•ã„。
- CDN を使用ã—ã¦ã‚¢ã‚»ãƒƒãƒˆã‚’é…ä¿¡:
CDN を利用ã—ã¦ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„をより速ã世界ä¸ã«é…ä¿¡ã—ã¾ã™ã€‚
- 📖 10 Tips to Optimize CDN Performance - CDN Planet
- 📖 HTTP Caching  | Web Fundamentals  | Google Developers
-
åŒã˜ãƒ—ãƒãƒˆã‚³ãƒ«ã‹ã‚‰ãƒ•ァイルをæä¾›:
例ãˆã°ã€ HTTPS を使用ã—ã¦ã„るウェブサイトã§ã€ HTTP を使用ã—ãŸã‚½ãƒ¼ã‚¹ã‹ã‚‰ãƒ•ァイルをæä¾›ã™ã‚‹ã‚¦ã‚§ãƒ–サイトを作æˆã—ãªã„ã§ãã ã•ã„。ウェブサイト㌠HTTPS を使用ã—ã¦ã„ã‚‹å ´åˆã€å¤–部ファイルã¯åŒã˜ãƒ—ãƒãƒˆã‚³ãƒ«ã‹ã‚‰å–å¾—ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
-
到é”å¯èƒ½ãªãƒ•ァイルをæä¾›:
到é”ä¸èƒ½ãªãƒ•ァイルã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é¿ã‘ã¾ã™ï¼ˆ404)。
- HTTP ã‚ャッシュヘッダをé©åˆ‡ã«è¨å®š:
HTTP ヘッダをè¨å®šã—ã¦ã€ãƒ–ラウザã¨ã‚µãƒ¼ãƒé–“ã®å¾€å¾©ã‚³ã‚¹ãƒˆã‚’回é¿ã—ã¾ã™ã€‚
- GZIP / Brotli åœ§ç¸®ã®æœ‰åŠ¹åŒ–:
GZIP ã‚„ Brotli ãªã©ã®åœ§ç¸®æ–¹æ³•を利用ã—ã¦ã€ JavaScript ファイルã®ã‚µã‚¤ã‚ºã‚’å°ã•ãã—ã¾ã™ã€‚ファイルã®ã‚µã‚¤ã‚ºã‚’å°ã•ãã™ã‚‹ã¨ã€ãƒ¦ãƒ¼ã‚¶ã¯ã‚¢ã‚»ãƒƒãƒˆã‚’より速ãダウンãƒãƒ¼ãƒ‰ã§ãるよã†ã«ãªã‚Šã€ãƒ‘フォーマンスãŒå‘上ã—ã¾ã™ã€‚
- 📖 Optimizing Performance - React
- 📖 React image manipulation | Cloudinary
- 📖 Debugging React performance with React 16 and Chrome Devtools.
- 📖 19 Tips to Speed Up WordPress Performance (Updated)
- 📖 Speed Up Your WordPress - How to Save Images Optimized for Web
- 🛠Caching Plugin for WordPress - Speed up your website with WP Rocket
- 🛠WP-Sweep | WordPress.org
- 🛠Imagify Image Optimizer | WordPress.org
Front-End Performance Checklist ã¯ã€ä»–言語ã§ã‚‚利用ã§ãるよã†ã«ã—ãŸã„ã¨è€ƒãˆã¦ã„ã¾ã™!è¿·ã‚ãšæŠ•ç¨¿ã—ã¦ãã ã•ã„!
- 🇵🇹 Portuguese: fernandofawkes/Front-End-Performance-Checklist
- 🇨🇳 Chinese: JohnsenZhou/Front-End-Performance-Checklist
- 🇷🇺 Russian: lex111/Front-End-Performance-Checklist
- 🇫🇷 French: WilliamDASILVA/Front-End-Performance-Checklist
- 🇰🇷 Korean: ParkSB/Front-End-Performance-Checklist
- 🇪🇸 Spanish: dagerzuga/Front-End-Performance-Checklist
- 🇻🇮 Vietnamese : huynhan147/Front-End-Performance-Checklist
Issue やプルリクエストをオープンã—ã¦ã€å¤‰æ›´ã‚„è¿½åŠ ã‚’ææ¡ˆã—ã¦ãã ã•ã„。
質å•ã‚„ææ¡ˆãŒã‚れã°ã€é æ…®ãªã Discord ã‚„ Twitter を利用ã—ã¦ä¸‹ã•ã„:
**Build with â¤ï¸ by David Dias
ã“ã®ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã¯ã€ã”å”力ã„ãŸã ã„ãŸçš†æ§˜ã®ãŠã‹ã’ã§æˆã‚Šç«‹ã£ã¦ã„ã¾ã™ã€‚ [貢献ã™ã‚‹].
ã”æ”¯æ´ã„ãŸã ã„ãŸçš†æ§˜ã€ã‚りãŒã¨ã†ã”ã–ã„ã¾ã—ãŸ! 🙠[後æ´è€…ã«ãªã‚‹]
スãƒãƒ³ã‚µãƒ¼ã«ãªã£ã¦ã“ã®ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã‚’サãƒãƒ¼ãƒˆã—ã¦ãã ã•ã„。スãƒãƒ³ã‚µãƒ¼ã®ãƒã‚´ã¯ã€ã‚¦ã‚§ãƒ–サイトã¸ã®ãƒªãƒ³ã‚¯ã¨å…±ã«ã“ã“ã«è¡¨ç¤ºã•れã¾ã™ã€‚[スãƒãƒ³ã‚µãƒ¼ã«ãªã‚‹]
アイコンã¯ã™ã¹ã¦ Icons8 ã«ã‚ˆã£ã¦æä¾›ã•れã¦ã„ã¾ã™ã€‚





