複数のCSSファイルをサーバーでまとめてSEO対策しよう
Googleがページの表示速度を検索結果ランキング評価の1要素にするという発表で、多くのサイト管理者は速度アップの対策に追われていることと思います。
その対策の一つとして、サーバーとの通信回数を減らすことが挙げられますが、CSSファイルを分けて管理している場合は困ったことになります。
管理側は複数のCSSで効率よく管理したいんですけど…
分かります、分かりますとも。
CSSはご存知の通り、各ブラウザごとで微妙に異なる解釈をします。 そのためCSSファイルをブラウザごとに分けておき、screen.css 内で@import を使って読み込ませると、手軽に切り分けることができますよね。
@charset "utf-8"; @import url("reset.css"); @import url("fonts.css"); /* 基本 */ @import url("base.css"); /* Win IE6以前用 */ @import url("baseIE6.css"); /* Win IE7用 */ @import url("baseIE7.css");
しかし、これだとページを表示する際にブラウザが6回も通信をしないといけなくなり、サイトの表示スピードに影響がでてきちゃうんですね。
サーバー側で合体させてしまう
この問題をうまく両方解決するためには、以下のようにサーバー側で1つにまとめてしまうのが良いと思います。
- 0.事前にscreen.css を削除しておく
- 1.screen.css要求時にファイルがなければ screen.php に要求先を変更
- 2.screen.php 内で必要なCSSファイルを全て読み込み
- 3.読み込んだCSSの記述を screen.css ファイルを新規作成して書き込み
- 4.読み込んだCSSの記述を要求元に返す
- 5.CSSを新しく修正したら screen.css を削除しておく
ポイントは3のscreen.cssの作成ですかね。 こうしておくと、また新たにscreen.cssの要求があったときに、こんどはちゃんとscreen.cssを返すようになります。 負荷もかからないので良いですね。
mod_rewriteを使って要求先をscreen.php に変更
1の対策ですが、mod_rewrite機能を使ってhttpd.conf あるいは .htaccessファイル内に次のように書いて、screen.css ファイルが存在しない場合はscreen.php へ要求先を切り替えるようにします。
.htaccess
RewriteEngine On RewriteCond %{SCRIPT_FILENAME} .*screen.css$ RewriteCond %{SCRIPT_FILENAME} !-f RewriteRule ^(.*)screen.css$ $1screen.php [L]
screen.php 内で必要なCSSを読み込み
要求先のscreen.phpでは次のようにして2、3、4の対策を施します。
screen.php
<?php header("Content-Type: text/css; charset=utf-8"); $dir = dirname($_SERVER['SCRIPT_FILENAME']); $str = ''; if (is_file("$dir/reset.css")) $str .= file_get_contents("$dir/reset.css"); if (is_file("$dir/fonts.css")) $str .= file_get_contents("$dir/fonts.css"); if (is_file("$dir/base.css")) $str .= file_get_contents("$dir/base.css"); if (is_file("$dir/baseIE6.css")) $str .= file_get_contents("$dir/baseIE6.css"); if (is_file("$dir/baseIE7.css")) $str .= file_get_contents("$dir/baseIE7.css"); if (!is_file("$dir/screen.css")) @file_put_contents("$dir/screen.css", $str); echo $str; ?>
アース虫よけネット EX 玄関用 吊り下げ虫除け 1年用 不快害虫用 ベランダ 虫よけ 窓 玄関 むしよけ 害虫対策 屋外
22% オフ玄関に吊り下げるタイプの虫除けネット。害虫の侵入が気になる場所、入口の害虫対策に。 3つの薬剤で、速く・広く・最後まで虫よけ効果を発揮 雨にぬれても大丈夫なお取替えサイン・風に負けない固定式フック付 さまざまなドアノブにもフィットする使いやすいスライドフック付き ※本品は蚊を対象とした商品ではありません。 【適用害虫】ユスリカ、チョウバエ、キノコバエ、ヌカカ 【使用期間】約1年間 ※使用環境により異なります。屋外の自然条件下にて行った試験に基づく。 【使用場所】玄関まわりの設置場所に応じて、フッ... もっと読む
60 誤判対策室
(2025-04-19 22:28 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)熱中対策 シャツクール 冷感ストロング 衣類にスプレーするだけ 汗をかくとひんやり続く 冷感スプレー 100ml 小林製薬
通勤・通学前に使用すると、満員電車や移動中、涼しく快適に過ごせます。 衣類にシュッとスプレーするだけで、冷感成分(l-メントール)が汗をかくとひんやり気持ちいい冷感*1を与えます。*1 冷感は個人によって感じ方が異なります。 衣類についた汗のにおいを消臭*2します。*2 スプレーした時だけ、その範囲のみの効果です。 衣類についた菌を除菌*3します。*3 すべての菌を除菌するわけではありません。スプレーした時だけ、濡れた範囲のみの効果です。
2010-04-15
2 件のコメント
こんにちは。素晴らしい!
早速利用させていただき、紹介させて
いただきました!
http://metaboy.blog23.fc2.com/blog-entry-1336.html
ありがとうごじましたっ!
metaboyさん、コメントありがとうございましたっ!
すごい、jsにも適用されてるんですね! お役に立って良かったです。