metaタグのdescriptionは、ページごとに異なった方がSEO的に良い…という話があります。

WordPressに関していえば、プラグインなしでもページの冒頭の文章をdescriptionとして自動で設定させることができたりします!

そこで今回はページの冒頭の文章をdescriptionとして自動で設定してくれる方法についてお話したいと思います。

ページの<head>〜</head>内にdescriptionを表示させる

 metaタグは基本的にはページの<head>〜</head>内に記述するので、<head>〜</head>内にページの冒頭の文章120文字を自動で取得してdescriptionとして設定したい…となった場合、以下のPHPコードをdescriptionを表示させたいところに記述しましょう。

<?php
	$post = get_post();
	$content = $post->post_content;
	$content = strip_tags($content);
	$remove_str = array("\r\n", "\r", "\n", "'", '"', ' ',' ',);
	$content = str_replace($remove_str, "", $content);
	$content = mb_substr($content, 0, 120). '';
	$description=$content;
?>

<meta name="description" content="<?php echo $description; ?>">

それでは上記コードの解説を以下にまとめていきたいと思います。

個別ページを取得

 まず、上記コードの2行目

$post = get_post();

で個別ページを取得させています。

ページ本文を取得

 続いて上記コードの3行目

$content = $post->post_content;

にてページ本文を取得させています。

ページ内のHTMLタグを削除

 続いて上記コードの4行目

$content = strip_tags($content);

にてページ内のHTMLタグを削除させています。

これを設定しないと、descriptionにHTMLコードが表記されてしまい、あまりよろしくないのでここも必ず記述するようにしましょう。

改行などを削除

 続いて上記コードの5行目

$remove_str = array("\r\n", "\r", "\n", "'", '"', ' ',' ',);

にて本文の改行などを削除させています。

これも記述しておかないとdescriptionの文が改行されたまま表示されてしまうので、これも忘れずに記述しておきましょう。

descriotionの文字数を設定

 続いて上記コードの7行目

$content = mb_substr($content, 0, 120). '';

にてdescriotionの文字数を設定しています。

今回はdescriptionの文字を120文字にしたかったので、120としましたが、ここの数値を変更することで、文字数を変更させることができます!

ページ冒頭の文章をdescriptionとして出力させる

 そして、上記コードの

<meta name="description" content="<?php echo $description; ?>">

にてdescriptionを出力させて、以上の工程でページの冒頭120文字をdescriptionとして設定することが可能になりました!

まとめ

 つたない&説明不足な部分もあり、すみません…

ただ、この方法でdescriptionをページごとで自動で設定させることができるようになるので、ご活用いただけましたら幸いです!

スポンサーリンク