doudonn WEB制作やサーバーの話とかいろいろ

googlebotだけ非表示にする条件分岐方法(ワードプレス・サーバー負荷軽減)

doudonn 更新日:
googlebotだけ非表示にする条件分岐方法(ワードプレス・サーバー負荷軽減)

スパムのbotはnginxや.htaccessで拒否するので問題ありませんが、
一番負荷をかけてくるGoogleは拒否できない。

そのため、PHPファイルの中で判別して条件分岐するのが良い。

1、googlebotを判断する関数

次のコードをfunction.phpに書きます。

function is_search_engine_bot(){
$useragents = array(
'googlebot',
'bingbot',
'Yandex',
'DuckDuckBot'
);
$pattern = '/'.implode('|', $useragents).'/i';
return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
}

ついでにbing・yandex・DuckDuckGoも登録。
ただユーザーエージェントで判断するだけのシンプルなものです。
いくらでも追加可能。

2、googlebotの条件分岐方法

<?php
if(is_search_engine_bot()) {

//googlebotに表示にするコード

}else{

//googlebot以外に表示するコード

}
?>

//「!」をつけると否定文になります。
//この使い方の方が多いと思う。

<?php
if(!is_search_engine_bot()) {

//googlebot以外に表示するコード

}
?>

ユーザーエージェント指定の文字が含んでいなかったら、というif文です。
モバイルの振り分けのやつとほぼ同じやり方。

非表示にすると良いものとしては、アナリティクスやスライドショーなどのJavaScriptです。
API系も全部botは非表示にすると良い。

ページ数が多く更新頻度の高い大規模サイトの場合、
googlebot先生を特別待遇することも重要になってきます。
これだけでサーバー負荷がだいぶ違ってくるので、是非やってみてください。

ワードプレスの関連記事

記事一覧はこちら:ワードプレス

管理人について
doudonn
名前:doudonn(どうどん)
ひたすらWEB制作な人。
一応社長です。音ゲー好き

プロフィール
お知らせ

2022年11月30日に全記事削除しました。
無駄にページ表示速度にこだわってます。

役立ちサイト
wiki

プライバシーポリシー・広告について


© 2022-2024 doudonn All Rights Reserved.