私は cms (Wordpress) を使用しており、各ページに読み込んでいる外部スタイルシートがたくさんありますが、これらのスタイルシートの一部はページ固有のものです。全体的に、Yslow と Page Speed のスコアが悪いので、必要に応じてページ固有の css ファイルのみを読み込むようにブラウザに指示する php 条件を追加することを検討しています。ただし、ブラウザーに PHP リクエストを追加する予定なので、実際に読み込み時間を短縮するかどうかは疑問です。
7 に答える
グローバル CSS ファイルは 1 つ (最大 2 つ) だけにする必要があります
その後、ページ固有の CSS が必要な場合は、もう 1 つまたは 2 つ追加しても構いません。
PHP インタープリターを起動するという行為は、静的な CSS ファイルを提供するよりも何百倍も負荷がかかるため、PHP ファイルを CSS としてロードしないでください。したがって、CSS内にPHP条件を追加して名前を変更する.PHPは答えではありません
調査したいのは、すべての CSS ファイルを 1 つにマージし、特別なクラスを使用してそれらをトリガーすることです
たとえば、これを行う代わりに:
main.css
body { background-color: black; color: white; }
my-custom-page.css
body { background-color: white; color: black; }
これを行うだけです:
main.css
body { background-color: black; color: white; }
body.custompage { background-color: white; color: black; }
その動作が必要なときはいつでも、 class="custompage" を BODY 要素に追加します
body.custompage には body よりも多くの修飾子があるため、優先度が高くなり、以前の宣言をオーバーライドします。あなたもできる
.custompage a { color: red; }
.custompage p { font-weight: bold; }
次に、すべてのページに対して単一の同一の CSS 呼び出しを行うことができます
そしてブラウザのキャッシュはそれを気に入っています
いくつかの php 条件を追加することで、ブラウザーに PHP リクエストを追加することはありません。
正直なところ、PHP はブラウザに対してまったくリクエストを行いません。
また、PHP コードにいくつかの条件を追加しても、パフォーマンスには影響しません。ただし、ブラウザを不要な CSS リクエストから保護します。
ですから、もちろんそのほうがいいでしょう。
すべての CSS を 1 つの CSS に連結します。
+- 2 kb は問題ではありませんが、リクエストが 1 つ少ないことは非常に重要です。
csstidy は仕事をすることができます。
同じことがjavascriptにも当てはまります。パフォーマンスに大きな影響を与えます。
この場合、PHP リクエストが何を意味するのかわかりませんが、PHP 条件ステートメントとブラウザー リクエストのパフォーマンスへの影響を比較検討しているようです。
ブラウザのリクエスト数を可能な限り減らすことは、ほとんどの場合、より大きな影響 (実際にははるかに大きな影響) をもたらします。条件ステートメントが非常に複雑でない限り、桁違いの違いが生じる可能性があります。
比較的単純な Web サイト (サーバー側のネットワーク リクエストをあまり行わない、サーバー側で複雑な計算を行わないなど) の場合、ほとんどのページ読み込み速度の改善はクライアント側で行うことができます。これに関する詳細については、Steve Souders の著書High Performance Web Sitesを強くお勧めします。
ページ読み込みプロファイラー (Firebug の「ネット」タブや Safari/Chrome の「リソース」タブなど) も、最適化が価値があるかどうかを最終的に教えてくれます。技術的にはブラウザの観点からのみパフォーマンスを測定しますが、これにはサーバーがリクエストを処理して応答するのにかかる時間も含まれます。HTML ドキュメントのリクエストが遅くなる場合 (そうなるとは思えません)、余分な PHP コードが原因である可能性があります。不要なスタイルシート リクエストを 1 つでも削除するだけで、条件ステートメントのパフォーマンスへの影響が大幅に相殺されると期待しています。
Google によると、ページ読み込み時間の 90 ~ 95% はクライアント側で発生します: YouTube
これは、サーバー ハードウェア、スタイルシートのサイズ、オペコード キャッシング PHP 拡張機能 (eaccelerator など) がインストールされているかどうかによって異なります。
ただし、ほとんどの場合、ネットワークが主要なボトルネックであるため、これらの条件を追加することをお勧めします。
これは、ネットワークの人口統計に大きく依存します。ただし、ほとんどの場合、ネットワークは CPU 時間よりも遅いため、追加の HTTP 要求を削除できれば、状況は改善されます。
また、ブラウザーは 1 つのホストから一度に 4 つ (または 6 つ、または 8 つ) のファイルしかダウンロードできないことにも注意してください。そのため、CSS を 1 つのファイルに結合できれば、パフォーマンスも向上します。