← PC・IT用語集へ戻る

feed

Web Feed
web data beginner
Webサイトの新着記事や更新情報を、他のアプリやサービスが読み取りやすい形式で自動配信するためのデータ構造。
feed (Web Feed)

概要(サマリー)

ウェブフィード(Web Feed、または単にフィード)は、ホームページやブログ、ニュースサイトなどの新着記事や更新情報(タイトル、本文の要約、公開日時、リンクURLなど)を、他のアプリケーションやシステムが自動的に読み取って処理しやすいように「整理された形式」で配信するデータ構造(フォーマット)である。代表例としてRSSやAtomがある。

Webサイト側がフィードを公開しておくことで、ユーザーはいちいちお気に入りのサイトを手動で巡回することなく、「フィードリーダー」などのツールを使って複数のサイトの更新情報を1つの画面でまとめて受信し、一元管理して読むことができる。

詳細解説

ウェブフィード(feed)とは何か

通常、Webサイトは人間が目で見やすいようにHTMLとCSSでデザインされている。しかし、他のプログラムやアプリ(ニュースまとめアプリやRSSリーダーなど)にとって、デザインされたHTMLから「新着記事のタイトル」や「本文」だけを正確に抜き出すのは非常に難しい。

そこで、Webサイト側が「人間向けのデザイン」をすべて取り除き、記事のデータだけを規則正しく並べた「機械向けの配信用ファイル」を別途用意する。これがウェブフィードである。フィードファイルは主に「XML」と呼ばれる形式で記述されており、URLを指定するだけで外部から自動で読み込めるようになっている。

フィードの仕組み(定期取得による更新検知)

フィードを用いた情報流通は、以下のプロセスで行われる。

  1. Webサイト側の更新:ブログやニュースサイトに新しい記事が投稿される。
  2. フィードファイルの自動更新:サイトのシステム(WordPressなど)が自動的に新記事のデータをフィードファイル(feed.xml など)の末尾に追加する。
  3. フィードリーダーによる検知:ユーザーが使っているニュースアプリやフィードリーダーが、登録されたフィードのURLを定期的に巡回(ポーリング)し、新記事が追加されているのを見つけると、自動でユーザーの画面に「新着通知」として表示する。

このように、ユーザーが毎回ブラウザでサイトを開かなくても、フィードリーダー側が定期的に情報を取りに行くことで、更新情報が自動通知のように手元へ届く体験を実現できる。厳密には、Webサイト側が一方的に押し出すプッシュ配信ではなく、リーダー側が巡回して取得する仕組みである。

代表的な配信フォーマット

ウェブフィードで使われるデータ構造の規格(フォーマット)には、大きく分けて以下の3つがある。

  • RSS 1.0 / 2.0:最も普及している歴史のあるフォーマット。シンプルで扱いやすい。
  • Atom:RSSの設計上の問題点を解決し、より厳密で機能的に設計された新しいフォーマット。Googleのブログサービスなどでよく採用されている。
  • JSON Feed:XMLの代わりに、現在のWeb開発で主流となっている「JSON(ジェイソン)」形式で記述する新しいフォーマット。開発者がプログラムで処理しやすいのが特徴だが、普及率はまだXML系に比べて低い。

以下は、一般的なフィードファイル(XML形式)の非常にシンプルな構造イメージである。

XMLの場合

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>NOVEBLO公式ブログ</title>
  <link href="https://noveblo.com/feed" rel="self"/>
  <updated>2026-06-17T15:00:00Z</updated>

  <!-- 新着記事1件ごとのデータ -->
  <entry>
    <title>【初心者向け】HTMLの基本タグ解説</title>
    <link href="https://noveblo.com/blog/html-basic/"/>
    <updated>2026-06-17T15:00:00Z</updated>
    <summary>HTMLの基本的な書き方と、初心者が最初に覚えるべき主要なタグをわかりやすく解説します。</summary>
  </entry>
</feed>

このようなデータ構造にしておくことで、プログラムが <title><link> などのタグを自動解析(パース)して、記事名とリンク先を正確に取り出せるようになる。

AIコーディングとの関係

Webサイト構築やバッチ処理の開発において、フィードの自動生成や読み込み処理の実装は、AIが得意とする分野である。

例えば、AIに対して「Pythonを使って、指定したWebサイトのフィード(XML)のURLから最新の5記事のタイトルとURLを取得してコンソールに表示するプログラムを書いて」と指示すれば、feedparser などの便利なライブラリを使用した簡潔なコードを即座に生成してくれる。

また、自社サイトにフィード配信機能を実装したい場合も、「WordPressを使用せずに、PHPとPDO(MySQL接続)を使って最新の投稿データ10件を取得し、正しいRSS 2.0規格のXMLファイルを動的に出力するPHPスクリプトを記述して」と頼めば、HTTPヘッダーの出力設定も含めた正しいコードを生成させることができる。

よくある勘違い

フィード(feed)はSNSの「タイムライン」と同じもの?

SNS(XやInstagramなど)で自分の画面に表示される投稿一覧も「タイムライン」や「フィード」と呼ばれることがあるため混同されやすいが、技術的な仕組みや目的は異なる。

  • SNSのフィード:プラットフォーム(運営企業)の巨大なデータベースとアルゴリズム(AIの関心度判定など)によってコントロールされた、ユーザー専用の表示画面。データはSNSの外部から自由にプログラムで収集することが難しい(API制限などがある)。
  • ウェブフィード:Webサイトのサーバーが世界に向けて公開している「オープンな規格の配信用データファイル(XMLなど)」。いかなる仲介企業も介さず、誰でも自由にプログラムを書いてそのデータを取得・配信・利用できる。

フィードがあればサイトマップ(sitemap.xml)は不要?

フィード(feed)とサイトマップ(sitemap.xml)は、どちらもWebサイトの情報を構造化して伝えるXMLファイルだが、主な役割と「対象者」が異なるため、両方用意するのがWeb制作のベストプラクティスである。

  • フィード:主に「ユーザー(RSSリーダー)」や「ニュース収集システム」に向けて、直近の新着情報(最新の10〜20記事)を素早く伝えるために使う。
  • サイトマップ:主に「検索エンジン(Googleクローラー)」に向けて、Webサイト内に存在するすべてのページ(古いページも含む)の全URL一覧を漏れなく伝えるために使う。

すべてのWebサイトでフィードは自動的に用意されている?

WordPressなどのCMS(ホームページ管理システム)を使って作られたサイトであれば、特別な設定をしなくても自動的に https://example.com/feed/ などのURLでフィードファイルが生成・公開されている。

しかし、CMSを使わずHTMLファイルを手書きしてサーバーにアップロードしているような静的なWebサイトの場合は、作成者が手動でフィード用のXMLファイルを作成・更新してサーバーに配置しない限り、フィード配信は行われない。

まとめ

  • ウェブフィード(feed)は、Webサイトの更新情報をプログラムが処理しやすいように整理した配信用データである。
  • 主にXML形式(RSSやAtom規格)で記述され、デザインを取り除いた「純粋な記事データ」だけを提供する。
  • ユーザーはフィードリーダーを使うことで、複数のWebサイトの更新情報を一元管理して購読できる。
  • 仕組みとしては、フィードリーダーや外部サービスがフィードURLを定期的に取得し、更新があれば通知・表示する。
  • SNSのタイムラインと異なり、オープンな仕様であるため、誰でも自由にプログラムでデータを取得・加工できる。
  • AIを活用することで、外部サイトのフィード情報の収集(パース)や、自社サイトでのフィード自動生成機能を容易に開発できる。

情報ソース

より詳しくAIに聞いてみよう

  • Webフィードの代表的なフォーマットである「RSS」と「Atom」の設計思想の違いや、データ構造の違いを詳しく教えてください。
  • Pythonの feedparser ライブラリを使用して、お気に入りの技術ブログの更新情報を定期的に自動取得し、Discordなどのチャットツールに通知を送るプログラムの書き方を教えてください。
  • GoogleのクローラーがWebサイトを巡回する際、なぜ「サイトマップ(Sitemap)」と「RSSフィード」の両方を登録することが推奨されているのか、SEOの観点から教えてください。
  • 最新のフィードフォーマットである「JSON Feed」とは何か、従来のXMLベースのRSSと比較したメリット・デメリットを教えてください。
  • AIに「自作のWebサービスにRSSフィード配信機能を実装するための、データベース設計とXML出力コード」を生成してもらう際の効果的な指示の出し方を教えてください。