Basic 認証中のページで OGP のテストをする
Basic 認証中のサイトだと Facebook の OGP の確認ができない。
これは、「いいね!」ボタンを押した後に、Facebook のクローラが OGP を改めて読みにくるため。
なので、「Facebook のクローラには Basic 認証を適用しない」設定を追記すれば良い。
Facebook からのアクセスは
"GET / HTTP/1.1" 401 480 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"
こんな感じのログを残すので、 『UserAgent : facebookexternalhit』を許可する
# Basic の基本設定 AuthUserFile /path/to/.htaccess AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user Satisfy Any Order Allow,Deny # 許可するIP 1 Allow from xxx.xxx.xxx.xxx # 許可するIP 2 Allow from yyy.yyy.yyy.yyy # FB のクローラを許可 SetEnvIf User-Agent "^facebookexternalhit.*$" fb_crawler SetEnvIf User-Agent "^facebookplatform.*$" fb_crawler Allow from env=fb_crawler
で、こんな感じ。