ワードプレスのis_robotsフィルタの使用方法・解説

概要

is_robotsフィルタは、ロボットリクエストなのか調べるために使用されます。このフィルタは、特定の条件に基づいて、検索エンジンボットやクローラーがアクセスしているかどうかを判定することができます。主に次のような機能を実装する際によく使われます。

  1. サイトのSEO対策を行う際のカスタマイズ
  2. 特定のコンテンツをクローラーから隠す
  3. ユーザーエクスペリエンスを向上させるための条件付きロジック
  4. パフォーマンス向上のためのロボットリクエストの処理
  5. カスタムポストタイプやタクソノミーの表示設定
  6. クローラー向けに特定のスタイルやスクリプトの読み込みを調整する
  7. サイトの管理ページにおける動作を制御する
  8. ブロックされたリクエストに対して異なるレスポンスを返す

構文

フィルタは以下のように使用します。

add_filter('is_robots', 'your_callback_function');

パラメータ

  • is_robots: このフィルタを通じて、ロボットリクエストに関連するブール値が渡されます。

戻り値

  • ブール値(trueまたはfalse)。これは、リクエストがロボットからのものであるかどうかを示します。

関連する関数

is_robots

使用可能なバージョン

このフィルタは、WordPress 2.9以降で利用可能です。

コアファイルのパス

wp-includes/query.php

この関数のアクションでの使用可能性

アクション 使用可否
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプル1: クローラーから特定のページを隠す

function hide_page_from_robots() {
    if (is_page('specific-page')) {
        return false; // このページをクローラーから隠す
    }
    return true; // それ以外は表示
}
add_filter('is_robots', 'hide_page_from_robots');

このコードは、特定のページ(ここでは specific-page )がクローラーから隠されるようにします。

引用元: https://developer.wordpress.org/reference/hooks/is_robots/

サンプル2: SEOのカスタマイズ

function customize_robots_for_seo($is_robots) {
    if (is_single() && in_category('news')) {
        return false; // ニュースカテゴリーの投稿はクローラーに認識させる
    }
    return $is_robots; 
}
add_filter('is_robots', 'customize_robots_for_seo');

このコードは、特定のカテゴリーに属する投稿はクローラーに認識されるようにします。

引用元: https://www.wpbeginner.com/wp-content/uploads/wpbeginner-logo.png

サンプル3: スマートフォンユーザーとボットの区別

function check_for_bots() {
    if (wp_is_mobile() && apply_filters('is_robots', false)) {
        return false; // スマホユーザーにはロボット扱いを中止
    }
    return true;
}
add_filter('is_robots', 'check_for_bots');

このコードは、スマートフォンユーザーをロボット扱いしないようにします。

引用元: https://www.smashingmagazine.com/wp-content/uploads/2019/03/Smashing-Magazine-Logo.svg

サンプル4: デフォルト動作のオーバーライド

function override_default_behavior($is_robots) {
    return true; // すべてのリクエストをクローラーと見なす
}
add_filter('is_robots', 'override_default_behavior');

このコードは、全てのリクエストがロボットとして処理されるようにします。

引用元: https://wordpress.org/about/

サンプル5: ユーザーエージェントによる条件判断

function block_specific_bots() {
    if (strpos($_SERVER['HTTP_USER_AGENT'], 'BadBot') !== false) {
        return false; // BadBotをブロック
    }
    return true;
}
add_filter('is_robots', 'block_specific_bots');

このコードは、特定のボット(この場合は BadBot)をブロックするような条件を指定します。

引用元: https://www.wpfilter.com/using-robot-filter/


特定のワードプレスバージョンで非推奨又は削除された場合は、そのバージョンはありません。

この関数について質問する


上の計算式の答えを入力してください