WordPress の RSS をカスタマイズして more タグまでの内容を出力し、元記事へのリンクを追加する方法

2015/11/13

WordPress の RSS や Atom のフィード情報の設定は、「全文を表示」または「抜粋のみを表示」の二択となっています。

以前、RSS からブログ記事が丸パクリされる被害に会い、それから RSS の配信を見直しました。全文配信はしたくないけど、特定の文字数で切られてしまう中途半端な抜粋部分だけの配信もしたくない。可能であれば、自分で設定できる more タグまでの内容を出力したい。

そこで調べてみると function.php に追加することで、more タグまでの内容で配信できる方法が紹介されていました。

WordPress:RSSフィードにmoreタグを入れた箇所までの内容だけを出力

記事内の画像の取り扱いや、アイキャッチ画像を差し込む方法など、単に more タグまでの出力に限らず、一歩進んだ内容となっていてとても参考になりました。

more タグまでの内容 + 元記事へのリンクを RSS へ出力

参考サイトは more タグまでの内容でしたが、更に元記事へのリンクを追加すれば、僕が求めている RSS の配信内容になるため、少し手を加えてみました。リンクが必要な理由としては、再び RSS から丸ごとパクられた際に、元記事のリンクを入れておけば気付きのきっかけになるだろうと考えたためです。

また、予め続きを読むためのリンクを入れることで、RSS の配信内容が途中までであることを明示的に理解してもらう意図もあります。

function.php への追加ソース

function my_content_feeds($content) {
  global $post, $more;
  $more = false;
  $content = apply_filters('the_content', get_the_content(''));
  $content = str_replace(']]>', ']]>', $content);
  // 元記事へのリンク追加--ここから
  $content = $content . '<div><a href="' . get_permalink($post->ID) . '">「 ' . get_the_title($post->ID) . ' 」の続きを読む</a></div>';
  // 元記事へのリンク追加--ここまで
  return $content;
}
add_filter('the_excerpt_rss', 'my_content_feeds');
add_filter('the_content_feed', 'my_content_feeds');

7行目の部分を追加しました。ページ ID に対するタイトルを取得し、パーマリンクの URL を取得してアンカータグを設定しています。RSS 上には、各投稿の末尾に次のようなリンクが追加されるイメージとなります。

「WordPress の RSS をカスタマイズして more タグまでの内容を出力し、元記事へのリンクを追加する方法」の続きを読む

RSS リーダーを使っている人は、リーダー上で全文読みたいと思います。一方ブログ運営者は RSS リーダー上から自身のサイトまでアクセスしてくれることを求めます。

この点については需要と供給のバランスを取るのがとても難しいです。全文掲載はブログ運営者にとってデメリットの方が大きいです。以前にあった全文パクられるリスクも高くなる上、リーダーからのサイトアクセスの頻度も減ります。

結局のところ、前文だけで続きが読みたいか否かを判断してもらうのが、最もバランスが取れた方法ではないでしょうか。

上記の通り、more タグまで出力できるようにすれば、RSS に載せる導入文も自身で調整できます。Win – Win の関係とまで言いませんが、読者にとっても運営者にとってもマイナス要素が限りなく小さくなる方法かと思います。

WodPress の抜粋では中途半端な情報量で切れてしまうので、自身で RSS に載せる範囲を調整できるこちらの方法は、運営者にとって利点しかありませんので、これを機に導入を検討してみてください。

Name :
気力・体力勝負なシステム業界のエンジニアを経て、個人事業主として独立。Web サイト運営、動画制作など活動の場を広げています。目指すところへの道のりは険しいですが、自分が自分らしくあるために、一歩ずつ進んでいきます。

このブログでは、困ってたどり着いた人に、分かりやすく答えを提供できるように心掛けています。更新情報は、Twitter や Facebook ページを参照ください。よろしければフォローお待ちしています。

プロフィール詳細 Twitter @_NJ69_
Facebook ページ NJ-CLUCKER シェア
このブログが役に立ったら
「いいね!」お願いします
PAGE TOP ↑