私は自分のウェブサイトをGoogle Pagespeedで実行しましたが、それが戻ってきました
「スクロールせずに見えるコンテンツのレンダリングブロックJavaScriptとCSSを排除する」
問題は、これらの「レンダリングブロック」アセットがレンダリングに必要なことです。次のように:
私は混乱しています。 css.cssファイル、bootstrapファイル、およびgoogleフォントなしでページをレンダリングするにはどうすればよいですか?
時間の無駄...ほとんどの場合...洞察力...必要ありません。
マトリックスおよびGoogleのPagespeed Insightsは必須ではなく、秘密のリスレベル9のGoogleランキングで報われることはありません。
Google、Bing、およびユーザーは、なぜページスコアマトリックスを気にしませんか?最終的には、ページの読み込み速度に要約され、それがユーザーと検索エンジンがサイトに与える報酬です。
ウェブサイトの速度の最大の影響は、適切なホスティングです...
優れたホスティングは、根本的な問題がないと仮定してページ速度に最大の影響を及ぼします...レンダリングのブロック、有効期限など、よく報告されるものは根本的な問題ではなく、ほとんどはページ速度を許容できないレベルに下げません。
実際、世界のトップ100のサイトを見ると、それらは高速ですが、pageSpeedの洞察では非常に低いスコアです。
本当の意味でテストツールを使用してください...
適切なテストツールを使用し、 WebPagetest ターゲットリージョンの複数のサーバーで複数のパスを使用することをお勧めします。 2秒未満、理想的には1.5秒未満、1秒未満が非常に良いことを目指してください。
レンダーブロッキングとは?
レンダリングブロッキングは、実際のコンテンツの前にリソースが呼び出される場所です。リソースがダウンロードされるのを待つと、ページのテストが遅くなります。これは、リソースを「スクロールせずに」ロードし、 (コンテンツの後)。
この問題を回避するには、フォントを非同期に読み込む必要があります。つまり、<head> </head>
内にないことを意味します。解決策については、次の章を参照してください。
Google Fonts Render Blockingの解決
Googleインサイトまたはその他のMatrixベースのWebサイト内で100/100に最も近いものを取得したい場合は、 Webfont Loader を使用して、Googleフォントのレンダリングブロックの問題を克服できます。
これは次のようになります。
<script type="text/javascript">
WebFontConfig = {
google: { families: [ 'Noto+Serif:400,400italic,700,700italic' ] }
};
(function() {
var wf = document.createElement('script');
wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
wf.type = 'text/javascript';
wf.async = 'true';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(wf, s);
})(); </script>
他のCSSファイル
内部または外部のいずれかでロードされるCSSまたはJSファイルなどの他のリソースがある場合、ページの下部にロードする必要があります。これには必須のJavaScriptは含まれません(例: modernizr またはmainサイトへのベースCSS(style.cssなど)ほとんどのベンダーは、スクロールせずにJavaScriptを介してCSSをロードするための何らかのAPIを提供します。
悲しいことに、すべてのCSSベンダーがAPIを持っているわけでも、エレガントなソリューションを提供しているわけでもないので、通常、ページの下部にCSSリソースをロードする独自のJavaScriptを開発およびデプロイする必要があります。
JavaScriptを使用してページの下部にCSSファイルをロードする例
以下は、必要なCSSファイルをほとんど内部にロードするスクリプトです。内部または外部のどちらでも問題ありません。 </body>
の前に配置します
<script type='text/javascript'>
//<![CDATA[
function loadCSS(e, t, n) { "use strict"; var i = window.document.createElement("link"); var o = t || window.document.getElementsByTagName("script")[0]; i.rel = "stylesheet"; i.href = e; i.media = "only x"; o.parentNode.insertBefore(i, o); setTimeout(function () { i.media = n || "all" }) }loadCSS("path/to/font-awesome/css/font-awesome.min.css");
//]]>
</ Script>