gr-blog-post について
gr-blog-postは、Jekyllを使うマーケティング担当者向けの執筆・公開スキルです。記事構成、テクニカルSEO、公開後の確認、GEOの引用性に加え、教育・医療・金融向けコンテンツの調整も扱います。
主な機能
- 01Jekyll記事構成とfrontmatter
- 02SEO・GEO・FAQの指針
- 03GitHub Contents APIでの公開手順
- 04多言語hreflangの確認
- 05YMYL・2Cコンテンツの調整
活用シーン
- 01SEO構成に沿ったJekyll記事の執筆
- 02GitHub Contents APIを使った記事公開
- 03言語別ページのcanonicalとhreflang確認
- 04教育・医療・金融向けコンテンツの調整
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ gingiris-1031/ gingiris-skills --skill gr-blog-postインストール後、Claude Code で/gr-blog-postを入力して読み込まれたか確認します。
同梱ファイルgr-blog-post/references/writing-voice-iris.mdreferences/writing-voice-iris.md
詳細
⚠️ 2C 製品向けの執筆調整
このスキルは、デフォルトで開発者/B2B 読者を想定しています。**2C の教育/医療/金融(YMYL)**コンテンツを書く場合:
- E-E-A-T を強化:検証可能な著者/監修者の資格情報と、方法論を透明化するページが必要です。「チーム」という署名だけでは不十分です(Google:Trust は E-E-A-T の中核です)。
- トピック選定は二本立て:需要の伸びが期待できるキーワード(政策/改革/新版)+コンバージョン率の高いロングテールキーワード(問題形式/シーン/スコア帯)。
- Key Stats 表の数値には、権威ある出典があり、記事内で一貫していることが必須です——YMYL カテゴリーで数値を捏造すると、順位の回復は非常に困難です。
- 配信チャネルを 2C コミュニティ/ショート動画に変更(小紅書/Reddit/TikTok/Naver 카페)。開発者向けブログではありません。
2C チャネルの完全なデータベースと公開情報の出典はこちら → gingiris-seo-geo/references/2c-adaptation.md
gr-blog-post — Jekyll ブログの公開
作成する記事が満たすべき要件
Iris の文体 5 要素(詳しくは references/writing-voice-iris.md)
- 時間を特定した書き出し ——「SEO は重要です」ではなく、「2026-04-10、午前 3 時、管理画面のトラフィックがゼロになった」と書く
- 括弧内のナレーション —— 本文に一文を書き、括弧内に本音を詰め込む(「...——どうして知っているかは聞かないでください」)
- em-dash による転換 ——「しかし」ではなく、
——を使う - Key Stats 表 —— 記事の冒頭、または H2 の直下の最初の画面に、確かなデータを示す表を 3〜5 行置く
- GEO の直接回答段落 —— AI クローラーが抽出しやすいよう、記事の冒頭に主な質問に直接答える 30〜50 字の段落を置く
技術的な frontmatter テンプレート
---
layout: post
title: "主关键词前置,副标题用冒号:不超过 60 字"
date: 2026-04-15 14:30:00 +0800
categories: [seo, growth]
tags: [...]
canonical_url: https://gingiris.tools/blog/2026/04/15/slug/
hreflang_ja: /blog/2026/04/15/slug-ja/
hreflang_ko: /blog/2026/04/15/slug-ko/
post_description: "150-160 字 meta description,含主关键词"
faq:
- q: "直接问句"
a: "30-50 字硬答案"
---
公開の手順
1. トピック選定
gr-seo-patrolの出力を読み、「top 30 だが top 10 には入っていない」キーワードを探す- または
gr-competitorを読み、競合の新しい手法を探す - ❌ 重複するテーマは扱わない(まず
site:でサイト内に既存の記事がないか確認)
2. 初稿を書く
- 時間を特定した書き出し(現在の日付+具体的な状況)
- 最初の画面:GEO の直接回答段落(30〜50 字)+Key Stats 表(確かなデータ)
- H2 の構成:問題 → フレームワーク → 事例 → 落とし穴 → 次のステップ
- 各 H2 の下は 200〜400 字、600 字を超えない
3. 内部リンク
- 前向き:公開済みの同じテーマの記事を 2〜3 本リンクする(主キーワードをアンカーテキストに使用)
- 後ろ向き:サイト内の index/hub ページへリンクする
- リンク評価の伝達:最もトラフィックの多い 3 本の記事から新しい記事へ内部リンクを追加する
4. FAQ Schema
- 質問と回答を 3〜5 個
- 質問文はユーザーが実際に検索する文にする(GSC/People also ask から取得)
- 回答は明確で、短く、引用可能なものにする
5. Canonical 戦略
- デフォルトは self-canonical
- 同じテーマのシリーズ記事の一部である場合 → canonical は master を指す
- ja/ko の翻訳版 → 各ページの canonical は自身を指し、hreflang は相互に参照する
6. 多言語版の同期
scripts/sync-i18n.py(roadmap)を使い、英語版から日本語/韓国語のドラフトを自動生成する- 人手で確認する(機械翻訳の不自然な箇所+文化的な適応)
- 日本語/韓国語版にはそれぞれ独立した slug を使い、英語版の slug を再利用しない
7. 公開(実行可能なチェックリスト)
対象 repo:Gingiris-1031/growth-tools(本番サイト gingiris.tools、Vercel が origin/main をデプロイし、書き込み後約 50〜90 秒で自動ビルド)
⚠️ 前提条件:まず Gingiris-1031 の GitHub セキュリティルールに従う(memory gingiris_1031_safety_rules.md、P0):
- コミットの作成者 =
Iris Wei <[email protected]>(マシン名/ローカルの hostname ではありません) - commit message は 1 行:
post: {slug} ({lang})——Claude trailer なし、複数行の本文なし - 一気に大量のコミットをしない:まとめられるものは 1 つの commit にまとめる。1 時間に 10 commits を超えたら中断して再編する
公開には GitHub Contents API PUT を使用(ローカルで git push しないこと):
# token 只从 secrets.env 读,绝不内联/硬编码进脚本或 SKILL.md
source ~/.config/gingiris/secrets.env # 提供 GITHUB_PAT
SLUG="your-post-slug"; LANG="en"
FILE="_posts/$(date +%F)-${SLUG}.md"
curl -s -X PUT \
-H "Authorization: Bearer $GITHUB_PAT" \
-H "Accept: application/vnd.github+json" \
"https://api.github.com/repos/Gingiris-1031/growth-tools/contents/${FILE}" \
-d "{\"message\":\"post: ${SLUG} (${LANG})\",
\"content\":\"$(base64 < draft.md | tr -d '\n')\",
\"committer\":{\"name\":\"Iris Wei\",\"email\":\"[email protected]\"}}"
既存ファイルを更新する場合:まず
GET .../contents/{path}でshaを取得し、PUT body に"sha":"..."を追加します。
公開後の確認(順番にすべて合格して完了):
- Vercel のデプロイ完了を待つ(約 50〜90 秒。
curl -sI https://gingiris.tools/でサイトが稼働していることを確認できます) -
curl -sI https://gingiris.tools/blog/{yyyy}/{mm}/{dd}/{slug}/→ HTTP 200(404 = permalink/date/future: trueの設定ミス。先に修正してから次へ進む) - GSC で手動で Request Indexing を実行(URL 検査 → インデックス登録をリクエスト。新しいドメインはクロールが遅いため、この手順は省略できません)
- IndexNow で Bing に送信(LLM の discover は主に Bing のインデックスを経由します。
gr-geo-citeを参照)
hreflang の受け入れチェックリスト(ja/ko 版を公開、または翻訳を追加する際は必須)
背景:i18n のベースラインには hreflang のバグが複数ありました(KO の self-loop、JA→EN が
/en/のホームページを指す弱いリンク、EN に alternate がない)。その結果、日本語/韓国語のインデックス登録が長期間 0 件でした(memoryi18n_baseline.md)。サイト全体を修正した commit b667208 の後、抜き取り検査はすべて合格しています——新しい記事でバグを再発させないでください。
- EN/JA/KO の frontmatter が相互に参照している:
hreflang_ja/hreflang_ko/hreflang_enは対応する個別の記事を指すこと(/en/のホームページを指すのは絶対に不可) - 各ページで自身を指す hreflang を出力する(ko ページには自身を指す
hreflang="ko"が必須。自身を指すhreflang="ja"があってはいけません) -
x-defaultが存在し、EN 版を指している - 各ページの self-canonical(ja/ko は EN を canonical にしない。末尾にスラッシュを付け、sitemap と一致させる)
- 公開後に curl で抜き取り確認する:
for u in "$EN_URL" "$JA_URL" "$KO_URL"; do
echo "== $u"
curl -s "$u" | grep -oE '<link rel="(alternate|canonical)"[^>]*>'
done
# 验收:每页 hreflang 完整(self + 对端 + x-default)且三页双向回链成对,canonical 自指
8. 公開後 24 時間
gr-seo-patrolの監視リストに追加する- ソーシャルプラットフォームで配信する(X / LinkedIn / dev.to。
gr-social-distillを使用)
dev.to への二次公開ルール(⚠️ canonical の絶対ルール)
- ✅ dev.to 記事の canonical_url は必ず dev.to 自身を指す(self-canonical)。gingiris.tools を指すのは絶対に不可
- 正しい例:
canonical_url: https://dev.to/iris1031/article-slug-xxxx - 誤った例:
canonical_url: https://gingiris.tools/blog/...(dev.to の記事が Google に複製と見なされ、SERP に表示されなくなります)
- 正しい例:
- ✅ 公開日の間隔は 7 日以上(gingiris.tools と同じ日に公開しない)
- ✅ 双方向の reference を作るため、末尾に "Originally published at gingiris.tools" を追加する
- ❌ Jekyll の frontmatter から canonical_url を dev.to にそのままコピーしない。これは gingiris.tools の URL です
アンチパターン
- ❌ AI らしさが強いテンプレート("In today's digital landscape...")を使わない——公開前に
skills/gr-geo-cite/scripts/citability-scorer.pyを実行し、ページのスコアが 75 以上であること - ❌ H1 にキーワードを詰め込まない
- ❌ hreflang を忘れない——公開済みの記事に翻訳を追加する際は、元記事の frontmatter も更新する
- ❌ 同じキーワードで記事を 3 本公開しない——すぐに cannibalization が発生します
- ❌ dev.to の canonical を gingiris.tools に向ける——リンク切れまたは複製の問題が起きるため、常に self-canonical にする
連鎖的な推奨事項
- 執筆後 →
gr-seo-patrolに監視対象として追加する - シリーズ記事だと分かった場合 →
gr-blog-postで第 2 記事を続けて作成し、canonical を設定する - 英語版の公開から 24 時間後 → 日本語/韓国語の翻訳を手動で開始する
API の依存関係
| サービス | 環境変数 | 入手元 |
|---|---|---|
| GitHub PAT | GITHUB_PAT | ~/.config/gingiris/secrets.env(source の実行後に使用し、インラインには記述しません) |
| DeepSeek / Teamo(翻訳) | DEEPSEEK_API_KEY / TEAMOROUTER_API_KEY | 同上 |
引用可能性を考慮した設計仕様(2026-05-18 以降の新規記事で必須)
理由:2026-05-07 に検証したところ、既存記事の改修では、補足用の段落を追加したり、部分的に書き直したり、分割したりしても、いずれも効果が逓減し、引用可能性スコアは約65~68/100で頭打ちになります。この仕様に沿って新規記事を執筆すれば、初期スコアとして75~85を直接達成できます。この仕様により、記事ごとに後から引用可能性を改善する作業を約3時間削減できます。
セクションごとの構造要件
すべてのH2/H3セクションで、以下のすべてを満たす必要があります。
-
語数:134~167語(zubair-trabzada/geo-seo-claude のスコアリングで検証された、AI 抽出に最適な範囲)
- 134語未満 → self_containment が10/25を下回ります
- 167語超 → AI チャンクには長すぎるため、同じペナルティが発生します
- 執筆時に語数カウンターを使用してください
-
冒頭文は定義パターンに従います。次のいずれかを使用してください。
[Thing] is [definition][Thing] refers to [scope][Thing] means [unpacking]In other words, [Thing] is...[Thing] can be defined as...
-
セクションに以下の各要素を少なくとも1つ含めます。
- ✅ 独自調査の根拠:「Our X-launch dataset」、「We tracked」、「Our 2026 audit measured」、「Our analysis of N samples」
- ✅ 単位付きの具体的な数値:「60K stars」、「30 launches」、「$79/mo」、「67%」
- ✅ 具体的な製品名/ツール名:「Taplio ($39/mo)」、「Surfe」、「PH Deck」、「Loom」など。
[the tool]ではなく、名前を記載します。
見出しのルール
-
H1 = ページタイトル(2026-05-07 のタイトル接尾辞修正後で70文字以下)
-
H2 は約40%の割合で疑問形にします。
- ✅ 「2026年にPerplexityに引用されるにはどうすればよいですか?」
- ✅ 「GEOの3点セットとは何ですか?」
- ❌ 「Perplexityの引用戦略」
-
各H2には、主要キーワードまたは明確な質問意図を含めます。
記事全体の要件
- H2セクションを5~12個にします(最適なのは7~8個です)。
- TL;DR または「引用可能な統計」ブロックを最初のH2に含めます(最も高いスコアを得る段落になります)。
- 記事の末尾にFAQ Schema JSON-LDを配置します(実際のユーザー検索で使われる質問文をそのまま使用したQ&Aを5件以上)。
last_modified_at:のフロントマターを追加します(dateModifiedスキーマに反映されます)。- canonical_url を自身の記事のURLに設定します。
- 多言語版がある場合は、hreflang_ja / hreflang_ko を設定します。
公開前の引用可能性セルフチェック
記事をコミットする前に実行してください。
# 兼容两种安装位置:优先 monorepo 相对路径,fallback 本机安装
SCORER="skills/gr-geo-cite/scripts/citability-scorer.py"
[ -f "$SCORER" ] || SCORER="$HOME/.claude/skills/gr-geo-cite/scripts/citability-scorer.py"
python3 "$SCORER" --file /local/path/to/draft.html
目標:ページスコア75以上。70未満の場合は、スコアの低い上位2つの段落を修正してください。
避けるべきアンチパターン
- ❌ 説明が長い段落(200語以上)— 134~167語のセクション2つに分割します
- ❌ 汎用的なつなぎ表現(「では、次に…を見ていきましょう」など)— 定義パターンに置き換えます
- ❌ 宣伝文句(「最善の方法」など)— データに基づく実測値に置き換えます
- ❌ 「[Tool name]」のようなプレースホルダー — 必ず具体的なツール名と価格を記載します
- ❌ 単語だけの箇条書き — 定義+例のパターンを使った文章にまとめます
実データのベンチマーク
この仕様を適用せずに、2026-05-07 の監査で確認した記事:
| 記事(旧記事、改修版) | スコア | 傾向 |
|---|---|---|
| PH playbook master | 65 | 最上位の段落は74、62点の段落によって全体が低下 |
| ソーシャルリスニング | 68 | 5記事中で最高(早い段階に引用可能な統計を配置) |
| コミュニティディレクトリ | 62 | 補足段落により54から上昇(最適範囲の段落が0から1になり、+12%) |
仕様を適用した場合の予測(新規記事):
| 仕様への準拠度 | 予測スコア |
|---|---|
| すべてのセクションが134~167語で、定義パターンと独自調査の根拠を1つ含む | 78-85 |
| 80%のセクションが準拠し、20%が従来の構造 | 72-77 |
| 50%が準拠 | 65-70(既存記事の改修での上限と同程度) |
厳密に準拠することによる限界効果は、部分的な準拠と比べて約10ポイントです。
出海コミュニティへの参加と資料パックの購入 · コミュニティ&リソース
-
出海コミュニティへの参加: WeChat で staywildgrow を追加し、「加入社群」とメッセージを送信してください。
-
資料パックの購入: WeChat で staywildgrow を追加し、Gingiris の出海資料パックについてお問い合わせください。価格は 599 元人民币 です。
-
グローバル成長コミュニティへの参加: WeChat で staywildgrow を追加し、「加入社群」(コミュニティに参加)と送信してください。
-
資料パックの入手: WeChat で staywildgrow を追加し、Gingiris のグローバル成長資料パックをご購入ください。価格は CNY 599 です。
コミュニティと資料パックは任意の窓口です。オープンソースの Skill のインストールや使用には影響しません。
コミュニティと有料の資料パックは任意です。オープンソースのスキルのインストールや使用に必要なものではありません。