SEO対策

CSSとの意外な関係「よくわかるSEO対策」スタイルシート編

CSS スタイルシート レンダリング
CSSとの意外な関係「よくわかるSEO対策」スタイルシート編

  

今回の「よくわかるSEO対策」はスタイルシート(CSS)編です。

 

多くの人が

「SEO対策なのに、CSSの説明をするの?」

と思うかも知れませんが、これには意外な関係性があったのです。

 

現在CSSを学んでいる人、そしてCSSの書き方ならマスターしているといった人でも、SEOのことまでを考慮した記述ができていなければ、まだまだサイトを改善させることができるということです。

 

最後まで読めば、SEO対策の知識はもちろん、今よりもCSSについても理解が深まるはずです。

 

 

CSSとSEOの関係性

 

CSSの目的の大部分は、ページの見た目をきれいにすることです。

見やすくて楽しさのあるページはユーザーを楽しませてくれたり、ブログ記事をスムーズに読ませてくれたり、ネットショップであれば商品を美しく、そして買いたくなるように購買意欲を刺激することもあります。

 

ページの質を上げるという意味でも、ユーザー目線でのサイト作りSEO対策としては重要なことです。

しかし今回解説していくのは、そういった操作性や楽しさといった見た目にテコ入れする方法ではありません

 

CSSの記述を意識することによる、ページの読み込み速度を上げるといった内部施策をご紹介します。

 

 

レンダリングの高速化

 

ページへアクセスすると、HTMLファイルを上から順番に解析していきます。そしてCSSファイルがあればそれを読み込んでから、次のCSSファイルやHTMLタグなどの処理をします。

そして最後の行まで処理を終えるとページの生成が完了です。このページを生成していくしことをレンダリングといいます。

 

Googleのページ評価の指標に、このレンダリングのスピードがあります。そのため、CSSファイルもminify化して、余計な行や空白を削除するような方法は実際に用いられています。

※common.min.cssなど

 

また、CSSファイルを読み込みしないようにHTMLファイル内に記述するケースも少なく有りません。

多少の記述量であれば確かに理にかなっているのですが、量が膨大になれば1つのファイルへ記述してしまうことは作業効率はもちろん、保守安全性が乏しくなってしまいますので注意が必要です。

 

こういった圧縮作業や記述場所についても大切ですが、CSSのレンダリングの流れを理解しておけば、記述に気をつけておくだけでレンダリングにかかる時間を短くすることができるのです。

 

 

具体的な記述方法

 

例えば、以下のようなHTMLコードがあったとしましょう。

 

<section class="weather-block">

              <p class="rain-text">明日は雨ですよ!</p>

</section>

 

このrain-textの下には少し多めに余白が欲しいので、CSSmargin-bottomを指定します。

その例を複数みてみましょう。

/* パターン1 */
.weather-block > p.rain-text{
              margin-botom: 8px;
}

/* パターン2 */
section .rain-text{
              margin-botom: 8px;
}

/* パターン3 */
.rain-text{
              margin-botom: 8px;
}

 

記述方法は他にもありますが、今回はこの3つの例にみていきます。

上記3つの例では、実際に出力される結果は同じですが、レンダリング処理には違いがあります

 

まず一つ目の記述方法についてです。

.weather-block > p.rain-text{
              margin-botom: 8px;
}

 

CSSは右から左という順番で解析されていきます

そのため、上記の記述方法であればまず、「クラスがrain-text」のタグを探します。

見つかれば、それが「pタグであるかどうか」を確認して、さらにそれが「wether-blockの子であるか」を確認するために1階層上のタグをみます。時間としてはコンマの世界になりますが、実際にCSSを解析するまでにこの3工程が行われているのです。

  1. rain-textクラスの確認
  2. pタグであるかの確認
  3. 1階層上にweather-blockクラスがあるか確認
  4. 確認終了

 

では、二つ目をみてみましょう。

section .rain-text{
              margin-botom: 8px;
}

 

先ほどより指定が少なく簡潔になりましたが、処理についてはどうでしょうか。

この場合であれば、まず「クラスがrain-text」のタグを探し、その後それが「sectionタグの子孫であるか」をチェックするために、rain-textクラスより上位のタグをすべてチェックする必要があります。先ほどであれば1階層だけだったのですが、今回は祖先すべてが対象です。

2工程ではありますが、実際にチェックする量については階層が下であればあるほど膨大になるのです。

  1. rain-textクラスの確認
  2. 上位タグにsectionがあるか上位タグすべてを確認
  3. 確認終了

 

最後はクラスのみの指定です。

.rain-text{
              margin-botom: 8px;
}

 

これであれば、「クラスがrain-text」であれば解決なので処理がすぐに終了します。その分、レンダリングにかかる時間は短くて済みます。

  1. rain-textクラスの確認
  2. 確認終了

 

 

人間はCSSコードを左から右に記述していきます。

また、上位の親からしっかりと絞り込んで言ったほうが、他の部分に影響を与えることなくクラスをピンポイントで指定して、スタイルを反映することができるので、余計な親要素まで書いてしまうことが多々あります。

しかし、サーバー側からすると人間と違って「右から左」という順番に解析していくため、安易に親の指定がされていると「本当にその条件にあっているのか」という確認に無駄な処理を繰り返してしまっていることがあるのです。

 

そのため、CSSはできるだけ簡潔にクラスやIDを指定することで反映させる方が、ページのレンダリング速度が格段に上がるということです。

 

 

まとめ

  

SEO対策と聞くと、メタタグやリンクタグ、階層化や外部施策、キーワードの選定などといった方法が思い浮かぶ人がほとんどではないでしょうか。

もちろんそれらは大切ですが、それ以外の部分にも要因があるということを知っておかなければなりません。

 

ページのレンダリング速度を上げることで、よりスムーズにユーザーにページの内容を伝えてあげられます。

しかしページの読み込みが遅いと、その時点でページの閲覧を諦めてしまいサイトから離脱してしまいます。1秒遅くなれば、それだけ何倍ものユーザーが離れていってしまうのです。

 

最後に、今回のポイントをまとめておきます。

レンダリングにかかる時間を短くする

CSSの指定はできるだけ簡潔する

  

記述量が膨大になればなるほど、それだけ解析に必要な時間は増えていきます。そんなとき、一つ一つの時間をできるだけ短縮できていれば、比べたときにより大きな効果があります。

 

今までCSSを見た目だけを意識して記述していた人は、是非記述方法一つでSEO対策をしているということも考えながら取り組んでいくと、よりよいサイトが作れるようになるでしょう。

関係がないと思っていたものでも、実際に詳しく知ることで意外な関係性が出てくるのです。

せっかく作るのであれば、より得られる効果の高いものにしていきましょう。

 

他にもSEO対策については記事をまとめているので、これを機にSEO対策へ本格的に取り組みたい人は是非参考にしてください。

HTMLの基本設計「よくわかるSEO対策」構造化(マークアップ)編 HTMLの基本設計「よくわかるSEO対策」構造化(マークアップ)編

  HTML5がリリースされて随分経ちました。 それにより多くのタグが増え、それにより今までデザインを目的と使用されていたものが「構造化」という本来の役割を持たされるようになりました。    構造化は、目に見えにくい部分です   それぞれの役割を理解していなければ、せっかくきれいなサ...

注目の記事

フリーランスのための値段交渉術!案件はこうやって見極めろ
フリーランス
フリーランスのための値段交渉術!案件はこうやって見極めろ

  「これもっと安くならない?」 「他の人はこれぐらいの金額でやってくれるよ」   こういった値切り交渉を受けたことがある人もいるのではないでしょうか?技術を提供するフリーランスであれば、金額を落とすということは自分の価値を下げているということを理解しておかなければなりません。 値段交渉...

簡単に良質なブログ記事を量産する3箇条【ネタがないとは言わせない】
ライティング
ブロガー,ブログ
簡単に良質なブログ記事を量産する3箇条【ネタがないとは言わせない】

  ブログの毎日のテーマ決めが大変・・・ そもそも良質な記事をどうやって書けるようになるのかわからない   こんな悩みを抱えていませんか? 始めたばかりで伸び悩んでいる人には多いのではないでしょうか。 今回はブログで収益化や、アクセス数を伸ばそうと考えている人へ向けて「簡単に良質なブログ...

PHPポケモン「バトルシステム編〜状態変化〜」32
プログラミング
PHP,PHPポケモン,ポケモン
PHPポケモン「バトルシステム編〜状態変化〜」32

状態変化とは  状態異常の実装が完了したので、いよいよ状態変化の実装に移ります。PHPポケモンで実装する状態変化とは以下の4つです。 こんらん ひるみ バインド やどりぎのタネ   上記4つを実装していきます。状態異常と異なり、技によっては追加になる可能性があります。 ※いかり状態など  ...

手っ取り早く情報強者になる簡単な方法
雑記
アウトプット,インプット,ニュース
手っ取り早く情報強者になる簡単な方法

  ニュースや情報番組、討論番組をみると、出演者の方々の情報量の多さに圧倒されることがあります。 また、ユニークな考え方に共感を得る人も多いでしょう。   どうやって、情報を仕入れているのか? なぜそんなことまで知っているのか?   メディアで取り上げられているような人や、活躍している人の多く...

忘れさせる技選択 後編(新しい技を習得) PHPポケモン 56
プログラミング
PHP,PHPポケモン,ポケモン
忘れさせる技選択 後編(新しい技を習得) PHPポケモン 56

新しい技を習得 前編に続き、技習得時の処理分岐を作成していきましょう。今回は「新しい技を習得する」です。 前回は覚えようとしている技を諦めるだけだったので、ポケモンのオブジェクトを書き換える必要がありませんでしたね。ですが、新しく覚えようとしている技を既に覚えている技と置き換える場合は、ポケモ...

CSSとの意外な関係「よくわかるSEO対策」スタイルシート編
SEO対策
CSS,スタイルシート,レンダリング
CSSとの意外な関係「よくわかるSEO対策」スタイルシート編

   今回の「よくわかるSEO対策」はスタイルシート(CSS)編です。   多くの人が 「SEO対策なのに、CSSの説明をするの?」 と思うかも知れませんが、これには意外な関係性があったのです。   現在CSSを学んでいる人、そしてCSSの書き方ならマスターしているといった人でも、SEOのことまでを考慮した記述ができて...

ノーコード開発で将来プログラミングは不要?我々は何を学ぶべきなのか
プログラミング
amazon,AWS,Honeycode,NoCode,プログラミング学習
ノーコード開発で将来プログラミングは不要?我々は何を学ぶべきなのか

  近年、プログラミングの需要は増え勢いを増していますが、それ以上にノーコードというソースコードを打たなくでもアプリ開発ができるというソフトウェアやプラットフォームが普及してきました。 これにより一部の期待感とは別に、プログラマーという職業は今後不要になるのではないかと危機感を抱く人が出て...

【無料】早起きをして神戸へ行こう!「為になる雑談朝活」
イベント
三宮,朝活,神戸
【無料】早起きをして神戸へ行こう!「為になる雑談朝活」

  朝活を実施することになりましたので、その目的な概要をまとめました。 神戸三宮での開催を予定しておりますので、もしお近くにお住まいの方で日時が会いましたらご参加ください。 土日祝辺りで週1日程度の不定期開催を予定しています。学びにつながる、けど参加しやすい雑談形式ということを主としています...

カテゴリ

SEO対策 イベント デザイン ネットワーク ビジネスモデル フリーランス プログラミング マーケティング ライティング 動画編集 雑記

タグ

5G Adobe AfterEffects AI ajax amazon Animate api artisan atom Automator AWS Bluetooth CSS CVR description EC-CUBE4 ECショップ ESLint Facebook feedly foreach function Google Google AdSense Honeycode htaccess HTML IEEE 802.11ax Illustrator Instagram IoT JavaScript jQuery jQuery UI keyword LAN Laravel Linux MacBook MAMP meta MLM MySQL NoCode note OS OSI参照モデル Paypal Photoshop PHP phpMyAdmin PHPポケモン PremierePro rss SEO SEO対策 Sequel Pro Skype SNS SSH Symfony TCP/IP title Toastr Trait Twig Twitter UCC V系 WAN WebSub Wi-Fi wiki Windows WordPress XAMPP xml Xserver YouTube YouTuber Zoom アーティスト アウトプット アクセス層 アニメーション アフィリエイト イーブイ インターネット インプット エンジニア オブジェクト指向 お金配り クリック単価 クリック数 コミュニケーション能力 コロナ コンサルティング サムネイル システムエンジニア スタートアップ スタイルシート スパム データベース ディープフェイク デザイナー デザイン テレワーク ナンパ ニュース ネットワークモデル ノマドワーク バナー ピカチュウ ビジネス フィード フリーランス ブロガー ブログ プログラマー プログラミング プログラミング学習 プログラミング教育 プロトコル ホームページ制作 ポケモン マークアップ マーケティング メール リモートワーク レンダリング 三井住友 三宮 仕事依頼 児童デイ 児童デイサービス 児童発達支援 公開鍵 初心者 助成金 勉強法 営業 広告 広告収入 必勝マニュアル 放課後等デイサービス 朝活 楽天 深層学習 無線LAN 独立 神戸 福祉 秘密鍵 翻訳 自己啓発 英語 見積書 計算機 読書 起業 迷惑メール 配列 銀の弾丸 集客 雑学力