WordPressが検索に出ないときの原因と対処法|noindex・「検索エンジンでの表示」・サイトマップ
直らないときは、無料でご相談いただけます(直らなければ料金はいただきません)。
結論:WordPressのサイトが検索に出ないときは、まず「設定」→「表示設定」の「検索エンジンがサイトをインデックスしないようにする」にチェックが入っていないかを確かめます。入っていると、すべてのページに「検索結果に載せないで」という印(noindex)が付き、WordPress標準のサイトマップも出なくなります。
チェックが外れているのに出ない場合は、SEOのプラグインのページごとの設定、robots.txt、Search Console の「URL 検査」の順に確かめます。新しいサイトや新しい記事は、載るまでに時間がかかることもあります。
目次
noindex とは
noindex は、検索エンジンに「このページを検索結果に載せないでください」と伝える印です。ページの中の <meta name="robots" content="noindex"> のようなタグや、サーバーの返事に付けて伝えます。Googleの案内では、Googleがページを読んで noindex を見つけると、そのページは検索結果から外されるとされています。
WordPressでは、次のような場合に noindex が付きます。
| 付く場所 | 付く理由 |
|---|---|
| サイトのすべてのページ | 「設定」→「表示設定」の「検索エンジンがサイトをインデックスしないようにする」にチェックが入っている |
| サイト内の検索結果のページ・ログイン画面 | WordPressが初めから付けています(検索に載せる必要がないページのため)。そのままで大丈夫です |
| 特定の記事・固定ページ・一覧のページ | SEOのプラグインなどで、ページごとに「検索に出さない」設定にしている |
「検索エンジンでの表示」の設定を確かめる
- 管理画面の「設定」→「表示設定」を開きます。
- 「検索エンジンでの表示」の「検索エンジンがサイトをインデックスしないようにする」にチェックが入っていれば、外します。
- ページの下の「変更を保存」を押します。
チェックが入っていると、次のような印も出ます。
- ダッシュボードの「概要」に「検索エンジンのインデックスを回避中」と出る
- 「ツール」→「サイトヘルス」に「検索エンジンによるこのサイトのインデックス作成は推奨されていません。」と出る(サイトヘルスの記事)
- WordPress標準のサイトマップ(
/wp-sitemap.xml)が出なくなる
このチェックは、WordPressをインストールするときの画面にも同じ欄があります。作っている途中に入れておいたまま、公開後に外し忘れることがあります。テスト用のサイトから本番へ写した場合も、テスト用のサイトの設定がそのまま移ることがあります(引っ越しの記事)。
画面には「このリクエストを尊重するかどうかは検索エンジンの設定によります。」とあり、チェックを入れても、サイトを見られなくする(鍵をかける)ものではありません。作っている途中のサイトを人に見せたくない場合は、パスワードで守るなど、別の方法が要ります。
特定のページだけ検索に出ないとき
サイトのほかのページは出るのに、特定の記事や固定ページだけ出ない場合は、そのページに noindex が付いていないかを確かめます。
- そのページをブラウザで開き、ページのソースを表示します(多くのブラウザでは、右クリックの「ページのソースを表示」)。
- ソースの中を「noindex」で探します。
<meta name='robots' content='noindex, …'>のような行があれば、そのページには noindex が付いています。 - SEOのプラグインを入れている場合は、そのページの編集画面にあるプラグインの欄で、「検索結果に表示しない」などの設定になっていないかを確かめます。カテゴリーやタグの一覧など、ページの種類ごとにまとめて設定する画面もあります。
どのプラグインが付けているか分からないときは、プラグインの設定を確かめる前に、バックアップを取っておきます(バックアップの記事)。
robots.txt との違い
robots.txt は、検索エンジンに「このアドレスは読みに来ないでください」と伝えるファイルです。noindex(検索結果に載せない)とは役割が違います。
- WordPressは、サーバーに
robots.txtのファイルが無い場合、https://(ご自分のサイト)/robots.txtに、管理画面(/wp-admin/)を読みに来ないよう伝える内容を出します。サイトマップを出している場合は、その場所も書き添えます。 - Googleの案内では、
robots.txtで読みに来ないようにしたページは、ほかのサイトからリンクされていると、中身を読まないまま検索結果に出ることがあるとされています。検索に出さないようにするには、robots.txtで止めずに noindex を使います。 - 反対に、載せたいページが
robots.txtで止められていないかも確かめます。Disallow: /のように、サイト全体を止める行があると、検索エンジンはページを読めません。サーバーに自分で置いたファイルや、プラグインが出している内容を見直します。
サイトマップを確かめる
WordPressには、サイトの記事や固定ページの一覧を検索エンジンに伝える「サイトマップ」が初めから入っています。プラグインが無くても、https://(ご自分のサイト)/wp-sitemap.xml を開くと見られます。
- 開いて「ページが見つかりません」になる場合は、「検索エンジンでの表示」のチェックが入っていないか、SEOのプラグインが別のサイトマップに切り替えていないかを確かめます。記事のページまで見つからないときは、404の記事の「パーマリンクを保存し直す」もご覧ください。
- Search Console を使っている場合は、「サイトマップ」に、このサイトマップのアドレスを登録しておくと、新しいページを知らせる手がかりになります。
Search Console の「URL 検査」で確かめる
Google の Search Console を使っている場合は、出したいページのアドレスを「URL 検査」に入れると、Googleに登録されているか、登録できない理由が出ます。
| 出た表示 | 考えられること・すること |
|---|---|
| 「URL に noindex が指定されています」 | そのページに noindex が付いています。表示設定とページごとの設定を確かめ、外した後に「公開 URL をテスト」で付いていないかを確かめます |
| 「URL が robots.txt によってブロックされています。」 | robots.txt を見直します |
| 「検出 – インデックス未登録」 | Googleがアドレスを見つけたものの、まだ読みに来ていない状態です。しばらく待って、もう一度確かめます |
| 「クロール済み – インデックス未登録」 | Googleが読んだうえで、登録していない状態です。Googleの案内では、すべてのページを登録するわけではなく、よく見られる表示で、必ずしも問題とは限らないとされています |
設定を直した後は、「インデックス登録をリクエスト」を押すと、Googleに読み直しを頼めます。ただ、Googleの案内では、読みに来るまでに数日から数週間かかることがあり、リクエストしても検索結果にすぐ出るとは限らないとされています。同じページを何度リクエストしても、早くなるわけではありません。
直した後に確かめること
- ログアウトした状態で、ページのソースに noindex が残っていないか(キャッシュのプラグインやサーバーのキャッシュを使っている場合は、消してから確かめます。表示されないときの記事の「直したのに表示が変わらないとき」)
/wp-sitemap.xmlと/robots.txtが開けて、思ったとおりの内容か- Search Console の「URL 検査」で「公開 URL をテスト」を押して、登録できると出るか
検索に出ないときのご相談
WP-ingでは、検索に出ないなどの設定の確かめや、WordPressの不具合の修理を承っています。どこで noindex が付いているか分からないときは、お気軽にご相談ください。
よくある質問
チェックを外したのに、まだ検索に出ません。
設定を外しても、Googleが読み直すまでは、検索結果はすぐには変わりません。Search Console があれば「URL 検査」で今の状態を確かめ、「インデックス登録をリクエスト」を押して待ちます。キャッシュのプラグインを使っている場合は、古いページ(noindex が付いたまま)が出ていないかも確かめます。
作っている途中のサイトを、検索に出さないようにしたいです。
「検索エンジンがサイトをインデックスしないようにする」にチェックを入れると、検索エンジンにお願いすることはできます。ただ、サイトを見られなくするものではないため、見せたくない場合は、パスワードで守る方法も考えます。公開するときに、チェックを外すのを忘れないようにしましょう。