37491
**Q1.ページの表示速度を高速化する場合、「1ページ目を速く表示する方法」と「キャッシュ等を利用して2ページ目以降を速くする方法」があると思うのですが、**

・[PageSpeed](https://developers.google.com/speed/docs/insights/BlockingJS?hl=ja)は、1ページのみで判断するのでしょうか？  
・2ページ目以降(キャッシュ)は考慮しない？

※単純にSEO効果だけを考えるなら、「1ページ目を速く表示」することだけを考えれば良い？

* * *

**Q2.「async」「defer」を使用しない場合**  
・外部スクリプトではなく、インライン化した方が良い？  
・遅延する方法としてasyncしか記載されていないのですが、DOMContentLoadedは考慮されない？

* * *

**Q3.PageSpeedは、CDNのキャッシュは考慮しない(と考えられる)？**
CC BY-SA 3.0
2017-08-25T02:00:35.410
37476
2017-08-25T14:25:25.697
7886
question
javascript
PageSpeedは、1ページのみで判断？ 2ページ目以降(キャッシュ)は考慮しない？
質問者さんの言う「2ページ目」が何を指しているのか不明確ですが、

再訪問時にキャッシュが機能するかどうかでしょうか？ そうであればPageSpeedはページがキャッシュ可能に設定されているかを評価しています。

調査対象のページからリンクされる次のページのことでしょうか？ そうであればPageSpeedはページ毎に評価するので、各ページについて調査するまでです。

* * *

> 外部スクリプトではなく、インライン化した方が良い？

[小さなJavaScriptをインライン化する](https://developers.google.com/speed/docs/insights/BlockingJS?hl=ja#InlineJS)とある通りです。小さくなく複数ページから読み込まれるJavaScriptの場合はインライン化は非効率です。

> 遅延する方法としてasyncしか記載されていないのですが、DOMContentLoadedは考慮されない？

HTMLの仕様が関係します。HTMLファイルのタグ解析中に`<script>`タグに到達した場合、指定されているスクリプトファイルのダウンロードが完了し更にそのスクリプトファイルを解析完了するまでタグ解析は中断されます。  
`DOMContentLoaded`等、記述内容に依らずダウンロードおよび解析が完了するまでHTMLタグの解析が中断されることに変わりありません。  
そしてHTMLタグ解析が中断された場合、（解析されていないわけですから当然のことですが）後続する外部リソースの読み込みも開始されませんので、ページの読み込みパフォーマンスに与える影響が大きいです。  
そこでHTMLタグ解析を中断させない唯一の方法が`async`（もしくは`defer`）の指定なわけです。
CC BY-SA 3.0
2017-08-25T14:25:25.697
37491
2017-08-25T14:25:25.697
4236
37476
answer