概要
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対策を行っていきましょう。