[WordPress General] head 要素(あわせて tag から meta keywords を生成する)

header.php に書くことになる head 要素まわりを memo.

参考サイトをもとにもろもろ記述します。

header.php
<!doctype html>
<html <?php language_attributes(); ?>>
<head>
  <meta charset="UTF-8" />
  <meta name="description" content="<?php bloginfo('description'); ?>" />
  <meta name="keywords" content=“foo<?php echo the_keywords(); ?>" />
  <title><?php wp_title( '|', true, 'right' ); bloginfo('name'); ?></title>
  <meta name="viewport" content="width=device-width, user-scalable=yes" />
  <!-- Stylesheets -->
  <link rel="stylesheet" type="text/css" href="<?php echo get_template_directory_uri(); ?>/css/style.min.css">
  <link rel="shortcut icon" href="<?php echo get_template_directory_uri(); ?>/favicon.ico">
  <link rel="alternate" type="application/rss+xml" title="RSS" href="<?php bloginfo('rss2_url'); ?>">
  <!--[if lt IE 9]>
  <![endif]-->
  <!--[if lt IE 8]>
  <![endif]-->
<?php if ( is_singular() ) {wp_enqueue_script( "comment-reply" );} ?>
<?php wp_head(); ?>
</head>
<body id="<?php echo the_slug(); ?>" <?php body_class(); ?>>

meta keywords に関しては、投稿のタグを拾うことにします。

functions.php
//meta keywords を tags から作成する
function the_keywords() {
    $posttags = get_the_tags();
    if ( $posttags ) {
        foreach ( $posttags as $tag ) {
              echo ', ' . $tag->name;
        }
    }
}

google は、meta keywords を見ないようですね。

追記(2017/12/11)

なんだか微妙なコードだったので meta keywords 部分だけ。

functions.php
/**
 * Meta keywords を tags から作成する
 *
 * @since 1.0.0
 * @return mixed
 */
function the_meta_keywords() {
    $post_tags = get_the_tags();
    $keywords  = array();
    if ( $post_tags ) {
        foreach ( $post_tags as $tag ) {
            array_push( $keywords, $tag->name );
        }
    }
    echo esc_attr( implode( ',', $keywords ) );
}

こんな形で使えば良いかな。

header.php
<meta name="keywords" content="<?php the_meta_keywords(); ?>">

補遺