LoginSignup
1
0

More than 3 years have passed since last update.

Gatsbyプロジェクトで特定ページのWebクローラーをブロックする

Last updated at Posted at 2021-04-13

はじめに

今回はGatsbyで作ったWebサイトに適切に検索クローラをコントロールする方法から検証まで記載しました。

ページの品質が低い、問い合わせ用のページなど、特定のページをGoogle検索に出したくない。また想定外のページが結果上位に出てきてしまうことがありえます。。。
あらかじめ、クローラーに対して命令することで上記のようなことを回避して、検索からのより良いファーストビューを提供しましょう。

ちなみにGatsbyスターターのadminはnoindexタグによってインデックスを拒否しているので、今回設定する必要はありません。※設定されていないスターターもあるかも。。。

robots.txtを生成するプラグインを導入する

robots.txtファイルを生成するプラグインを使用します。一緒にsitemapを生成するプラグインも追加します。
これでrobots.txtとsitemapがルート直下に作成されます。


// プラグインをライブラリに追加
$ yarn add gatsby-plugin-robots-txt

// sitemapがない場合は同時に追加しておく
$ yarn add gatsby-plugin-sitemap

gatsby-config.jsに追加したプラグインの記述を追加します。
複数のパスを登録する際は、配列で指定します。詳しい生成ルールについてはプラグインのGitHubページを参照してください。

gatsby-config.js
plugins: [
    {
      resolve: 'gatsby-plugin-robots-txt',
      options: {
        host: 'https://www.example.com',
        sitemap: 'https://www.example.com/sitemap.xml',
        policy: [
          { 
            userAgent: '*', 
            disallow: ['/blog', '/contact', '/tag', ]  // クロール禁止のパスを配列で指定
          }
        ]
      }
    },
    'gatsby-plugin-sitemap',
  ]

上記の後、gatsby buildすると、public配下にrobots.txtsitemap.xmlが生成されます。

生成したrobots.txtの中身はこちら。disallowに指定したパスが追記されていることがわかります。

robots.txt
User-agent: *
Disallow: /blog
Disallow: /contact
Disallow: /tag
Sitemap: https://www.example.com/sitemap.xml
Host: https://www.example.com

検証

想定通りにrobots.txtが記載できているかはGoogle Search Consoleを使います。

こちらからrobots.txtのテスト画面に飛びます。サイトの登録がまだの方は登録が必要です。
robots.txt テスターで robots.txt をテストする

テスト対象のURLで検証を実行します。
結果がブロック済みであれば、クローラー対象外となっていることが確認できます。
スクリーンショット 2021-04-13 0.42.19.png

あとはしばらく待って自分のサイトがクローリングされるのを待ちます。
しばらくするとGoogle Search Consoleのカバレッジから、robots.txt によってブロックされていると結果が表示されます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0