MENU

【非推奨】adjacent_posts_rel_link()

adjacent_posts_rel_link() は、WordPress の <head> 内に前後の投稿へのリンク(rel="prev"rel="next")を自動的に追加するテンプレートタグです。

検索エンジンのクロール効率を向上させ、SEO の最適化に役立ちます。しかし、現在では WordPress では非推奨となっており、wp_head() で自動的に挿入される rel="prev" / rel="next" を利用することが推奨されています。

目次

機能の説明

adjacent_posts_rel_link() は、現在の投稿ページから前後の投稿ページへリンクを追加するために使用されます。このタグを使うことで、検索エンジンがサイト内をスムーズに巡回しやすくなり、SEO 効果が期待できます。ただし、この関数は WordPress 3.3 以降では推奨されておらず、代わりに wp_head() で自動的に挿入されるリンクを利用することが望ましいです。

主な用途

  • 前後の投稿ページへのナビゲーションを提供
  • 検索エンジンのクローラーにページ間の関係性を伝える
  • テーマの <head> 内で SEO を強化する

シンプルなコード例

adjacent_posts_rel_link();

このコードを <head> 内で使用すると、現在の投稿の前後にあたる投稿の rel="prev" および rel="next" のリンクが自動的に挿入されます。

出力される HTML(例)

<link rel="prev" href="https://example.com/previous-post/" />
<link rel="next" href="https://example.com/next-post/" />

使い方の説明

基本的な使い方

以下のコードを header.php<head> 内に追加すると、前後の投稿リンクが <head> に挿入されます。

<head>
    <title><?php wp_title(); ?></title>
    <?php adjacent_posts_rel_link(); ?>
    <?php wp_head(); ?>
</head>

カスタマイズ

adjacent_posts_rel_link() は引数を受け取りませんが、前後の投稿リンクをカスタマイズしたい場合は get_adjacent_post() などを使うのが一般的です。

<?php
$prev_post = get_adjacent_post(false, '', true);
$next_post = get_adjacent_post(false, '', false);

if ($prev_post) {
    echo '<link rel="prev" href="' . get_permalink($prev_post) . '" />';
}
if ($next_post) {
    echo '<link rel="next" href="' . get_permalink($next_post) . '" />';
}
?>

一緒に使うことが多い関連タグ

get_adjacent_post()

前後の投稿を取得するための関数。

$prev_post = get_adjacent_post(false, '', true);
if ($prev_post) {
    echo '<a href="' . get_permalink($prev_post) . '">前の記事へ</a>';
}

previous_post_link() / next_post_link()

前後の投稿へナビゲーションリンクを出力するテンプレートタグ。

<?php previous_post_link('%link', '« %title'); ?>
<?php next_post_link('%link', '%title »'); ?>

wp_head()

wp_head()<head> 内に含めることで、rel="prev" / rel="next" が自動的に挿入される。

<?php wp_head(); ?>

追加情報で取得したい場合

現在の投稿の前後関係を取得する

get_previous_post() / get_next_post() を使うことで、現在の投稿の前後にある記事の情報を取得できます。

$prev_post = get_previous_post();
$next_post = get_next_post();

if ($prev_post) {
    echo '<a href="' . get_permalink($prev_post) . '">前の記事: ' . get_the_title($prev_post) . '</a>';
}

if ($next_post) {
    echo '<a href="' . get_permalink($next_post) . '">次の記事: ' . get_the_title($next_post) . '</a>';
}

想定されるトラブル

前後のリンクが表示されない

解決方法

  • adjacent_posts_rel_link() は WordPress 3.3 以降で非推奨となったため、現在のバージョンでは自動的に <head> に挿入される rel="prev" / rel="next" を利用するのが推奨されます。
  • wp_head() を適切に header.php 内で呼び出しているか確認してください。

Q&A

adjacent_posts_rel_link() はまだ使えますか?

非推奨ですが、WordPress にはまだ存在します。ただし、将来的に削除される可能性があるため、代わりに wp_head()get_adjacent_post() を使用することを推奨します。

rel="prev" / rel="next" が表示されません。なぜですか?

wp_head()<head> 内で正しく呼び出されていない可能性があります。また、テーマが adjacent_posts_rel_link() を使用していない場合は get_adjacent_post() を使用して手動で追加してください。

rel="prev" / rel="next" は SEO にどのような影響がありますか?

以前はページ間の関係を検索エンジンに伝えるために有効とされていましたが、Google は現在この情報を無視しているため、SEO への直接的な影響は少なくなりました。しかし、ユーザーの利便性向上には役立ちます。

まとめ

adjacent_posts_rel_link() は、投稿の前後関係を示す rel="prev" / rel="next"<head> に追加するテンプレートタグです。

しかし、WordPress 3.3 以降では非推奨となり、wp_head() による自動挿入が推奨されています。最新の WordPress では get_adjacent_post()previous_post_link() などを利用して、前後の投稿ナビゲーションを適切に実装するのが望ましいです。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

This site uses Akismet to reduce spam. Learn how your comment data is processed.

目次