RSSに「アイキャッチ画像」と「続きを読む」を追加する方法

ブログにはRSSという便利な機能があります。これは最新記事の内容が書かれたファイルなのですが、これを定期的にRSSリーダーで読み込むことで最新記事を確認できたりするものです。

ところがWordPressのデフォルト設定では、全文表示やアイキャッチ画像などの問題があったので設定を見直してみました。

RSSリーダーのメリット・デメリット

RSSリーダーはかつてはGoogleリーダーやlivedoor Readerが有名でしたが、今はどちらも廃止になってしまいました。

現行で有名なのはFeedlyあたりだと思います。(このサービスもいつ終わるかわかりませんが…)

RSSリーダーの読者側からのメリット

  • 個々のブログにアクセスしなくても記事が読める
  • 登録したブログの未読のものを読める
  • 時間短縮につながる

更新されたブログのみ読むことが出来るので、個々のブログにアクセスして新着記事がなかったということがありません。

ブログ運営者側のメリット

  • ブログの固定読者が増える
  • 最新記事をいち早く読んでもらえる

これだけ読むとどちらもハッピーなような気がしますが、実はデメリットもあります。

読者側のデメリット

  • レイアウトが壊れで読みにくい

RSSリーダーを使う人が増えない一番の要因のような気がします。いかんせん見にくいのです…

表のレイアウトや見出しも正しく表示されません。

ブログ運営者側のデメリット

  • せっかくの細かいデザインやレイアウトも表示されず意味がない
  • ブログにアクセスされないのでPV数も増えず広告も表示されない
  • パクリサイトが簡単に速攻で作られる可能性がある

本来サイトにアクセスしてもらえて初めて正しく表示されるページですが、RSSリーダーを使うと運営者側からするとあまり良いことばかりでもありません。

そこでRSSの設定を少し見直してみました。

RSS設定

WordPressのRSSデフォルト設定(全文表示)

WordPressのデフォルト設定ではあんまり良くありません。上記のように記事内容すべてが記載され、レイアウトが無視された形でRSSリーダーが読み取ってしまうからです。そこで少し設定を変更します。

MEMO
はてなブログの場合はRSSの設定をいじることが出来ず、常に全文表示になってしまいます。

WordPressのRSSの設定は「表示設定」から簡単に変更できます。デフォルトでは「全文を表示」になっていますが、これを「抜粋のみを表示」に変更します。

これで全文表示されることはなくなりましたが、これだけでは少々問題が有ります。

RSS設定:抜粋のみを表示の例

この「抜粋のみを表示」にしてしまうとアイキャッチなどの画像も非表示、そして続きを読むなども表示されません

RSSに続きを読むをアイキャッチと追加する

そこでWordPressのfunctions.phpに下記内容を追記します。

functions.php
/*RSSに続きを読むとサムネイル追加*/
function rss_with_thumbnail($content) {
    global $post;
    if(has_post_thumbnail($post->ID)) {
        $content = '<div>' . get_the_post_thumbnail($post->ID,'full') . '</div><br />' . $content . '<a href="' . get_permalink($post->ID) . '" target="_blank"> <b>続きを読む </b></a>';
    }
    return $content;
}
add_filter('the_excerpt_rss', 'rss_with_thumbnail');

上記の例ではアイキャッチ画像がフルサイズになっていますが full を large や medium に変更することでサイズが変更できます。

今は太字で「続きを読む」にしていますが、「続きはこちら⇒」のようにアレジンしても良いと思います。

これで読者が本当に読みたい記事はサイトにアクセスして読む。どうでも良い記事は飛ばして他の記事を読む。

というプロセスになります。これが本来のあるべき姿のような気がします。

はてなブログから毎朝送られてるく新着ブログのメールも、タイトルや概要やアイキャッチ画像を見て、読みたい記事にアクセスするという流れだと思います。

RSSの更新間隔

またWordPressのデフォルト設定ではRSSが12時間おきにしか更新されない仕様になっています。キャッシュを無効化して記事更新と同時にRSS内容を最新にする方法は下記のサイトに詳しく書かれています。

参考 RSSフィードのキャッシュを無効化する方法ウェブコンテンツ
注意
ちなみにFeedlyは過去に読み込んだRSS内容はサーバーにキャッシュとして保存され削除や更新が出来ない仕様のようです。

コメントを残す