SEO対策にもなる個別記事ページに同一カテゴリ記事一覧(サムネイル付き)を表示する方法

  • このエントリーをはてなブックマークに追加

サイトのSEO対策のひとつに内部リンクを施しサイト全体の回遊性を高める方法があります。
WordPressを使って自力で毎回関連ページのリンクを貼ることも当然できますが、如何せん
効率も悪く、せっかくWordPressを使用しているのだから上手く関数を使って動的に内部リンクを
貼ってしまう方が効率的にも労力的にも有効な手段になります。

そこで今回は個別ページに関連する(同一カテゴリ)最新5件のページリンクをサムネイル付きで
投稿記事下に出力する方法を紹介します。

編集ファイルはsingle.phpファイルのみです。
初めての方は以下の方法よりsingle.phpの編集へと進んでください。

WordPressのダッシュボードから[ 外観 ] ⇒ [ テーマの編集 ]を選択

テーマファイルから「single.php」を選択して編集準備

投稿記事下もしくは記事一覧を表示したい箇所に以下コードを追加

<?php
$categories = get_the_category();
foreach($categories as $category):
$related_posts = get_posts(array(‘category__in’ => array($category->cat_ID), ‘exclude’ => $post->ID, ‘numberposts’ => 5));

if($related_posts): ?>
<h2>関連記事</h2>
<ul>
<?php foreach($related_posts as $related_post):
$thumbnail = get_post_thumbnail_id( $related_post->ID );
$src_info = wp_get_attachment_image_src($thumbnail, ‘thumbnail’);
$src = $src_info[0];
$width = $src_info[1];
$height = $src_info[2];
$title = $related_post->post_title;
 ?>
<li><a href=”<?php echo get_permalink($related_post->ID); ?>”>
<?php if ( has_post_thumbnail($related_post->ID) ) {
echo ‘<img src=”‘.$src.'” alt=”‘.$title.'” width=”‘.$width.'” height=”‘.$height.'” />’;
} ?><?php echo $title ?></a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; endforeach; ?>

変数$categoriesに現在表示している記事のカテゴリを代入、関連記事としてループ表示する件数を
$numberpostsに代入して表示情報をサムネイル付きで表示するコードになります。
表示する関連記事が存在しない場合は何も表示されません。

$src_info = wp_get_attachment_image_src($thumbnail, ‘thumbnail’);

上記の第2引数’thumbnail’はサムネイルのサイズになるのでここを’full’や’medium’に変更すると
表示するサムネイルのサイズを変えることもできます。
一般的には’thumbnail’で問題ないと思いますが、thumbnailのサイズはWordPressのダッシュボードの中にある[ 設定 ] ー [ メディア ] の中で設定されており、ここで設定されている画像サイズを参照していますので、必要であれば[ メディア ]の設定の中で画像サイズを変更してください。

今回は特に上記ソースでは出力記事に対してスタイルを装飾していませんが、見栄えをよくする場合など、適宜style.cssファイルにスタイルコードを追加するなどして対応してください。
今回は割愛していますが、別の機会に簡単な装飾例など追記していこうと思います。

SNSでもご購読できます。

コメントを残す

*