Googleで検索したとき、自分のサイトのページ名は表示されるのに、その下の説明文が表示されないことがあります。
このような場合は、robots.txt でGoogleのクローラー(ページを読み取るプログラム)がブロックされている可能性があります。ページを読み取れないため、Googleは説明文を作れません。
※検索結果に表示される文言は、Googleの仕様によって変わることがあります。
robots.txt ファイルを設置している場合
robots.txt は、検索エンジンのクローラーに「このページは読み取らないでください」と伝えるためのファイルです。
通常、robots.txt はドメインのいちばん上の階層に置かれています。
https://example.com/ の場合 → https://example.com/robots.txt
特定のページだけをブロックするつもりが、トップページなどの大事なページまで説明文が表示されない場合は、書き間違いの可能性があります。「Disallow」(アクセスを許可しない設定)の範囲を確認しましょう。
たとえば、次のように書くと、サイト全体がブロックされます。
User-agent: *
Disallow: /
「User-agent: *」は「すべての検索エンジンのクローラーに対して」、「Disallow: /」は「サイト全体を読み取らない」という意味です。
Search Consoleで確認する
Googleの「Search Console」を使っている場合は、次の方法でブロックされているか確認できます。
- URL検査:確認したいページのURLを入力すると、robots.txt でブロックされているかどうかがわかります。
- robots.txt レポート:「設定」→「robots.txt」で、Googleが読み取った robots.txt の内容やエラーを確認できます。
WordPressを使っている場合
「検索エンジンでの表示」の設定を確認
WordPressの管理画面で、「設定」→「表示設定」のいちばん下にある「検索エンジンでの表示」を確認します。
「検索エンジンがサイトをインデックスしないようにする」にチェックが入っていたら、チェックを外して「変更を保存」をクリックします。
WordPress 5.3からは、このチェックを入れても robots.txt は変わらず、ページに「noindex」(検索結果に表示しない)という指示が入るようになりました。チェックが入ったままだと、説明文がないどころか、検索結果に表示されなくなります。
WordPressの標準の robots.txt
WordPressでは、robots.txt のファイルを置いていなくても、自動で robots.txt が作られます。内容は次のとおりです。
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
この場合、ブロックしているのは管理画面の「/wp-admin/」だけです。管理画面は検索結果に表示する必要がないので、初期設定でブロックされています。WordPress 5.5以降は、サイトマップの場所を伝える「Sitemap:」の行も入ります。
プラグインやサーバーの設定で、robots.txt の内容が変わっていることもあります。ブラウザで robots.txt を開いて、実際の内容を確認しましょう。
検索結果から外したいページは「noindex」を使う
robots.txt は、クローラーにページを読み取らせないための仕組みで、検索結果から外すための仕組みではありません。robots.txt でブロックしても、ほかのサイトからリンクされていると、説明文がないまま検索結果に表示されることがあります。
検索結果に表示したくないページは、robots.txt でブロックせずに、「noindex」を使いましょう。詳しくは、Googleの公式ヘルプ「robots.txt の概要」をご覧ください。