概要
tec_events_seo_robots_meta_include_{$view}
フィルタは、The Events Calendar プラグインにおいてSEOメタタグの制御に関連する重要なフックです。このフィルタを利用することで、特定のイベントビューに対してロボットメタタグの挿入を制御し、検索エンジンのインデックスを制御することができます。これにより、ユーザーが望むイベントが検索エンジンにどのように表示されるかを最適化できます。
このフィルタは、以下のような機能を実装する際によく使用されます。
- 特定のイベントタイプのインデックス制御
- イベントの開催日によるインデックス設定
- カスタム条件に基づくページのインデックス・ノーインデックス設定
- 特定のイベントビュー(例:月表示、週表示など)の出力制御
- SEO対策としてのメタ属性を動的に変更
- プラグインやテーマの互換性を維持
構文
apply_filters( 'tec_events_seo_robots_meta_include_' . $view, $include, $event );
パラメータ
$view
: 現在のイベントビューの識別子(例:’month’、’day’など)。$include
: デフォルトのインデックス設定(真偽値)。$event
: 現在のイベントオブジェクト。
戻り値
- フィルタが適用された後のインデックス設定(真偽値)。
使用可能なプラグインのバージョン
- The Events Calendar バージョン: 6.0 以上
- WordPress バージョン: 5.0 以上
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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: 特定のビューのノーインデックス設定
add_filter( 'tec_events_seo_robots_meta_include_month', '__return_false' );
このコードは、月ビューにおいてイベントリストをノーインデックス設定します。これにより、検索エンジンがこの月のイベントをインデックスしないようになります。
サンプルコード2: 特定のイベントのノーメタ設定
add_filter( 'tec_events_seo_robots_meta_include_single', function( $include, $event ) {
return $event->ID === 123 ? false : $include;
});
このコードは、特定のイベント(ここではIDが123のイベント)に対して、ノーインデックス設定を行います。このイベント以外は通常通りインデックスされます。
サンプルコード3:カスタム条件によるメタタグ変更
add_filter( 'tec_events_seo_robots_meta_include_day', function( $include, $event ) {
return $event->EventDate < time() ? false : $include;
});
このコードでは、過去のイベントはノーインデックスに設定します。今日以前のイベントは検索エンジンにインデックスされません。
サンプルコード4: 複数のビューを制御
function custom_event_seo_meta_control( $include, $event ) {
return in_the_loop() ? true : false;
}
add_filter( 'tec_events_seo_robots_meta_include_month', 'custom_event_seo_meta_control' );
add_filter( 'tec_events_seo_robots_meta_include_week', 'custom_event_seo_meta_control' );
このコードは、ループ内にいる場合にのみ、月と週のビューをインデックス対象にします。これにより、特定の条件下でのSEO制御が可能になります。
サンプルコード5: アーカイブページのインデックス設定
add_filter( 'tec_events_seo_robots_meta_include_archive', '__return_true' );
このコードは、イベントアーカイブページに対しインデックスを許可します。全てのアーカイブイベントが検索エンジンにインデックスされることになります。
これらのサンプルコードは、The Events Calendar プラグインの tec_events_seo_robots_meta_include_{$view}
フィルタを利用する際の参考になります。