RSS・Atom 購読ガイド:WordPress フィードの検出、検証、移行

RSS・Atom:WordPress フィードの検出、検証、移行

現在のサイトでは、リーダーごとに別の購読ボタンを作る必要はありません。長期的に安定した有効な RSS または Atom URL を一つ公開し、ページの <head> で自動検出を宣言し、理解しやすい通常リンクを用意するほうが堅牢です。読者は同じ URL を任意の対応アプリへ渡せるため、サイトは一社に依存しません。

この版の最終確認日は 2026 年 9 月 1 日です。2011 年の原文は歴史資料として末尾に保存していますが、当時のサービスボタンを再利用してはいけません。

1. 旧サービスの現状

2011 年の入口2026 年の根拠メンテナンス版での扱い
Google ReaderGoogle は 2013 年 7 月 1 日に Google Reader を終了すると公式発表した終了済み。購読ボタンを表示しない
鮮果旧ボタンのドメインは現在ドメイン売買ページへ転送される安定した購読先ではないためリンクしない
抓虾監査時に旧ホストを名前解決できず、現在の公式ボタン資料も確認できなかった現在は不適切とのみ判定し、正式終了日を創作しない
QQ メール購読入口監査時に旧 HTTP ホストへ接続できず、現在の公式 RSS ボタン資料も確認できなかった現在の入口にせず、QQ ログインを求めない
第三者の画像ダウンロード旧 URL は非 HTTPS で、アカウント形式のダウンロードパスだった公開アーカイブから限定的に削除

Google Reader の日付は Google 公式発表に基づきます。その他については、2026 年 9 月 1 日に観測したエンドポイント監査結果だけを記載し、第一者の告知がない正式終了日は創作していません。

2. 安定したフィード URL を選ぶ

WordPress は標準で複数のフィードを生成します。パーマリンク有効時の代表的な経路は次のとおりで、最後の行はクエリ形式の RSS 2.0 フォールバックです。

https://example.com/feed/
https://example.com/feed/atom/
https://example.com/comments/feed/
https://example.com/category/news/feed/
https://example.com/?feed=rss2

通常は /feed/ を規範となる HTTPS メインフィードに選びます。ページ、自動検出、サイト文書、設定には同じ絶対 URL を使います。カテゴリー、タグ、コメントのフィードは読者が必要とする場合だけ公開し、似た選択肢を増やして混乱させないでください。

3. 標準の自動検出を追加する

WHATWG はフィード自動検出に rel="alternate" を指定し、application/rss+xmlapplication/atom+xml を認識します。<head> へ次を追加します。

<link
  rel="alternate"
  type="application/rss+xml"
  title="Example Site — RSS"
  href="https://example.com/feed/"
>
<link
  rel="alternate"
  type="application/atom+xml"
  title="Example Site — Atom"
  href="https://example.com/feed/atom/"
>

title にはサイトと形式を示し、href は最終的な HTTPS 絶対 URL にします。一形式だけを維持するなら一つだけ宣言し、壊れたフィードや重複するフィードを広告しないでください。

WordPress のブロックテーマでは自動フィードリンクが標準で有効です。クラシックテーマでは functions.php のテーマ初期化時に有効化できます。

<?php
add_action( 'after_setup_theme', function () {
    add_theme_support( 'automatic-feed-links' );
} );

生成後の HTML ソースを確認し、テーマ、SEO プラグイン、手書きコードが同じ検出リンクを重複出力していないことを確かめます。

4. ベンダー中立の購読入口を提供する

ページには「RSS で購読」または「選んだリーダーへフィード URL をコピー」と表示すれば十分です。「Google/鮮果/抓虾/QQ に追加」ボタンを復活させたり、第三者ログインページを自動で開いたりしないでください。

リーダーを選ぶ際は、RSS・Atom 対応、キーボードとスクリーンリーダー、ローカル保存か同期保存か、オフライン利用、プライバシーポリシー、費用、保守状況、OPML のインポート・エクスポートを比較できます。本稿は特定ベンダーを推奨しません。公開 URL と書き出せる購読一覧のほうがブランドボタンより長持ちします。

5. RSS とメールニュースレターは別の経路

フィードリーダーは公開 XML を定期取得し、発行者は通常、読者のメールアドレスを必要としません。ニュースレターはアドレスを収集してメッセージを送ります。フィード購読者を自動的にメール連絡先へ変換してはいけません。

ニュースレターを提供する場合:

  • フォームのそばに、送信者、内容、頻度、データ用途、処理事業者、プライバシー通知を明記します。
  • 適用法域が求める有効な同意または他の法的根拠を取得・記録します。事前選択欄、購入名簿、別目的で集めたアドレスを使わないでください。
  • 利用可能で見つけやすく速やかに反映される配信停止を用意し、その実行に必要な抑止記録だけを保持します。
  • アクセスと保存期間を制限し、必要なデータ処理条項を整え、アクセス・削除・苦情の要求へ対応します。
  • 規則は送信者と受信者の所在地で異なります。英国 ICO の電子メールマーケティングガイド米国 FTC の CAN-SPAM ガイドは二法域の公式な出発点であり、現地の法律助言を置き換えるものではありません。

6. HTTP、MIME、キャッシュ、転送を診断する

利用可能なフィードは次の境界を満たす必要があります。

  • HTTPS を使用し、回数を制限した転送後に成功した XML を返します。ログインページ、CAPTCHA、WAF チャレンジ、HTML エラーを返してはいけません。
  • RSS の自動検出には application/rss+xml を使い、Atom には RFC 4287 が定義する application/atom+xml を使います。すべてを text/html で返さないでください。
  • XML は整形式でなければなりません。RSS 項目の guid または Atom id、項目リンク、日付は安定し、解析可能である必要があります。
  • ETagLast-Modified、妥当な Cache-Control は、リーダーの条件付きリクエストに役立ちます。新記事を長く隠すキャッシュや、毎回全文を再送させる設定を避けます。
  • 転送はループや長い連鎖にせず、移行後の最終 URL、自動検出、見えるリンクを一致させます。

次のコマンドは curl と Python 標準ライブラリだけを使い、応答チェーン、ヘッダー、XML 構造、ルート要素を確認します。第三者パッケージは不要です。

FEED_URL='https://example.com/feed/'
feed_xml="$(mktemp)"
feed_headers="$(mktemp)"
trap 'rm -f -- "$feed_xml" "$feed_headers"' EXIT

curl --fail --silent --show-error 
  --location --max-redirs 5 
  --dump-header "$feed_headers" 
  --output "$feed_xml" 
  "$FEED_URL"

sed -n '1,30p' "$feed_headers"

FEED_FILE="$feed_xml" python3 - <<'PY'
from pathlib import Path
import os
import xml.etree.ElementTree as ET

path = Path(os.environ["FEED_FILE"])
data = path.read_bytes()
root = ET.fromstring(data)
name = root.tag.rsplit("}", 1)[-1]

if name not in {"rss", "feed", "RDF"}:
    raise SystemExit(f"unexpected root element: {root.tag}")

print(f"well-formed XML; root={root.tag}; bytes={len(data)}")
PY

続いて、最終応答の Content-Type、キャッシュヘッダー、本文を目視確認します。XML が解析できるだけでは十分ではありません。公開フィードは W3C Feed Validation Serviceで対話的に検証してください。利用規約は公開サービスを自動バッチ API として使うことを認めていないため、CI では承認済みのローカル検証器を使います。

7. アクセシブルな入口、アイコン、ブランド

  • 「RSS で購読」のように理解できるリンク文字列を使い、名前のないオレンジ色アイコンだけを置かないでください。
  • アイコンが隣の文字を繰り返す場合は装飾扱いにできます。アイコンだけなら、画像の代替テキストまたは SVG のアクセシブルな名前で「RSS feed」と伝えます。
  • 見えるキーボードフォーカス、十分なコントラスト、適切な操作領域を保ちます。色やホバーツールチップがなくてもリンクを理解できるようにします。
  • 一般的なフィード図形は認識を助けますが、終了したサービスのロゴを現在の機能として表示したり、ベンダーの推薦を暗示したりしないでください。ブランド資産の使用前に商標条件と最新ガイドを確認します。
  • 購読を自動ポップアップ、強制ログイン、メールマーケティングへの同意の後ろに置かないでください。

8. Analytics とプライバシー

フィード要求は共有プロキシ、クラウドリーダー、キャッシュ、複数端末から届くため、要求数は人数ではありません。成功率、遅延、転送量、エラー種別など、運用に必要な粗い集計へ指標を限定し、架空の「購読者数」を宣伝しないでください。

サーバーログには IP、User-Agent、時刻が含まれる場合があります。適用される場合は用途を説明し、アクセスと保存期間を制限します。フィード URL、guid、Atom id、項目リンクにメールアドレス、ユーザー ID、一意の追跡パラメータ、広告転送を入れないでください。追加追跡技術を導入する前にプライバシー評価を行い、現地法が求める同意を取得します。

9. 購読者を失わずに移行する

  1. 新しい規範 HTTPS フィードを選び、内容、ID、日付、MIME を先に検証します。
  2. 旧 URL を到達可能なままにして、新 URL へサーバー側の恒久転送を返します。展開環境とクライアント互換性に応じて 301 または 308 を選び、JavaScript や meta refresh を使いません。
  3. 転送チェーンを避け、GET と条件付き要求を確認します。フィードをホームページへ転送しないでください。
  4. <link rel="alternate">、見える購読リンク、文書、設定を更新します。
  5. 項目の guid または Atom id を変えないでください。変えるとリーダーが旧記事を新着と判断する場合があります。
  6. 旧経路を長期保持してエラーを監視します。読者の移行を確認できた後にだけ削除を検討します。
  7. メール事業者を変更する場合は、同意証拠、配信停止抑止記録、プライバシー通知を別に移行します。フィード要求ログをメール名簿へ取り込んではいけません。

恒久転送の意味は RFC 9110、キャッシュ動作は RFC 9111を参照してください。

10. 依存関係のない完全 HTML 例

次のページはスクリプト、外部アイコン、分析サービスを読み込まず、自動検出とアクセシブルな文字リンクを提供します。公開前にドメイン、タイトル、ニュースレターページを置き換えてください。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Example Site subscriptions</title>
  <link
    rel="alternate"
    type="application/rss+xml"
    title="Example Site — RSS"
    href="https://example.com/feed/"
  >
  <link
    rel="alternate"
    type="application/atom+xml"
    title="Example Site — Atom"
    href="https://example.com/feed/atom/"
  >
  <style>
    body {
      max-width: 48rem;
      margin: 2rem auto;
      padding: 0 1rem;
      font: 1rem/1.6 system-ui, sans-serif;
    }
    a:focus-visible {
      outline: 0.2rem solid currentColor;
      outline-offset: 0.2rem;
    }
  </style>
</head>
<body>
  <header>
    <h1>Example Site</h1>
  </header>
  <main>
    <section aria-labelledby="subscribe-heading">
      <h2 id="subscribe-heading">Subscribe</h2>
      <p>Copy either feed URL into any standards-compatible feed reader.</p>
      <ul>
        <li><a href="https://example.com/feed/">Subscribe via RSS</a></li>
        <li><a href="https://example.com/feed/atom/">Subscribe via Atom</a></li>
      </ul>
      <p>
        Prefer email?
        <a href="/newsletter/">Review the separate newsletter terms</a>.
      </p>
    </section>
  </main>
</body>
</html>

11. 公開前の検証リスト

  • [ ] 規範フィードは HTTPS で、Cookie、ログイン、JavaScript を必要としない。
  • [ ] RSS/Atom の形式、MIME、<link rel="alternate"> 宣言が一致する。
  • [ ] XML 構造、タイトル、項目リンク、日付、安定 ID を検証した。
  • [ ] ページに見えてフォーカス可能で、明確な名前の通常フィードリンクがある。
  • [ ] 旧リーダーボタン、失効ロゴ、私的ダウンロード、ベンダーログイン入口がない。
  • [ ] ヘッダー、回数制限付き転送、キャッシュ、条件付き要求を確認した。
  • [ ] W3C Feed Validator は対話的に使用し、非公開・一括内容にはローカル工具を使う。
  • [ ] フィード URL と項目 ID にメール、個人 ID、一意の追跡パラメータがない。
  • [ ] ニュースレターに独立した通知、法的根拠、配信停止、保存、委託先管理がある。
  • [ ] 移行で旧 URL の恒久転送と安定した guid または Atom id を維持する。
  • [ ] リーダー選択は中立で、キーボード、ズーム、支援技術をテストした。

12. 権威ある資料

13. 2011 年の原文アーカイブ

以下は、明示した値を除く source_export の可視本文全体です。各行末の空白だけを正規化し、抓虾リンクの過去の logId 追跡パラメータを削除し、第三者ダウンロード URL のアカウント形式の私的パスをプレースホルダーへ置換しました。未変更のエクスポートはリポジトリの source_export パスに残っています。

警告:以下のサービス、ボタン、ログイン入口、HTTP リンクは歴史資料であり、現在の購読先またはダウンロード先ではありません。

给博客增加RSS订阅到Google、鲜果、抓虾、QQ邮箱功能


 一直想把水石居的订阅部分修改一下,直到现在才有时间处理,现在唯一提供的是QQ订阅的功能。今天终于有时间把抓虾、Google reader和鲜果都玩了一把。对水母这种平时很忙的人来说,RSS订阅还是比较有用的,可以及时查看自己关注的博客是否有更新,不用一个个的敲入网址访问了。

 我们要做的就是获取RSS订阅按钮和代码,然后放到我们的网站上即可。目前Google Reader、抓虾、鲜果和QQ邮箱都提供自动生成订阅按钮和代码的功能,我们只需要访问相应的网址,输入我们的RSS源地址以及其他一些样式配置信息等即可生成订阅代码,一般wordpress博客的RSS源地址为:http://您的域名/feed

**RSS订阅到Google Reader**

 生成订阅代码的网址是:
[http://www.google.com/intl/zh-cn/webmasters/add.html](http://www.google.com/intl/zh-cn/webmasters/add.html)
 这个网页是全英文的,不懂英语也没有关系,总共就三个选项加一个填空,选项选第一个就可以,填空的地方填写自己的RSS源地址,然后点击【Generate HTML】按钮就可以生成代码了,另外还是生成一个测试按钮,点击可以查看订阅时的效果。

**RSS订阅到鲜果**

 鲜果订阅按钮生成网址:
[http://xianguo.com/tools/sub_button](http://xianguo.com/tools/s ub_button)
 鲜果的样式也比较丰富,随便选一个,输入博客地址即可生成相关代码。

**RSS订阅到抓虾**

 抓虾订阅按钮生成网址:
[http://www.zhuaxia.com/help/help_sub_1.php](http://www.zhuaxia.com/help/help_sub_1.php)
 相比较Google,抓虾的可选按钮样式要丰富的多,有卡通、星座、性感、清爽和经典五大类,在抓虾中直接输入博客地址即可实现订阅。

**RSS订阅到QQ邮箱**

 这个要稍微麻烦一点,首先用QQ号登陆:
[http://list.qq.com](http://list.qq.com/)
 在这里可以创建栏目,接下来一步步来就可以了,每步都比较简单,相信这点小事难不倒大家的。
 我是校园网,无法显示图片,可以先下载了,再传到自己的博客空间里,附上下载地址:
[historical private download path redacted]

**使用方法**

 在wordpress博客中有个小工具叫【文本】,其中可以输入任意的文本和HTML代码,剩下的不用多说了吧!

Leave a Reply