メタタグを直書きする方法

需要あるのかわかりませんが書いていきます。

WordPressのタイトル、メタタグを直書きする

プラグイン使えば解決では?

はい。実はプラグインを使えば解決します。ただプラグインを使いたくない人向けにと、後なんらかの理由でプラグインがつかない人向けの記事です

プラグインを使う場合は?

All in One SEO Packを使えば完璧です。タイトル、メタタグなど全て設定できます。なんならOGPの設定もできます。

直書きのケース

プラグインを使わない場合は以下のようにして下さい。

タイトルタグ

<title><?php if ( is_home() ) { // トップページ ?>
<?php bloginfo( 'name' ); ?>
<?php } else { // その他 ?>
<?php wp_title( '' ); ?> | <?php bloginfo( 'name' ); ?>
<?php } ?>
</title>

タイトルタグは上記のようにします。次にメタタグをしていきます。

メタディスクリプション

functions.phpにコードを追加します

// get meta description from the content
function get_meta_description() {
global $post;
$description = "";
if ( is_home() ) {
// ホームでは、ブログの説明文を取得
$description = get_bloginfo( 'description' );
}
elseif ( is_category() ) {
// カテゴリーページでは、カテゴリーの説明文を取得
$description = category_description();
}
elseif ( is_single() ) {
if ($post->post_excerpt) {
// 記事ページでは、記事本文から抜粋を取得
$description = $post->post_excerpt;
} else {
// post_excerpt で取れない時は、自力で記事の冒頭100文字を抜粋して取得
$description = strip_tags($post->post_content);
$description = str_replace("\
", "", $description);
$description = str_replace("\
", "", $description);
$description = mb_substr($description, 0, 100) . "...";
}
} else {
;
}
return $description;
}
// echo meta description tag
function echo_meta_description_tag() {
if ( is_home() || is_category() || is_single() ) {
echo '<meta name="description" content="' . get_meta_description() . '" />' . "\
";
}
}

このあとheader.phpを書き換えます

<?php echo_meta_description_tag(); ?>

これでディスクリプションは完成です。次にキーワードです

メタキーワード

メタキーワードはワードプレスのタグ機能を使います。タグ機能はデフォルトコード(the_tags)ではアンカーリンクがでるので別なコードを使います。header.phpを編集します

<meta name="keywords" content="<?php $posttags = get_the_tags(); $count = count($posttags); $loop = 0; if ($posttags) { foreach ($posttags as $tag) { $loop++; if ($count == $loop){ echo $tag->name . '';
} else {
echo $tag->name . ', ';
}
}
} ?>">

これで完成です。

参考サイト