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

概要

wp_robots_noindex_embedsフィルタは、WordPressの埋め込みコンテンツに対してrobotsメタタグにnoindexを適用する機能を提供します。このフィルタは、検索エンジンに特定のページをインデックスしないよう指示する際に特に有用です。以下のような状況でよく使用されます。

  1. 既存のページを重複する埋め込みコンテンツから保護する場合
  2. プライベートなコンテンツを検索エンジンに表示させたくないとき
  3. ページ速度向上のため、検索を回避させる必要があるとき
  4. 特定のメディアコンテンツへのアクセスを制限したい場合
  5. SEO施策の一環として、無駄なページのインデックスを防ぐ場合
  6. 特定のユーザーグループのみに表示する埋め込みコンテンツの保護
  7. サイト内の重複コンテンツを整理するため
  8. 埋め込みコンテンツが他のサイトからの流入を防ぐ必要がある場合

このフィルタは、wp_headアクションと連携して実行されます。

構文

add_filter('wp_robots_noindex_embeds', 'your_custom_function');

パラメータ

  • boolean $noindex: 現在のnoindex設定を示す真偽値。

戻り値

  • boolean: noindexを適用するかどうかの設定を示す真偽値。

関連する関数

https://refwp.com/?titleonly=1&s=wp_robots_noindex_embeds

使用可能なバージョン

WordPress 4.4以降で使用可能です。

コアファイルのパス

wp-includes/class-wp-embed.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: 基本的なnoindexの適用

add_filter('wp_robots_noindex_embeds', '__return_true');

このコードは、すべての埋め込みコンテンツに対してnoindexを適用します。

サンプルコード 2: 特定の条件でnoindexを適用

add_filter('wp_robots_noindex_embeds', 'custom_noindex_condition');

function custom_noindex_condition($noindex) {
    if (is_single() && has_category('noindex')) {
        return true;
    }
    return $noindex;
}

このコードは、特定のカテゴリーに属する投稿に対してのみnoindexを適用します。

サンプルコード 3: 管理者ユーザーにはnoindexを無効化

add_filter('wp_robots_noindex_embeds', 'exclude_admin_users');

function exclude_admin_users($noindex) {
    if (current_user_can('administrator')) {
        return false;
    }
    return $noindex;
}

このコードは、管理者ユーザーがアクセスする際にはnoindexを無効にします。

サンプルコード 4: URLパラメータに基づいてnoindex

add_filter('wp_robots_noindex_embeds', 'check_url_parameter');

function check_url_parameter($noindex) {
    if (isset($_GET['noindex']) && $_GET['noindex'] == 'true') {
        return true;
    }
    return $noindex;
}

このコードは、URLパラメータnoindex=trueが存在する場合にnoindexを適用します。

サンプルコード 5: 特定の投稿タイプに対してnoindex適用

add_filter('wp_robots_noindex_embeds', 'custom_post_type_noindex');

function custom_post_type_noindex($noindex) {
    if (get_post_type() == 'custom_type') {
        return true;
    }
    return $noindex;
}

このコードは、特定のカスタム投稿タイプに対してnoindexを適用します。

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


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