事の発端は新規サイト立ち上げ後、Google Search Console にてURL検査をしたことでした。
「インデックス登録リクエストに失敗しました」と表示されリクエストが送れないのです(>_<)
原因を調べるうちに、モバイルフレンドリーテストをしたらどうか、という記事を見つけたので早速試してみると、、、
こっちは「ページにアクセスできません」と出てしまいダメでした。
robots.txtでブロックしている可能性がどうとか言ってるけど、いやいや、そんなことはしていませんよorz
時間が経てば解決するのかなと思って1週間寝かせましたが相変わらず。
そこでいくつか対策をしているうちに、気付けばエラーがなくなり、インデックス登録のリクエストも正常に送れるようになっていたので、何を試したかをメモしておきます☆
WordPressの設定確認
「ダッシュボード」→「設定」→「表示設定」の、「検索エンジンがサイトをインデックスしないようにする」という項目。
まさかの設定ミスとかだったらどうしようと思いながらも確認してみると、WordPress側での設定は大丈夫でした♪
でもこれが大丈夫なのにインデックスされないから困っているんだったわ・・・。
プラグインが別途 noindex を生成しているわけでもないし、htmlソースを確認しても noindex の記述はありませんでした。
サーバー側の設定で海外からのアクセスを拒否していないか?
わたしが使用しているのはcoreサーバーなんだけど、管理画面でそれっぽいメニューは「WordPressログイン制限」というのがありました。
まずこれを「ON」から「OFF」に変更しましたがモバイルフレンドリーテストの“ページにアクセスできません”は消えず。
まぁ、あくまで管理画面へのアクセスであって、一般的に表示される部分についてはアクセス制限していないんだろうね。
ただ、サーバーによっては Googlebot を含めて、更に管理画面以外でも海外からのアクセスをブロックするのもあって、確かWPXだったかな。
さすがに今は機能改善されているでしょうけど・・・
ともあれ、一度サーバー側での海外アクセス制限はチェックしてみることをおすすめします。
.htaccess にGooglebot許可の設定をする
そもそも .htaccess でアクセス拒否とかは一切してないんだけどね。
してないから大丈夫なはずではあるんだけど、一応やってみようということでやってみました。
▼参照したのは以下の記事
https://qiita.com/non0311/items/21516b8bdc0a0fca69fb
海外アクセスを拒否する方法の紹介記事だけど、この中で Googlebot を許可するところだけを .htaccess に追加してみました。
SetEnvIf User-Agent "Googlebot" allowbot
allow from env=allowbot
↑こんな感じのね。
でもモバイルフレンドリーテストの結果は“ページにアクセスできません”のまま(ノД`)・゜・。
robots.txt を追加してみる
robots.txt なんて久しくいじっていませんよ。
WordPressが自動生成しているのかな~とサーバー上のファイルを確認しましたが存在せず。
それでもなんかのプラグインで「仮想の robots.txt を・・・」っていうのを見かけたような。
そんな気がしたので改めて設置してみました。
「robots.txt」というテキストをファイルを作成し、
User-agent: *
Allow: /
と記述し、ルート階層に設置。
意味は「robots.txt アクセス許可」とかで検索すると出てくると思うけど、
全てのアクセスを許可する
というものです。
.htaccess も修正したし、robots.txt も修正した。
これでエラーも解決のはず!
と思ってモバイルフレンドリーテストをすると、まかさの“ページにアクセスできません”。
モバイルフレンドリーテスト以外はどう?
終わった・・・
と嘆きつつも調べていると、以下のディスカッションを見つけました。
https://support.google.com/webmasters/thread/12468851?hl=ja
ここに、「PageSpeed Insightsでもエラーになるか」という人がいたので試しにチェックしてみると、、、
エラーが出ない!!
なんてこった、悪いのはモバイルフレンドリーテストか(;´Д`)
そして事の発端である Google Search Console でのURL検査も再度試してみると、無事にリクエストできてるし!
よ、よし(汗
気付いたら問題が解決していたパターンヾ(≧▽≦)ノ
Googlebot のエラーを解決するにはこれを試してみよう
モバイルフレンドリーテストでばかりチェックしていたので、これが正解!というのは断言できなくなっちゃったけど、
- WordPressの設定で検索エンジンのインデックスを許可しているか
- .htaccess にてGooglebot を許可する記述を追加
- robots.txt にて Googlebot を許可する記述を追加
これらを一度試してみて(*´▽`*)
結局原因は何だったのか?
実はその後、.htaccess の記述は削除し、robots.txt は削除しました。
そもそも拒否する場合に必要な対策であって、許可する時は特に何も書かなくていいはずだからね。
それで別なURLで Google Search Console のURL検査をしてみると、エラーなし。
ということは?
更に問題のモバイルフレンドリーテストも改めてやってみると、こちらでもエラーなし。
「ページにアクセスできません」が表示されなくなっていました。
ちょ、それ・・・。
う~ん、原因はキャッシュかな~。
WordPressかプラグインが仮想で作成したのか一時的に生成していたのか、Googlebot を拒否する記述があって、それが残っていたんだろうね。
ちなみにデベロッパーツールでブラウザキャッシュを削除するのは試していたけどダメでした。
あと想像だけど、「.tk」というドメインが悪かったのかなとも。
バリュードメインにてこのドメインが安くてつい買ってみたんだけど、あんまり評判のいいドメインではないみたい。
これまでこんなに悩んだことはなかったし、その後に立ち上げた別サイト(.cyouドメイン)ではこの問題は起こりませんでした。