TECH BOX

Technology developer's blog

この記事は1年以上経過しています

Facebookのクローラのみを許可する方法


2017年06月30日

使う機会は多くないですが、BASIC認証をかけているサイトなどでFacebookデバッガーを使って情報を確認したい時、そのままだと401になってしまい確認できないのでFacebookのクローラのみを許可する方法。

.htaccessの場合

.htaccessを使う場合はファイルの最終行が改行されている必要があるので注意。

SetEnvIf User-Agent "^facebookexternalhit.*$" fb_crawler
SetEnvIf User-Agent "^facebookplatform.*$" fb_crawler
Allow from env=fb_crawler

PHPの場合

ハッシュフラグメントなどでFacebookシェアのためだけの専用ページがある場合など。

$ua = $_SERVER["HTTP_USER_AGENT"];

if(!preg_match("facebookexternalhit/i", $ua)){
  // Facebookのクローラでない場合は何か処理をする
}

JavaScriptの場合

使い道はないと思いますが・・・。

var ua = window.navigator.userAgent.toLowerCase();

if(ua.indexOf("facebookexternalhit") > -1){
  // facebookのクローラだった場合には何か処理をする
}

Write a commets