Cuerda-Feed-total が出力する RSS において、channel/item は「この配信先向けに、いま届けるべき記事ひとつ分」を表す単位です。
どの記事を item として含めるか、そしてどの記事はあえて含めないか――その判断は、単に公開状態だけでなく、
配信先ごとの設定や投稿ごとの指定、過去の配信履歴までも視野に入れて行われます。
ここでは、item の子要素には触れず、「どの記事が item として出力されるのか」という観点に絞って、そのロジックを整理します。
Cuerda-Feed-total は、各配信先ごとに次のような段階を踏んで channel/item を決めていきます。
このようにして決められた一覧のひとつひとつが、RSS 内の <item> 要素として出力されます。
まず前提として、対象となる配信先がライセンス画面で「有効」と判定されている必要があります。
ライセンスが無効な配信先については、その配信先向けの RSS そのものが生成されず、
結果として channel/item も一切出力されません。
ライセンスが有効な配信先については、管理画面の「配信設定」で次のような条件を指定できます。
Cuerda-Feed-total は、これらの条件をもとに、まず「配信先ごとのベースとなる記事の集合」を構築します。
この段階で、記事が公開済みであること(publish)や、予約投稿の公開時刻が現在を過ぎていることといった基本条件も考慮されます。
ベースとなる記事集合が決まったあと、Cuerda-Feed-total は各投稿に対して、 配信先ごとに用意された「この配信先には送らない」といった指定を確認します。 これは、投稿編集画面に表示される本プラグイン専用のメタボックスから設定できるものです。
たとえば、ある記事について「Yahoo!ニュースには配信しない」と指定した場合、 その記事は Yahoo!ニュース向けフィードの候補集合から除外されます。 他方で、同じ記事を SmartNews や LINE NEWS には配信する、といった細かな制御も可能です。
この投稿単位の制御は、「一部の配信先には内容が適さない」「特定の媒体とだけ共有したい」といった編集上の判断を、 技術的な設定に落とし込むための仕組みです。 Cuerda-Feed-total は、こうした指定を尊重し、item の出力可否に反映します。
Cuerda-Feed-total Ver.4 では、「その記事がこれまでに配信されたことがあるか」「過去にどのような状態で扱われたか」といった履歴も考慮します。 同じ配信先に対して、ある記事を繰り返し item として出力するかどうかは、 単に現在の公開状態だけでなく、過去の配信ステータスとの関係で判断されます。
たとえば、
どのようなかたちでそれが表現されるか(通常の記事として扱うか、削除を知らせるかなど)は配信先ごとの仕様に依存しますが、 少なくとも「いまこの瞬間に item を出すべきかどうか」は、こうした履歴情報を土台に判断されます。
配信対象と判定された記事については、配信先ごとの仕様に合わせて並び順が決められます。
多くの配信先では、もっとも新しい公開日時や更新日時を基準として、新しいものから順に並べる方式が採用されます。
この並び順は、そのまま RSS 内の <item> の順序として反映されます。
また、配信設定で指定された「フィードに含める投稿数の上限」もここで適用されます。 上限件数を超える記事は、条件を満たしていてもこのフィードでは item として出力されません。 これにより、
を両立することを意図しています。
Yahoo!ニュース、SmartNews、LINE NEWS など、各配信先はそれぞれ独自の配信仕様を持っています。 Cuerda-Feed-total は、これらの仕様書にもとづき、「どの条件のときに item を出すべきか」を配信先ごとに調整しています。
たとえば、
といった具合に、「配信先がどのように記事を扱うか」という前提に沿って item の出力条件が組まれています。 媒体側は、こうした個別仕様のすべてを把握しておく必要はなく、 管理画面上で配信先ごとの設定を選択することで、その背後のロジックが自動的に適用されるよう設計されています。
item のロジックでもう一つ重要なのは、「あえて出力しない」という選択肢を明確に持っていることです。 配信先との契約や読者との約束を守るうえで、出してはならない記事を出さないことは、 新しい記事を素早く届けることと同じくらい大切です。
Cuerda-Feed-total は、配信設定・投稿単位の指定・配信履歴などを突き合わせることで、
「この配信先に対して、このタイミングで、この記事の item を出すべきかどうか」を一つひとつ判断します。
その結果として、RSS に並ぶ <item> は、単に「公開記事の一覧」ではなく、
媒体として責任を持って配信されるべき記事だけを選び取った集合となるよう設計されています。
item の子要素にどのような情報を載せるか、どのように更新や削除を表現するかについては、 別のページで配信先ごとに詳しくご説明します。 ここではまず、「どの記事を item として扱うか」という入り口のロジックにこそ、 配信の品質を支える判断が凝縮されていることをお伝えできればと思います。
技術者向けの情報に戻る