概要

SEOは、Search Engine Optimizationの略で、「検索エンジン最適化」を意味します。
検索エンジンといえば、GoogleやYahoo!で、それに「最適化」させようということです。
すなわち、SEOとは、GoogleやYahoo!などの検索サービスで、上位に表示されるようにサイトを作ることです。

なぜそんなことするのか、といえば、ズバリ上位に表示されるかどうかで、クリック数が全然違うからです。
テーマにもよりますが、1〜3位に表示されれば数十パーセントの確率でクリックされるのが、4位5位になると数パーセント程度しかクリックされない、というくらい違います。
1日に1000回クリックされるキーワードの場合、一日あたり数百回分くらいの違いは出てくるということですね。

この差は結構大きいです。
ですので、ユーザーにいっぱい見てもらうために、ちゃんとSEO対策して検索上位に表示させます。

Googleのドキュメント

代表的な検索エンジンであるGoogleがSEOのガイドラインを公表しています。
SEOのオフィシャルドキュメントと言っても過言ではないですね。

検索の最適化 | Google Developers
https://developers.google.com/web/fundamentals/discovery/search-optimization/

ウェブマスター向けガイドライン(品質に関するガイドライン) – Search Console ヘルプ
https://support.google.com/webmasters/answer/35769

各要点

サイト構造最適化

SEO対策というとよく「キーワード」をふんだんに盛り込むことだと言われていますが、実は結構サイト全体の構造が大事だとも言われています。
基本的に検索エンジンはaリンクをたどってサイト内を評価するため、重要なページへのリンクがないと評価が上がりにくいようです。
また、サイトを利用するユーザーにとってもバラバラにページが散らばっているサイトより、どこに何があるかわかりやすい方が使いやすいですしね。

効率的にサイト構造を最適化するためには、
サイト全体のリンク構造をツリー型にするのがいいといわれている。

つまり、サイトの構造をトップ > カテゴリページ > 詳細ページとするといいでしょう。

※やみくもにサイトを作成すると、カテゴリページに相当するページがない「中間ノード抜け」状態になることが多いので注意。

注意点としては、あくまで「リンク」の構造がツリー型になっていることが重要であり、
トップからカテゴリページへ飛ぶのに、プルダウンメニューでカテゴリを選択し、フォームで送信するような作りにすると、SEOとしてはよくないです。

 

パンくずリスト

サイト内の各ページにはパンくずリストを表示させるのがよい。ユーザーや検索エンジンに、そのページがサイト内のどこに属しているかを知らせることができる。

パンくずリストも構造化しJSON-LD形式かmicrodata形式で入れておくのがよい。
microdata形式はHTMLの属性として指定するので、必然的にビューが伴うことになる。

実装の参考

(参考)
Breadcrumb | Google Developers
https://developers.google.com/search/docs/data-types/breadcrumb
BreadcrumbList – schema.org
http://schema.org/BreadcrumbList

(参考)
パンくずリストを構造化データにする方法とSEO効果
https://seopack.jp/internal-seo/crawler-measures/breadcrumbs-structured-data.php

設置場所

ページの上部(ヘッダーのすぐ下)とかページの下部(フッターのすぐ上)に設置することが多い。

(参考)
最近のWebサイトで見かける、パンくずリストのデザイン・配置・機能のまとめ
http://coliss.com/articles/build-websites/operation/work/about-breadcrumbs-in-ux-design.html

Search Console登録

SEO対策のためには、ページを最適化させるだけでなく、ユーザーが実際にどういうキーワードで検索してサイトに来ているのかを知り、改善していく必要がある。それを知るためのツールが、Search Console。これを使えば、Googleオーガニック検索からの検索データを取得することができ、登録したサイトの検索表示回数、検索キーワード、平均検索順位、CTRなどが閲覧可能。

Search ConsoleとGAの連携

検索からの流入のサイト内での行動の情報はSearch Consoleだけではわからない。
Google Analyticsと連携することで、Google Analytics側でそれを確認できるようになる。

サイトマップ

サイトマップについて – Search Console ヘルプ
(参考)https://support.google.com/webmasters/answer/156184

Search Console上で、サイトマップを登録できるところがある。
サイトマップは、検索エンジンにサイト上のページの存在を知らせる手段。
存在を知らせることができれば、検索エンジンにクロール対象として認識させることができる。

実装

XML形式で出力し、public/sitemap.xmlに配置、/sitemap.xmlでアクセスできるようにする場合が多い。

サイトマップの作成と送信 – Search Console ヘルプ
(参考)https://support.google.com/webmasters/answer/183668?hl=ja&ref_topic=4581190

画像・動画サイトマップ

サイトの特性や狙いによっては、画像や動画のサイトマップを作成する場合もある。

タイトル・ディスクリプション・キーワード

タイトルとディスクリプションは、検索結果のなかでもっとも目立つ部分なので、ここが良ければクリック率(CTR)もよくなる。
また、ユーザーはディスクリプションやスニペット部分からコンテンツの内容を予測してサイトに流入してくる。その予測と実際のコンテンツが異なると、直帰率は高くなる傾向にある。
したがって、タイトル・ディスクリプションはページの内容・特徴を端的に表すものにすることが推奨される。

各ページ、ユニークに

タイトル、ディスクリプションはそれぞれ互いに重複しないようにするべき。
サイト内に同じタイトルのページは一つしか存在しないのがベスト。各ページの特徴を簡潔に表記するのがよい。

文字数

  • タイトル→30字程度以内
  • ディスクリプション→160~250字程度以内

いずれも、ユーザーに表示される文字数を根拠に推奨されている(っぽい)。
意味が取れるレベルであれば、多少長くてもかまわないと思われる。

サイト名を共通でつける

「ページタイトル | サイトタイトル」
「ページディスクリプション | サイトディスクリプション」
などのように、すべてのタイトル・ディスクリプションにはサイト共通のものを付けておくのが良い。

ツール

どんな感じでタイトル・ディスクリプション出るか試してみるツール

Google検索結果シミュレーター~タイトルタグ・ディスクリプション作成補助にお使いください~
http://trickster.tools/title-description/

URL正規化

URLが異なるのにタイトル・ディスクリプションが同じページはGoogleから注意される。
たとえば、検索条件やソート条件などがURLにパラメータとして入っている場合や、URLが異なるのにタイトルやディスクリプションが同じ場合など。こういった注意がある場合、それらのページは同じページだとみなしてくださいとGoogleに伝える必要がある。

それを伝える手段として、<head>内に複数ページ間の共通URLを記載しておく「正規化」という手法がある。

重複コンテンツが発生する理由、検索に与える悪影響、防ぐ方法などをGoogleが詳しく解説 | 海外SEO情報ブログ
https://www.suzukikenichi.com/blog/google-updates-help-document-for-duplicate-content/