Google のSEO対策

Google の検索結果に自身のウェブサイトが表示されるようになりましたが、SEO対策については行きあたりばったりでやっていたので、一度立ち止まってGoogle のSEO についての基本的なことを整理しておこうと思います。
WordPress のブログ立ち上げの流れなので、WordPress と絡めた整理になります。

1. はじめに

Google の検索結果に自身のウェブサイトが表示されるようにするためには、Google にインデックス登録してもらう必要があります。
クローラ等によりウェブサイトのページが検出されますが、検出されたページは内容を分析された上でGoogleインデックスに登録されます。

インデックスとは

ウェブサイトのURLを登録するGoogleの大規模なデータベースのことをインデックスと呼びます。インデックスに登録されると検索結果に表示されるようになります。

ちなみに、インデックスという用語は、Google検索セントラルというGoogle のSEO関連のサポート用のページで下記のような使い方をされていました。

  • (Googleは)定期的にウェブを探索し、見つかったサイトを Google のインデックスに登録しています
  • Google はインデックスに追加するサイトを自動で探しています

また、インデックスを使った以下のような表現もあります。

  • Googleインデックス
    • Googleのインデックスのこと
  • インデックス登録
    • クローラが検出したページの内容を把握しようとするプロセスのこと
    • インデックス登録をリクエスト:ウェブサイトの運営者がGoogleにインデックスの登録を依頼すること

2. Google がウェブサイトを検出する方法

Google がウェブサイトのページを検出する方法は、いろいろな方法があるようですが、ここでは下記の3つのパターンに分けて整理してみようと思います。

  • Googleのクローラによるウェブサイトの検出
  • ウェブサイトの運営者からのインデックス登録の依頼
  • ウェブサイトからの更新の通知

それぞれ、章を分けて説明します。

3. Google のクローラによるウェブサイトの検出

Googleのクローラは、既知のウェブサイトのリンクをたどる等により新しいページや更新されたページを検出します。

クローラとは

正式には「ウェブクローラ」。
定期的にウェブを探索して、新しいページや更新されたページを検出するプログラムのことをクローラと呼びます。
また、クローラに関連する用語に以下のようなものがあります。

  • クローリング
    • クローラがウェブを探索すること
  • クロール
    • 「クローリング」と同じ意義
  • クローラビリティ
    • ウェブサイトのページが クローラからアクセス可能なこと、および正しく認識されること
  • Googlebot
    • Google のクローラの総称

クローラによるページの検出は以下の方法で行われます。

  • 既知のページのリンクをたどって検出
  • ウェブサイトの運営者から提出されたサイトマップのURLを元に検出

既知のページのリンクをたどって検出

ウェブサイトが他のブログやウェブサイトでリンク付きで紹介されていると、そのリンクのURLをたどってクローラがページを検出します。

ウェブサイトの運営者から提出されたサイトマップのURLを元に検出

Google Search Console を使ってウェブサイトのサイトマップのURL をGoogle に送信すると、クローラがサイトマップに記述されているページのURL にアクセスしてページを検出します。

4. ウェブサイトの運営者からのインデックス登録の依頼

Google Search Console を使ってインデックス登録したいページのURL をGoogle に送信すると、クローラがそのURL にアクセスしてページを検出します。

5. ウェブサイトからの更新の通知

外部のウェブホストなどからの、新しいページや更新されたページがあることの通知を受けて、クローラがそのページのURL にアクセスしてページを検出します。

調べてみると、この方法がインデックス登録に有効に働くのか良くわからないですが、仕組み自体がなくなっている訳ではないので記載しておきます。

更新情報サービス(XML-RPC ping)

WordPress は標準で、投稿の新規作成や更新をすると、更新情報サービスの設定で登録したURL に向けてXML-RPC ping を送信して、投稿の新規作成や更新があったことを通知する機能があります。
※ XML-RPC ping は、リクエストボディをXML で記述したPOST のHTTP リクエスト

更新情報サービスは、サイドメニューの[設定] > [投稿設定] で登録することができます。

サイドメニューの[設定] > [投稿設定] > 更新情報サービス

デフォルトで”Ping-o-Matic” というWordPress Foundation が運営している更新情報サービスのURLが登録されています。

ここに、他の更新情報サービスのURL を追加すれば、追加したURL にもping が送信されるようになります。

WordPress.org の「更新通知サービス」のページに、例として更新情報サービスのURLがたくさん掲載されていますが、”停止しているものもあるかもしれませんのでご注意下さい” と注意書きがあるので、単純に全てコピペすればOKという訳ではなさそうです。

試しにいくつかのURLにアクセスしてみると、301エラー(Moved Permanently)や404エラー(Not Found)が返ったり、ドメインの名前解決ができないものがありました。現在ではあまり活用されていない仕組みなのでしょうか。

ちなみに、Google は2014年頃にブログ検索というサービスが終了した時点でpingを受けなくなっているようです。

個人的には、意味のない通信を送出するのはあまり気持ちの良いことではないので、当ブログには元々登録されていたPing-o-Matic だけ登録した状態にしておくことにしました。

WebSub(旧名:PubSubHubbub)

WordPress の標準機能ではないですが、プラグインを追加することで前述の「更新情報サービス(XML-RPC)」と同じような、投稿の新規作成や更新をすると、投稿の新規作成や更新があったことを通知するWebSub(旧名:PubSubHubbub)という仕組みを使うことができます。

WebSub のことを簡単に記載しておきます。

  • WebSub はPublisher、Subscriber、Hub の三者で構成される
  • ブログの場合、Publisher(ブログ)、Subscriber(Google)、Hub(Hubサービス) という位置づけになる
  • Publisher が投稿を追加するとHub に通知され、通知を受けたHub はSubscriber にPublisher の投稿が追加されたことを通知する

WordPress のプラグインは下記の2つがよさそうでした。

  • WebSub (FKA. PubSubHubbub)
    • PubSubHubbub Team が開発している
    • WordPress 5.9 リリースの翌日に5.9の対応版がリリースされた(最終更新日:2022/1/27)ので、継続してメンテナンスされていることが期待できる
    • デフォルトの通知先:Google PubSubHubbub Hub、SuperFeedr、WebSubHub
  • PuSHPress
    • Automattic 社がプラグインの開発に関わっている
    • プラグインにHub が組み込まれているので、WordPress からの通知はSubscriber に直接送られる(他のプラグインは、WordPress →Hub →Subscriber の経路で送られる)

当ブログでは、WebSub (FKA. PubSubHubbub) プラグインを使うことにしました。
通知先のHub は、サイドメニューの[設定] > [WebSub] で登録することができます。

WordPressの管理画面 サイドメニューの[設定] > [WebSub]

デフォルトで3つのHub のURL が登録されていました。
一番上の”https://pubsubhubbub.appspot.com” は”google” という文字がないですが、Google のHub のようです。

6. Google Search Console について

過去の投稿でGoogle Search Console を使ってサイトマップの送信とインデックス登録について記載しているので、ここではGoogle Search Console の便利なツールについて簡単に記載します。

サイトマップの登録

サイトマップのURL をGoogle に登録することができます。
登録しておくと、Google はサイトマップに更新がないかを定期的に確認するようになります。

URL検査(インデックス登録)

ウェブサイトの特定のURL に対して、Google にインデックス登録を依頼することができます。
インデックスに登録するかどうかは、Google がページを分析して決定するので、依頼すれば必ず登録される訳ではないです。

robots.txt テスター

robots.txt に対して、以下のチェックをすることができます。

  • robots.txt の構文とロジック上の問題がないかのチェック
  • ウェブサイト上の特定のURLに対して、Google のクローラをブロックできているかのチェック

後者は、例えばGoogle画像検索で表示されたくない画像のURLに対して、Googlebot-Image クローラをブロックできているかのテストができます。

モバイルフレンドリーテスト

ウェブサイトの特定のURL に対して、以下のチェックをすることができます。

  • モバイルデバイスでのページの使いやすさのテスト
  • クローラがページにアクセス可能で、コンテンツを正しく認識できるかのテスト

7. あとがき

SEO の基本を整理しよう、ということでGoogle のSEO対策についてざっと整理してみました。なんとなく要点はつかめたような気がしています。

これまでSEO ということでGoogle のことを取り上げていましたが、今後はMicrosoft のBing のSEO対策など、横に展開することもしていきたいと思います。

参考