SEOの具体的な施策は、「サイト内部の改善(=内部対策)」と「他サイトから評価される(=外部対策)」の2つに分類される。
サイト構造課題対策(≒UI改善)
- SEO用の各種タグ設定に始まり、サイト内のリンク配置修正やページ階層の改修、ページ統廃合など「制作・開発」を伴う対策
コンテンツSEO
- 検索上位にhitを狙うキーワードに対して、コラム等の情報ページを用意していく対策
- ライティング体制さえ整えば、制作・開発を最小限に対策可能
- 近年のGoogleのアルゴリズムは情報コンテンツを高く評価する傾向にあることと、対策の容易さからコンテンツSEOに取り組む企業が増えている。
サイトのドメイン評価も考える必要があるが、一定のトラフィックを獲得できているサイトであれば、そこからさらに被リンク獲得を強めていっても効果は限定的である。
被リンクに関しては「自然とリンクが集まるような仕立て」を用意したり、何らかの外部メディアに取り上げられる際に併せて被リンク獲得できるよう調整するなど気を付けておく必要がある。
上位表示を目指すには「コンテンツ」「被リンク」「コーディング」の総合評価で競合を上回る必要がある。
この記事では、内部対策について解説する。
HTMLタグの最適化
WebサイトのHTMLは以下のような構造で構成されている。
<!DOCTYPE html>
<html lang=“ja">
<head>
<meta charset="UTF-8">
<title>ページタイトル | サイトタイトル</title>
<meta name="description" content="ページの説明文">
<meta name="keywords" content="ページのキーワード">
<meta name="robots" content="クローラの制御表示">
</head>
<body>
<h1>見出し1</h1>
<a href="リンク先のパス">アンカーテキスト</a>
<h2>見出し2</h2>
<img src="https://koooooootalogic.tech/test/wp-content/uploads/sample_img.png" alt="サンプル画像">
<h3>見出し3</h3>
<ul>
<li>1つめの項目</li>
<li>2つめの項目</li>
</ul>
</body>
</html>
title要素
<!DOCTYPE html>
<html lang=“ja">
<head>
<meta charset="UTF-8">
<title>ページタイトル | サイトタイトル</title>
<meta name="description" content="ページの説明文">
<meta name="keywords" content="ページのキーワード">
<meta name="robots" content="クローラの制御表示">
</head>
<body>
<h1>見出し1</h1>
<a href="リンク先のパス">アンカーテキスト</a>
<h2>見出し2</h2>
<img src="https://koooooootalogic.tech/test/wp-content/uploads/sample_img.png" alt="サンプル画像">
<h3>見出し3</h3>
<ul>
<li>1つめの項目</li>
<li>2つめの項目</li>
</ul>
</body>
</html>
- ページのタイトル
- ここに設定したテキストが検索結果に表示される
- ページの内容を端的に表す
- 28文字以内に収める
- 主要な検索エンジン(Google、Yahoo!、Bing)での最小表示文字数が28文字であるため
- 対策キーワードを含める(2回まで)
- ユニーク化する
パイプの使用方法
「|」(パイプ)を用いた、一般的な命名規則は以下の通りである。
「ページタイトル | サイトタイトル」
まれに、「|」の前後の文字が続き文字として認識される場合があるため、「|」の前後に半角スペースを入れることを推奨する。
また、「|」の使用は1ページ1つまでとする。
meta descriptionタグ
<!DOCTYPE html>
<html lang=“ja">
<head>
<meta charset="UTF-8">
<title>ページタイトル | サイトタイトル</title>
<meta name="description" content="ページの説明文">
<meta name="keywords" content="ページのキーワード">
<meta name="robots" content="クローラの制御表示">
</head>
<body>
<h1>見出し1</h1>
<a href="リンク先のパス">アンカーテキスト</a>
<h2>見出し2</h2>
<img src="https://koooooootalogic.tech/test/wp-content/uploads/sample_img.png" alt="サンプル画像">
<h3>見出し3</h3>
<ul>
<li>1つめの項目</li>
<li>2つめの項目</li>
</ul>
</body>
</html>
- ページの説明文
- ここに設定したテキストが検索結果に表示される場合がある
- 設定した説明文が表示される確率は35%ほど
(出典:Meta Description Length – How Long Should Your Meta Description Be? – Moz)
- 設定した説明文が表示される確率は35%ほど
- 対策キーワードを含める(2回まで)
- 100文字以内に収める
- ユニーク化する
meta keywordsタグ
<!DOCTYPE html>
<html lang=“ja">
<head>
<meta charset="UTF-8">
<title>ページタイトル | サイトタイトル</title>
<meta name="description" content="ページの説明文">
<meta name="keywords" content="ページのキーワード">
<meta name="robots" content="クローラの制御表示">
</head>
<body>
<h1>見出し1</h1>
<a href="リンク先のパス">アンカーテキスト</a>
<h2>見出し2</h2>
<img src="https://koooooootalogic.tech/test/wp-content/uploads/sample_img.png" alt="サンプル画像">
<h3>見出し3</h3>
<ul>
<li>1つめの項目</li>
<li>2つめの項目</li>
</ul>
</body>
</html>
- ページに関連するキーワード
- 現時点(2020年4月)では設定する必要なし
- Googleのサポート対象外であるため
(出典:Google がサポートしているメタタグ – Search Console ヘルプ)
- Googleのサポート対象外であるため
- 対策キーワードを含める
- 多くても10個以下
hタグ(見出し)
<!DOCTYPE html>
<html lang=“ja">
<head>
<meta charset="UTF-8">
<title>ページタイトル | サイトタイトル</title>
<meta name="description" content="ページの説明文">
<meta name="keywords" content="ページのキーワード">
<meta name="robots" content="クローラの制御表示">
</head>
<body>
<h1>見出し1</h1>
<a href="リンク先のパス">アンカーテキスト</a>
<h2>見出し2</h2>
<img src="https://koooooootalogic.tech/test/wp-content/uploads/sample_img.png" alt="サンプル画像">
<h3>見出し3</h3>
<ul>
<li>1つめの項目</li>
<li>2つめの項目</li>
</ul>
</body>
</html>
- 見出しの要素
- 適切に使用することでユーザビリティを高める
- 対策キーワードを含める(1回まで)
- 階層構造を守る
- 1〜6の見出しレベルが入れ子構造になるようにする
(参考:検索エンジン最適化(SEO)スターター ガイド – Search Console ヘルプ)
- 1〜6の見出しレベルが入れ子構造になるようにする
- ユニーク化する
- 見出し以外の用途に使わない
h1~h3までの使用シーンは以下の通りである。
- h1:大見出し(1ページに必ず1つ利用する)
- h2:中見出し
- h3:小見出し
h4以降は相当のコンテンツ量が無い限りは階層が複雑になるだけなので極力使用しないことを推奨する。
aタグ
<!DOCTYPE html>
<html lang=“ja">
<head>
<meta charset="UTF-8">
<title>ページタイトル | サイトタイトル</title>
<meta name="description" content="ページの説明文">
<meta name="keywords" content="ページのキーワード">
<meta name="robots" content="クローラの制御表示">
</head>
<body>
<h1>見出し1</h1>
<a href="リンク先のパス">アンカーテキスト</a>
<h2>見出し2</h2>
<img src="https://koooooootalogic.tech/test/wp-content/uploads/sample_img.png" alt="サンプル画像">
<h3>見出し3</h3>
<ul>
<li>1つめの項目</li>
<li>2つめの項目</li>
</ul>
</body>
</html>
- リンクを設置する適切なリンク設置でクローラビリティを高める
- リンク切れなどの対応やURLの管理が行いやすいようにルートパスでの設定を推奨
- 関連性、必然性がある場合に限る
- アンカーテキストでリンク先を端的に表す(対策キーワードを含める)
imgタグ
<!DOCTYPE html>
<html lang=“ja">
<head>
<meta charset="UTF-8">
<title>ページタイトル | サイトタイトル</title>
<meta name="description" content="ページの説明文">
<meta name="keywords" content="ページのキーワード">
<meta name="robots" content="クローラの制御表示">
</head>
<body>
<h1>見出し1</h1>
<a href="リンク先のパス">アンカーテキスト</a>
<h2>見出し2</h2>
<img src="https://koooooootalogic.tech/test/wp-content/uploads/sample_img.png" alt="サンプル画像">
<h3>見出し3</h3>
<ul>
<li>1つめの項目</li>
<li>2つめの項目</li>
</ul>
</body>
</html>
- 画像を設置する適切に使用することでユーザビリティを高める
- 画像サイズ(width,height)を必ず指定する
alt属性
- 画像の代替となるテキスト情報
- SEOへの貢献度は小さいが、アクセシビリティに影響する
- 対策キーワードを含める
- 画像の内容を適切に言語化する
ul・olタグ
<!DOCTYPE html>
<html lang=“ja">
<head>
<meta charset="UTF-8">
<title>ページタイトル | サイトタイトル</title>
<meta name="description" content="ページの説明文">
<meta name="keywords" content="ページのキーワード">
<meta name="robots" content="クローラの制御表示">
</head>
<body>
<h1>見出し1</h1>
<a href="リンク先のパス">アンカーテキスト</a>
<h2>見出し2</h2>
<img src="https://koooooootalogic.tech/test/wp-content/uploads/sample_img.png" alt="サンプル画像">
<h3>見出し3</h3>
<ul>
<li>1つめの項目</li>
<li>2つめの項目</li>
</ul>
</body>
</html>
コンテンツの中で箇条書きを用いる際は、(改行)で表現するのではなく、ul・olタグを使用すること。
strongタグ
特定の「単語」を強調する場合に使用するが、以下の点に注意すること。
- hxタグ内のテキストには使用しない
- 過剰に使用しない(1ページあたり3個までが目安)
- 同じ単語に繰り返し使用しない
- 文章全体に使用しない(単語ではなく、文章や1文全体に適用しないこと)
URLの正規化
GoogleはURLが異なるページは同一のコンテンツでも別ページと判断する。
そのため、異なるURLで同一コンテンツがインデックスされてしまうと、ページの評価が分散し順位に影響が出てしまう。
wwwの有無 |
|
---|---|
index.htmlの有無 |
|
/の有無 |
|
パラメータの有無 |
|
このようなURLの記述違いによる重複インデックスを避けるため、検索エンジンが優先的にインデックスするべきURLをcanonical属性タグを利用して統一させておく必要がある。
canonicalタグ
<head>
<meta charset="UTF-8">
<title>ページタイトル</title>
<meta name="description" content="ページの説明文">
<meta name="keywords" content="ページのキーワード">
<meta name="robots" content=“クローラの制御表示">
<link rel="canonical" href="正規ページURL">
</head>
<link rel="canonical" href=“正規ページURL">
をheadタグ内に記述する。(※正規ページURLは絶対パスで記述)
この記述により、canonical指定をしたURLを正規ページとしてインデックスするように検索エンジンに伝えることができる。
301リダイレクト
また、下記のような同一ページのURLのバリエーションは「301リダイレクト」を利用して正規化しておくことを推奨する。
- index.htmlの有無
- wwwの有無
- URL末尾のスラッシュの有無
301リダイレクト(恒久的な転送)を行うことで、ブラウザのアドレスには統一したURLが表示されるため、他サイトから被リンクを張ってもらえる際にも正規URLが使われることになり、より間違いのないURL統一が図れる。

また、レスポンシブデザインに対応しておらず、PC版とモバイル版のURLが異なる場合もURLの正規化が必要である。
クローラビリティの促進
クローラビリティの促進は、ページのインデックスをより早く、より正確にするために重要であり、よくクロールされるサイトほどGoogleはそのサイトを重要であると判断している。
以下の施策を行うことでクローラビリティを促進する。
sitemap.xmlを設置
XMLサイトマップを作成し、Google サーチコンソール(Search Console)に登録することで、サイト内のページ構造やインデックスするべきページとその優先度などをGoogleに的確に伝え、インデックス漏れを防ぐ。
noindex処理(robots.txtの設定)
クロールさせる必要のない低品質なページ(HTMLサイトマップページ・404エラーページ、お問合せフォームページやサンクスページ)無駄なクロールをさせず、他の重要なページをクロールさせる手助けとなる。
パンくずリストの設置
ページの現在位置を上位階層から下層階層へ並べ、現在位置を確認できるようにすることで、
- クローラビリティを促進し、階層の深いページへのアクセス数を増やす
- 上層ページへの内部リンクが増え、特にトップページの価値を高める
- ページタイトル(=対策キーワード)を使用したアンカーテキストを増やす
以上の3つのメリットが享受できる。
また、現在地点が目視で確認できる点で、ユーザビリティにも貢献する。
リンク階層について
リンク階層が深すぎると、クローラビリティが低下し、ユーザーにとってもわかりにくい=ユーザービリティが低いWebサイトとなってしまうため、トップページを第1階層として、第4階層までのリンク階層とするように配慮する。
また、トップページに内部リンクを集める=トップページに評価を集中させるという観点において、トップページからの下層ページへのリンクは必要最小限に抑えるべきである。
具体的には、トップページからは第2階層のみをリンクさせることで、トップページの評価分散を防ぐ。