WordPress SEO チェック:プラグインの実際の出力を6項目で確認

SEOgrinder 編集部 · 公開日 · 読了時間 約14分

結論: WordPress SEO チェックとは、プラグインに入力した設定ではなく、サイトが実際に配信しているページを読むことです。検索エンジンが受け取るのは、そちらだからです。投稿を1つ開き、タイトル、メタディスクリプション、canonical、robots の指示、サイトマップ、構造化データを読んで、設定したつもりの内容と比べます。使っているプラグインにかかわらず、4行の curl か、無料の SEOgrinder のスキャンでできます。ページがきれいになれば妨げは減りますが、順位は約束されません。

WordPress SEO チェックとは?なぜ設定ではなくページを見るのか

WordPress SEO チェックは、サイトの公開ページを、訪問者やクローラーと同じように開き、HTML とサーバーの応答にあるものを報告します。どんなタイトルか、どんなディスクリプションか、どの canonical アドレスか、どんな robots の指示があるか、サイトマップがあるか、構造化データがあり、読み取れるか、といった内容です。

これは、SEO プラグインの設定画面とは別のものです。設定画面が見せるのは、入力した内容です。ページが見せるのは、届いた内容です。両者のあいだには、テーマ、ほかのプラグイン、キャッシュされたコピー、そして WordPress 自身があり、そのどれもが、送ったつもりの内容を変えたり、落としたりする可能性があります。Google のメタディスクリプションのページも、HTML を直接編集できず、設定ページ経由で作業するシステムの例として、WordPress を挙げています。

この記事では、使っているプラグインにかかわらず、結果を数分で読む方法と、外からのチェックでは分からないことを紹介します。SEOgrinder は私たちのツールで、私たちが開発しています。私たちの WordPress プラグインは計画中ですが、まだ存在しません。以下の内容は、Web ツールだけで足ります。

WordPress のページの HTML を書くのは誰か

同じタグに、4か所から手が入る可能性があります。設定だけを見ても、結果が分からないのは、そのためです。

  • WordPress 本体。 コアは、プラグインなしでもいくつかのタグを書き出します。関数 rel_canonical() は “Outputs rel=canonical for singular queries”(単一のクエリに対して rel=canonical を出力する)と説明されています(developer.wordpress.org)。対象は、投稿や固定ページのような単一のコンテンツで、アーカイブは含まれません。バージョン 5.5 以降、コアは /wp-sitemap.xml にサイトマップインデックスも公開し、robots.txt からそれを参照します(コアチームの告知、2020年7月22日)。
  • プラグインとテーマ(フィルター経由)。 wp_get_document_title() のドキュメントは、タイトルを変更するフィルターを4つ挙げています。wp_robots フィルターは、robots メタタグに対して同じことをします(タイトル、robots)。どのプラグインやテーマも、これらを使えます。
  • テーマ。 head 内のタグは、wp_head フックを通じて出力されます。ドキュメントには、テーマに依存するものの、このフックは広くサポートされているとあります。私たちの解釈では、このフックを一度も呼ばないテーマは、これに頼るものを何も出力しません。
  • キャッシュ。 ページキャッシュや CDN は、現在の設定が生成するものより古い HTML のコピーを返すことがあります。

WordPress SEO チェック:ページで読む6つのポイント

トップページだけでなく、投稿を使ってください。次の6つを、この順に読みます。

1. タイトル

そのページ固有の <title> が1つあることを確認します。Google のタイトルリンクのページは、タイトルに “repeated or boilerplate text”(繰り返しの文言や定型文)を避けるよう書いています。プラグインがタイトルのテンプレートを使っているなら、投稿、固定ページ、ブログの一覧で、結果を読んでください。

2. メタディスクリプション

<meta name="description"> は、Google にとっては任意です。ページの本文より内容をよく表しているとき、Google は “will sometimes use”(ときどき使う)としてスニペットに使います(スニペットのドキュメント)。同じページに、“Identical or similar descriptions on every page of a site aren't helpful when individual pages appear in search results.”(サイトのすべてのページに同じ、または似たディスクリプションがあっても、個々のページが検索結果に表示されるときには役に立たない)ともあります。プラグインでディスクリプションを書いたのに HTML に1つも出ていなければ、設定とページのあいだで、何かがそれを消しています。

3. canonical

<link rel="canonical"> がちょうど1つあり、https の絶対アドレスで、通常のページではそのページ自身を指していることを確認します。Google の canonical のページは、正規のページ自身に、自分を指す canonical を置くこと、相対ではなく絶対アドレスにすることを勧めています。異なるアドレスを挙げる canonical が2つあると、互いに矛盾します。何かが2つめを書き出しているので、その原因を突き止めてください。

4. robots の指示

指示は3か所にあります。HTML の robots メタタグ、レスポンスの X-Robots-Tag ヘッダー(ページのソースには決して出ません)、そして /robots.txt です。見つけてほしいページに noindex が付いていないかを確認します。

WordPress の典型例は、「設定」の「表示設定」にある “Discourage search engines from indexing this site”(検索エンジンがサイトをインデックスしないようにする)のチェックボックスです。ドキュメント(最終更新 2024年6月8日)によると、このチェックボックスは、“if wp_head is used”(wp_head が使われていれば)head に <meta name='robots' content='noindex,nofollow' /> を書き出し、“it is up to search engines to honor your request”(要求を尊重するかどうかは検索エンジン次第)とされています。コアの告知には、この設定でサイトマップも無効になると補足されています。1つのチェックボックスで2つの効果が出て、どちらもページ上で見えます。

robots タグがあるだけでは、警報ではありません。2026年11月4日に、下のコマンドを https://wordpress.org/news/ に対して実行しました。そこにあった robots タグは <meta name='robots' content='max-image-preview:large' /> だけで、noindex はありませんでした。ルールが衝突した場合、Google は厳しいほうを適用します(“the more restrictive rule applies”、robots メタタグ)。つまり、消し忘れた noindex は、プラグインの設定よりも優先されます。

robots.txt では、設定ではなくファイルを読んでください。WordPress は robots.txt を生成でき(do_robots():“Displays the default robots.txt file content”(デフォルトの robots.txt の内容を表示する))、コードは robots_txt フィルターでそれを変更できます(関数、フィルター)。

5. サイトマップ

200 を返し、検索に出したいページを載せ、robots.txt の Sitemap: 行で告知されているサイトマップを確認します。コアのアドレスは /wp-sitemap.xml です。プラグインは別のアドレスを使うことがあるので、robots.txt の行をたどってください。サイトマップは約束ではありません。Google は、“doesn't guarantee that all the items in your sitemap will be crawled and indexed”(サイトマップのすべての項目がクロールされ、インデックスされることは保証しない)としています(サイトマップの概要)。

6. 構造化データ

読み取れる <script type="application/ld+json"> のブロックがあり、その type がページに合っていることを確認します。Google は、環境が許す限り JSON-LD を勧めています(構造化データの概要)。壊れたマークアップは無視されるので、あるというだけでは、ほとんど何も証明しません。

チェックの実行方法:4行のコマンドか、1回のスキャン

コマンドラインから。 アドレスを、自分の投稿のものに置き換えてください。1行目は、一致するタグをすべて出力します。title、description、canonical は、それぞれ1回ずつ出るはずです(JSON-LD のブロックは複数あっても問題ありません)。最初の title の行が、ページのタイトルです。ほかの3行は、ヘッダー、robots.txt、コアのサイトマップのステータスを示します。

curl -s https://example.com/my-post/ | grep -o -i -E '<title>[^<]*</title>|<meta[^>]*name=.(description|robots).[^>]*>|<link[^>]*rel=.canonical.[^>]*>|<script[^>]*ld\+json[^>]*>'
curl -sI https://example.com/my-post/ | grep -i x-robots-tag
curl -s https://example.com/robots.txt
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/wp-sitemap.xml

SEOgrinder で。 無料で、アカウントは不要です。

  1. SEOgrinder を開き、公開されている投稿または固定ページのアドレスを入力して、分析を開始します。
  2. 「タスク」タブを読みます。見つかった項目が、効果の大きい順に並びます。たとえば、「メタディスクリプションがありません」「canonical タグがありません」「異なる canonical タグが 2 個あります」「ページが Google から除外されています」「robots.txt がこの URL をブロックしています」「サイトマップが見つかりません」「構造化データがありません」などです。
  3. 「Google 上のページ」を開きます。ここのカードは、問題点だけでなく、見つかったものも表示します。「タイトルとディスクリプション」は両方のタグのテキスト、「インデックス」はページがインデックスできるか、HTTP ステータス、robots.txt が許可しているか、サイトマップに載っているか、「Canonical」はアドレスと「自身を指しています」かどうか、「構造化データ」は type と JSON-LD ブロックの数を示します。
  4. WordPress で設定を変えたら、ページキャッシュを空にして、「再チェック」を押します。レポートは最長24時間キャッシュされます。

SEOgrinder が読むのは、どの訪問者も受け取る内容です。WordPress にはログインせず、設定を見ることはできず、どのプラグインがタグを書いたかも示しません。

プラグインのページが語ること、ページだけが裏づけること

wordpress.org では、大手の SEO プラグインが、自分の役割を自分の言葉で説明しています。Yoast SEO は、“Canonical URLs to prevent duplicate content issues”(重複コンテンツの問題を防ぐための canonical URL)と “Advanced XML sitemaps for clear site indexing”(サイトのインデックスを明確にする高度な XML サイトマップ)を挙げています(プラグインのページ)。Rank Math は、“16+ Schema types to add rich results in a few clicks”(数クリックでリッチリザルトを追加できる、16種類以上の Schema タイプ)を挙げています(プラグインのページ)。All in One SEO は、“automatic canonical URLs and per-post canonical tags to prevent duplicate content”(重複コンテンツを防ぐための自動 canonical URL と、投稿ごとの canonical タグ)を挙げています(プラグインのページ)。3つとも、タグには schema、seo、xml sitemap が付いています(2026年11月4日に確認)。

これらの文が述べているのは、プラグインがどんな役割を提供するかです。今日あなたのページに何が入っているかは、述べていません。それは、設定、テーマ、ほかのプラグイン、キャッシュに左右されるからです。私たちはこれらのプラグインをテストしておらず、比較もしません。あるプラグインが、別のプラグインより良い HTML を出力するという意味のことは、ここには何も書いていません。証拠になるのは、ページだけです。

外からのチェックでは分からないこと

  • Google がそのページをインデックスしたかどうか。 スキャンが示すのは、サーバーが今配信しているものです。Google の URL 検査ツールは、“provides information about Google's indexed version of a specific page”(特定のページについて、Google がインデックスしたバージョンの情報を提供する)とされています。同じページには、“Your page may have changed or become unavailable since Google last saw it.”(Google が最後にページを見て以降、ページが変更されたか、利用できなくなっている可能性がある)という注意もあります。
  • 誰がタグを書いたか。 タグは見えますが、コア、テーマ、プラグインのどれが出力したのかは分かりません。私たちの助言は、サイトのコピーで、候補を1つずつオフにしていくことです。
  • 順位。 どんなチェッカーも、順位は約束できません。
  • ログインの向こう側にあるもの。 SEOgrinder がチェックするのは、公開ページだけです。

よくあるミス

  • 設定画面で判断する。 設定画面が見せるのは、入力した内容であって、届いた内容ではありません。
  • トップページだけを見る。 投稿、固定ページ、アーカイブ、カテゴリーページは、それぞれ別のテンプレートから作られます。コアの canonical 関数は、単一のコンテンツでしか動きません。投稿、固定ページ、ブログの一覧、カテゴリーを1つずつ読んでください。
  • 公開後も「検索エンジンがサイトをインデックスしないようにする」にチェックを入れたままにする。 ドキュメントによれば、noindex タグが書き出され、コアの告知によれば、コアのサイトマップも無効になります。
  • 1つのタグに書き手が2つ。 2つめのプラグインやテーマが、別の canonical を追加するケースです。SEOgrinder は、異なるアドレスを複数挙げているページを報告します。
  • 古いコピーを読む。 変更のたびにキャッシュを空にし、SEOgrinder では「再チェック」を使います。
  • 「タグがある」を「タグが正しい」と取り違える。 canonical が、応答しないページを指していることがあります(「canonical が到達できないページを指しています」)。サイトマップが、リダイレクトするアドレスを載せていることもあります。

よくある質問

WordPress SEO チェックのために、別のプラグインは必要ですか?

いいえ。外からのチェックは、何もインストールしません。curl の行には、ターミナルがあれば足ります。SEOgrinder に必要なのは、アドレスだけです。

Yoast、Rank Math、All in One SEO のどれを使っているかは関係しますか?

チェックには関係しません。配信されたページを読むだけで、どのプラグインが書いたかは尋ねません。各プラグインに何ができるかは、それぞれの wordpress.org のページに書かれています。あなたのページに何が入っているかは、ページだけが示します。

プラグインでメタディスクリプションを書いたのに、表示されないのはなぜですか?

私たちにはあなたのサイトが見えないので、以下は診断ではなく、除外すべき原因です。古いキャッシュのコピー、wp_head を呼ばないテーマ、確認したページとは別の種類のページに設定したディスクリプション、上書きしているほかのプラグインやテーマ、などが考えられます。

次のステップ

サイトの投稿を1つ選び、4行のコマンドか、SEOgrinder の無料スキャンを実行してください。設定したつもりの内容と違う最初のタグを直し、キャッシュを空にして、「再チェック」を押します。チェック項目の全体は、SEOチェックリストの記事にまとめています。ページが Google に出てこないときは、まず Search Console の URL 検査で、Google が保存しているバージョンを確認してください。

あわせて読みたい

ブログのほかの記事