WordPressのSEO対策
WordPressの技術的SEO実務ガイドです。評価を下げる初期設定、コアのサイトマップとcanonical処理の実際、SEOプラグインを必ず1つだけ使う理由、WordPress自身が作る重複コンテンツの発生源を解説します。
言語
WordPressはSEOに対応できますが、設定なしでSEOが完成するわけではありません。v2.9以降の投稿は自己canonical化され、v5.5以降はネイティブXMLサイトマップが提供されます。一方、初期設定では ?p=123 のパーマリンク、添付ファイルページ、日付・タグ・著者アーカイブ、フィード、内部検索結果がすべてインデックス可能で、設定 → 表示設定のチェック1つでサイト全体を静かにブロックできます。重要な対策は、公開前に /%postname%/ を設定すること、SEOプラグインを必ず1つだけ使うこと(Yoast、Rank Math、AIOSEOのいずれか。2つ使うと wp_head の競合でメタデータが重複します)、薄いアーカイブはrobots.txtで拒否せずnoindexにすること、サイトマップをcanonicalなインデックス可能URLだけにすることです。WordPress v6.4以降の新規インストールでは添付ファイルページが無効になり、親投稿ではなくファイルへ直接リダイレクトされます。GoogleはWordPressが他のCMSより有利とも不利とも述べておらず、順位を決めるのはプラットフォームではなくコンテンツとリンクです。
TL;DR — WordPressはSEOの良い土台を提供しますが、仕事を最後まで代わりにやってくれるわけではありません。初期状態では見栄えの悪い
?p=123URLが使われ、望んでいない薄いページがいくつも作られ、チェックボックス1つでサイト全体をGoogleから隠せます。パーマリンクを直し、SEOプラグインを1つだけ(2つではなく)インストールし、薄いページを整理しましょう。戦いの大部分はそれで決まります。
WordPress SEOが実際に意味すること
WordPress SEOとは、WordPressで動いているサイトにSEOを行うことです。目的は他のサイトと同じで、検索エンジンがページをクロール、インデックス、ランキングできるようにし、人々がページを見つけられるようにすることです。違いは、WordPressに独自の初期設定と癖があり、その一部が変更するまで静かにSEOの邪魔をすることです。
WordPressはWeb全体の約43%で使われているため、こうした癖を知っておく価値があります。
まずこれを直す
いくつかの初期設定が、WordPress SEOの問題の大半を引き起こします。
- 「検索エンジンがサイトをインデックスしないようにする」チェックボックス。 設定 → 表示設定には検索エンジンをブロックする項目があります。構築中のサイト向けですが、オンのまま忘れられることが頻繁にあります。チェック1つでサイト全体がGoogleから消えます。本番サイトでは必ずオフであることを確認してください。
- パーマリンク。 WordPressは
?p=123型のURLで出荷されます。設定 → パーマリンク → 投稿名に切り替え、URLをyoursite.com/your-post-title/のようにします。コンテンツを公開する前に行ってください。後から変更すると、リダイレクトを設定しない限り古いリンクが壊れます。 - 自動生成される薄いページ。 WordPressはすべてのタグ、日付、著者、さらにメディアファイル(添付ファイルページ)について自動的にページを作ります。その多くは薄く、価値を加えません。SEOプラグインでそれらを非表示(「noindex」)にできます。
SEOプラグインは必要ですか?
WordPressは今では一部のSEOを自力で行います。サイトマップを作り、canonicalタグを追加します。 Evidence for this claim WordPress core generates XML sitemaps and outputs canonical link tags for singular content. Scope: WordPress core defaults; plugins and themes can filter or replace output. Confidence: high · Verified: WordPress: XML Sitemaps WordPress: rel_canonical ただし、メタディスクリプションの管理、薄いページの非表示、schemaマークアップの追加、リダイレクト管理にはプラグインが必要です。代表的なものはYoast SEO、Rank Math、All in One SEOです。どれを選んでも構いません。
本当に重要なルールは1つです。**SEOプラグインを2つ同時に実行しないこと。**どちらもページの <head> に同じタグを書き込もうとするため、検索エンジンを混乱させる重複・競合情報が生まれます。1つを選んでください。 Evidence for this claim WordPress plugins can hook into wp_head and emit head markup, so overlapping SEO plugins can duplicate output. Scope: WordPress hook mechanics; exact conflicts depend on active plugins and settings. Confidence: high · Verified: WordPress: wp_head hook
多くの人が最も誤解していること
**「WordPressはSEOに悪い」「WordPressは遅い」は、適切に設定されている場合は迷信です。**十分なホスティング、軽量テーマ、常識的な数のプラグインを使ったクリーンなインストールは、何にでも対抗できます。WordPressのせいにされる問題は、ほぼいつも安価なホスティング、重いページビルダー、プラグインの入れすぎ、最適化されていない巨大な画像です。GoogleはWordPressが他のプラットフォームより有利とも不利とも述べていません。順位を決めるのはコンテンツとリンクです。
実務家向けの詳しい内容、つまりコアのサイトマップの実際の仕組み、canonicalの落とし穴、重複コンテンツの全リスト、WooCommerceについて知りたいですか?Advancedタブに切り替えてください。
TL;DR — WordPressはSEOに対応できますが、SEOが完成しているわけではありません。v2.9以降の単一投稿は自己canonical化され、v5.5以降はネイティブXMLサイトマップが提供されます。しかし初期設定では
?p=123パーマリンク、添付ファイルページ、日付・タグ・著者アーカイブ、フィード、?s=検索ページがすべてインデックス可能で、設定 → 表示設定のチェックボックスがサイト全体を静かにブロックできます。効果の大きい対策は、公開前に/%postname%/を設定すること、SEOプラグインを正確に1つだけ使うこと(2つによるwp_head競合は現実の問題です)、薄いアーカイブを拒否ではなくnoindexにすること、canonicalでインデックス可能なURLだけを含むサイトマップを作ることです。WordPress v6.4以降の新規インストールでは添付ファイルページが無効になり、親投稿ではなくファイル自体へリダイレクトされます。既存サイトは手動で移行します。GoogleはWordPressが他のCMSよりSEOに有利とも不利とも述べていません。 Evidence for this claim WordPress added core XML sitemaps in 5.5 and attachment-page redirects for new sites in 6.4. Scope: Core version history; existing sites can retain prior attachment behavior. Confidence: high · Verified: WordPress 5.5 XML sitemaps WordPress 6.4 attachment pages
WordPressはSEOに対応できるが、SEOが完成しているわけではない
正直な説明は、よく聞く2つのマーケティング上の主張の中間です。WordPressは完全な意味で「初期状態からSEOに優しい」わけではありませんが、SEOに悪いわけでもありません。強力で制御しやすい土台を提供する一方、インデックス可能な不要物を初期状態で大量に有効にしています。仕事の全体像は、どの初期設定を変え、どの自動生成URLを抑制するかを知ることです。
最初に明確にしておくと、GoogleはWordPressが他のCMSより有利とも不利とも述べていません。Googleのドキュメントにも、“if you’re using a CMS such as WordPress, Wix, or Blogger, it’s likely that your CMS has already made a sitemap available to search engines”(日本語訳:WordPress、Wix、BloggerなどのCMSを使っているなら、CMSがすでに検索エンジン向けのサイトマップを提供している可能性が高い)とあります。プラットフォームは他と同じように扱われます。順位を生むのは管理画面のロゴではなく、コンテンツとリンクです。 Evidence for this claim Google says common CMS platforms often generate sitemaps and does not prescribe a CMS-specific ranking advantage. Scope: Google sitemap guidance; absence of a CMS ranking advantage is an editorial inference from platform-neutral requirements. Confidence: medium · Verified: Google: Build and submit a sitemap
問題を起こす初期設定と、その理由
「検索エンジンによるこのサイトのインデックスを抑制する」チェックボックス(設定 → 表示設定)は、サイト全体の noindex と制限的な仮想robots.txtを書き込みます。WordPress監査で最初に確認する項目です。サイト全体のインデックスを静かにゼロにできる唯一の設定であり、通常はステージング時にオンにされたままです。
?p=123 の初期パーマリンクにはトピックのシグナルがなく、クリーンなURLでもありません。/%postname%/ に切り替え、公開前に行ってください。運用中のサイトで変更するとURLが変わります。WordPressは標準投稿タイプの古い数字URLには自動で301を設定しますが、カスタム投稿タイプや固定ページは常にきれいにリダイレクトされるとは限らないため、テストが必要です。パーマリンクにカテゴリーを組み込む(/%category%/%postname%/)のは避けます。分類を再編成した日に大量のURL変更を起こし、割に合わない形で順位履歴を失うからです。
添付ファイルページは、忘れられがちなWordPress固有の落とし穴です。以前はメディアをアップロードするたびに、ファイルと少しの自動メタデータだけを含む独立URLが作られていました。実ページと競合し得る薄いページです。**WordPress v6.4では新規インストールの初期設定が変わり、添付ファイルページが完全に無効になりました。現在そのURLへのアクセスは親投稿ではなくファイル自体へ直接リダイレクトされます。**既存(アップグレード済み)サイトでは添付ファイルページが有効なままです。設定画面のトグルはなく、WP-CLIで wp option set wp_attachment_pages_enabled 0 を実行するか、wp-admin/options.php で直接オプションを編集します。実務上、多くのサイト所有者はこのオプションに触れず、代わりにプラグインで処理します。添付ファイルページをnoindexにするか、より良い方法としてSEOプラグインで親投稿へリダイレクトします。古いサイトがWordPress v6.4の初期設定を引き継いでいるとは考えないでください。引き継ぎません。
**アーカイブ、フィード、検索ページ。**WordPressは初期状態で、インデックス可能なカテゴリーアーカイブ、タグアーカイブ、日付アーカイブ、著者アーカイブ、ページ分割されたアーカイブ(?page=2)、フィードURL(/feed/)、添付ファイルページ、内部検索結果ページ(/page=search、つまり ?s=)を生成します。これがWordPressの重複コンテンツの発生源の基本リストであり、そのほとんどは自分で決めたものではありません。
WordPressが自動的に作る重複コンテンツ
意外に思う人が多いので明確に言います。WordPressは初期状態で構造的な重複コンテンツを作ります。主な発生源は次のとおりです。
| 発生源 | 例 | 一般的な対策 |
|---|---|---|
| カテゴリーアーカイブ | /category/news/ | 残す、または薄ければnoindex |
| タグアーカイブ | /tag/wordpress/ | 通常はnoindex(薄く、重複するため) |
| 著者アーカイブ | /author/admin/ | 単著者サイトではnoindex |
| 日付アーカイブ | /2023/04/ | noindex(ほぼ常に薄いため) |
| ページ分割 | /page/2/ | 自身を指すcanonical(1ページ目ではない) |
| フィードURL | /feed/ | フィードをnoindex |
| 添付ファイルページ | /photo-of-cat/ | SEOプラグインで親へリダイレクト(WP v6.4以降の新規インストールはファイル自体へリダイレクト) |
| 検索結果 | /?s=keyword | noindex |
対策は、ペナルティを恐れて慌てることではありません。Googleは構造的な重複を罰するのではなく、重複をcanonicalに統合します。対策は薄いものをnoindexにし、サイトマップをクリーンに保つことです。重要な区別もあります。noindex ≠ no-crawlです。noindexページは、Googleが指示を読めるようクロール可能なままにする必要があります。robots.txtで拒否すると指示を見られないため、薄いアーカイブはブロックせずnoindexにします。
XMLサイトマップ:コアとプラグイン
**WordPress v5.5(2020年8月)は /wp-sitemap.xml にネイティブXMLサイトマップを追加しました。**実在しますが、最低限の機能です。すべての公開投稿タイプ、公開タクソノミー、著者アーカイブを入れるため、インデックスから外したい薄いページまで喜んで列挙します。画像サイトマップには対応せず、制御も限られます。そのため実際には、ほとんどのサイトがYoastやRank Mathのサイトマップを使います。特定の投稿タイプやタクソノミーを含めたり除外したりでき、ファイルをcanonicalでインデックス可能なURLだけに保てるからです。Yoastがコアのサイトマップを無効にして置き換えるのは想定された動作です。
サイトマップが代わりに行ってくれないことが2つあります。Googleは独自のドキュメントにあるとおり <priority> と <changefreq> を完全に無視します。また、**WordPressはサイトマップをGoogleへ自動送信しません。**Search ConsoleとBing Webmaster Toolsで送信し、robots.txtの Sitemap: ディレクティブで受動的に発見できるようにします。仕様の50 000 URL / 50MB制限は有効なので、それを超えたらサイトマップインデックスに分割します。
canonical処理:コア、プラグイン、競合の罠
コアはWordPress v2.9(2009年)以来、rel_canonical() で rel=canonical を出力しています。単一投稿と固定ページは自身をcanonicalにします。WordPress v4.6はタグを追加したのではなく、関数をフィルター可能な wp_get_canonical_url() を使う形にリファクタリングしました。「v4.6以降canonical」と言われるとき、通常はこのことを指します。これは良い基盤ですが、コアはテーマをまたいだカスタム投稿タイプを一貫して処理せず、404にcanonicalを追加せず、?utm_source=、wwwと非www、末尾スラッシュなどURLの変種による重複も単独では解決しません。SEOプラグインはコア出力をより包括的な処理に置き換えます。カスタム投稿タイプのcanonical、自己参照型のページ分割canonical(2ページ以降を1ページ目へ向けるのではありません)、シンジケーション向けのクロスドメインcanonical、ページごとの上書きなどです。
ここに、プラグイン問題全体を結び付ける罠があります。**SEOプラグインが設定するcanonicalが権威あるシグナルです。しかしテーマもtitleタグや独自のSEOメタを注入すると競合します。**GenesisやThesisのようなテーマフレームワークは独自のSEOタグを出力します。SEOプラグインを有効にしたらテーマ側のSEOを無効にし、レンダリング後の <head> を調べてcanonical、title、meta descriptionがそれぞれ正確に1つだけであることを確認してください。
SEOプラグインは1つだけ。2つは絶対に使わない
これは独立した見出しに値します。WordPress SEOで最も多い自傷行為だからです。**SEOプラグインを2つ同時に実行しないでください。**Yoast、Rank Math、AIOSEOはすべて wp_head() にフックし、title、meta description、canonical、Open Graph/Twitterタグ、robots meta、JSON-LDを書き込みます。2つ動かすと両方が実行され、メタディスクリプションの重複、重複して矛盾するcanonical、競合するOpen Graph、競合するサイトマップが発生します。Search Consoleは重複メタデータを報告します。1つを選び、もう1つは完全にアンインストールしてください(無効化だけではデータベースの項目が残ります)。
どれを選ぶかについては、どれも基本タスクをカバーしているため、用途と予算の問題です。
- Yoast SEO — 最大のインストール基盤を持ち、慣れ親しんだ信号機式スコアを提供します。ガイド付きワークフローを求める初心者やコンテンツチーム向けです。(WooCommerce schemaは有料アドオンです。)
- Rank Math — 無料枠が最も手厚く、無制限のフォーカスキーワード、リダイレクト管理、404監視、GSC + GA4連携、強力なschemaビルダー(16種類以上を無料で利用可能)があります。開発者とパワーユーザーには私はこちらを選びます。
- All in One SEO(AIOSEO) — WooCommerce連携、内部リンクアシスタント、ローカルSEOに強みがあります。代理店や大規模ストアに向いています。
Yoastの緑色の判定については注意してください。**Yoastスコアが高いからといって順位が上がるわけではありません。**キーワードの存在、タイトルの長さ、可読性の代理指標など、ページ上の基本的な書式を見るヒューリスティックです。赤信号の投稿が、すべて緑の投稿を日常的に上回ることもあります。コンテンツ品質、検索意図との一致、権威性、リンクの方がはるかに重要です。
schema:WordPressが出力するもの、しないもの
コアWordPressはリッチリザルトに役立つものをほとんど出力しません。Googleが解析できるクリーンなHTMLは出しますが、JSON-LDはありません。Googleも、“if you use a CMS, such as Wix, WordPress, or Shopify, you might not be able to edit your HTML directly… you may be able to install a plugin that allows you to specify structured data.”(日本語訳:Wix、WordPress、ShopifyなどのCMSを使う場合、HTMLを直接編集できない可能性があります。その代わり、構造化データを指定できるプラグインをインストールできる場合があります)と説明しています。取るべき道は次のとおりです。
- YoastはOrganization/Person、WebSite(SearchAction付き)、WebPage、BreadcrumbList、Article schemaをJSON-LDで自動追加します。
- Rank Mathはそれらに加えて、無料枠で16種類以上のschema(FAQ、HowTo、Product、Review、Eventなど)とカスタムタイプ用ビルダーを追加します。
- WooCommerce単体は基本的なOpen Graphの商品メタデータを出力しますが、**Product JSON-LDは出力しません。**価格、在庫状況、レビュー集計を含む完全なProduct schemaには、Yoast WooCommerce SEO(有料)かRank Math Proが必要です。
WooCommerceについて簡単に
WooCommerceは標準WordPressの上に、さらにSEOの対象範囲を積み重ねます。繰り返し現れる問題は、/product/ と /product-category/ のURLベース(既存サイトではリダイレクトを伴って削除可能)、ほぼ重複する商品バリエーション、そして最大の問題である、数千もの薄いフィルター組み合わせURLを生成するファセットナビゲーションです。ファセットはどこでも同じ方法で扱います。理想はURLを変えないJSベースの絞り込みです。それが無理なら、ベースカテゴリーへの rel=canonical、またはフィルターページの noindex, follow(指示を見られるようクロールは許可)を使います。ショップとカテゴリーのページ分割には自己参照canonicalが必要です。Googleは2019年に rel=prev/next を非推奨にしました。存在しても害はありませんが、依存しないでください。ファセットナビゲーションの詳しい扱いはEcommerce SEOピラーにあります。
robots.txtとCore Web Vitals:2つの短い補足
WordPressは仮想robots.txtを提供します(ディスク上のファイルではありません)。初期状態では /wp-admin/ を拒否し、admin-ajax.php は許可します。ルートに物理ファイルを置くと、仮想版全体がそれで上書きされます。SEOプラグインならダッシュボードから仮想版を編集できます。典型的な間違いは /wp-content/ を拒否することです。CSS、JS、画像をブロックしてレンダリングを壊すので、行わないでください。
パフォーマンスについては、「WordPressは遅い」という不満はコアの問題ではなく設定の問題です。LCPの問題は主にTTFB(安価な共有ホスティング、opcode cacheなし)と最適化されていないヒーロー画像に追跡できます。INPの問題はページビルダー(Elementor、Divi)によるJavaScriptの肥大化、CLSの問題は寸法のない画像と font-display: swap のないWebフォントが主因です。軽量テーマ(GeneratePress、Kadence、Astra)にキャッシュプラグイン、CDN、最新の画像形式を組み合わせれば、適切に構築したWordPressサイトはCore Web Vitalsを十分に通過できます。詳しくはWeb Performanceクラスターを参照してください。
AI要約
Advanced版を要約すると、次のとおりです。
- WordPressはSEOに対応できるが、SEOが完成しているわけではありません。強力で制御しやすい土台ですが、初期設定ではインデックス可能な不要物が有効になっています。GoogleはWordPressが他のCMSより有利とも不利とも一度も述べておらず、順位を決めるのはコンテンツとリンクです。
- **最初に直す初期設定:**設定 → 表示設定の「検索エンジンがサイトをインデックスしないようにする」チェックボックス(サイト全体を静かに
noindexにできます)、公開前の?p=123→/%postname%/、自動生成される薄いページの抑制。 - **WordPressが作る重複コンテンツ:**カテゴリー・タグ・日付・著者アーカイブ、ページ分割(
?page=2)、フィード(/feed/)、添付ファイルページ、内部検索(?s=//page=search)。薄いものはnoindexにします。noindex ≠ no-crawlなので、robots.txtでブロックせずクロール可能に保ってください。 - **添付ファイルページ:**WordPress v6.4以降の新規インストールでは初期状態で無効になり、親投稿ではなくファイルへ直接リダイレクトされます。既存サイトでは有効なままで、手動移行が必要です。
- サイトマップ:
/wp-sitemap.xmlでv5.5以降ネイティブに提供されますが、薄いタクソノミーや著者を含む最低限のものです。ほとんどのサイトは制御のためにプラグインのサイトマップを使います。WordPressはGoogleへ自動送信せず、Googleは<priority>/<changefreq>を無視します。 - canonical:コアはv2.9以降、単一投稿を自己canonical化しています(v4.6で追加されたのはタグ自体ではなく、フィルター可能な
wp_get_canonical_url()です)。プラグインはカスタム投稿タイプ、ページ分割、URL変種を処理します。プラグインのcanonicalが権威あるシグナルであり、テーマもtitle/metaを注入すると競合します。 - **SEOプラグインは1つだけ:**2つとも
wp_headにフックし、重複・競合するメタデータを出力します。Yoast(初心者向け)、Rank Math(無料枠が最良)、AIOSEO(代理店/Woo向け)。 - **「WordPressは遅い」は迷信です。**原因はコアではなく、ホスティング、ページビルダー、プラグインの肥大化、最適化されていない画像です。
公式ドキュメント
WordPressでSEOを運用する際に関係する一次情報のガイダンスです。
- サイトマップを作成して送信する — WordPressのようなCMSはサイトマップをすでに公開している可能性が高いこと、50 000 URL / 50MBの制限、Googleが
<priority>/<changefreq>を無視することを説明しています。 - 構造化データ入門 — CMS利用者向けの「プラグインで構造化データを指定する」ガイダンスです。
- noindexでインデックスをブロックする —
noindexの仕組みと、noindexページをクロール可能に保つ理由です。 - Site Kitがすべての人に利用可能に — Search ConsoleとAnalyticsのデータをダッシュボードに表示するGoogle公式WordPressプラグインです。
Bing / Microsoft
- Bingへのサイトマップ送信 — Bing Webmaster Toolsから送信するか、robots.txtの
Sitemap:ディレクティブでサイトマップを公開します。
WordPressコア
- WordPress v5.5の新しいXMLサイトマップ機能 — ネイティブの
/wp-sitemap.xmlがカバーする範囲です。 wp_headフックのリファレンス — SEOプラグインがメタデータを出力するためにフックするアクションであり、2つのプラグインが衝突する場所です。
情報源からの引用
WordPressの運用に関係する、Googleによる記録上の発言です。
Google — CMSのサイトマップ
- “If you’re using a CMS such as WordPress, Wix, or Blogger, it’s likely that your CMS has already made a sitemap available to search engines.”(日本語訳:WordPress、Wix、BloggerなどのCMSを使っているなら、CMSがすでに検索エンジン向けのサイトマップを公開している可能性が高いです。) — Google Search Central docs。 Source
- “Include the URLs in your sitemap that you want to see in Google’s search results.”(日本語訳:Googleの検索結果に表示したいURLをサイトマップに含めてください。) — Google Search Central docs。 Source
- “Google ignores
<priority>and<changefreq>tags in XML sitemaps.”(日本語訳:GoogleはXMLサイトマップの<priority>と<changefreq>タグを無視します。) — Google Search Central docs。 Source
Google — CMSの構造化データ
- “If you use a CMS, such as Wix, WordPress, or Shopify, you might not be able to edit your HTML directly. Instead, your CMS may have a search engine settings page, or you may be able to install a plugin that allows you to specify structured data.”(日本語訳:Wix、WordPress、ShopifyなどのCMSではHTMLを直接編集できない可能性があります。その代わり、CMSに検索エンジン設定ページがあるか、構造化データを指定できるプラグインをインストールできる場合があります。) — Google Search Central docs。 Source
Google — WordPress向けSite Kit
- “Site Kit is Google’s official WordPress plugin — it gives you insights on how people find and use your site… with data from multiple Google tools.”(日本語訳:Site KitはGoogle公式のWordPressプラグインで、複数のGoogleツールのデータを使い、人々がサイトをどう見つけ、どう使うかを把握できます。) — Google Search Central blog。 Source
WordPress SEOセットアップチェックリスト
新規サイトでも引き継いだサイトでも、すべてのWordPressサイトで実行してください。
- 設定 → 表示設定:本番サイトで「検索エンジンがサイトをインデックスしないようにする」がオフである。
- 設定 → パーマリンク: 投稿名(
/%postname%/)に設定する。理想はコンテンツ公開前です。本番サイトで変更した場合は古いURLが301になることを確認する。 - SEOプラグインは1つだけインストールし、テーマ側のSEOメタを無効にする。
- レンダリング後の
<head>を検査し、title、meta description、canonicalがそれぞれ1つだけである(テーマとプラグインが競合していない)。 - 薄いアーカイブをnoindexにし、拒否しない。タグ、日付、(単著者の場合)著者アーカイブ、内部検索(
?s=)、必要に応じてフィードが対象。 - SEOプラグインで添付ファイルページを親投稿へリダイレクトする(古いサイトがWP v6.4以降の初期設定を引き継いだと考えない。新規サイトだけに適用され、ファイル自体へリダイレクトする)。
- サイトマップにはcanonicalでインデックス可能なURLだけを含める(本番では最低限のコア版ではなくプラグイン版)。
- サイトマップをGoogle Search ConsoleとBing Webmaster Toolsに送信し、robots.txtに
Sitemap:行を追加する。 - robots.txtで
/wp-content/を拒否していない(レンダリングが壊れる)。 - ページ分割は自己参照canonicalを使う(すべてを1ページ目へ向けない)。
- WooCommerce(使用している場合):Product schemaプラグインを有効にし、ファセットナビゲーションのフィルターURLをcanonical/noindexで制御する。
- Core Web Vitalsを確認する。軽量テーマ、キャッシュプラグイン、最適化画像、画像寸法の設定を確認する。
コア → テーマ → プラグイン → コンテンツのフレームワーク
各SEO出力に1つの所有者を割り当てます。WordPressコアはルーティングと基礎動作、テーマはテンプレートのレンダリング、SEOプラグインはメタデータ、canonical、サイトマップ、schema、編集者はページコンテンツと例外を担当します。WordPress SEOのバグの多くは所有権の競合です。最も早い所有者を直し、組み合わさった公開出力を検証してください。
WordPress SEOチートシート
最初に変更する初期設定
| 設定 | 初期値 | 変更後 |
|---|---|---|
| 検索エンジンの表示(設定 → 表示設定) | さまざま | 本番サイトではオフ |
| パーマリンク | ?p=123 | /%postname%/ |
| 添付ファイルページ | 独立URL(古いインストール) | 親投稿へリダイレクト |
| 薄いアーカイブ(タグ/日付/著者) | インデックス可能 | noindex(クロール可能なまま) |
内部検索(?s=) | インデックス可能 | noindex |
WordPressが自動的に作る重複コンテンツの発生源
- カテゴリー / タグ / 日付 / 著者アーカイブ
- ページ分割(
?page=2) - フィードURL(
/feed/) - 添付ファイルページ
- 内部検索結果(
?s=//page=search)
SEOプラグインの一行まとめ
- Yoast — 最大のインストール基盤。初心者向け。Woo schemaは有料。
- Rank Math — 無料枠が最良。16種類以上のschema。リダイレクトと404は無料。
- AIOSEO — 代理店/WooCommerce向け。内部リンクアシスタント。
- **ルール:**プラグインは1つだけ。2つとも
wp_head()にフックし、メタデータが重複します。
覚えておきたいバージョンの事実
- v2.9 — コアcanonical(
rel_canonical())。単一投稿は自己canonical化します。v4.6でフィルター可能なwp_get_canonical_url()にリファクタリングされましたが、タグが追加されたわけではありません。 - v5.5 —
/wp-sitemap.xmlのネイティブXMLサイトマップ(最低限の機能)。 - v6.4 — 新規インストールでは添付ファイルページが初期状態で無効になり、親投稿ではなくファイル自体へ直接リダイレクトされます。既存インストールでは有効なままです。
落とし穴
- プラグインのcanonicalが権威あるシグナルです。テーマが独自のtitle/metaを注入すると競合します。
noindex≠Disallow。ブロックされたページではnoindexを読み取れません。/wp-content/を拒否しない(CSS/JS/画像のレンダリングが壊れます)。- Yoastスコアが高くても順位が高くなるわけではありません。
WordPressテンプレート出力のサンプル
代表的な投稿、固定ページ、カテゴリー、タグ、著者、メディア、検索URLを urls.txt に入れます。
while IFS= read -r url; do
html=$(mktemp); status=$(curl -sSL -o "$html" -w '%{http_code}' "$url")
titles=$(grep -Eio '<title>[^<]*</title>' "$html" | wc -l | tr -d ' ')
canonicals=$(grep -Eio '<link[^>]+rel=["'"']canonical["'"'][^>]*>' "$html" | wc -l | tr -d ' ')
robots=$(grep -Eio '<meta[^>]+name=["'"']robots["'"'][^>]*>' "$html" | head -1)
printf '%s\t%s\ttitles=%s\tcanonicals=%s\t%s\n' "$status" "$url" "$titles" "$canonicals" "$robots"
rm -f "$html"
done < urls.txt 避けるべきWordPress SEOのミス
- 所有範囲が重なる複数のSEOプラグインやschemaシステムを実行する。
- 完全なリダイレクトマップなしに本番サイトのパーマリンク構造を変更する。
- すべての日付、タグ、著者、添付ファイル、検索、薄いアーカイブを初期状態でインデックスする。
- 保守可能な子テーマやプラグインの所有範囲を使わず、テーマファイルを直接編集する。
- 組み合わせたHTMLとパフォーマンスへの影響をテストせず、キャッシュ・最適化プラグインを重ねる。
よくあるWordPress SEOの問題
ページにcanonicalやschemaが重複している
**原因:**テーマと複数のプラグインが同じ要素を出力しています。**対策:**所有者を1つに決め、重複する出力を無効にしてからキャッシュを消去します。
公開後に検索表示が消える
**原因:**本番サイトに「検索エンジンがサイトをインデックスしないようにする」設定、サイト全体のプラグイン指示、またはステージング用のアクセスルールが残っています。**対策:**意図した表示状態を戻し、テンプレート全体で実際の指示を確認します。
アーカイブや添付ファイルURLが重複インベントリを作る
**原因:**初期設定や自動生成ルートが、コンテンツ上の目的なしに公開されています。**対策:**インデックスに残す価値のあるアーカイブを選び、SEOプラグインを一貫して設定し、サイトマップと内部リンクの動作を更新します。
WordPress SEOのツール
- SEOプラグイン(1つを選ぶ): Yoast SEO、Rank Math、All in One SEO — メタデータ、noindex制御、サイトマップ、schema、リダイレクト。
- Google Site Kit — Google公式プラグイン。WordPressダッシュボード内でSearch Console、Analytics、PageSpeedのデータを確認できます。
- Google Search Console / Bing Webmaster Tools — サイトマップの送信、インデックスと重複メタデータ警告の監視、個別URLの検査。
- **キャッシュ:**WP Rocket、W3 Total Cache、LiteSpeed Cache — TTFBが原因のLCPを直すサーバー側キャッシュ。
- **画像最適化:**WebP/AVIF変換 + 遅延読み込み(多くのキャッシュプラグインまたは専用画像プラグイン)でLCP画像の容量を削減。
- **軽量テーマ:**GeneratePress、Kadence、Astra — ページビルダーの肥大化ではなくCore Web Vitalsを重視。
- **クローラー / サイト監査:**Ahrefs Site AuditまたはScreaming Frog SEO Spider — WordPressサイトに蓄積する薄いアーカイブ、添付ファイルページ、リダイレクトチェーン、重複canonicalを発見。
- **多言語(必要な場合):**Polylang、WPML、TranslatePress — 翻訳コンテンツとhreflangの注入。
検証テスト
SEOプラグインまたはテーマ変更をテストする
**実行するテスト —**キャッシュを消去し、投稿、固定ページ、アーカイブ、特殊ルートの生の出力を検査します。**期待結果 —**各テンプレートに意図したtitle、canonical、robotsディレクティブ、一貫したschemaグラフが1つずつあります。**失敗の解釈 —**別の所有者またはキャッシュ層がまだ競合しています。**監視期間 —**直ちに。**ロールバック条件 —**テンプレート全体で出力が消えたり重複したりしたら戻します。
パーマリンクまたは移行の変更をテストする
**実行するテスト —**古いURLを追跡し、新しい内部リンクとサイトマップをクロールします。**期待結果 —**直接リダイレクトが関連する正常なcanonical URLへ到達し、発見には新しいルートが使われます。**失敗の解釈 —**マップまたは生成リンクが不完全です。**監視期間 —**技術面では直ちに。**ロールバック条件 —**重要なルートが404、ループ、または無関係な場所へリダイレクトするなら一時停止します。
WordPress SEOの作業に使うプロンプト
このWordPressクロールを、投稿、固定ページ、カテゴリー、タグ、著者、日付、添付ファイル、検索、ページ分割、パラメータの各ルートに分類してください。どのテンプレートをインデックス、統合、リダイレクト、除外すべきかを提案し、それぞれの判断に必要な証拠を示してください。
このプラグイン/テーマの一覧とサンプルHTMLを確認してください。title、canonical、robotsディレクティブ、サイトマップ、パンくず、schemaをどのコンポーネントが所有しているかを特定してください。重複を指摘し、検証とロールバック手順を含む単一所有者の構成を提案してください。
自分でテストする:WordPress SEO
WordPressを検索向けに設定するための5つの簡単な質問です。それぞれ答えを選んでから確認してください。
時間を使う価値のあるリソース
私の関連する記事
- Canonicalization: A Beginner’s Guide — 検索エンジンがcanonicalを選び、シグナルを統合する方法(WordPressの重複コンテンツ整理の基礎)。
- The Beginner’s Guide to PageSpeed (advanced PageSpeed guide) — WordPress Core Web Vitalsに直結するパフォーマンス面。
- Redirects for SEO: A Complete Guide — 添付ファイルページとパーマリンク移行の背後にあるリダイレクトの仕組み。
- The Ahrefs Site Audit Study — WordPressが作る重複コンテンツのパターンを含め、技術的問題がどれほど広がっているかのデータ。
私の講演
- How Search Works(SlideShare)— クロール → レンダリング → インデックス → 配信のウォークスルー。「このWordPressページをインデックスすべきか」という判断のモデルです。(定型の免責事項:“This is my understanding of systems… not going to be 100% complete or accurate.”(日本語訳:これはシステムについての私の理解であり、100%完全または正確になるわけではありません。))
業界から
- The WordPress SEO Guide(Joshua Hardwick、Ahrefs)— この技術的な解説を補う、20項目の実践的なセットアップガイド。
- WordPress SEO: The Definitive Guide(WPBeginner)— この分野で最大級の権威を持つ、包括的な初心者向けチェックリスト。
- New XML Sitemaps Functionality in WordPress v5.5(WordPressコアチーム)— ネイティブサイトマップがカバーする内容の一次情報。
wp_headhook reference(WordPress Developer Resources)— SEOプラグイン(と競合するテーマ)がメタデータを注入するためにフックするアクション。- WordPress SEO Myths, Busted(Search Engine Journal)— 「WordPressは遅い / SEOに悪い」という迷信を詳しく扱います。
変更履歴
2026年7月25日に更新。
編集概要と記録された変更の詳細。変更の詳細
-
変更の詳細な注記は現在英語でのみ提供されています。
完全な比較は利用できません — この改訂の以前のスナップショットがアーカイブされていません。
2026年7月18日に更新。
編集概要と記録された変更の詳細。変更の詳細
-
変更の詳細な注記は現在英語でのみ提供されています。
-
変更の詳細な注記は現在英語でのみ提供されています。
-
変更の詳細な注記は現在英語でのみ提供されています。
完全な比較は利用できません — この改訂の以前のスナップショットがアーカイブされていません。