stale-content-detector について
stale-content-detectorは、WordPressサイトの運用担当者向けの監査スキルです。更新時期でページや投稿を分類し、アクセス数や内部リンクを踏まえて更新、リダイレクト、アーカイブなどを提案します。
主な機能
- 01更新時期によるコンテンツ分類
- 02指定された常緑ページの除外
- 03アクセス数とリンクによる候補判定
- 04更新やアーカイブの提案
活用シーン
- 01四半期ごとのコンテンツレビュー
- 02サイト移行時の古いコンテンツ選別
- 03チーム変更後の未対応コンテンツ把握
- 04Googleの更新後の鮮度確認
MCP 対応
Respira for WordPressプラグインとMCPサーバーが必要です。Respiraのツールでページ、投稿、リンクを調べてレポートを作成し、ページを直接削除することはありません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ respira-press/ agent-skills-wordpress --skill stale-content-detectorインストール後、Claude Code で/stale-content-detectorを入力して読み込まれたか確認します。
詳細
古いコンテンツ検出ツール
バージョン: 1.0.0 更新日: 2026-05-24 カテゴリー: 監査 ステータス: 安定版 必要条件: WordPress プラグイン Respira 7.1+ + MCP サーバー
説明
長期間更新されていないページや投稿を見つけ、「新しい」「古くなりつつある」「古い」「アーカイブ候補」に分類し、項目ごとに対応策(更新、リダイレクト、アーカイブ、またはそのままにする)を提案します。古いコンテンツは SEO の足かせとなり、信頼性を損ないます。「2023年のトレンド」という記事が今も検索結果に表示されているのに、2023年以降誰も手を加えていないとしたら、読者が日付に気づいた瞬間に信頼を失うことになります。
このスキルは、意図的に対象を絞っています。コンテンツ監査ではありません(その場合は SEO & AEO Amplifier を使用してください)。「古いものはどれか」という疑問に、すばやく答えるためのものです。
分類項目
| 分類 | 最終更新からの経過期間 | 推奨される対応 |
|---|---|---|
| 新しい | < 6か月 | そのままにする |
| 古くなりつつある | 6~12か月 | 見出しと冒頭の段落を確認します。まだ正確であればそのままにし、古くなっていれば日付を更新します |
| 古い | 12~24か月 | コンテンツを実質的に更新し(新しいデータや事例を追加)、更新日を変更します |
| アーカイブ候補 | 24か月以上 かつ トラフィックが少ない/孤立している | アーカイブ、リダイレクト、または410にします。リンクされているかどうかによって判断します |
さらに「エバーグリーン」の例外があります。エバーグリーンとしてタグ付けされたページ(/about/、/contact/、/pricing/、/privacy/)は、古さのチェックを完全にスキップします。
使用するタイミング
- 四半期ごとのコンテンツレビュー
- サイトを移行する際に、どのコンテンツを引き継ぎ、どれを残すか決めるとき
- コンテンツチームの変更後に、引き継いだ古いコンテンツの未処理分を見つけるとき
- 次の新しいコンテンツを公開する前に、古いコンテンツが新しいコンテンツの検索順位に悪影響を与えないよう確認するとき
- 「鮮度」のシグナルを重視する Google のアップデート後
トリガーフレーズ
- 「古いコンテンツを見つけて」
- 「古くなったものはどれ?」
- 「何を更新すべき?」
- 「コンテンツの経過期間を監査して」
- 「更新が必要なコンテンツを見つけて」
- 「古いコンテンツをスキャンして」
- 「何をアーカイブすべき?」
実行ワークフロー
ステップ 1 — サイトを確認する
respira_get_active_site + respira_get_site_context を呼び出します。
ステップ 2 — ページと投稿を取得する
次を呼び出します。
- ページには
respira_list_pages(per_page=100) - 投稿には
respira_list_posts(per_page=100, status=publish) respira_list_post_typesで検出したカスタム投稿タイプ(CPT)ごとにrespira_list_custom_posts(post_type=<each non-default CPT>, per_page=100)
各結果には modified と date が含まれています。modified の昇順、つまり最も古いものから並べ替えます。
ステップ 3 — エバーグリーンページを特定する
ページの一覧を取得し、各ページをエバーグリーンの一覧(/about、/contact、/pricing、/privacy、/terms、/legal、/imprint、/faq、/support)と照合します。URL またはスラッグが一致する場合は、エバーグリーンとしてフラグを付け、古さのチェックをスキップします。
また、投稿タイプの has_archive=false で、単一の URL パターンが連絡先、法務、ユーティリティに該当する場合も確認します。これらは通常、エバーグリーンです。
ステップ 4 — 古さを計算する
エバーグリーンではない各ページまたは投稿について、最終更新からの経過日数を計算します。次のように分類します。
- 0~180日 → 新しい
- 181~365日 → 古くなりつつある
- 366~730日 → 古い
- 731日以上 → アーカイブ候補(ステップ5でさらに絞り込みます)
ステップ 5 — トラフィックと孤立のシグナルを追加する(アーカイブ候補の絞り込み)
アーカイブ候補に分類された項目について、閲覧者やリンクがあるかを確認します。シグナルは2つあります。
- 内部リンク数。 ページの URL を検索語として
respira_find_elementを呼び出します。受信する内部リンクの数を数えます。ゼロの場合、そのページは孤立しています。 - 外部トラフィック(利用可能な場合。サイトが Plausible、GA4 などを Respira に接続しているかどうかによります)。利用できない場合はスキップします。
再分類します。
- アーカイブ候補 + 孤立 + トラフィックなし → アーカイブ(または410)
- アーカイブ候補 + 内部リンクあり + トラフィックなし → アーカイブ + リダイレクト(リンク価値を維持します)
- アーカイブ候補 + トラフィックあり → 更新(アーカイブ候補から古いに格下げします)
ステップ 6 — レポートを出力する
## Content age audit for {site_url}
Scanned {n_pages} pages + {n_posts} posts + {n_custom} custom posts ({n_total} total). Evergreen pages skipped: {n_evergreen}.
### Summary
| Bucket | Count | % |
|---|---|---|
| Fresh (<6mo) | {n_fresh} | {pct_fresh}% |
| Aging (6–12mo) | {n_aging} | {pct_aging}% |
| Stale (12–24mo) | {n_stale} | {pct_stale}% |
| Archive-candidate (24+mo) | {n_archive} | {pct_archive}% |
### Stale (12–24 months)
| Title | Last modified | Action |
|---|---|---|
| {title} | {modified} ({days_ago}d) | refresh |
| ... | | |
### Archive-candidate (24+ months)
| Title | Last modified | Internal links | Suggested action |
|---|---|---|---|
| {title} | {modified} ({days_ago}d) | {link_count} | {action} |
| ... | | | |
### What I'd refresh first (top 5 by traffic or link equity)
1. **{title}** ({days_ago}d old) — {one-line reason: high incoming link count / high traffic / topical relevance to current focus}
2. ...
ステップ 7 — 選択した項目への対応を申し出る
次のように尋ねます。「今すぐ、この中から1つ更新しましょうか?既存のコンテンツを取得して更新案を提示し、更新を適用した複製を作成できます。内容はご確認ください。」
はいの場合は、SEO & AEO Amplifier スキルに引き継ぐか、respira_create_page_duplicate と対象を絞った更新を直接実行します。
厳守事項
- ページを直接削除しないでください。 アーカイブ候補であっても、削除ではなく推奨を提示します。最終判断はユーザーが行います。
respira_delete_pageを使用できるのは、ユーザーが特定のページ名を指定して削除を明示的に依頼した場合のみです。 - エバーグリーンリストは推奨案ですが、変更可能です。 レポートの冒頭にリストを表示し、ユーザーが対象外になった項目を確認して、項目を追加・削除できるようにします。
- 古いことと質が低いことを混同しないでください。 2年前のページでも、月間ビュー数が1,000件なら問題ではありません。「更新」の推奨は品質ではなく、経過期間に基づきます。
- 更新日を基準にしてください。 公開日を示す
dateを古さの指標として読み取らないでください。2018年の投稿でも先月更新されていれば、新しいコンテンツです。 - カスタム投稿タイプも考慮してください。 ケーススタディ、ポッドキャストのエピソード、物件などには、異なる古さの基準が必要なことがよくあります。ポッドキャストを運営している場合、最新エピソードが6か月前なら、ブログ記事としては新しくても、ポッドキャストコンテンツとしては古い状態です。このスキルの v1.1 で、投稿タイプごとの期間を設定できるようにすることを提案してください。
テレメトリー
記録する情報:サイト URL のハッシュ値、n_pages / n_posts / n_custom の件数、バケットの分布、成功/失敗、合計所要時間。ページタイトル、URL、判断内容は送信しません。
エンドポイント:POST https://www.respira.press/api/skills/track-usage