生活を良くします - 怠惰なプログラミング

生活を良くします-怠惰なプログラミング

外資系でエンジニアをやっています。便利なサービスや商品、プログラミングで作ったものなどを紹介していきます

許可されていない URL : この URL は、この場所にあるサイトマップでは使用できません。【Search Console】への対策

エラーにエンカウントする率が高い

ある日、Google Search Consoleを開いたら

20161208222357
サイトマップで/feedを送信していたところ、全てエラーになっていた。

特に実害はないけど、なんか落ち着かない。

最近はコードを書いてもデバッグにかける時間の方が多いからこのくらいではダメージは少なかった。むしろ「直すか」しか思ってない自分がいた。

色々頑張って探すことにした。

サイトマップテストを送信、異常なし

20161208223100

エラーないじゃん。URLのミスかと思ったいたら全く違ったみたいだった。

これは本当につまらないミスをしでかしているか、自分の力ではなんともならないミスか、たぶんどっちかだと思う。

諦めようと思ったら、サイトマップの日付を確認できる項目を見つけてそれを見てみた。

サイトマップの詳細を見ると、ある日付を境に急にゼロになっていた。これはどこかで見覚えのある光景だった。

www.what-a-day.net

この時点で自分のミスだという確信を持った。

なんなら最初から疑ってたけど。

その日、何があったか

はてなPROに登録した

無課金だとスマホデザインが圧倒的にダメ、というのが気になって仕方なかったので課金し、はてなPROに登録した。1年間で8434円という奇妙な値段だった。

すごく高く見えたけど、毎月飲み会でいっぱい少なく飲めば軽くペイできる。なんならお釣りが大量に来るくらいだ。酒を諦めることにした。

たぶん独自ドメインを設定したせいでfeedがエラーを起こしているのかなという感じです。

対策:プロパティを追加

Google Search Consoleに独自ドメインに変えた方のブログも追加した。

Google Search Consoleのホーム内にある「プロパティを追加」を選択し、独自ドメインの方に対しても設定を加えた。

同じようにサイトマップを追加した。
「sitemap.xml」と「sitempa_index.xml」の二つの説がネット上でみられたので両方追加してみた。これでエラーが出れば対策もできそうだし、エラーが出ないなら、なんか強そうだし。

特に「sitempa_index.xml」ではrobots.txt内にもsitemapの場所として書かれていたから、信頼はできそう。むしろ正しそうとすら感じる。

ちなみにテストでは両方エラーが出なかった。

もちろん、今回の原因であるfeedも追加した。

対策:古い方のfeedを削除

独自ドメインに変えた方のブログも追加したからといって、古い方のfeedが治るわけではないので削除した。

feedは新しい独自ドメインの方に対応して、古い方の対応をやめたせいでエラーが発生していると思われる。たぶん。

詳しく調べたい人向けに

これも同じように日本語で検索しても答えになりそうなものはあまり見つからなかった。

英語でも調べたけどなさそうだった。あってもはてなブログ以外のブログに固有の問題だったりして紛らわしかった。


一応参考にしようとしたのがこのサイト
productforums.google.com


例によって詳しく調べるにはエラーのメッセージを英語で取得し、それを使ってググるのが一番手っ取り早い。

みたところ、Google Search Consoleには言語設定がなくなっているので、URLから変更することにした。

https://www.google.com/webmasters/tools/home?hl=ja

home?hl=jajaの部分をenに変えるだけでGoogle Search Consoleの設定言語は英語に切り替えれる。

javascriptで散々嫌な目にあったので懐かしい。

これでさっきのエラーメッセージを見ると、
「This url is not allowed for a Sitemap at this location 」と出ているのでこれで検索にかけると情報がたくさん出て来る。

英語だとstackoverflowとか、個人のエラー対策のサイトが割と上手く引っかかるので英語が読めない人でも役に立つかも。

まとめ

  • RSSを送信するためのfeedでエラー、でも有害性は少ない?
  • 独自ドメインに変更が原因なのはほぼ確定(ぴったりその日)
  • 独自ドメインの方もsearch consoleに入れてしまう対策にした