【これを疑え】サイトがGoogleに認識されない【AWS ACL】
長く温めておいたサービスをいざローンチしてみる。
1週間近く様子を見てみるも、Googleで検索してみても全く自社サイトが表示されず。
htmlのmetaタグのdescriptionやOGPを見直してみるも改善されず。
これはいよいよ困ったなということで、まずはGoogleでサービスのドメインを検索。
(ドメイン検索なのでURL窓で検索してもダメ。画像のとおり検索窓から自社ドメインを検索)

すると検索結果に全く浮上せず。
ここでわかったことは
「Googleに自社サイトが認識されていない」
ということだった。
Googleの検索エンジンに見つけてもらう必要があるため、Googleサーチボットに自社サイトの申請をしようと試みる。
具体的にはGoogleSearchConsoleに登録し、対象のURLを検査してみる。

すると「URLはGoogleに登録できません」というエラーが・・・
原因をみてみるとどうやらアクセス禁止(403)が発生しているようだ。
robots.txtをおいてなければ、.htaccessでも禁止していない。
そして行き着いた答えはAWS WAFによる海外アクセスの遮断。
早速AWSを確認。
[WAF & Shield] → [Web ACLs] → [Rules]

この一覧からそれらしきものを探る。
あった・・・
具体的な箇所は以下。
{
"Name": "rule-geo",
"Priority": 0,
"Statement": {
"NotStatement": {
"Statement": {
"OrStatement": {
"Statements": [
{
"GeoMatchStatement": {
"CountryCodes": [
"JP"
]
}
}
]
}
}
}
},
"Action": {
"Block": {}
},
"VisibilityConfig": {
"SampledRequestsEnabled": true,
"CloudWatchMetricsEnabled": true,
"MetricName": "rule-geo"
}
},
ここで日本以外からのアクセス全てを遮断していたため、Google botのクローリングも弾かれていたという顛末だった。
一旦このruleを外し、AWSのマネージドルールであるAWSManagedRulesBotControlRuleSetを用いることにした。
これで特定のBotのみを許可する設定をすれば良い。
こんな感じになっていればOK。

設定完了後、Google Search Consoleに戻って再度URL検査をおこなう。
今度は成功。ACLsのRuleは即時反映されるようで、設定から検査合格までは1分もあれば確認できた。

わかってしまうと当たり前のことでも、いきなり403エラーでサイトが認識できないとなると焦る。
セキュリティ対策は万全であることは好ましい。穴を空ける場合はしっかりと理解した上でやるのが鉄則。
ではでは。
ディスカッション
コメント一覧
まだ、コメントがありません