2017年06月23日

【WordPress】 プラグインなしでメタdescriptionとkeywordsを自由に設定する方法。

SEO対策としてmeta descriptionとmeta keywordsを設定する際にプラグインを使わず、カスタムフィールドを利用して自由に記述する方法。

以下をテーマのheader.phpのhead内に記述。

<?php if ( $post->my_description ):  ?>
	<meta name="description" content="<?php echo esc_attr( $post->my_description ); ?>" />
<?php else: ?>
	<meta name="description" content="<?php bloginfo('description'); ?>" />
<?php endif; ?>
 
<?php if ( $post->my_keywords ):  ?>
	<meta name="keywords" content="<?php echo esc_attr( $post->my_keywords ); ?>" />
<?php else: ?>
	<meta name="keywords" content="<?php
$posttags = get_the_tags();
if ( $posttags ) {
  foreach ( $posttags as $tag ) {
    echo $tag->name . ','; 
  }
}
?>" />
<?php endif; ?>

<?php if ( $post->my_title ):  ?>
	<title><?php echo esc_html( $post->my_title ); ?> | <?php bloginfo('name'); ?></title>
<?php else: ?>
	<title><?php wp_title( '|', true, 'right' ); ?><?php bloginfo('name'); ?></title>
<?php endif; ?>

カスタムフィールドの「名前」にmy_description、my_keywords、my_titleとして「値」の部分に任意の文字を入れる。

上記のソースでは、それぞれの値がないときは、descriptionはブログの紹介文、keywordsは投稿記事のタグ、titleは記事のタイトルとなるようになっている。