
parudou
更新日:2019/08/03
googlebotだけ非表示にする条件分岐方法(ワードプレス・サーバー負荷軽減)
スパムのbotはnginxや.htaccessで拒否するので問題ありませんが、
一番負荷をかけてくるGoogleは拒否できない。
ということで、無関係なJavaScriptなどは表示しないようにさせよう。
googlebotを判断する関数
次のコードをfunction.phpに書きます。
function is_search_engine_bot(){
$useragents = array(
'googlebot',
'bingbot',
'Yandex',
);
$pattern = '/'.implode('|', $useragents).'/i';
return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
}
ついでにbingさんとyandexさんも登録。
ただユーザーエージェントで判断するだけのシンプルなものです。
いくらでも追加可能。
googlebotはこちらへ・・の使い方
<?php if(!is_search_engine_bot()) : ?>
ここにgooglebotには非表示にするコード
<?php endif; ?>
ユーザーエージェント指定の文字が含んでいなかったら、というif文です。
モバイルの振り分けのやつとほぼ同じやり方。
非表示にすると良いものとしては、アナリティクスやスライドショーなど。
この記事でも使っているコード綺麗綺麗表示JavaScriptも除外しておくと良いだろう。
ページ数が多く更新頻度の高い大規模サイトの場合、
googlebot先生を特別待遇することも重要になってくると思います。
関連記事

是非ご感想・ご指摘等をください。