Webサイト作成・運営にチャレンジする人のためのポータルサイト www.ok-jp.com












アクセスアップ対策 SEO対策編(2)

HTMLのSEO対策

SEO対策ということで、色々なサイトを調べてみると、

○HTML上の論理構造をはっきりさせること

という文章をよく目にします。

そのことを頭において、自分のサイトのHTMLを眺めてみると、もともと『表(<table>タグ)』を、レイアウトを形成する為の基本として用いていたので、Webを視覚的に見た場合は、整っているように見えても、論理構造がほとんど構成されていなかったように思いました。

『論理構造』というと、いまいちピンと来ないかも知れませんが、簡単に言うと、

○HTMLのソースを上から順番に眺めていった時に、秩序だっているかどうか

という事になると思います。


表(<table>)を多用したページは、視覚的には整って見えるのですが、HTMLのソースを見ると、文脈を感じさせないようなバラバラな配列になっていることは多いような気がします。

それと、<table><tr><td></td></tr></table>のようなタグを多く使わなければならないので、少し複雑なページを作ると、作成されたHTMLのファイルが大きくなってしまう傾向があります。

この問題をクリアする第一歩として、表を用いないページ作成に取り組みました。

このページで、大体のイメージがつかめたら、詳細や正確なところは、ご自身でご確認下さい。次のサイトは参考になると思います。

HTMLクイックリファレンス

<div>タグを使ったレイアウトの構成

こんなイメージです

簡単に説明するとこんな感じです。<div>〜</div>は、箱を作るとイメージすると良いと思います 。そして、その箱に新しい箱を、右に入れるとか、左に入れるとか考えながら入れ込んでいくのです。

(以下で使用する、idやclassの名称は、各自が任意に指定できます。)

【例1】

<div id="base">
<div id="head">


</div>
<div id="main">
<div id="left">

スタイルシートには「float:left;」
</div>

<div id="right">

スタイルシートには「float:right;」
</div>

</div>
<div id="foot">


</div>
</div>
 

HTMLの記述

<div id="base">
   <div id="head">
   </div>

   <div id="main">
      <div id="left">
      </div>

      <div id="right">
      </div>

   </div>
  <div id="foot">
  </div>

</div>

 

スタイルシート

#base{幅や高さを記述;}
#head{幅や高さを記述;}
#main{幅や高さを記述}
#left{幅や高さを記述;float:left;}
#right{幅や高さを記述;float:right;}
#foot{幅や高さを記述}


※ 文章で言うと
○ボックスの「回り込み」をコントロールしている
という事になるようです。


もし、回り込みが、上手くいかないときは、回り込ませたくないボックスに関するスタイルシートの記述に「clear:both;」と加えれば良いかもしれません。ちなみに、この意味は、
○そのボックス以前で有効だった右の回り込みも、左の回り込みも無効にする
ということのようです。

なんせ、体で覚えてますので、このくらいのコメントが精一杯なのです・・・^_^;

 

これの何がSEO対策として有効なのかということなのですが・・・

 

前に書いた<table>タグを使わないことによって、HTMLファイルのスリム化が出来るということ以外の重要な事があります。

 

【例1】のようなレイアウトを作ろうとしたとき、<table>タグを用いて記述しようとすると、<div id="left">の位置に表示したい内容は、HTMLの記述は<div id="right">の内容よりも先に記述することになります。

 

SEO対策では「HTMLのはじめに記述される内容があとに記述される内容よりも重視される」といわれています。

 

ですから、

■デザイン上<div id="left">の位置にメニューを表示し、<div id="right">の位置にコンテンツを表示したい

■SEO対策上、メニューよりもコンテンツを先に表示したい

 

という矛盾を抱えた状態になる事があります。これを解決できるのが、この<div>を使ったレイアウトの構成なのです。

 

この方法を用いれば、<div id="left">の内容を<div id="right">よりも前に記述しても、あとに記述しても、両者には違いはなく【例1】のような表示を実現する事ができるのです。

【例2】

  <div id="base">

<div id="left">
スタイルシートには「float:left;」

<div id="left1">

スタイルシートには「float:left;」

</div>

<div id="left2">

スタイルシートには「float:right;」

</div>

</div>

<div id="right">

スタイルシートには「float:right;」






</div>

</div>

 

HTMLの記述

<div id="base">
   <div id="left">
      <div id="left1">
      </div>

      <div id="left2">
      </div>

   </div>
  <div id="right">
  </div>

</div>

 

スタイルシート

#base{幅や高さを記述;} #left{幅や高さを記述;float:left;}
#left1{幅や高さを記述;float:left;}
#left2{幅や高さを記述;float:right;}
#right{幅や高さを記述;float:right;}

スタイルシートは

ページのHTMLソースに記述することも出来ますが、外部ファイルにして、他のページも共通で使えるようにした方が良いと思います。

ファイル名は、「.css」で終わる名称にします。例えば、「test.css」といった感じです。

そして、そのスタイルシートを使うということを、HTMLソースの<head> 〜</head>部分に記述します。

【例】

<link rel="stylesheet" href="test.css" type="text/css">

 

あとは、必要な項目をスタイルシートに記述するだけです。

【例】

/*-----    構成    -----*/
#base {
width: 600px;
height:800px
}
#left {
float : leftt;
width :200px;
height:100%;
}
#right {
float : right;
width : 400px;
height:100%;
}
#footer1 {
clear: both;
width : 600px;
}

※ちなみに、「/*      */」で囲まれた内側にコメントを書くことが出来ます。

スタイルシートの検証ツールがありますので、ご紹介しておきます。

W3C CSS 検証サービス

注意点

複数のブラウザで表示を確認する

ブラウザの種類によって、見え方が大きく変わることがあります。最低、IEとネスケでの表示は確認する方が良いと思います。

 

DIVの高さ(height)と幅(width)を常に意識すること

積み木が上手く積みあがらないように、幅や高さの合わないボックスも上手く納まってくれません。marginpaddingのサイズも影響しますので、上手くいかないときは、その辺のサイズも替えたりして試してみて下さい。
※これが上手くいっているかは、IEは自動的に調整してくれて上手く表示されてしまうので確認できません。ネスケやmozillaなどで確認すると良いと思います。
<hr>をたくさん使っていると、ネスケで見た時、他のブラウザと見え方がかなり違ってしまうことがあります。このことも、それも覚えておいた方がよいでしょう。

■Internet Explorer
Netscape





このページのTOPへ