ワードプレスで任意のmeta descriptionをページに応じて出力するPHPコードをご紹介します。


meta descriptionをホームページだけ指定するPHPコード

検索エンジンにそのページの内容を端的に伝える、Meta descriptionタグの出力内容をホームページだけ指定するコードは下記のようになります。

add_action( 'wp_head', function() {
   if ( is_home() || is_front_page() ) {
      echo '<meta name="description" content="メタデスクリプションの内容" />';
   }
});

wp_headは、ワードプレスのheadタグに任意のコードを挿入するアクションです。
is_home() || is_front_page() でホームページにだけmeta name=”description” タグを出力しています。

任意のページのメタデスクリプションを指定し、そのほかのページはexcerptをメタデスクリプションに出力する

この場合、下記のようなコードになります。

add_action( 'wp_head', function() {
   if ( is_home() || is_front_page() ) {
      echo '<meta name="description" content="メタデスクリプションの内容" />';
   }else if(is_single()){
      global $post;
      if ($post->ID == 1 ) {
          echo '<meta name="description" content="メタデスクリプションの内容2" />';
       }else{
          echo '<meta name="description" content="' .get_the_excerpt($post->ID). '" />';
       }
   }
});

まず、is_single() でそれが単一の投稿や固定ページであることを判定します。

次にglobal $post で投稿の構造化データを取得し、$post->ID == 1 (投稿id1)の場合にのみ メタデスクリプションの内容2 を出力します。

そのほかの場合はget_the_excerpt($post->ID) で投稿のEXCERPT(抜粋)を取得し、メタデスクリプションに出力します。
(get_the_excerpt は何らかのエスケープ処理、不要な文字列の置換処理が必要な可能性があります)

お試しください。

WordPress ワードプレスのプラグインやテーマの作成・カスタマイズのご依頼・ご相談はワードプレスドクターまでお気軽にお送りください