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をページごとで自動で設定させることができるようになるので、ご活用いただけましたら幸いです!