2024年3月21日木曜日

SearchConsloleからのメッセージ「robots.txt によりブロックされました」

ページ がインデックスに登録されない新しい要因として
robots.txt によりブロックされました
が表示されました。

Bloggerのrobots.txtは、カスタム設定も出来ますが、現在は個別設定を使っているはずです。

SearchConsoleからエラー内容を確認する

SearchCOnsoleの「ページのインデックス登録」を確認すると「robots.txt によりブロックされました」が表示されています。


エラーメッセージをクリックして詳細を確認します。
今回はエラーが1件なので、そのページのみが一覧に表示されます。

さらにページ情報をクリックすると実際のrobots.txtの問題個所が表示されます。
今回は「Disallow: /search」の記載箇所が問題ということですね
いつもこれくらいわかりやすかったら良いのに・・・

robots.txtの設定確認

robots.txtは、サイトの直下に置いてあります。
うちのサイトなら
にあります。

この時点では以下のように記載されていました。
User-agent: Mediapartners-Google
Disallow: 

User-agent: *
Disallow: /search
Allow: /

Sitemap: https://t-pirori.blogspot.com/sitemap.xml

User-agent: *
Disallow: /search
という記載なので、クローラーが巡回できないようにしています

上の方にある「User-agent: Mediapartners-Google」はAdsense用のクローラのようで、個別の設定が効いているようですね

この確認時点では、僕のサイトではrobots.txtを指定していないはずなので、次はBloggerの設定を確認します。

Bloggerのrobots.txtを設定する

Bloggerで設定を開くと「クローラとインデックス」でrobots.txtの設定を確認できます。
カスタム設定は使っていないので、デフォルトの設定が効いているようです。
ただ、今までなかった「カスタム ロボット ヘッダー タグを有効にする」という設定が増えていました。おそらく、ここの設定が必要になったってことかな



ページごとに設定ができるようです。

試しに設定をしてみましたが、即時反映ではないみたい
robots.txtに反映されるものではないようで、個別の記事に対して有効なようです。

robots.txtの設定の意味を確認する

先に調べとけって話ですが、改めて記載内容を確認
User-agent: *
Disallow: /search
Allow: /

コレを見た時、てっきり「検索(search)」を無効にするという意味だと思ったのですが、違いました。

URLのうち「search」という文字内は検索しない

という意味みたいです。

つまり、今回エラーの通知が来たアドレスに「search」が含まれているからSearchConsoleの対象から外れていただけでした。

なので、対処法としてはrobots.txtから記載を消せばOK

ただし、今回のような検索結果ページは意図的にBloggerが除外することを推奨しているようです。なので、対処しない方が良いのかも