プラグインThe Events Calendarのtec_events_no_index_metaフィルタの使用方法・解説

概要

tec_events_no_index_meta フィルタは、The Events Calendar プラグインにおいてメタタグの noindex 属性を制御するために使用されます。このフィルタを使用することで、特定の条件に基づいて検索エンジンにインデックスさせたくないページを指定することが可能です。このフィルタは、SEO対策を行う際に特に役立ちます。

よく使われる機能としては、以下の6つがあります:
1. 特定のイベントカレンダーの月や週を非インデックスにする
2. 過去のイベントアーカイブを非インデックスにする
3. 特定のカスタム投稿タイプに基づいてインデックスを制御する
4. イベントの詳細ページを特定の条件で非インデックスにする
5. プラグインの設定に応じた動的なインデックス制御
6. 複数言語対応サイトにおける、特定の言語コンテンツのインデックス制御

フィルタの概要

  • 構文: add_filter( 'tec_events_no_index_meta', 'your_function_name' );
  • パラメータ: 現在のインデックス設定(boolean値)
  • 戻り値: 修正されたインデックス設定(boolean値)
  • プラグインのバージョン: The Events Calendar 5.0以降
  • WordPressのバージョン: WordPress 5.0以降

サンプルコード

サンプル1

add_filter( 'tec_events_no_index_meta', function( $no_index ) {
    return is_event_query() ? true : $no_index;
});

このサンプルは、イベントクエリであれば、noindexをtrueに設定することで、検索エンジンにイベントページをインデックスしないようにします。

サンプル2

add_filter( 'tec_events_no_index_meta', function( $no_index ) {
    if ( is_past_event() ) {
        return true; // 過去のイベントを非インデックス
    }
    return $no_index;
});

このコードは、過去のイベントページが表示されている場合、noindexをtrueに設定し、無駄なインデックスを防いでいます。

サンプル3

add_filter( 'tec_events_no_index_meta', function( $no_index ) {
    return is_single() && 'custom_event_type' === get_post_type() ? true : $no_index;
});

このサンプルは、特定のカスタム投稿タイプに対して、ページをnoindexに設定します。

サンプル4

add_filter( 'tec_events_no_index_meta', function( $no_index ) {
    if ( is_archive() && !is_main_query() ) {
        return true; // アーカイブページでメインクエリでない場合に非インデックス
    }
    return $no_index;
});

このコードは、アーカイブページがメインクエリでない場合、noindexをtrueにして、SEO上の問題を回避します。

サンプル5

add_filter( 'tec_events_no_index_meta', function( $no_index ) {
    $current_lang = get_bloginfo('language');
    return $current_lang === 'fr-FR' ? true : $no_index; // フランス語の場合非インデックス
});

このサンプルは、特定の言語(フランス語)で表示されている場合にnoindexをtrueに設定します。

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

アクション 使用例
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

この情報をもとに、tec_events_no_index_meta フィルタを活用して、効果的にSEO対策を行っていきましょう。

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


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