Cuerda-Feed-total が出力する RSS において、<item> 内の「関連リンク要素」は、
その記事を読み終えた読者に「次に読むべき候補」を示すための仕組みです。
Yahoo!ニュース、SmartNews、Gunosy、LINE NEWS など、配信先ごとに要素名や形式は異なりますが、
どれも「同じ媒体の中から、文脈の近い記事や、編集部として読んでほしい記事を添える」という役割を担っています。
ここでは、channel/item/relation などの関連リンク要素を、
Cuerda-Feed-total がどのようなロジックで出力しているのかを詳しく説明します。
関連リンクは、配信先ごとに次のような要素として出力されます。
<smp:relation><gnf:relatedLink><RelatedLink><Link> 群 などいずれも「1本の記事に対して、複数の関連記事リンクを束ねるコンテナ」として設計されており、 Cuerda-Feed-total は、元となる候補記事を選び出し、配信先ごとの仕様に従って並べ替え・変換したうえで、 これらの要素に流し込んでいきます。
関連リンクを決める第一歩は、「どの記事を候補とみなすか」です。 Cuerda-Feed-total は、まず次の条件を満たす記事だけを候補とします。
publish)にあること
この条件は、通常の <item> と同じ配信ロジックを土台としており、
「そもそもこの配信先には出してはいけない記事」が誤って関連リンクに紛れ込まないよう配慮されています。
候補集合が決まったら、その中から「どの記事をどの順番で添えるか」を判断します。 基本となる考え方は、「同じ関心軸で読めるものを優先する」というものです。
多くの配信先向けには、次のような優先順位で関連性が判定されます。
たとえば、スポーツカテゴリ内の記事であれば、同じチームや競技に関する記事を優先し、 政治カテゴリの記事であれば、同じテーマや地域に関する記事を優先するといった具合です。 このあたりの細かな挙動は、配信先ごとに設定画面から切り替えられるようになっています。
編集部の運用上、「関連記事としては出したくない」記事も存在します。 たとえば、特定のキャンペーンタグが付与された記事や、純粋なニュースではないお知らせ記事などです。
Cuerda-Feed-total では、設定画面から「関連リンクの候補から除外するタグ」などを指定することができ、 該当タグが付いた記事は、通常の配信対象であっても関連リンク候補からは外されます。 これにより、
が可能になります。
関連リンクとして出力する最大件数は、配信先ごとに設定画面から指定できます。 たとえば、「この配信先では最大 5 件まで表示する」といった具合です。
Cuerda-Feed-total は、先ほどの条件で絞り込んだ候補の中から、
という流れで一覧を確定します。
この結果が、<smp:relation> や <gnf:relatedLink> などの中身として出力されます。
配信先や設定によっては、「同じカテゴリ・タグからだけでは十分な件数が集まらない」ことがあります。 そのような場合に備え、一部の配信先向けには「外部リンクに新着記事を含める」といった設定が用意されています。
この設定を有効にすると、Cuerda-Feed-total は次のような手順で関連リンクを組み立てます。
この設計により、常に設定された件数分のリンクを出しつつも、 「まずは文脈の近い記事」「足りない場合にだけ新着で補う」という編集上の優先順位を守ることができます。
多くの場合、関連リンクは自動で選ばれますが、 ときには「この記事には、この URL を必ず添えたい」という編集上の意図が生じます。 たとえば、特集ページや外部サイト上の詳細記事などです。
Cuerda-Feed-total では、投稿のカスタムフィールドを使って、 「タイトル+URL」のペアをいくつか登録しておくことで、 自動抽出に優先して特定のリンクを出すことができます。 この手動指定が存在する場合、
といった形で、編集部の意図と自動抽出の両方を組み合わせることができます。
関連リンクの考え方は共通ですが、XML 上での表現は配信先ごとに異なります。 Cuerda-Feed-total は、内部では共通の「関連リンク候補一覧」を作成し、 出力段階で配信先ごとの要素名・属性名に変換します。
代表的には、次のような違いがあります。
<smp:relation> の子要素として列挙する。<gnf:relatedLink> 要素に、URL やタイトルを属性・子要素として埋め込む。<RelatedLink> 内に複数の <Link> を並べ、Id や Type(PC 用・写真用など)を付与する。媒体側が見るのは「関連記事の一覧」という同じ概念ですが、 配信先ごとの仕様に従って正しい形式となるよう、変換はすべてプラグイン内部で完結するよう設計されています。
関連リンク要素は、単に「リンクを増やすための飾り」ではありません。 読者にとっては、関心のあるテーマを続けて読むための導線であり、 配信先にとっては、ユーザーの滞在や回遊を支える重要なナビゲーションです。
Cuerda-Feed-total は、投稿本文やカテゴリ・タグ、カスタムフィールドといった情報から、 編集部の意図をできる限り汲み取りつつ、 配信先仕様に忠実な形で関連リンク要素を出力することを目指しています。 媒体側は、通常どおり記事を作成し、必要なときに少し設定を加えるだけで、 その背後で働く複雑な関連リンクロジックを意識することなく運用を続けることができます。
技術者向けの情報に戻る