はてなブログのカスタマイズ

はてなブログのサイトマップが検出されなかった原因と解決策

はてなブログ サイトマップ

 

はてなブログのサイトマップがインデックスに登録できなくて苦労している方が多いようです。調べてもはっきりした答えが見つけれず、解決するまで1か月かかってしまいましたがようやく登録できました。

僕のブログがサイトマップに登録できなかった原因と解決策をご紹介します。※2019/11/11追記

登録できなかった原因はクローラーが迷子になっていた

今まで大きな勘違いをしていましたがインデックスとはGoogleに登録(圏外も含めて検索結果に表示)されること。サイトマップはクローラーが迷子にならないようにする地図なんですね。

地図がないとGoogleのクローラーさんが記事を発見できず到着が遅れたり、内容を見落としたりしてインデックスされないことが発生するかもしれないです。内部リンク経由などがあるので少し時間はかかりますが、サイトマップが無くてもそのうち勝手にインデックスされます。

 登録できなかった状況

サイトマップ はてなブログ

まずは登録ができていない状況です。最終読み込み日時が古すぎるし、47記事投稿して検出されたURLの合計数が13です(´;ω;`)その検出された13個のURLの中に「/sitemap.xml?page=1」(100記事までのサイトマップ)と「/sitemap_page.xml」(固定ページのサイトマップ)がいるので実質11個です…

Googleサーチコンソール 除外

カバレッジがおかしい

カバレッジがおかしかったのが検出されたURLの合計数が13なのに有効なページが92あって51も除外されています。

有効の内容
  • インデックス登録されましたが、サイトマップに送信していません 90
  • 送信して登録されました 0
  • 除外の内容代替ページ(適切な canonical タグあり) 26
  • クロール済みインデックス未登録 20
  • クロールエラー 6
  • 重複しています。ユーザーにより、正規ページとして選択されていません 1
  • 検出―インデックス未登録 0

 サイトマップに送信していませんの90って全部ですね!代替とか重複ってどういうこと??

他のソースから認識されている可能性とは?

サチコ サイトマップ

 このキャプチャは別の日に撮ったものなので2019/2/9は気にしないでくださいね。

サイトマップがないことになっていますが他のソースから認識されている可能性があるとのこと。やっぱり何かが重複していることが原因みたい。

 ヒントは最終読み込み日時

サチコ サイトマップ

2019/01/24 この日に何があったのか。

実は初めて独自ドメインを取得した日です。feedとかいろいろサイトマップに登録していますが、この頃から検出されたURLが変わっていませんね。現状、検出されているURLが13のままです。無料版はてなブログを書いた記事が11なので独自ドメイン取得前の記事しかサイトマップに登録できていませんでした。

サイトマップ グーグルサーチコンソール

クローラーさんには複雑なルールがあって条件を満たしていないとサイトマップの項目がクロールしないことがあるって解釈でいいですかね?重複してたり代替ページが正規として指定されてないとサイトマップをクロールしてくれないみたい。

つまり、どのURLが正しいサイトマップなのかクローラーさんが迷っている状態のようです。

解決策:正規URLを指定をして重複をなくす

はてなブログでどうやったら正規URLを指定できるのかわかりました。

独自ドメイン関連の設定

幸子 サイトの設定

今まではGoogleサーチコンソール サマリーの左上にある『+プロパティを追加』で

http://attack.work/

https://attack.work/

https://www.attack.work/

https://www.attack.work/

「s」のありなし。「www」のありなしの4つを1つずつ登録し所有権を確認していましたが現在はドメインプロパティで一括して確認できるようになっているみたいです。数日前に僕が登録した時はドメインプロパティの機能がなかったです( ノД`)

ここで所有権の確認できた場合は「サイトの設定」でwwwありなしどちらを使用するか登録します。どちらに統一するかはよく考えてくださいね。旧サーチコンソールの場合、右上歯車から入ります。

www ありなし

所有権の確認が出来なかった場合はDNSの設定が必要です。「TXT」コードが表示されると思いますのでコピーしておいて一旦ページを置いておきます。あと転送の設定もしますので新しいタブで独自ドメインを取得したサイトに行きます。

僕は独自ドメインをお名前.comで取得したのでお名前.com にログインします。ドメイン設定→ネームサーバの設定→DNS関連機能の設定→ドメイン名にチェックを付けて次へ。「以下3点は無料でご利用いただけます」の下にあるDNSレコード設定をするをクリック。

ホスト名は何も入れずにタイプはTXTを選択 ボリュームにサーチコンソールでコピーしたコードをペーストします。httpsかhttpかは無視していいみたいです。一番下のDNSレコード設定用ネームサーバ変更確認をチェックして確認へ進み設定をします。

グーグルサーチコンソールに戻り所有権の確認をしますが反映されるまで少し時間がかかります。僕は15分くらいで反映され確認できました。これでサーチコンソールの「サイトの設定」からwwwありかwwwなしかを選択できるはずです。

サイトマップの再登録

僕はサイトマップに登録してあるURLを一度全部消してみました。そして「/sitemap.xml」だけを入力し送信します。

念の為にURL検査で公開URLをテストをしてからインデックスを登録をクリックしました。今までいきなりインデックスを登録していましたがテストしてからが正しい順番かも??

ついにサイトマップが検出されました!

グーグル インデックス

送信してから検出されるまで1日かかりましたけどサイトマップを発見してもらうことができました。ずっともやもやしていましたがスッキリ。面倒でやっていなかったことが原因だったとは…

なぜ90もの有効ページがあったのか考察

記事を一つの部屋だとすると部屋と部屋を結んでいる廊下も検出されていたのだと考えられます。例えば僕のブログのTOPページのURLが

https://www.attack.work/

でトップページ下の「次へ」(ページナビゲーション)をクリックすると

https://www.attack.work/?page=1550634346 

こうなります。TOPページにいることは変わっていませんが、次のページのURLは違うんですね。こういったパーマリンクの違う細かいURLまで読み込んでいました。
追記:クローラー制御や正規化で対策できます。

クローラーさんが信用できる地図(サイトマップ)がどこにあるのかわからず「地図を見るのをやめて自力で歩こう!」と諦めたのが検出されなかった理由のように思います。
追記:Google側の問題がありそうです。bingでは送信しなくてもサイトマップをしっかりクロールしてくれます。

wwwありなしの件を軽視していましたがSEO的には重要な項目だと思われますのでまだ設定をしていない方はしてみてはいかがでしょうか?

2019/05/25追記:正常にサイトマップが登録されてから非常に不安定な状態が続いています。その後の記事を書きましたので、よろしければこちらもご確認ください。

はてなブログのサイトマップが正常検出→再び0ページに   // はてなブログのサイトマップがようやく正常に登録されたのですがまた検出されなくなりました。bing...

追記

はてなブログのサイトマップ

2019/11/12追記:現在、Wordpressに移転しています。Wordpressのプラグインで作成した「sitemap.xml.gz(圧縮されたサイトマップ)」ではすべての記事が検出されています。

はてなブログで運営していたころの「sitemap.xml」は検出されたURLがずっと102のままで、「sitemap.xml?page=1」など、考えられるサイトマップをすべて送信しましたが、一向に検出してくれませんでした。

bingは送信しなくても正常に検出してくれるので、はてなブログとGoogle(サーチコンソール)の相性が悪く、サイトマップに登録できないことを確信しています。はてな運営がGoogleのシステムに対応しない限り、正常な検出はされません。

たとえ検出されなくてもブログ開始から半年くらいで、サーチコンソールのURL検査から個別に「インデックス登録をリクエスト」すると5分くらいで検索結果に表示されるようになります。

つまり、サイトマップの検出に多くの時間を割くよりも、新記事やリライトに力を注ぐことがPVアップの近道と考えます。