概要
wp_robots_noindex
フィルタは、WordPressのページにrobotsメタ要素のcontent属性にnoindexを適用するために使用されます。このフィルタは、検索エンジンが特定のページをインデックスしないように指示するために役立ちます。主に以下のような状況で利用されます。
- 管理者用のページやダッシュボード
- プライベート投稿や非公開のコンテンツ
- 一時的サイドバーウィジェット
- テストまたは開発環境のページ
- 特定の条件下でのページ
- カスタム投稿タイプの不必要なインデックス
- トップページや特定のアーカイブの設定
- SEO対策における不要なページの排除
構文
apply_filters( 'wp_robots_noindex', $noindex, $post );
パラメータ
$noindex
: 現在のnoindex状態。通常はboolean(true/false)で表される。$post
: 現在処理中の投稿オブジェクト。
戻り値
- フィルタ適用後のnoindex状態(boolean)。
関連する関数
関連する関数の一覧は、こちらをご覧ください。
使用可能なバージョン
このフィルタは、WordPress 4.4以降で使用可能です。
コアファイルのパス
このフィルタは、wp-includes/general-template.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を設定する
このコードは、特定の投稿タイプのページに対してnoindexを適用します。
add_filter('wp_robots_noindex', function($noindex, $post) {
if ($post->post_type === 'your_custom_post_type') {
return true;
}
return $noindex;
});
サンプルコード2: 特定の条件でnoindexを適用する
このコードは、特定のカスタムフィールドがある投稿にnoindexを適用します。
add_filter('wp_robots_noindex', function($noindex, $post) {
if (get_post_meta($post->ID, '_noindex_meta', true)) {
return true;
}
return $noindex;
});
サンプルコード3: 管理者ページにnoindexを設定する
このコードは、管理者に関連するページにnoindexを追加します。
add_filter('wp_robots_noindex', function($noindex) {
if (is_admin()) {
return true;
}
return $noindex;
});
サンプルコード4: 検索結果ページにnoindexを適用する
このコードは、検索結果ページにnoindexを追加します。
add_filter('wp_robots_noindex', function($noindex) {
if (is_search()) {
return true;
}
return $noindex;
});
サンプルコード5: 特定のページテンプレートに対してnoindexを設定する
このコードは、特定のページテンプレートにnoindexを適用するものです。
add_filter('wp_robots_noindex', function($noindex, $post) {
if (is_page_template('template-special.php')) {
return true;
}
return $noindex;
});
各サンプルコードは、特定の条件に基づいてnoindexを適用する方法を示しています。使用するシナリオによって調整が必要です。