{"counts":{"total":500,"done":500,"partial":0,"planned":0},"categories":["記事生成・AIライティング","キーワード・SEOリサーチ","コンテンツ最適化・オンページSEO","マルチ配信エンジン","プラットフォーム連携","重複コンテンツ・canonical戦略","CTA・コンバージョン導線","LINE公式アカウント連携","SNS運用","スケジューリング・自動化","画像・メディア","内部リンク・サイト構造","テクニカルSEO","計測・アナリティクス","順位計測・競合分析","レポーティング","クライアント管理・マルチテナント","ワークフロー・承認","API・拡張・連携","セキュリティ・権限","課金・プラン","運用・信頼性","ローカルSEO・MEO","AI検索最適化（AIO / LLMO）"],"features":[{"id":"SB-01-001","category":"記事生成・AIライティング","name":"共通記事JSONの受け取り","detail":"title/body_markdown/tags/cta を持つ1つのJSONを配信の唯一の入力にする","status":"done","status_label":"実装済み"},{"id":"SB-01-002","category":"記事生成・AIライティング","name":"Markdownフロントマター取り込み","detail":"--- で囲んだYAMLヘッダ付き .md を記事オブジェクトに変換する","status":"done","status_label":"実装済み"},{"id":"SB-01-003","category":"記事生成・AIライティング","name":"記事スキーマ検証","detail":"pydanticでslug・必須項目・型を検証し、落ちた理由を日本語で返す","status":"done","status_label":"実装済み"},{"id":"SB-01-004","category":"記事生成・AIライティング","name":"slug正規化","detail":"空白や / ? # & を含むslugを弾き、小文字に揃える","status":"done","status_label":"実装済み"},{"id":"SB-01-005","category":"記事生成・AIライティング","name":"抜粋(excerpt)の自動生成","detail":"excerpt未指定時に本文先頭200字から要約テキストを組み立てる","status":"done","status_label":"実装済み"},{"id":"SB-01-006","category":"記事生成・AIライティング","name":"媒体別の別原稿(variants)","detail":"Qiita/はてな等に、角度を変えた原稿を個別に持たせる","status":"done","status_label":"実装済み"},{"id":"SB-01-007","category":"記事生成・AIライティング","name":"SNS短文の自動生成","detail":"本文とタグからプラットフォーム別の文字数に収めた投稿文を作る","status":"done","status_label":"実装済み"},{"id":"SB-01-008","category":"記事生成・AIライティング","name":"見出し抽出","detail":"## 見出しを抜き出してteaserの「この記事で分かること」に使う","status":"done","status_label":"実装済み"},{"id":"SB-01-009","category":"記事生成・AIライティング","name":"Markdown→HTML変換","detail":"extra/sane_lists/toc/nl2br 拡張つきで媒体のHTML欄へ流し込む","status":"done","status_label":"実装済み"},{"id":"SB-01-010","category":"記事生成・AIライティング","name":"Markdown→プレーンテキスト","detail":"リンク・記法を落としてSNS/LINE用の素のテキストにする","status":"done","status_label":"実装済み"},{"id":"SB-01-011","category":"記事生成・AIライティング","name":"記事ライブラリ保存","detail":"投入した記事をJSONでサーバに保存し、一覧・再配信の対象にする","status":"done","status_label":"実装済み"},{"id":"SB-01-012","category":"記事生成・AIライティング","name":"記事プレビュー","detail":"配信前にCTA差し込み後の完成形をブラウザで確認する","status":"done","status_label":"実装済み"},{"id":"SB-01-013","category":"記事生成・AIライティング","name":"トーン&マナー(brand_voice)","detail":"クライアントごとの文体指示を設定に保持し生成プロンプトに渡す","status":"done","status_label":"実装済み"},{"id":"SB-01-014","category":"記事生成・AIライティング","name":"AI記事生成（下書き）","detail":"キーワードと意図から本文Markdownを生成する","status":"done","status_label":"実装済み"},{"id":"SB-01-015","category":"記事生成・AIライティング","name":"記事構成案(アウトライン)生成","detail":"検索意図から H2/H3 の骨子だけを先に出して人が承認する","status":"done","status_label":"実装済み"},{"id":"SB-01-016","category":"記事生成・AIライティング","name":"タイトル案の複数生成","detail":"同一記事に対しCTR狙いのタイトルを5案出して選ばせる","status":"done","status_label":"実装済み"},{"id":"SB-01-017","category":"記事生成・AIライティング","name":"メタディスクリプション生成","detail":"120字前後で本文要約を作り、文字数超過を警告する","status":"done","status_label":"実装済み"},{"id":"SB-01-018","category":"記事生成・AIライティング","name":"リライト（既存記事の改稿）","detail":"順位が落ちた既存記事を取り込み、差分だけ書き換える","status":"done","status_label":"実装済み"},{"id":"SB-01-019","category":"記事生成・AIライティング","name":"記事の要約長の調整","detail":"短縮/拡張の指示で本文の分量を段階的に変える","status":"done","status_label":"実装済み"},{"id":"SB-01-020","category":"記事生成・AIライティング","name":"FAQセクション自動生成","detail":"本文から想定質問を抽出しFAQブロックとFAQPage構造化データを作る","status":"done","status_label":"実装済み"},{"id":"SB-01-021","category":"記事生成・AIライティング","name":"箇条書き→表への変換","detail":"比較や料金の羅列を自動でテーブルに整形する","status":"done","status_label":"実装済み"},{"id":"SB-01-022","category":"記事生成・AIライティング","name":"専門用語の平易化","detail":"業界用語に読み仮名や短い注釈を添える","status":"done","status_label":"実装済み"},{"id":"SB-01-023","category":"記事生成・AIライティング","name":"一次情報の引用チェック","detail":"本文中の数値・統計に出典URLが付いているか検査する","status":"done","status_label":"実装済み"},{"id":"SB-01-024","category":"記事生成・AIライティング","name":"ハルシネーション検査","detail":"固有名詞・数値を外部ソースと突き合わせて確度を出す","status":"done","status_label":"実装済み"},{"id":"SB-01-025","category":"記事生成・AIライティング","name":"重複表現の検出","detail":"同じ言い回しの繰り返しを指摘して推敲を促す","status":"done","status_label":"実装済み"},{"id":"SB-01-026","category":"記事生成・AIライティング","name":"誤字脱字・表記ゆれ検査","detail":"全角半角・送り仮名・社名表記のゆれを一覧化する","status":"done","status_label":"実装済み"},{"id":"SB-01-027","category":"記事生成・AIライティング","name":"禁止語・NGワード辞書","detail":"クライアント別に使ってはいけない語を登録し公開前に止める","status":"done","status_label":"実装済み"},{"id":"SB-01-028","category":"記事生成・AIライティング","name":"薬機法・景表法チェック","detail":"医療/美容/健康の断定表現を検出して代替表現を提案する","status":"done","status_label":"実装済み"},{"id":"SB-01-029","category":"記事生成・AIライティング","name":"読みやすさスコア","detail":"一文の長さ・漢字比率・受動態率から読みやすさを採点する","status":"done","status_label":"実装済み"},{"id":"SB-01-030","category":"記事生成・AIライティング","name":"記事テンプレート","detail":"howto/比較/事例/用語解説など意図別の雛形から書き始める","status":"done","status_label":"実装済み"},{"id":"SB-01-031","category":"記事生成・AIライティング","name":"多言語翻訳","detail":"日本語記事を英語ほかへ翻訳し hreflang 付きで別URLに出す","status":"done","status_label":"実装済み"},{"id":"SB-01-032","category":"記事生成・AIライティング","name":"画像alt文の自動生成","detail":"本文の文脈から各画像の代替テキストを作る","status":"done","status_label":"実装済み"},{"id":"SB-01-033","category":"記事生成・AIライティング","name":"記事のバージョン履歴","detail":"改稿のたびに版を残し、いつでも差分を見て戻せる","status":"done","status_label":"実装済み"},{"id":"SB-01-034","category":"記事生成・AIライティング","name":"共同編集ロック","detail":"同じ記事を2人が同時に編集して上書きするのを防ぐ","status":"done","status_label":"実装済み"},{"id":"SB-01-035","category":"記事生成・AIライティング","name":"AI生成物の開示設定","detail":"AI利用の明示文をクライアント方針に応じて本文末に付ける","status":"done","status_label":"実装済み"},{"id":"SB-02-001","category":"キーワード・SEOリサーチ","name":"トピック台帳","detail":"記事1本ごとに topic_id を持たせ、狙ったテーマと紐付ける","status":"done","status_label":"実装済み"},{"id":"SB-02-002","category":"キーワード・SEOリサーチ","name":"キーワード項目の保持","detail":"記事に主軸キーワードと検索意図(intent)を記録する","status":"done","status_label":"実装済み"},{"id":"SB-02-003","category":"キーワード・SEOリサーチ","name":"検索意図の分類","detail":"howto / 比較 / 指名 / 情報収集 を記事メタとして持つ","status":"done","status_label":"実装済み"},{"id":"SB-02-004","category":"キーワード・SEOリサーチ","name":"カテゴリ・タグ管理","detail":"記事のカテゴリとタグを配信先ごとの分類欄へ引き渡す","status":"done","status_label":"実装済み"},{"id":"SB-02-005","category":"キーワード・SEOリサーチ","name":"キーワード検索ボリューム取得","detail":"外部APIから月間検索数と競合性を取り込む","status":"done","status_label":"実装済み"},{"id":"SB-02-006","category":"キーワード・SEOリサーチ","name":"サジェスト収集","detail":"検索サジェスト・関連検索を階層で吸い上げる","status":"done","status_label":"実装済み"},{"id":"SB-02-007","category":"キーワード・SEOリサーチ","name":"共起語・関連語抽出","detail":"上位表示ページに共通して出る語を抽出し不足語を示す","status":"done","status_label":"実装済み"},{"id":"SB-02-008","category":"キーワード・SEOリサーチ","name":"キーワードクラスタリング","detail":"検索結果の重なりで語をまとめ、1記事の守備範囲を決める","status":"done","status_label":"実装済み"},{"id":"SB-02-009","category":"キーワード・SEOリサーチ","name":"カニバリ検出","detail":"同一クラスタを狙った既存記事の食い合いを警告する","status":"done","status_label":"実装済み"},{"id":"SB-02-010","category":"キーワード・SEOリサーチ","name":"SERP構成の分析","detail":"上位10件の見出し構成・文字数・形式を集計する","status":"done","status_label":"実装済み"},{"id":"SB-02-011","category":"キーワード・SEOリサーチ","name":"強調スニペット狙いの構成提案","detail":"定義文・手順・表のどれで抜かれているかを見て型を合わせる","status":"done","status_label":"実装済み"},{"id":"SB-02-012","category":"キーワード・SEOリサーチ","name":"People Also Ask 収集","detail":"関連質問を集めてFAQ候補にする","status":"done","status_label":"実装済み"},{"id":"SB-02-013","category":"キーワード・SEOリサーチ","name":"難易度スコア","detail":"被リンク数・ドメイン強度から現実的に勝てるかを採点する","status":"done","status_label":"実装済み"},{"id":"SB-02-014","category":"キーワード・SEOリサーチ","name":"ロングテール自動発掘","detail":"サーチコンソールの表示のみキーワードから記事候補を出す","status":"done","status_label":"実装済み"},{"id":"SB-02-015","category":"キーワード・SEOリサーチ","name":"季節性・トレンド検知","detail":"検索需要の季節変動を見て公開時期を提案する","status":"done","status_label":"実装済み"},{"id":"SB-02-016","category":"キーワード・SEOリサーチ","name":"競合ドメインのキーワードギャップ","detail":"競合が獲れて自社が獲れていない語を差分で出す","status":"done","status_label":"実装済み"},{"id":"SB-02-017","category":"キーワード・SEOリサーチ","name":"自社サイトの網羅率","detail":"クラスタに対する記事カバー率をダッシュボードに出す","status":"done","status_label":"実装済み"},{"id":"SB-02-018","category":"キーワード・SEOリサーチ","name":"キーワード優先度づけ","detail":"ボリューム×難易度×自社の収益性で並べ替える","status":"done","status_label":"実装済み"},{"id":"SB-02-019","category":"キーワード・SEOリサーチ","name":"キーワード台帳の共有","detail":"クライアントと同じ台帳を見ながら次の記事を決める","status":"done","status_label":"実装済み"},{"id":"SB-02-020","category":"キーワード・SEOリサーチ","name":"記事ネタの重複防止","detail":"過去に書いたテーマと近すぎる案を投入時に警告する","status":"done","status_label":"実装済み"},{"id":"SB-02-021","category":"キーワード・SEOリサーチ","name":"ローカル検索語の派生","detail":"地域名×サービス名の掛け合わせを機械的に展開する","status":"done","status_label":"実装済み"},{"id":"SB-02-022","category":"キーワード・SEOリサーチ","name":"指名検索の追跡","detail":"社名・商品名での検索の伸びを別枠で計測する","status":"done","status_label":"実装済み"},{"id":"SB-02-023","category":"キーワード・SEOリサーチ","name":"競合の新規記事監視","detail":"競合サイトの新着記事をRSS/クロールで追い、通知する","status":"done","status_label":"実装済み"},{"id":"SB-02-024","category":"キーワード・SEOリサーチ","name":"検索意図の変化検知","detail":"同じ語のSERPの構成が変わったら既存記事の改稿を促す","status":"done","status_label":"実装済み"},{"id":"SB-02-025","category":"キーワード・SEOリサーチ","name":"キーワードのインポート/エクスポート","detail":"CSVで台帳をやり取りする","status":"done","status_label":"実装済み"},{"id":"SB-02-026","category":"キーワード・SEOリサーチ","name":"記事化キューへの送り込み","detail":"選んだキーワードを制作キューに積み、担当を割り当てる","status":"done","status_label":"実装済み"},{"id":"SB-02-027","category":"キーワード・SEOリサーチ","name":"検索需要のない語の除外","detail":"ボリューム0・意味の薄い語を自動で候補から外す","status":"done","status_label":"実装済み"},{"id":"SB-02-028","category":"キーワード・SEOリサーチ","name":"業種別のキーワード雛形","detail":"士業・飲食・住宅など業種ごとの定番語セットを持つ","status":"done","status_label":"実装済み"},{"id":"SB-02-029","category":"キーワード・SEOリサーチ","name":"問い合わせ内容からのネタ出し","detail":"実際の問い合わせログを記事テーマ候補に変換する","status":"done","status_label":"実装済み"},{"id":"SB-02-030","category":"キーワード・SEOリサーチ","name":"キーワード×CVの紐付け","detail":"どの語から来た読者が問い合わせたかを結び付ける","status":"done","status_label":"実装済み"},{"id":"SB-03-001","category":"コンテンツ最適化・オンページSEO","name":"titleタグの出力","detail":"記事タイトルを各媒体のタイトル欄と自社ページの <title> に反映する","status":"done","status_label":"実装済み"},{"id":"SB-03-002","category":"コンテンツ最適化・オンページSEO","name":"メタディスクリプション反映","detail":"記事メタの meta_description を自社ページと媒体へ渡す","status":"done","status_label":"実装済み"},{"id":"SB-03-003","category":"コンテンツ最適化・オンページSEO","name":"見出し階層の保持","detail":"Markdownの # / ## / ### をHTMLの h1-h3 に正しく変換する","status":"done","status_label":"実装済み"},{"id":"SB-03-004","category":"コンテンツ最適化・オンページSEO","name":"パンくずリスト","detail":"ブログ配下ページに階層リンクを表示する","status":"done","status_label":"実装済み"},{"id":"SB-03-005","category":"コンテンツ最適化・オンページSEO","name":"記事URLのslug指定","detail":"記事ごとに固定のURL文字列を持たせる","status":"done","status_label":"実装済み"},{"id":"SB-03-006","category":"コンテンツ最適化・オンページSEO","name":"OGP/Twitterカード","detail":"記事ページに og:title/description/image と summary_large_image を出す","status":"done","status_label":"実装済み"},{"id":"SB-03-007","category":"コンテンツ最適化・オンページSEO","name":"canonicalタグ出力","detail":"自社記事ページに自己参照canonicalを入れる","status":"done","status_label":"実装済み"},{"id":"SB-03-008","category":"コンテンツ最適化・オンページSEO","name":"Article構造化データ","detail":"記事ページに JSON-LD の Article を出力する","status":"done","status_label":"実装済み"},{"id":"SB-03-009","category":"コンテンツ最適化・オンページSEO","name":"目次(TOC)の自動生成","detail":"本文の見出しから記事内リンクの目次を作る","status":"done","status_label":"実装済み"},{"id":"SB-03-010","category":"コンテンツ最適化・オンページSEO","name":"読了時間の表示","detail":"本文の文字数から目安の読了分数を出す","status":"done","status_label":"実装済み"},{"id":"SB-03-011","category":"コンテンツ最適化・オンページSEO","name":"記事内CTAの位置制御","detail":"top/middle/bottom を指定してCTAブロックを差し込む","status":"done","status_label":"実装済み"},{"id":"SB-03-012","category":"コンテンツ最適化・オンページSEO","name":"外部リンクのrel制御","detail":"CTA等の外部リンクに rel=nofollow noopener を付ける","status":"done","status_label":"実装済み"},{"id":"SB-03-013","category":"コンテンツ最適化・オンページSEO","name":"画像の遅延読み込み","detail":"本文画像に loading=lazy を付けて初期表示を軽くする","status":"done","status_label":"実装済み"},{"id":"SB-03-014","category":"コンテンツ最適化・オンページSEO","name":"モバイル最適化","detail":"記事ページを1カラム・可読な行長で表示する","status":"done","status_label":"実装済み"},{"id":"SB-03-015","category":"コンテンツ最適化・オンページSEO","name":"タイトル文字数の警告","detail":"検索結果で切れる長さを超えたら投入時に警告する","status":"done","status_label":"実装済み"},{"id":"SB-03-016","category":"コンテンツ最適化・オンページSEO","name":"キーワード出現率の診断","detail":"主軸キーワードの過不足を本文位置ごとに見る","status":"done","status_label":"実装済み"},{"id":"SB-03-017","category":"コンテンツ最適化・オンページSEO","name":"見出しへのキーワード配置チェック","detail":"H2にキーワードが入っているかを検査する","status":"done","status_label":"実装済み"},{"id":"SB-03-018","category":"コンテンツ最適化・オンページSEO","name":"本文の網羅性スコア","detail":"上位記事の共通トピックに対する充足率を出す","status":"done","status_label":"実装済み"},{"id":"SB-03-019","category":"コンテンツ最適化・オンページSEO","name":"画像のalt未設定検出","detail":"alt欠落の画像を記事単位で一覧化する","status":"done","status_label":"実装済み"},{"id":"SB-03-020","category":"コンテンツ最適化・オンページSEO","name":"HowTo構造化データ","detail":"手順記事に HowTo スキーマを出力する","status":"done","status_label":"実装済み"},{"id":"SB-03-021","category":"コンテンツ最適化・オンページSEO","name":"FAQPage構造化データ","detail":"FAQブロックから FAQPage を出力する","status":"done","status_label":"実装済み"},{"id":"SB-03-022","category":"コンテンツ最適化・オンページSEO","name":"BreadcrumbList構造化データ","detail":"パンくずをJSON-LDでも出す","status":"done","status_label":"実装済み"},{"id":"SB-03-023","category":"コンテンツ最適化・オンページSEO","name":"著者情報(E-E-A-T)","detail":"執筆者プロフィール・監修者・経歴を記事に紐付けて表示する","status":"done","status_label":"実装済み"},{"id":"SB-03-024","category":"コンテンツ最適化・オンページSEO","name":"更新日の明示と更新履歴","detail":"初出日と最終更新日を出し、改稿内容を残す","status":"done","status_label":"実装済み"},{"id":"SB-03-025","category":"コンテンツ最適化・オンページSEO","name":"引用・出典セクション","detail":"参考文献を定型のブロックで出し外部リンクを整える","status":"done","status_label":"実装済み"},{"id":"SB-03-026","category":"コンテンツ最適化・オンページSEO","name":"関連記事の自動表示","detail":"同カテゴリ・同クラスタの記事を記事末に出す","status":"done","status_label":"実装済み"},{"id":"SB-03-027","category":"コンテンツ最適化・オンページSEO","name":"記事内アンカーリンク","detail":"長文記事の各セクションへ直接飛べるリンクIDを振る","status":"done","status_label":"実装済み"},{"id":"SB-03-028","category":"コンテンツ最適化・オンページSEO","name":"読者向け要約ボックス","detail":"冒頭に3行まとめを置いて離脱を減らす","status":"done","status_label":"実装済み"},{"id":"SB-03-029","category":"コンテンツ最適化・オンページSEO","name":"コンテンツ鮮度スコア","detail":"古い記事を検出し改稿優先度を付ける","status":"done","status_label":"実装済み"},{"id":"SB-03-030","category":"コンテンツ最適化・オンページSEO","name":"A/Bタイトルテスト","detail":"同一記事に2つのタイトルを出し分けCTRを比較する","status":"done","status_label":"実装済み"},{"id":"SB-04-001","category":"マルチ配信エンジン","name":"1記事→多媒体の一括配信","detail":"1つの記事JSONを複数の配信先へ順番に流す","status":"done","status_label":"実装済み"},{"id":"SB-04-002","category":"マルチ配信エンジン","name":"役割(role)による配信順制御","detail":"primary→syndicate→variant/manual→social→line の順で実行する","status":"done","status_label":"実装済み"},{"id":"SB-04-003","category":"マルチ配信エンジン","name":"primary URLの引き回し","detail":"自社ドメインの公開URLを後続媒体のcanonical/リンクに使う","status":"done","status_label":"実装済み"},{"id":"SB-04-004","category":"マルチ配信エンジン","name":"配信先の個別有効/無効","detail":"targetごとに enabled を切り替えて一時停止する","status":"done","status_label":"実装済み"},{"id":"SB-04-005","category":"マルチ配信エンジン","name":"配信先の明示指定","detail":"記事側で targets を指定し、その回だけ配信先を変える","status":"done","status_label":"実装済み"},{"id":"SB-04-006","category":"マルチ配信エンジン","name":"既定配信先(default_targets)","detail":"クライアントごとの標準セットを設定に持つ","status":"done","status_label":"実装済み"},{"id":"SB-04-007","category":"マルチ配信エンジン","name":"ドライラン","detail":"外部に一切送らずに、送る予定の中身と宛先だけを返す","status":"done","status_label":"実装済み"},{"id":"SB-04-008","category":"マルチ配信エンジン","name":"媒体ごとの本文形式変換","detail":"markdown/html/text を配信先の仕様に合わせて出し分ける","status":"done","status_label":"実装済み"},{"id":"SB-04-009","category":"マルチ配信エンジン","name":"リトライとバックオフ","detail":"408/425/429/5xx と通信エラーを指数バックオフで再試行する","status":"done","status_label":"実装済み"},{"id":"SB-04-010","category":"マルチ配信エンジン","name":"1媒体の失敗で全体を止めない","detail":"例外を配信先単位で閉じ込め、他の媒体は最後まで流す","status":"done","status_label":"実装済み"},{"id":"SB-04-011","category":"マルチ配信エンジン","name":"配信結果の記録","detail":"媒体ごとの status/URL/外部ID/メッセージをジョブに残す","status":"done","status_label":"実装済み"},{"id":"SB-04-012","category":"マルチ配信エンジン","name":"ジョブの永続化","detail":"ジョブJSONをディスクに保存し、あとから参照できる","status":"done","status_label":"実装済み"},{"id":"SB-04-013","category":"マルチ配信エンジン","name":"ジョブ結果の集計","detail":"published/failed/skipped などの件数サマリを返す","status":"done","status_label":"実装済み"},{"id":"SB-04-014","category":"マルチ配信エンジン","name":"下書き投稿","detail":"draft=true で対応媒体に下書きとして置く","status":"done","status_label":"実装済み"},{"id":"SB-04-015","category":"マルチ配信エンジン","name":"予約投稿","detail":"publish_at を対応媒体（WordPress/はてな/Ghost/Blogger/Zenn）へ渡す","status":"done","status_label":"実装済み"},{"id":"SB-04-016","category":"マルチ配信エンジン","name":"手動投稿パッケージ生成","detail":"note/Ameba用に貼り付け用の本文一式をファイル出力する","status":"done","status_label":"実装済み"},{"id":"SB-04-017","category":"マルチ配信エンジン","name":"手動投稿結果の後追い記録","detail":"人が投稿したURLをAPIで書き戻し、ジョブを完成させる","status":"done","status_label":"実装済み"},{"id":"SB-04-018","category":"マルチ配信エンジン","name":"認証情報の不足検出","detail":"必要な資格情報が欠けている配信先を実行前に失敗として明示する","status":"done","status_label":"実装済み"},{"id":"SB-04-019","category":"マルチ配信エンジン","name":"未知プラットフォームの拒否","detail":"カタログにない platform を設定読込時に弾く","status":"done","status_label":"実装済み"},{"id":"SB-04-020","category":"マルチ配信エンジン","name":"配信ジョブ一覧の閲覧","detail":"コンソールから過去ジョブを新しい順に見る","status":"done","status_label":"実装済み"},{"id":"SB-04-021","category":"マルチ配信エンジン","name":"配信の再実行(失敗分のみ)","detail":"失敗した配信先だけを選んで投げ直す","status":"done","status_label":"実装済み"},{"id":"SB-04-022","category":"マルチ配信エンジン","name":"配信キューと同時実行制御","detail":"大量記事を並列度を絞って安全に流す","status":"done","status_label":"実装済み"},{"id":"SB-04-023","category":"マルチ配信エンジン","name":"レート制限の媒体別管理","detail":"媒体ごとの上限に合わせて送信間隔を自動調整する","status":"done","status_label":"実装済み"},{"id":"SB-04-024","category":"マルチ配信エンジン","name":"配信の一時停止/再開","detail":"障害時に全体をポーズして復旧後に再開する","status":"done","status_label":"実装済み"},{"id":"SB-04-025","category":"マルチ配信エンジン","name":"優先度つきキュー","detail":"緊急の記事を先に流す","status":"done","status_label":"実装済み"},{"id":"SB-04-026","category":"マルチ配信エンジン","name":"配信前の最終承認ゲート","detail":"人が承認するまでキューで待たせる","status":"done","status_label":"実装済み"},{"id":"SB-04-027","category":"マルチ配信エンジン","name":"公開の取り消し(撤回)","detail":"配信済み記事を各媒体から下書きへ戻す/削除する","status":"done","status_label":"実装済み"},{"id":"SB-04-028","category":"マルチ配信エンジン","name":"記事の更新配信","detail":"既存記事を上書き更新として再配信する","status":"done","status_label":"実装済み"},{"id":"SB-04-029","category":"マルチ配信エンジン","name":"配信先グループ","detail":"「国内ブログ群」「SNS群」など束ねて指定する","status":"done","status_label":"実装済み"},{"id":"SB-04-030","category":"マルチ配信エンジン","name":"時差を考慮した公開時刻","detail":"媒体ごとに最適な時刻へずらして公開する","status":"done","status_label":"実装済み"},{"id":"SB-04-031","category":"マルチ配信エンジン","name":"配信結果のWebhook通知","detail":"完了・失敗を外部システムへ即時に飛ばす","status":"done","status_label":"実装済み"},{"id":"SB-04-032","category":"マルチ配信エンジン","name":"配信のドライラン差分表示","detail":"前回配信との本文差分を出してから実行する","status":"done","status_label":"実装済み"},{"id":"SB-04-033","category":"マルチ配信エンジン","name":"配信ログの長期保管","detail":"ジョブ履歴を期間指定でエクスポートする","status":"done","status_label":"実装済み"},{"id":"SB-04-034","category":"マルチ配信エンジン","name":"媒体別の成功率モニタ","detail":"直近の成功率が落ちた配信先を検知して知らせる","status":"done","status_label":"実装済み"},{"id":"SB-04-035","category":"マルチ配信エンジン","name":"バルク配信(複数記事)","detail":"CLIのglob指定で複数記事を一括処理する","status":"done","status_label":"実装済み"},{"id":"SB-05-001","category":"プラットフォーム連携","name":"WordPress（セルフホスト）","detail":"REST API + アプリケーションパスワードで自社ブログへ公開","status":"done","status_label":"実装済み"},{"id":"SB-05-002","category":"プラットフォーム連携","name":"WordPress.com","detail":"public-api.wordpress.com へOAuth2 Bearerで公開","status":"done","status_label":"実装済み"},{"id":"SB-05-003","category":"プラットフォーム連携","name":"Ghost","detail":"Admin APIキーからJWTを生成して公開","status":"done","status_label":"実装済み"},{"id":"SB-05-004","category":"プラットフォーム連携","name":"はてなブログ","detail":"AtomPub（Basic認証）で投稿・予約投稿","status":"done","status_label":"実装済み"},{"id":"SB-05-005","category":"プラットフォーム連携","name":"ライブドアブログ","detail":"AtomPubで投稿（下書き非対応の仕様に追従）","status":"done","status_label":"実装済み"},{"id":"SB-05-006","category":"プラットフォーム連携","name":"Qiita","detail":"API v2 で技術記事を投稿","status":"done","status_label":"実装済み"},{"id":"SB-05-007","category":"プラットフォーム連携","name":"Zenn","detail":"GitHub Contents APIで articles/*.md をpush","status":"done","status_label":"実装済み"},{"id":"SB-05-008","category":"プラットフォーム連携","name":"dev.to","detail":"Forem APIで canonical_url つき転載","status":"done","status_label":"実装済み"},{"id":"SB-05-009","category":"プラットフォーム連携","name":"Hashnode","detail":"GraphQL APIで originalArticleURL つき転載","status":"done","status_label":"実装済み"},{"id":"SB-05-010","category":"プラットフォーム連携","name":"Medium","detail":"既存Integration Tokenでの転載に対応","status":"done","status_label":"実装済み"},{"id":"SB-05-011","category":"プラットフォーム連携","name":"Blogger","detail":"API v3（OAuth2）で投稿・予約投稿","status":"done","status_label":"実装済み"},{"id":"SB-05-012","category":"プラットフォーム連携","name":"Notion","detail":"Notion APIでデータベースへページ追加","status":"done","status_label":"実装済み"},{"id":"SB-05-013","category":"プラットフォーム連携","name":"LinkedIn","detail":"Posts APIで記事リンク付き投稿","status":"done","status_label":"実装済み"},{"id":"SB-05-014","category":"プラットフォーム連携","name":"X（旧Twitter）","detail":"API v2 POST /2/tweets で投稿","status":"done","status_label":"実装済み"},{"id":"SB-05-015","category":"プラットフォーム連携","name":"Threads","detail":"コンテナ作成→publishの2段階APIで投稿","status":"done","status_label":"実装済み"},{"id":"SB-05-016","category":"プラットフォーム連携","name":"Facebookページ","detail":"Graph API /{page-id}/feed へ投稿","status":"done","status_label":"実装済み"},{"id":"SB-05-017","category":"プラットフォーム連携","name":"LINE公式アカウント","detail":"Messaging APIで友だちへ配信","status":"done","status_label":"実装済み"},{"id":"SB-05-018","category":"プラットフォーム連携","name":"汎用Webhook","detail":"記事JSONをそのままPOSTし n8n/Make/Zapier に渡す","status":"done","status_label":"実装済み"},{"id":"SB-05-019","category":"プラットフォーム連携","name":"メール投稿","detail":"SMTPで各媒体の投稿用アドレスへ送る","status":"done","status_label":"実装済み"},{"id":"SB-05-020","category":"プラットフォーム連携","name":"note（手動パッケージ）","detail":"公式APIが無いため貼り付け用パッケージを生成する","status":"done","status_label":"実装済み"},{"id":"SB-05-021","category":"プラットフォーム連携","name":"Ameba（手動パッケージ）","detail":"同上。メール投稿設定があればemailアダプタも使える","status":"done","status_label":"実装済み"},{"id":"SB-05-022","category":"プラットフォーム連携","name":"アダプタの動的登録","detail":"@register デコレータ1つで新媒体を追加できる","status":"done","status_label":"実装済み"},{"id":"SB-05-023","category":"プラットフォーム連携","name":"プラットフォーム能力カタログ","detail":"canonical可否・予約可否・本文形式を機械可読に持つ","status":"done","status_label":"実装済み"},{"id":"SB-05-024","category":"プラットフォーム連携","name":"接続テスト","detail":"保存前に資格情報が有効かを各媒体へ問い合わせて確かめる","status":"done","status_label":"実装済み"},{"id":"SB-05-025","category":"プラットフォーム連携","name":"OAuthセルフ接続フロー","detail":"画面から各媒体にログインしてトークンを取得する","status":"done","status_label":"実装済み"},{"id":"SB-05-026","category":"プラットフォーム連携","name":"トークン失効の検知と通知","detail":"期限切れ・失効を検知して再接続を促す","status":"done","status_label":"実装済み"},{"id":"SB-05-027","category":"プラットフォーム連携","name":"トークン自動更新","detail":"refresh_tokenを使って裏で更新する","status":"done","status_label":"実装済み"},{"id":"SB-05-028","category":"プラットフォーム連携","name":"Shopifyブログ連携","detail":"ECサイトのブログへ同時公開する","status":"done","status_label":"実装済み"},{"id":"SB-05-029","category":"プラットフォーム連携","name":"Wix / Squarespace 連携","detail":"サイトビルダー系のブログへ公開する","status":"done","status_label":"実装済み"},{"id":"SB-05-030","category":"プラットフォーム連携","name":"YouTube概要欄・コミュニティ投稿","detail":"動画チャネルへも記事導線を出す","status":"done","status_label":"実装済み"},{"id":"SB-06-001","category":"重複コンテンツ・canonical戦略","name":"canonical対応媒体の判別","detail":"媒体カタログの supports_canonical で転載可否を機械的に判定する","status":"done","status_label":"実装済み"},{"id":"SB-06-002","category":"重複コンテンツ・canonical戦略","name":"自社ドメイン先行公開","detail":"primaryを最初に公開し、そのURLを正規URLとして確定させる","status":"done","status_label":"実装済み"},{"id":"SB-06-003","category":"重複コンテンツ・canonical戦略","name":"同一本文の転載はcanonical対応先のみ","detail":"dev.to/Hashnode/Medium には canonical 付きで全文を出す","status":"done","status_label":"実装済み"},{"id":"SB-06-004","category":"重複コンテンツ・canonical戦略","name":"canonical非対応先はteaser化","detail":"要約＋見出し＋全文リンクに落として重複を避ける","status":"done","status_label":"実装済み"},{"id":"SB-06-005","category":"重複コンテンツ・canonical戦略","name":"別原稿(variant)の優先適用","detail":"variantsがある媒体は全文でなく別原稿を投稿する","status":"done","status_label":"実装済み"},{"id":"SB-06-006","category":"重複コンテンツ・canonical戦略","name":"fallbackポリシー選択","detail":"teaser / skip / full を記事単位で選べる","status":"done","status_label":"実装済み"},{"id":"SB-06-007","category":"重複コンテンツ・canonical戦略","name":"teaserの自動組み立て","detail":"抜粋＋「この記事で分かること」＋全文リンクを機械生成する","status":"done","status_label":"実装済み"},{"id":"SB-06-008","category":"重複コンテンツ・canonical戦略","name":"canonical使用の記録","detail":"どのURLをcanonicalに使ったかを配信結果に残す","status":"done","status_label":"実装済み"},{"id":"SB-06-009","category":"重複コンテンツ・canonical戦略","name":"WordPressのcanonical metaキー指定","detail":"Yoast/RankMath のフィールド名を設定で切り替える","status":"done","status_label":"実装済み"},{"id":"SB-06-010","category":"重複コンテンツ・canonical戦略","name":"自己参照canonical","detail":"自社記事ページに自分自身のcanonicalを出す","status":"done","status_label":"実装済み"},{"id":"SB-06-011","category":"重複コンテンツ・canonical戦略","name":"重複率スコアの算出","detail":"転載先と自社本文の類似度を測って閾値超えを警告する","status":"done","status_label":"実装済み"},{"id":"SB-06-012","category":"重複コンテンツ・canonical戦略","name":"noindex指定の配信","detail":"対応媒体へ noindex を渡して検索対象から外す","status":"done","status_label":"実装済み"},{"id":"SB-06-013","category":"重複コンテンツ・canonical戦略","name":"転載先インデックス状況の確認","detail":"転載側が検索結果に出ていないかを定期確認する","status":"done","status_label":"実装済み"},{"id":"SB-06-014","category":"重複コンテンツ・canonical戦略","name":"自社より転載先が上位のときの警告","detail":"順位が逆転したら通知して対処を促す","status":"done","status_label":"実装済み"},{"id":"SB-06-015","category":"重複コンテンツ・canonical戦略","name":"コピーコンテンツの外部監視","detail":"無断転載サイトを検出して一覧化する","status":"done","status_label":"実装済み"},{"id":"SB-06-016","category":"重複コンテンツ・canonical戦略","name":"転載遅延(ディレイ)設定","detail":"自社公開からN時間空けて転載しインデックス順を守る","status":"done","status_label":"実装済み"},{"id":"SB-06-017","category":"重複コンテンツ・canonical戦略","name":"媒体別の本文長比率制御","detail":"teaserに出す割合を媒体ごとに調整する","status":"done","status_label":"実装済み"},{"id":"SB-06-018","category":"重複コンテンツ・canonical戦略","name":"同一記事の多重投稿防止","detail":"同じ記事を同じ媒体へ二度出さないよう記録で防ぐ","status":"done","status_label":"実装済み"},{"id":"SB-06-019","category":"重複コンテンツ・canonical戦略","name":"引用ブロックの明示","detail":"他サイトからの引用を blockquote + cite で正しく囲む","status":"done","status_label":"実装済み"},{"id":"SB-06-020","category":"重複コンテンツ・canonical戦略","name":"AI生成比率の申告管理","detail":"媒体規約に合わせてAI生成の割合を記録・開示する","status":"done","status_label":"実装済み"},{"id":"SB-07-001","category":"CTA・コンバージョン導線","name":"CTAブロックの本文差し込み","detail":"冒頭・中盤・末尾の指定位置にCTAを自動挿入する","status":"done","status_label":"実装済み"},{"id":"SB-07-002","category":"CTA・コンバージョン導線","name":"中盤CTAの賢い挿入位置","detail":"H2の中央を探して段落の切れ目に入れる","status":"done","status_label":"実装済み"},{"id":"SB-07-003","category":"CTA・コンバージョン導線","name":"末尾CTAを参考情報の前に置く","detail":"出典リストの後ろに埋もれないよう位置を補正する","status":"done","status_label":"実装済み"},{"id":"SB-07-004","category":"CTA・コンバージョン導線","name":"CTA二重挿入の防止","detail":"本文に同じLINE URLが既にあれば挿入しない","status":"done","status_label":"実装済み"},{"id":"SB-07-005","category":"CTA・コンバージョン導線","name":"HTML版CTAの装飾","detail":"媒体依存しないインラインCSSでボタンを描画する","status":"done","status_label":"実装済み"},{"id":"SB-07-006","category":"CTA・コンバージョン導線","name":"クライアント設定からのCTA自動補完","detail":"記事にCTA未指定ならクライアントのLINE URL/オファーで補う","status":"done","status_label":"実装済み"},{"id":"SB-07-007","category":"CTA・コンバージョン導線","name":"UTMパラメータ自動付与","detail":"source/medium/campaign/content を全CTAリンクに付ける","status":"done","status_label":"実装済み"},{"id":"SB-07-008","category":"CTA・コンバージョン導線","name":"CTA位置別のutm_content","detail":"cta_top / cta_middle / cta_bottom を区別して計測する","status":"done","status_label":"実装済み"},{"id":"SB-07-009","category":"CTA・コンバージョン導線","name":"既存クエリの保持","detail":"リンクに元から付いているパラメータを壊さない","status":"done","status_label":"実装済み"},{"id":"SB-07-010","category":"CTA・コンバージョン導線","name":"オファー文言のクライアント別設定","detail":"「無料診断」等の訴求をクライアント単位で持つ","status":"done","status_label":"実装済み"},{"id":"SB-07-011","category":"CTA・コンバージョン導線","name":"CTAラベルのカスタム","detail":"ボタン文言を記事ごとに変える","status":"done","status_label":"実装済み"},{"id":"SB-07-012","category":"CTA・コンバージョン導線","name":"記事とLINEの文言統一チェック","detail":"記事のオファー名とLINEあいさつ文の不一致を警告する","status":"done","status_label":"実装済み"},{"id":"SB-07-013","category":"CTA・コンバージョン導線","name":"CTAのA/Bテスト","detail":"2種類のCTAを出し分けてクリック率を比較する","status":"done","status_label":"実装済み"},{"id":"SB-07-014","category":"CTA・コンバージョン導線","name":"スクロール率連動CTA","detail":"一定割合スクロールした読者にだけ表示する","status":"done","status_label":"実装済み"},{"id":"SB-07-015","category":"CTA・コンバージョン導線","name":"離脱時ポップアップ","detail":"ページを離れる動きを検知してオファーを出す","status":"done","status_label":"実装済み"},{"id":"SB-07-016","category":"CTA・コンバージョン導線","name":"フォーム埋め込みCTA","detail":"LINE以外にメールフォーム型のCTAを差し込む","status":"done","status_label":"実装済み"},{"id":"SB-07-017","category":"CTA・コンバージョン導線","name":"電話タップCTA","detail":"モバイルのみ発信ボタンを出す","status":"done","status_label":"実装済み"},{"id":"SB-07-018","category":"CTA・コンバージョン導線","name":"記事別CTA出し分け","detail":"検索意図に応じて資料DL/相談/来店予約を切り替える","status":"done","status_label":"実装済み"},{"id":"SB-07-019","category":"CTA・コンバージョン導線","name":"CTAクリックの実測","detail":"クリック数を自前で記録しCVRを出す","status":"done","status_label":"実装済み"},{"id":"SB-07-020","category":"CTA・コンバージョン導線","name":"CV(問い合わせ)の記事別帰属","detail":"どの記事経由の友だち追加が成約したかを追う","status":"done","status_label":"実装済み"},{"id":"SB-08-001","category":"LINE公式アカウント連携","name":"新着記事のブロードキャスト","detail":"Messaging APIで友だち全員へ記事を通知する","status":"done","status_label":"実装済み"},{"id":"SB-08-002","category":"LINE公式アカウント連携","name":"Flexメッセージ配信","detail":"画像・見出し・ボタン付きのカード型で送る","status":"done","status_label":"実装済み"},{"id":"SB-08-003","category":"LINE公式アカウント連携","name":"テキスト配信モード","detail":"Flexを使わず素のテキストで送る設定","status":"done","status_label":"実装済み"},{"id":"SB-08-004","category":"LINE公式アカウント連携","name":"任意URLの単発配信","detail":"記事以外のキャンペーンLPをAPIから配信する","status":"done","status_label":"実装済み"},{"id":"SB-08-005","category":"LINE公式アカウント連携","name":"ボタンラベルの設定","detail":"「記事を読む」等のCTA文言を設定で変える","status":"done","status_label":"実装済み"},{"id":"SB-08-006","category":"LINE公式アカウント連携","name":"配信リンクへのUTM付与","detail":"LINE経由の流入を計測できるようにする","status":"done","status_label":"実装済み"},{"id":"SB-08-007","category":"LINE公式アカウント連携","name":"配信結果のジョブ記録","detail":"送信の成否をほかの媒体と同じ形式で残す","status":"done","status_label":"実装済み"},{"id":"SB-08-008","category":"LINE公式アカウント連携","name":"チャネルトークンの環境変数管理","detail":"トークンを設定ファイルに直書きせず環境変数から読む","status":"done","status_label":"実装済み"},{"id":"SB-08-009","category":"LINE公式アカウント連携","name":"週次まとめ配信","detail":"記事ごとに送らず週1でまとめて通数を節約する","status":"done","status_label":"実装済み"},{"id":"SB-08-010","category":"LINE公式アカウント連携","name":"セグメント配信(narrowcast)","detail":"属性・行動で絞って配信する","status":"done","status_label":"実装済み"},{"id":"SB-08-011","category":"LINE公式アカウント連携","name":"プッシュ配信(個別)","detail":"特定ユーザーにだけ送る","status":"done","status_label":"実装済み"},{"id":"SB-08-012","category":"LINE公式アカウント連携","name":"配信通数の見積もりと上限警告","detail":"月間プランの上限に対する消費を可視化する","status":"done","status_label":"実装済み"},{"id":"SB-08-013","category":"LINE公式アカウント連携","name":"あいさつメッセージ管理","detail":"友だち追加直後の案内文を画面から編集する","status":"done","status_label":"実装済み"},{"id":"SB-08-014","category":"LINE公式アカウント連携","name":"応答メッセージ(よくある質問20問)","detail":"キーワード自動返信の辞書を管理する","status":"done","status_label":"実装済み"},{"id":"SB-08-015","category":"LINE公式アカウント連携","name":"AIチャットボット応答","detail":"FAQに無い質問へAIが一次回答する","status":"done","status_label":"実装済み"},{"id":"SB-08-016","category":"LINE公式アカウント連携","name":"有人切り替え(エスカレーション)","detail":"見積もり・苦情は人へ転送する","status":"done","status_label":"実装済み"},{"id":"SB-08-017","category":"LINE公式アカウント連携","name":"営業時間内外の応答切替","detail":"時間帯で自動/有人を切り替える","status":"done","status_label":"実装済み"},{"id":"SB-08-018","category":"LINE公式アカウント連携","name":"リッチメニュー管理","detail":"記事導線を含むメニューを差し替える","status":"done","status_label":"実装済み"},{"id":"SB-08-019","category":"LINE公式アカウント連携","name":"友だち数・ブロック率の推移","detail":"配信のたびの増減を記録する","status":"done","status_label":"実装済み"},{"id":"SB-08-020","category":"LINE公式アカウント連携","name":"クーポン・予約導線","detail":"LINEからの予約/クーポン配布に繋ぐ","status":"done","status_label":"実装済み"},{"id":"SB-08-021","category":"LINE公式アカウント連携","name":"配信予約","detail":"指定日時にLINE配信を自動実行する","status":"done","status_label":"実装済み"},{"id":"SB-08-022","category":"LINE公式アカウント連携","name":"配信文面のプレビュー","detail":"送信前に実機表示に近い形で確認する","status":"done","status_label":"実装済み"},{"id":"SB-09-001","category":"SNS運用","name":"記事の自動SNS告知","detail":"公開と同時に要約＋リンクをSNSへ流す","status":"done","status_label":"実装済み"},{"id":"SB-09-002","category":"SNS運用","name":"プラットフォーム別文字数調整","detail":"上限に収まるよう末尾を省略記号で丸める","status":"done","status_label":"実装済み"},{"id":"SB-09-003","category":"SNS運用","name":"ハッシュタグ自動付与","detail":"記事タグの先頭3件を # 付きで添える","status":"done","status_label":"実装済み"},{"id":"SB-09-004","category":"SNS運用","name":"手書き投稿文の優先","detail":"social.x / social.linkedin があればそちらを使う","status":"done","status_label":"実装済み"},{"id":"SB-09-005","category":"SNS運用","name":"リンクへのUTM付与","detail":"SNS別に utm_content を分けて流入元を切り分ける","status":"done","status_label":"実装済み"},{"id":"SB-09-006","category":"SNS運用","name":"LinkedIn個人/法人の切替","detail":"author_urn で個人・組織アカウントを使い分ける","status":"done","status_label":"実装済み"},{"id":"SB-09-007","category":"SNS運用","name":"Facebookページ投稿","detail":"ページIDとページトークンで法人ページへ投稿する","status":"done","status_label":"実装済み"},{"id":"SB-09-008","category":"SNS運用","name":"Threads2段階投稿","detail":"コンテナ作成→公開のAPI仕様に対応する","status":"done","status_label":"実装済み"},{"id":"SB-09-009","category":"SNS運用","name":"画像付き投稿","detail":"カバー画像を添えてSNSの表示面積を稼ぐ","status":"done","status_label":"実装済み"},{"id":"SB-09-010","category":"SNS運用","name":"スレッド(連投)生成","detail":"長文記事を数投に分割して連続投稿する","status":"done","status_label":"実装済み"},{"id":"SB-09-011","category":"SNS運用","name":"投稿時間の最適化","detail":"エンゲージメントの高い時間帯に自動でずらす","status":"done","status_label":"実装済み"},{"id":"SB-09-012","category":"SNS運用","name":"リサイクル投稿","detail":"過去記事を一定期間後に再告知する","status":"done","status_label":"実装済み"},{"id":"SB-09-013","category":"SNS運用","name":"Instagram連携","detail":"ビジネスアカウントへフィード/ストーリーズ投稿する","status":"done","status_label":"実装済み"},{"id":"SB-09-014","category":"SNS運用","name":"TikTok連携","detail":"記事から短尺動画の台本・絵コンテを作り、出来た動画を投稿する","status":"done","status_label":"実装済み"},{"id":"SB-09-015","category":"SNS運用","name":"Pinterest連携","detail":"記事画像をピンとして配信する","status":"done","status_label":"実装済み"},{"id":"SB-09-016","category":"SNS運用","name":"SNS反応の取り込み","detail":"いいね・リポスト数を記事の成果に紐付ける","status":"done","status_label":"実装済み"},{"id":"SB-09-017","category":"SNS運用","name":"メンション・エゴサーチ監視","detail":"社名の言及を拾って通知する","status":"done","status_label":"実装済み"},{"id":"SB-09-018","category":"SNS運用","name":"コメント返信の一元受信","detail":"各SNSのコメントを1画面に集める","status":"done","status_label":"実装済み"},{"id":"SB-09-019","category":"SNS運用","name":"投稿カレンダー","detail":"SNS投稿予定を月次カレンダーで俯瞰する","status":"done","status_label":"実装済み"},{"id":"SB-09-020","category":"SNS運用","name":"ブランドハッシュタグ管理","detail":"常時付けるタグをクライアント別に持つ","status":"done","status_label":"実装済み"},{"id":"SB-09-021","category":"SNS運用","name":"投稿文のトンマナ検査","detail":"SNS別の文体ルールに沿っているか点検する","status":"done","status_label":"実装済み"},{"id":"SB-09-022","category":"SNS運用","name":"失敗投稿の再送","detail":"APIエラーで落ちた投稿だけを後から流し直す","status":"done","status_label":"実装済み"},{"id":"SB-10-001","category":"スケジューリング・自動化","name":"記事の予約公開","detail":"publish_at を対応媒体の予約投稿機能へ引き渡す","status":"done","status_label":"実装済み"},{"id":"SB-10-002","category":"スケジューリング・自動化","name":"毎朝の記事投入を受け付けるAPI","detail":"外部スケジューラから POST /v1/articles を叩くだけで回る","status":"done","status_label":"実装済み"},{"id":"SB-10-003","category":"スケジューリング・自動化","name":"CLIからのバッチ実行","detail":"cron から python -m autopost publish today/*.json を回す","status":"done","status_label":"実装済み"},{"id":"SB-10-004","category":"スケジューリング・自動化","name":"環境変数によるシークレット注入","detail":"${VAR} 記法で実行時にトークンを差し込む","status":"done","status_label":"実装済み"},{"id":"SB-10-005","category":"スケジューリング・自動化","name":"ドライラン付きの安全な自動実行","detail":"本番前に --dry-run で内容だけ確認する運用ができる","status":"done","status_label":"実装済み"},{"id":"SB-10-006","category":"スケジューリング・自動化","name":"内蔵スケジューラ","detail":"画面から公開時刻を指定して自動実行させる","status":"done","status_label":"実装済み"},{"id":"SB-10-007","category":"スケジューリング・自動化","name":"編集カレンダー","detail":"月次で公開予定を並べ、ドラッグで日付を動かす","status":"done","status_label":"実装済み"},{"id":"SB-10-008","category":"スケジューリング・自動化","name":"公開頻度ルール","detail":"週3本などの目標を設定し不足を警告する","status":"done","status_label":"実装済み"},{"id":"SB-10-009","category":"スケジューリング・自動化","name":"祝日・営業日カレンダー","detail":"休業日を避けて公開日をずらす","status":"done","status_label":"実装済み"},{"id":"SB-10-010","category":"スケジューリング・自動化","name":"繰り返しジョブ","detail":"定期的な再告知・再配信をルール化する","status":"done","status_label":"実装済み"},{"id":"SB-10-011","category":"スケジューリング・自動化","name":"トリガー自動化(if-then)","detail":"順位が下がったら改稿タスクを自動生成する","status":"done","status_label":"実装済み"},{"id":"SB-10-012","category":"スケジューリング・自動化","name":"パイプライン定義","detail":"生成→校正→承認→配信の段取りをテンプレ化する","status":"done","status_label":"実装済み"},{"id":"SB-10-013","category":"スケジューリング・自動化","name":"失敗時の自動リトライ計画","detail":"指数バックオフの上限・回数を管理画面から変える","status":"done","status_label":"実装済み"},{"id":"SB-10-014","category":"スケジューリング・自動化","name":"デッドレターキュー","detail":"何度も失敗したジョブを隔離して人が確認する","status":"done","status_label":"実装済み"},{"id":"SB-10-015","category":"スケジューリング・自動化","name":"ジョブのタイムアウト制御","detail":"長時間ハングした配信を打ち切る","status":"done","status_label":"実装済み"},{"id":"SB-10-016","category":"スケジューリング・自動化","name":"同時実行数の上限設定","detail":"外部APIを叩きすぎないよう並列度を絞る","status":"done","status_label":"実装済み"},{"id":"SB-10-017","category":"スケジューリング・自動化","name":"配信の一括キャンセル","detail":"予約済みジョブをまとめて取り消す","status":"done","status_label":"実装済み"},{"id":"SB-10-018","category":"スケジューリング・自動化","name":"下書き→公開の自動昇格","detail":"承認が付いた時点で自動的に公開へ進める","status":"done","status_label":"実装済み"},{"id":"SB-10-019","category":"スケジューリング・自動化","name":"記事の自動アーカイブ","detail":"古い記事を一定期間後に見直しキューへ入れる","status":"done","status_label":"実装済み"},{"id":"SB-10-020","category":"スケジューリング・自動化","name":"Claudeスケジュールタスク連携","detail":"毎朝の記事生成タスクの出力をそのまま取り込む","status":"done","status_label":"実装済み"},{"id":"SB-10-021","category":"スケジューリング・自動化","name":"n8n / Make 連携","detail":"Webhookアダプタ経由で既存の自動化基盤に流す","status":"done","status_label":"実装済み"},{"id":"SB-10-022","category":"スケジューリング・自動化","name":"Zapier連携","detail":"Zapのトリガー/アクションとして接続する","status":"done","status_label":"実装済み"},{"id":"SB-10-023","category":"スケジューリング・自動化","name":"Slack通知","detail":"公開・失敗をSlackチャンネルへ流す","status":"done","status_label":"実装済み"},{"id":"SB-10-024","category":"スケジューリング・自動化","name":"メール通知","detail":"日次サマリを担当者へ送る","status":"done","status_label":"実装済み"},{"id":"SB-10-025","category":"スケジューリング・自動化","name":"実行ログのリアルタイム表示","detail":"配信中の進捗を画面でストリーム表示する","status":"done","status_label":"実装済み"},{"id":"SB-11-001","category":"画像・メディア","name":"カバー画像URLの保持","detail":"記事にアイキャッチURLを持たせ各媒体へ渡す","status":"done","status_label":"実装済み"},{"id":"SB-11-002","category":"画像・メディア","name":"媒体へのアイキャッチ引き渡し","detail":"対応媒体のカバー画像フィールドにセットする","status":"done","status_label":"実装済み"},{"id":"SB-11-003","category":"画像・メディア","name":"OG画像の出力","detail":"記事ページのog:imageにカバー画像を使う","status":"done","status_label":"実装済み"},{"id":"SB-11-004","category":"画像・メディア","name":"画像の遅延読み込み","detail":"記事本文の画像を loading=lazy で読む","status":"done","status_label":"実装済み"},{"id":"SB-11-005","category":"画像・メディア","name":"本文内画像のMarkdown対応","detail":"![alt](url) をHTML変換で正しく描画する","status":"done","status_label":"実装済み"},{"id":"SB-11-006","category":"画像・メディア","name":"アイキャッチ自動生成","detail":"タイトル文字を載せたOG画像をサーバで描く","status":"done","status_label":"実装済み"},{"id":"SB-11-007","category":"画像・メディア","name":"画像のアップロード管理","detail":"自社ストレージに上げてCDN URLを配る","status":"done","status_label":"実装済み"},{"id":"SB-11-008","category":"画像・メディア","name":"媒体別の画像リサイズ","detail":"各SNSの推奨比率に自動で切り出す","status":"done","status_label":"実装済み"},{"id":"SB-11-009","category":"画像・メディア","name":"WebP/AVIF変換","detail":"軽量フォーマットへ変換して配信する","status":"done","status_label":"実装済み"},{"id":"SB-11-010","category":"画像・メディア","name":"画像圧縮","detail":"画質を保ったままファイルサイズを落とす","status":"done","status_label":"実装済み"},{"id":"SB-11-011","category":"画像・メディア","name":"alt文の一括点検","detail":"未設定・重複のaltを洗い出す","status":"done","status_label":"実装済み"},{"id":"SB-11-012","category":"画像・メディア","name":"画像の著作権・出典管理","detail":"素材の出典とライセンスを記録する","status":"done","status_label":"実装済み"},{"id":"SB-11-013","category":"画像・メディア","name":"ストックフォトAPI連携","detail":"記事テーマから候補画像を検索して差し込む","status":"done","status_label":"実装済み"},{"id":"SB-11-014","category":"画像・メディア","name":"AI画像生成","detail":"記事内容に沿った図版を生成する","status":"done","status_label":"実装済み"},{"id":"SB-11-015","category":"画像・メディア","name":"図解・チャート生成","detail":"数値データから記事用グラフを作る","status":"done","status_label":"実装済み"},{"id":"SB-11-016","category":"画像・メディア","name":"動画の埋め込み","detail":"YouTube等を記事に埋め込みVideoObjectを出す","status":"done","status_label":"実装済み"},{"id":"SB-11-017","category":"画像・メディア","name":"音声版記事(読み上げ)","detail":"本文を音声化してポッドキャスト配信する","status":"done","status_label":"実装済み"},{"id":"SB-11-018","category":"画像・メディア","name":"画像のCDNキャッシュ制御","detail":"更新時にキャッシュを破棄する","status":"done","status_label":"実装済み"},{"id":"SB-11-019","category":"画像・メディア","name":"画像ファイル名のSEO最適化","detail":"内容が分かる英字ファイル名に整える","status":"done","status_label":"実装済み"},{"id":"SB-11-020","category":"画像・メディア","name":"スクリーンショット自動取得","detail":"参照サイトの画面を証跡として保存する","status":"done","status_label":"実装済み"},{"id":"SB-11-021","category":"画像・メディア","name":"画像の重複検出","detail":"同じ画像の使い回しを検知する","status":"done","status_label":"実装済み"},{"id":"SB-11-022","category":"画像・メディア","name":"メディアライブラリ","detail":"使用済み画像を横断検索できる棚を持つ","status":"done","status_label":"実装済み"},{"id":"SB-12-001","category":"内部リンク・サイト構造","name":"記事一覧ページ","detail":"公開記事をカード一覧で並べる","status":"done","status_label":"実装済み"},{"id":"SB-12-002","category":"内部リンク・サイト構造","name":"カテゴリ別の分類表示","detail":"記事のカテゴリを一覧に出す","status":"done","status_label":"実装済み"},{"id":"SB-12-003","category":"内部リンク・サイト構造","name":"タグ表示","detail":"記事に付いたタグを表示する","status":"done","status_label":"実装済み"},{"id":"SB-12-004","category":"内部リンク・サイト構造","name":"パンくずの階層","detail":"トップ→ブログ→記事 の導線を出す","status":"done","status_label":"実装済み"},{"id":"SB-12-005","category":"内部リンク・サイト構造","name":"サイト全体の共通ナビゲーション","detail":"全ページで同じヘッダ/フッタ導線を持つ","status":"done","status_label":"実装済み"},{"id":"SB-12-006","category":"内部リンク・サイト構造","name":"記事内目次からの内部アンカー","detail":"見出しへのジャンプリンクを張る","status":"done","status_label":"実装済み"},{"id":"SB-12-007","category":"内部リンク・サイト構造","name":"関連記事の自動リンク","detail":"同クラスタの記事を機械的に相互リンクする","status":"done","status_label":"実装済み"},{"id":"SB-12-008","category":"内部リンク・サイト構造","name":"内部リンク不足の検出","detail":"被リンクの少ない孤立記事を洗い出す","status":"done","status_label":"実装済み"},{"id":"SB-12-009","category":"内部リンク・サイト構造","name":"アンカーテキストの最適化提案","detail":"「こちら」等の弱いリンク文言を指摘する","status":"done","status_label":"実装済み"},{"id":"SB-12-010","category":"内部リンク・サイト構造","name":"リンク切れ検査","detail":"内部・外部リンクの404を定期巡回で見つける","status":"done","status_label":"実装済み"},{"id":"SB-12-011","category":"内部リンク・サイト構造","name":"リダイレクト管理","detail":"slug変更時に301を自動で張る","status":"done","status_label":"実装済み"},{"id":"SB-12-012","category":"内部リンク・サイト構造","name":"ピラーページ/クラスタ構造","detail":"軸記事とサテライト記事の関係を管理する","status":"done","status_label":"実装済み"},{"id":"SB-12-013","category":"内部リンク・サイト構造","name":"カテゴリページのSEO最適化","detail":"一覧ページにも独自の説明文と構造化データを持たせる","status":"done","status_label":"実装済み"},{"id":"SB-12-014","category":"内部リンク・サイト構造","name":"タグページの間引き","detail":"記事数の少ないタグページをnoindexにする","status":"done","status_label":"実装済み"},{"id":"SB-12-015","category":"内部リンク・サイト構造","name":"ページネーション制御","detail":"一覧の分割にrel/canonicalを正しく設定する","status":"done","status_label":"実装済み"},{"id":"SB-12-016","category":"内部リンク・サイト構造","name":"サイト内検索","detail":"記事本文を全文検索する","status":"done","status_label":"実装済み"},{"id":"SB-12-017","category":"内部リンク・サイト構造","name":"サイトマップの階層可視化","detail":"サイト構造をツリーで俯瞰する","status":"done","status_label":"実装済み"},{"id":"SB-12-018","category":"内部リンク・サイト構造","name":"孤立ページの検出","detail":"どこからもリンクされていないURLを見つける","status":"done","status_label":"実装済み"},{"id":"SB-12-019","category":"内部リンク・サイト構造","name":"URL設計ルールの強制","detail":"階層の深さ・命名規則を投入時に検査する","status":"done","status_label":"実装済み"},{"id":"SB-12-020","category":"内部リンク・サイト構造","name":"多階層カテゴリ","detail":"親子カテゴリでサイトを整理する","status":"done","status_label":"実装済み"},{"id":"SB-13-001","category":"テクニカルSEO","name":"robots.txt の配信","detail":"クロール許可とサイトマップ位置を明示する","status":"done","status_label":"実装済み"},{"id":"SB-13-002","category":"テクニカルSEO","name":"sitemap.xml の自動生成","detail":"全ページと記事URLをlastmod付きで出力する","status":"done","status_label":"実装済み"},{"id":"SB-13-003","category":"テクニカルSEO","name":"RSSフィード","detail":"記事の更新をRSS 2.0で配信する","status":"done","status_label":"実装済み"},{"id":"SB-13-004","category":"テクニカルSEO","name":"正規URLの統一","detail":"自己参照canonicalで重複URLを1本に寄せる","status":"done","status_label":"実装済み"},{"id":"SB-13-005","category":"テクニカルSEO","name":"HTTPS配信","detail":"全ページをTLS経由で提供する","status":"done","status_label":"実装済み"},{"id":"SB-13-006","category":"テクニカルSEO","name":"レスポンシブ表示","detail":"スマホ・タブレット・PCで崩れないレイアウト","status":"done","status_label":"実装済み"},{"id":"SB-13-007","category":"テクニカルSEO","name":"軽量な初期表示","detail":"外部フレームワーク非依存でCSS/JSを最小限にする","status":"done","status_label":"実装済み"},{"id":"SB-13-008","category":"テクニカルSEO","name":"文字コード・言語宣言","detail":"UTF-8 と lang=ja を明示する","status":"done","status_label":"実装済み"},{"id":"SB-13-009","category":"テクニカルSEO","name":"meta viewport","detail":"モバイルで正しい縮尺で表示する","status":"done","status_label":"実装済み"},{"id":"SB-13-010","category":"テクニカルSEO","name":"404ページ","detail":"存在しないURLに案内付きの404を返す","status":"done","status_label":"実装済み"},{"id":"SB-13-011","category":"テクニカルSEO","name":"HTMLの構造化(セマンティック)","detail":"header/main/article/nav を正しく使う","status":"done","status_label":"実装済み"},{"id":"SB-13-012","category":"テクニカルSEO","name":"ヘルスチェックエンドポイント","detail":"/v1/health で稼働状態を機械的に確認する","status":"done","status_label":"実装済み"},{"id":"SB-13-013","category":"テクニカルSEO","name":"Core Web Vitals計測","detail":"LCP/INP/CLSを実ユーザーから収集する","status":"done","status_label":"実装済み"},{"id":"SB-13-014","category":"テクニカルSEO","name":"ページ速度の改善提案","detail":"重い要素を指摘して具体策を出す","status":"done","status_label":"実装済み"},{"id":"SB-13-015","category":"テクニカルSEO","name":"インデックス状況の確認","detail":"検索エンジンに登録されたURL数を追う","status":"done","status_label":"実装済み"},{"id":"SB-13-016","category":"テクニカルSEO","name":"クロールエラー監視","detail":"サーバエラー・ソフト404を検知する","status":"done","status_label":"実装済み"},{"id":"SB-13-017","category":"テクニカルSEO","name":"hreflang出力","detail":"多言語版の対応関係を宣言する","status":"done","status_label":"実装済み"},{"id":"SB-13-018","category":"テクニカルSEO","name":"AMP/軽量版の提供","detail":"モバイル向け軽量ページを別に出す","status":"done","status_label":"実装済み"},{"id":"SB-13-019","category":"テクニカルSEO","name":"構造化データの検証","detail":"JSON-LDの必須項目欠落を自動テストする","status":"done","status_label":"実装済み"},{"id":"SB-13-020","category":"テクニカルSEO","name":"IndexNow / URL通知","detail":"公開直後に検索エンジンへURLを送信する","status":"done","status_label":"実装済み"},{"id":"SB-13-021","category":"テクニカルSEO","name":"HTTPヘッダの最適化","detail":"キャッシュ・圧縮・セキュリティヘッダを整える","status":"done","status_label":"実装済み"},{"id":"SB-13-022","category":"テクニカルSEO","name":"ログファイル解析","detail":"クローラの巡回頻度をアクセスログから見る","status":"done","status_label":"実装済み"},{"id":"SB-13-023","category":"テクニカルSEO","name":"JavaScript依存の削減","detail":"本文がJS無しで読める状態を保つ","status":"done","status_label":"実装済み"},{"id":"SB-13-024","category":"テクニカルSEO","name":"画像のサイズ属性指定","detail":"width/heightを入れてレイアウトシフトを防ぐ","status":"done","status_label":"実装済み"},{"id":"SB-13-025","category":"テクニカルSEO","name":"カスタムドメイン対応","detail":"独自ドメインで配信する","status":"done","status_label":"実装済み"},{"id":"SB-14-001","category":"計測・アナリティクス","name":"UTMパラメータ設計","detail":"source/medium/campaign/content の付与ルールを統一する","status":"done","status_label":"実装済み"},{"id":"SB-14-002","category":"計測・アナリティクス","name":"媒体別のutm_content","detail":"どの配信先から来たかを1パラメータで切り分ける","status":"done","status_label":"実装済み"},{"id":"SB-14-003","category":"計測・アナリティクス","name":"CTA位置別の計測タグ","detail":"冒頭/中盤/末尾のどのCTAが効いたかを分ける","status":"done","status_label":"実装済み"},{"id":"SB-14-004","category":"計測・アナリティクス","name":"クライアント別campaign","detail":"utm_campaignをクライアント単位で自動採番する","status":"done","status_label":"実装済み"},{"id":"SB-14-005","category":"計測・アナリティクス","name":"配信結果の件数集計","detail":"ジョブごとの成功/失敗/スキップ数を出す","status":"done","status_label":"実装済み"},{"id":"SB-14-006","category":"計測・アナリティクス","name":"媒体別の公開URL一覧","detail":"1記事がどこに何のURLで載ったかを一覧で持つ","status":"done","status_label":"実装済み"},{"id":"SB-14-007","category":"計測・アナリティクス","name":"コンソールのサマリ指標","detail":"記事数・ジョブ数・配信先数をダッシュボードに出す","status":"done","status_label":"実装済み"},{"id":"SB-14-008","category":"計測・アナリティクス","name":"Google Analytics 4連携","detail":"GA4のイベントを取り込み記事別に集計する","status":"done","status_label":"実装済み"},{"id":"SB-14-009","category":"計測・アナリティクス","name":"Search Console連携","detail":"表示回数・クリック・平均掲載順位を取り込む","status":"done","status_label":"実装済み"},{"id":"SB-14-010","category":"計測・アナリティクス","name":"記事別ダッシュボード","detail":"1記事のPV・CTR・CVを1画面にまとめる","status":"done","status_label":"実装済み"},{"id":"SB-14-011","category":"計測・アナリティクス","name":"流入チャネル分析","detail":"検索/SNS/LINE/直接の内訳を出す","status":"done","status_label":"実装済み"},{"id":"SB-14-012","category":"計測・アナリティクス","name":"AI検索からの流入計測","detail":"ChatGPT・Perplexity等のリファラを分離して数える","status":"done","status_label":"実装済み"},{"id":"SB-14-013","category":"計測・アナリティクス","name":"滞在時間・スクロール深度","detail":"読まれた深さを計測して離脱箇所を見る","status":"done","status_label":"実装済み"},{"id":"SB-14-014","category":"計測・アナリティクス","name":"ヒートマップ","detail":"クリック位置を可視化する","status":"done","status_label":"実装済み"},{"id":"SB-14-015","category":"計測・アナリティクス","name":"CVトラッキング","detail":"友だち追加・問い合わせ・購入を成果として記録する","status":"done","status_label":"実装済み"},{"id":"SB-14-016","category":"計測・アナリティクス","name":"マルチタッチ・アトリビューション","detail":"複数記事を経た成約の貢献度を配分する","status":"done","status_label":"実装済み"},{"id":"SB-14-017","category":"計測・アナリティクス","name":"記事のROI算出","detail":"制作コストと獲得成果を突き合わせる","status":"done","status_label":"実装済み"},{"id":"SB-14-018","category":"計測・アナリティクス","name":"コホート分析","detail":"公開月ごとの記事の伸び方を比較する","status":"done","status_label":"実装済み"},{"id":"SB-14-019","category":"計測・アナリティクス","name":"目標(KPI)設定と進捗","detail":"月間の流入・CV目標に対する達成率を出す","status":"done","status_label":"実装済み"},{"id":"SB-14-020","category":"計測・アナリティクス","name":"異常検知アラート","detail":"流入の急落を検知して通知する","status":"done","status_label":"実装済み"},{"id":"SB-14-021","category":"計測・アナリティクス","name":"イベントの自前収集","detail":"外部ツールに頼らず自社でPVを記録する","status":"done","status_label":"実装済み"},{"id":"SB-14-022","category":"計測・アナリティクス","name":"Cookie同意管理","detail":"計測前に同意を取り、拒否時は計測しない","status":"done","status_label":"実装済み"},{"id":"SB-14-023","category":"計測・アナリティクス","name":"プライバシー配慮の匿名計測","detail":"個人を特定しない形でアクセスを数える","status":"done","status_label":"実装済み"},{"id":"SB-14-024","category":"計測・アナリティクス","name":"リアルタイム閲覧数","detail":"いま読まれている記事を表示する","status":"done","status_label":"実装済み"},{"id":"SB-14-025","category":"計測・アナリティクス","name":"参照元ドメインの一覧","detail":"被リンク元から実際に来た流入を見る","status":"done","status_label":"実装済み"},{"id":"SB-14-026","category":"計測・アナリティクス","name":"検索クエリ別の成果","detail":"クエリごとのCVRを出して記事改善に使う","status":"done","status_label":"実装済み"},{"id":"SB-14-027","category":"計測・アナリティクス","name":"デバイス別・地域別の内訳","detail":"モバイル比率や都道府県別の流入を見る","status":"done","status_label":"実装済み"},{"id":"SB-14-028","category":"計測・アナリティクス","name":"レポートの自動配信","detail":"週次・月次で指標をメール送付する","status":"done","status_label":"実装済み"},{"id":"SB-14-029","category":"計測・アナリティクス","name":"ダッシュボードの共有リンク","detail":"クライアントに読み取り専用URLを渡す","status":"done","status_label":"実装済み"},{"id":"SB-14-030","category":"計測・アナリティクス","name":"データエクスポート","detail":"計測値をCSV/JSONで書き出す","status":"done","status_label":"実装済み"},{"id":"SB-15-001","category":"順位計測・競合分析","name":"キーワード登録","detail":"追跡したい語を記事に紐付けて登録する","status":"done","status_label":"実装済み"},{"id":"SB-15-002","category":"順位計測・競合分析","name":"日次順位取得","detail":"登録語の検索順位を毎日記録する","status":"done","status_label":"実装済み"},{"id":"SB-15-003","category":"順位計測・競合分析","name":"順位推移グラフ","detail":"期間指定で順位の上下を折れ線で見る","status":"done","status_label":"実装済み"},{"id":"SB-15-004","category":"順位計測・競合分析","name":"順位変動アラート","detail":"大きく落ちた語を検知して通知する","status":"done","status_label":"実装済み"},{"id":"SB-15-005","category":"順位計測・競合分析","name":"PC/モバイル別順位","detail":"デバイスごとに分けて計測する","status":"done","status_label":"実装済み"},{"id":"SB-15-006","category":"順位計測・競合分析","name":"地域別順位","detail":"都市単位のローカル検索順位を取る","status":"done","status_label":"実装済み"},{"id":"SB-15-007","category":"順位計測・競合分析","name":"競合サイトの並行追跡","detail":"同じ語で競合が何位かを併記する","status":"done","status_label":"実装済み"},{"id":"SB-15-008","category":"順位計測・競合分析","name":"SERP機能の占有状況","detail":"強調スニペット・PAA・地図枠を誰が取っているか見る","status":"done","status_label":"実装済み"},{"id":"SB-15-009","category":"順位計測・競合分析","name":"順位×流入の相関","detail":"順位が上がった語が実際に流入を生んだか確かめる","status":"done","status_label":"実装済み"},{"id":"SB-15-010","category":"順位計測・競合分析","name":"勝ちパターンの抽出","detail":"上位化した記事に共通する構成を洗い出す","status":"done","status_label":"実装済み"},{"id":"SB-15-011","category":"順位計測・競合分析","name":"競合の被リンク分析","detail":"競合が獲得しているリンク元を調べる","status":"done","status_label":"実装済み"},{"id":"SB-15-012","category":"順位計測・競合分析","name":"自社の被リンク監視","detail":"新規・喪失リンクを追跡する","status":"done","status_label":"実装済み"},{"id":"SB-15-013","category":"順位計測・競合分析","name":"ドメイン評価スコア","detail":"自社と競合の相対的な強さを数値で持つ","status":"done","status_label":"実装済み"},{"id":"SB-15-014","category":"順位計測・競合分析","name":"競合のコンテンツ更新頻度","detail":"競合の投稿ペースを測る","status":"done","status_label":"実装済み"},{"id":"SB-15-015","category":"順位計測・競合分析","name":"シェア・オブ・ボイス","detail":"対象クラスタでの露出シェアを算出する","status":"done","status_label":"実装済み"},{"id":"SB-15-016","category":"順位計測・競合分析","name":"順位レポートのPDF出力","detail":"クライアント提出用の体裁で出す","status":"done","status_label":"実装済み"},{"id":"SB-15-017","category":"順位計測・競合分析","name":"改稿優先度の自動提示","detail":"11〜20位の「あと一歩」の記事を優先させる","status":"done","status_label":"実装済み"},{"id":"SB-15-018","category":"順位計測・競合分析","name":"カニバリの順位面での検出","detail":"同一語で2記事が入れ替わる状態を見つける","status":"done","status_label":"実装済み"},{"id":"SB-15-019","category":"順位計測・競合分析","name":"インデックス削除の検知","detail":"急に順位が消えた語を警告する","status":"done","status_label":"実装済み"},{"id":"SB-15-020","category":"順位計測・競合分析","name":"アルゴリズム更新の記録","detail":"検索エンジンの大型更新日を年表として重ねる","status":"done","status_label":"実装済み"},{"id":"SB-15-021","category":"順位計測・競合分析","name":"順位データのAPI提供","detail":"外部BIツールから読める形で出す","status":"done","status_label":"実装済み"},{"id":"SB-15-022","category":"順位計測・競合分析","name":"計測対象の上限管理","detail":"プランごとの追跡キーワード数を制御する","status":"done","status_label":"実装済み"},{"id":"SB-15-023","category":"順位計測・競合分析","name":"履歴データの長期保管","detail":"過去数年分の順位を保持して比較する","status":"done","status_label":"実装済み"},{"id":"SB-15-024","category":"順位計測・競合分析","name":"ブランド語と一般語の分離","detail":"指名検索と非指名を分けて評価する","status":"done","status_label":"実装済み"},{"id":"SB-15-025","category":"順位計測・競合分析","name":"AI検索での引用状況","detail":"生成AIの回答に自社が引用されたかを追う","status":"done","status_label":"実装済み"},{"id":"SB-16-001","category":"レポーティング","name":"配信ジョブの詳細ビュー","detail":"1ジョブの媒体別結果・URL・エラー文を1画面で読む","status":"done","status_label":"実装済み"},{"id":"SB-16-002","category":"レポーティング","name":"配信サマリの表示","detail":"成功/失敗/スキップの内訳を数で出す","status":"done","status_label":"実装済み"},{"id":"SB-16-003","category":"レポーティング","name":"ジョブ履歴の一覧","detail":"過去の配信を新しい順に並べる","status":"done","status_label":"実装済み"},{"id":"SB-16-004","category":"レポーティング","name":"失敗理由の日本語表示","detail":"資格情報不足・HTTPエラーを読める文言で出す","status":"done","status_label":"実装済み"},{"id":"SB-16-005","category":"レポーティング","name":"月次レポートの自動生成","detail":"流入・順位・CVをまとめた定型レポートを作る","status":"done","status_label":"実装済み"},{"id":"SB-16-006","category":"レポーティング","name":"クライアント向けPDF出力","detail":"ロゴ入りの報告書として書き出す","status":"done","status_label":"実装済み"},{"id":"SB-16-007","category":"レポーティング","name":"レポートのテンプレート編集","detail":"項目の取捨選択と並び順を保存する","status":"done","status_label":"実装済み"},{"id":"SB-16-008","category":"レポーティング","name":"前月比・前年比の自動計算","detail":"増減率と差分を自動で添える","status":"done","status_label":"実装済み"},{"id":"SB-16-009","category":"レポーティング","name":"施策と成果の対応表","detail":"実施した改稿と順位変動を並べて示す","status":"done","status_label":"実装済み"},{"id":"SB-16-010","category":"レポーティング","name":"コメント欄付きレポート","detail":"担当者の所見を数字の横に書き添える","status":"done","status_label":"実装済み"},{"id":"SB-16-011","category":"レポーティング","name":"レポート配信のスケジュール","detail":"毎月1日に自動送付する","status":"done","status_label":"実装済み"},{"id":"SB-16-012","category":"レポーティング","name":"複数クライアントの横断比較","detail":"運用中の全アカウントを1表で見る","status":"done","status_label":"実装済み"},{"id":"SB-16-013","category":"レポーティング","name":"ホワイトラベル出力","detail":"代理店ブランドで報告書を出す","status":"done","status_label":"実装済み"},{"id":"SB-16-014","category":"レポーティング","name":"レポートの共有URL","detail":"PDFでなくWebページとして共有する","status":"done","status_label":"実装済み"},{"id":"SB-17-001","category":"クライアント管理・マルチテナント","name":"複数クライアントの並行運用","detail":"1つの基盤で複数社の配信設定を持つ","status":"done","status_label":"実装済み"},{"id":"SB-17-002","category":"クライアント管理・マルチテナント","name":"クライアント設定のYAML管理","detail":"clients.yaml に配信先・CTA・トンマナをまとめる","status":"done","status_label":"実装済み"},{"id":"SB-17-003","category":"クライアント管理・マルチテナント","name":"クライアントのAPI登録","detail":"POST /v1/clients で設定を投入する","status":"done","status_label":"実装済み"},{"id":"SB-17-004","category":"クライアント管理・マルチテナント","name":"クライアント一覧API","detail":"登録済みの全クライアントを取得する","status":"done","status_label":"実装済み"},{"id":"SB-17-005","category":"クライアント管理・マルチテナント","name":"認証情報のマスク返却","detail":"APIの応答でトークンを *** に伏せる","status":"done","status_label":"実装済み"},{"id":"SB-17-006","category":"クライアント管理・マルチテナント","name":"配信先の役割上書き","detail":"既定の役割をクライアント側で変更する","status":"done","status_label":"実装済み"},{"id":"SB-17-007","category":"クライアント管理・マルチテナント","name":"クライアント別UTMキャンペーン","detail":"計測パラメータを社ごとに分ける","status":"done","status_label":"実装済み"},{"id":"SB-17-008","category":"クライアント管理・マルチテナント","name":"業種(industry)の保持","detail":"業種を設定に持ち、雛形の出し分けに使う","status":"done","status_label":"実装済み"},{"id":"SB-17-009","category":"クライアント管理・マルチテナント","name":"サテライトサイト構成","detail":"同一クライアントで別ドメインをprimaryに持つ","status":"done","status_label":"実装済み"},{"id":"SB-17-010","category":"クライアント管理・マルチテナント","name":"コンソールのクライアント切替","detail":"画面上部でクライアントを選び全ビューに反映する","status":"done","status_label":"実装済み"},{"id":"SB-17-011","category":"クライアント管理・マルチテナント","name":"クライアント別の記事棚","detail":"記事をクライアント単位で分けて保管する","status":"done","status_label":"実装済み"},{"id":"SB-17-012","category":"クライアント管理・マルチテナント","name":"クライアント追加ウィザード","detail":"画面から数ステップで新規クライアントを作る","status":"done","status_label":"実装済み"},{"id":"SB-17-013","category":"クライアント管理・マルチテナント","name":"クライアントごとの利用量計測","detail":"記事数・配信数をテナント別に数える","status":"done","status_label":"実装済み"},{"id":"SB-17-014","category":"クライアント管理・マルチテナント","name":"データの完全分離","detail":"テナント別の窓口で参照を強制し、混在しないことを検証・書き出し・削除できる","status":"done","status_label":"実装済み"},{"id":"SB-17-015","category":"クライアント管理・マルチテナント","name":"クライアント側ログイン","detail":"顧客が自分の記事と成果だけを見る画面","status":"done","status_label":"実装済み"},{"id":"SB-17-016","category":"クライアント管理・マルチテナント","name":"代理店アカウント階層","detail":"代理店→エンドクライアントの2階層で管理する","status":"done","status_label":"実装済み"},{"id":"SB-18-001","category":"ワークフロー・承認","name":"ドライラン確認フロー","detail":"配信前に中身を確認してから本番実行する運用ができる","status":"done","status_label":"実装済み"},{"id":"SB-18-002","category":"ワークフロー・承認","name":"下書き公開","detail":"draft指定で媒体に下書きとして置き、人が最終確認する","status":"done","status_label":"実装済み"},{"id":"SB-18-003","category":"ワークフロー・承認","name":"手動投稿タスクの生成","detail":"note/Ameba用の作業パッケージを自動で用意する","status":"done","status_label":"実装済み"},{"id":"SB-18-004","category":"ワークフロー・承認","name":"手動投稿の完了記録","detail":"投稿後のURLを登録してジョブを閉じる","status":"done","status_label":"実装済み"},{"id":"SB-18-005","category":"ワークフロー・承認","name":"承認ステータス管理","detail":"draft→レビュー中→承認済み→公開 の状態を持つ","status":"done","status_label":"実装済み"},{"id":"SB-18-006","category":"ワークフロー・承認","name":"担当者アサイン","detail":"記事ごとに執筆者・校正者・承認者を割り当てる","status":"done","status_label":"実装済み"},{"id":"SB-18-007","category":"ワークフロー・承認","name":"コメント・修正指示","detail":"記事の該当箇所にコメントを付けてやり取りする","status":"done","status_label":"実装済み"},{"id":"SB-18-008","category":"ワークフロー・承認","name":"差し戻し","detail":"承認者が理由を付けて執筆者に返す","status":"done","status_label":"実装済み"},{"id":"SB-18-009","category":"ワークフロー・承認","name":"承認期限と催促","detail":"期限切れの承認待ちを自動で催促する","status":"done","status_label":"実装済み"},{"id":"SB-18-010","category":"ワークフロー・承認","name":"チェックリスト","detail":"公開前の確認項目を必須化する","status":"done","status_label":"実装済み"},{"id":"SB-18-011","category":"ワークフロー・承認","name":"変更履歴と監査証跡","detail":"誰がいつ何を変えたかを残す","status":"done","status_label":"実装済み"},{"id":"SB-18-012","category":"ワークフロー・承認","name":"タスクボード","detail":"制作中の記事をカンバンで俯瞰する","status":"done","status_label":"実装済み"},{"id":"SB-19-001","category":"API・拡張・連携","name":"REST API","detail":"記事投入・ジョブ取得・クライアント管理をHTTPで提供する","status":"done","status_label":"実装済み"},{"id":"SB-19-002","category":"API・拡張・連携","name":"APIキー認証","detail":"X-API-Key ヘッダで保護する（未設定ならローカル用に無認証）","status":"done","status_label":"実装済み"},{"id":"SB-19-003","category":"API・拡張・連携","name":"OpenAPI仕様の自動生成","detail":"FastAPIが /openapi.json とSwagger UIを出す","status":"done","status_label":"実装済み"},{"id":"SB-19-004","category":"API・拡張・連携","name":"プラットフォーム能力API","detail":"対応媒体と機能をJSONで取得する","status":"done","status_label":"実装済み"},{"id":"SB-19-005","category":"API・拡張・連携","name":"機能カタログAPI","detail":"500機能とその実装状況をJSONで返す","status":"done","status_label":"実装済み"},{"id":"SB-19-006","category":"API・拡張・連携","name":"Webhookアダプタ","detail":"任意の外部システムへ記事JSONをPOSTする","status":"done","status_label":"実装済み"},{"id":"SB-19-007","category":"API・拡張・連携","name":"Webhook署名","detail":"共有シークレットで送信元を検証できるようにする","status":"done","status_label":"実装済み"},{"id":"SB-19-008","category":"API・拡張・連携","name":"CLI","detail":"platforms / validate / publish をコマンドで実行する","status":"done","status_label":"実装済み"},{"id":"SB-19-009","category":"API・拡張・連携","name":"アダプタ拡張点","detail":"@register を付けたクラス1つで新媒体を追加できる","status":"done","status_label":"実装済み"},{"id":"SB-19-010","category":"API・拡張・連携","name":"Pythonパッケージとして利用","detail":"pip install してライブラリとして組み込む","status":"done","status_label":"実装済み"},{"id":"SB-19-011","category":"API・拡張・連携","name":"Webhook受信(インバウンド)","detail":"外部の公開イベントを受け取って状態を更新する","status":"done","status_label":"実装済み"},{"id":"SB-19-012","category":"API・拡張・連携","name":"APIレート制限","detail":"キーごとの呼び出し上限を設ける","status":"done","status_label":"実装済み"},{"id":"SB-19-013","category":"API・拡張・連携","name":"APIキーのスコープ","detail":"読み取り専用キーと配信可能キーを分ける","status":"done","status_label":"実装済み"},{"id":"SB-19-014","category":"API・拡張・連携","name":"SDK提供","detail":"JavaScript / Python のクライアントライブラリを配る","status":"done","status_label":"実装済み"},{"id":"SB-20-001","category":"セキュリティ・権限","name":"シークレットの環境変数化","detail":"トークンを設定ファイルに直書きせず実行時に注入する","status":"done","status_label":"実装済み"},{"id":"SB-20-002","category":"セキュリティ・権限","name":"応答での資格情報マスク","detail":"APIレスポンスから実トークンを排除する","status":"done","status_label":"実装済み"},{"id":"SB-20-003","category":"セキュリティ・権限","name":"APIキーによるアクセス制御","detail":"配信系エンドポイントを鍵付きにする","status":"done","status_label":"実装済み"},{"id":"SB-20-004","category":"セキュリティ・権限","name":"コンソールの読み取り専用モード","detail":"鍵が無い閲覧者には配信操作をさせない","status":"done","status_label":"実装済み"},{"id":"SB-20-005","category":"セキュリティ・権限","name":"HTTPS前提の通信","detail":"外部API・自サイトともTLSで通す","status":"done","status_label":"実装済み"},{"id":"SB-20-006","category":"セキュリティ・権限","name":"外部リンクのnoopener","detail":"タブナビング対策としてrelを付ける","status":"done","status_label":"実装済み"},{"id":"SB-20-007","category":"セキュリティ・権限","name":"入力値の検証","detail":"pydanticで型・必須・書式を検査して不正入力を弾く","status":"done","status_label":"実装済み"},{"id":"SB-20-008","category":"セキュリティ・権限","name":"ユーザーアカウントとログイン","detail":"個人単位の認証を持つ","status":"done","status_label":"実装済み"},{"id":"SB-20-009","category":"セキュリティ・権限","name":"ロール権限(RBAC)","detail":"管理者/編集者/閲覧者で操作を分ける","status":"done","status_label":"実装済み"},{"id":"SB-20-010","category":"セキュリティ・権限","name":"二要素認証","detail":"ログインに追加の確認要素を求める","status":"done","status_label":"実装済み"},{"id":"SB-20-011","category":"セキュリティ・権限","name":"シークレットの暗号化保管","detail":"トークンを暗号化してデータベースに持つ","status":"done","status_label":"実装済み"},{"id":"SB-20-012","category":"セキュリティ・権限","name":"監査ログ","detail":"設定変更・配信操作の履歴を残す","status":"done","status_label":"実装済み"},{"id":"SB-20-013","category":"セキュリティ・権限","name":"IP制限","detail":"管理画面へのアクセス元を絞る","status":"done","status_label":"実装済み"},{"id":"SB-20-014","category":"セキュリティ・権限","name":"個人情報の取り扱い方針","detail":"収集項目と保持期間を明文化して守る","status":"done","status_label":"実装済み"},{"id":"SB-21-001","category":"課金・プラン","name":"料金プランの提示","detail":"プラン内容と価格をサイト上で明示する","status":"done","status_label":"実装済み"},{"id":"SB-21-002","category":"課金・プラン","name":"プラン別の機能差の明示","detail":"どのプランで何が使えるかを表で示す","status":"done","status_label":"実装済み"},{"id":"SB-21-003","category":"課金・プラン","name":"問い合わせ導線","detail":"見積もり・相談への導線を各ページに置く","status":"done","status_label":"実装済み"},{"id":"SB-21-004","category":"課金・プラン","name":"利用量の計測","detail":"記事数・配信数・LINE通数をプラン上限と突き合わせる","status":"done","status_label":"実装済み"},{"id":"SB-21-005","category":"課金・プラン","name":"上限超過の警告","detail":"しきい値到達時に通知する","status":"done","status_label":"実装済み"},{"id":"SB-21-006","category":"課金・プラン","name":"クレジットカード決済","detail":"オンラインで申し込みと支払いを完結させる","status":"done","status_label":"実装済み"},{"id":"SB-21-007","category":"課金・プラン","name":"請求書発行","detail":"月次の請求書PDFを自動発行する","status":"done","status_label":"実装済み"},{"id":"SB-21-008","category":"課金・プラン","name":"インボイス制度対応","detail":"適格請求書の記載要件を満たす","status":"done","status_label":"実装済み"},{"id":"SB-21-009","category":"課金・プラン","name":"トライアル期間","detail":"一定期間の無料利用を管理する","status":"done","status_label":"実装済み"},{"id":"SB-21-010","category":"課金・プラン","name":"プラン変更・解約","detail":"画面から即時に切り替える","status":"done","status_label":"実装済み"},{"id":"SB-22-001","category":"運用・信頼性","name":"自動テスト","detail":"エンジン・アダプタ・API・本文整形のテストを備える","status":"done","status_label":"実装済み"},{"id":"SB-22-002","category":"運用・信頼性","name":"HTTPモックによるアダプタ検証","detail":"respxで外部APIを模してリクエスト内容を検査する","status":"done","status_label":"実装済み"},{"id":"SB-22-003","category":"運用・信頼性","name":"ヘルスチェック","detail":"/v1/health で稼働とクライアント数を返す","status":"done","status_label":"実装済み"},{"id":"SB-22-004","category":"運用・信頼性","name":"コンテナ化","detail":"Dockerイメージ1つで起動する","status":"done","status_label":"実装済み"},{"id":"SB-22-005","category":"運用・信頼性","name":"設定不備の早期発見","detail":"起動時にYAMLを検証し不正な配信先を弾く","status":"done","status_label":"実装済み"},{"id":"SB-22-006","category":"運用・信頼性","name":"障害の局所化","detail":"1媒体の障害が他媒体の配信を止めない","status":"done","status_label":"実装済み"},{"id":"SB-22-007","category":"運用・信頼性","name":"バージョン表示","detail":"稼働中のバージョンをAPIとフッタに出す","status":"done","status_label":"実装済み"},{"id":"SB-22-008","category":"運用・信頼性","name":"変更履歴(CHANGELOG)","detail":"出荷した機能を公開の変更履歴に残す","status":"done","status_label":"実装済み"},{"id":"SB-22-009","category":"運用・信頼性","name":"構造化ログ","detail":"ジョブIDつきの機械可読ログを出す","status":"done","status_label":"実装済み"},{"id":"SB-22-010","category":"運用・信頼性","name":"メトリクス出力","detail":"配信数・失敗率をPrometheus形式で出す","status":"done","status_label":"実装済み"},{"id":"SB-22-011","category":"運用・信頼性","name":"バックアップと復元","detail":"設定とジョブ履歴を定期バックアップする","status":"done","status_label":"実装済み"},{"id":"SB-22-012","category":"運用・信頼性","name":"ステータスページ","detail":"各媒体連携の稼働状況を公開する","status":"done","status_label":"実装済み"},{"id":"SB-23-001","category":"ローカルSEO・MEO","name":"地域名を含む記事運用","detail":"地域×サービスの記事をクライアント設定から回せる","status":"done","status_label":"実装済み"},{"id":"SB-23-002","category":"ローカルSEO・MEO","name":"Googleビジネスプロフィール連携","detail":"投稿・営業情報の更新を自動化する","status":"done","status_label":"実装済み"},{"id":"SB-23-003","category":"ローカルSEO・MEO","name":"口コミの収集と返信支援","detail":"レビューを集約しAIが返信文を下書きする","status":"done","status_label":"実装済み"},{"id":"SB-23-004","category":"ローカルSEO・MEO","name":"NAP情報の一貫性チェック","detail":"社名・住所・電話の表記ゆれを各所で点検する","status":"done","status_label":"実装済み"},{"id":"SB-23-005","category":"ローカルSEO・MEO","name":"地図検索順位の計測","detail":"地点ごとのローカルパック順位を測る","status":"done","status_label":"実装済み"},{"id":"SB-23-006","category":"ローカルSEO・MEO","name":"店舗別ページの量産","detail":"多店舗のページを構造化データ付きで生成する","status":"done","status_label":"実装済み"},{"id":"SB-23-007","category":"ローカルSEO・MEO","name":"LocalBusiness構造化データ","detail":"営業時間・住所・電話をJSON-LDで出す","status":"done","status_label":"実装済み"},{"id":"SB-23-008","category":"ローカルSEO・MEO","name":"地域メディアへの配信","detail":"地域情報サイトへの掲載導線を管理する","status":"done","status_label":"実装済み"},{"id":"SB-24-001","category":"AI検索最適化（AIO / LLMO）","name":"機械可読な記事構造","detail":"見出し・箇条書き・表を保ったMarkdownを一次情報として持つ","status":"done","status_label":"実装済み"},{"id":"SB-24-002","category":"AI検索最適化（AIO / LLMO）","name":"要約(excerpt)の明示提供","detail":"AIが引用しやすい短い要約を記事に必ず持たせる","status":"done","status_label":"実装済み"},{"id":"SB-24-003","category":"AI検索最適化（AIO / LLMO）","name":"構造化データの出力","detail":"Article JSON-LDでページの意味を機械に伝える","status":"done","status_label":"実装済み"},{"id":"SB-24-004","category":"AI検索最適化（AIO / LLMO）","name":"クロール許可の明示","detail":"robots.txtでAIクローラの扱いを宣言できる","status":"done","status_label":"実装済み"},{"id":"SB-24-005","category":"AI検索最適化（AIO / LLMO）","name":"llms.txt の提供","detail":"サイトの要点をLLM向けの索引として公開する","status":"done","status_label":"実装済み"},{"id":"SB-24-006","category":"AI検索最適化（AIO / LLMO）","name":"AI検索での引用監視","detail":"生成AIの回答に自社が現れるかを定点観測する","status":"done","status_label":"実装済み"},{"id":"SB-24-007","category":"AI検索最適化（AIO / LLMO）","name":"回答されやすい定義文の設計","detail":"冒頭に一問一答形式の定義を置く型を用意する","status":"done","status_label":"実装済み"},{"id":"SB-24-008","category":"AI検索最適化（AIO / LLMO）","name":"一次情報・独自データの付与","detail":"自社調査の数値を記事に持たせて引用価値を上げる","status":"done","status_label":"実装済み"},{"id":"SB-24-009","category":"AI検索最適化（AIO / LLMO）","name":"エンティティ整合","detail":"社名・製品名の表記を全媒体で統一し実体を認識させる","status":"done","status_label":"実装済み"}]}