【Python製】Gemini APIでWordPressブログを毎日自動更新するシステム一式(ソースコード+セットアップマニュアル)
- ダウンロード商品¥ 2,980


現役エンジニアが自分のブログ運用のために開発した、WordPressへの記事自動生成・投稿システム「Auto-Article Core」のソースコード一式です。 月額課金のSaaSを使わず、Google Gemini APIの無料枠を活用することで、ランニングコストをほぼゼロに抑えて運用できます。APIキーなしで完全オフライン動作するOllamaモードにも対応しています。 --- ▼ 主な機能 ━━━━━━ ■ ペルソナ設定による記事品質の向上 「20代の美容オタク」「コスパ重視のエンジニアパパ」など、詳細な書き手像を設定ファイルに定義することで、実体験ベースのような説得力のある文章をAIに生成させます。薄い量産記事とは一線を画す、E-E-A-Tを意識した構成です。 ■ ジャンル別の記事構成に対応 ガジェット・教育・クラフト・汎用の4タイプを内蔵。さらに「美容」「料理」「旅行」など独自ジャンルは設定ファイルに構成を書くだけでAIに反映されます。コアのコードを一切触らずに、どんなジャンルのブログにも対応できます。 ■ 品質チェック&自動リライト 記事生成後、別のAIが構成・文字数・検索ニーズの充足度を100点満点で採点。基準を満たさなかった記事は自動でリライトされてから投稿されます。 ■ ファクトチェック機能 生成した記事の数値・価格・スペックをAIがWeb検索で自動照合し、疑わしい箇所をWordPress下書きの末尾にHTMLコメントとして追記します。流し読みするだけで確認すべき箇所が一目でわかります。 ■ WordPress完全自動投稿 スクリプト実行だけで、記事生成からWordPressへの投稿までを一括処理。アイキャッチ画像の自動取得、過去記事への内部リンク挿入にも対応しています。タスクスケジューラ(Windows)やcron(Mac/Linux)に登録すれば、完全放置での定期更新が可能です。 ■ アフィリエイトリンク自動挿入 もしもアフィリエイト等のIDを設定ファイルに書くだけで、記事の文脈に合った商品リンクのHTMLをAIが直接生成して挿入します。AdSense審査中はワンライン変更でオフにできます。 ■ APIキー不要のローカルモード(Ollama対応) .envファイルに1行追記するだけで、ローカルLLM(Ollama)を使った完全オフライン動作に切り替えられます。Gemini APIキーなしでも動作するため、API費用ゼロでの運用も可能です。 --- ▼ お届け内容(ZIPファイル)━━━━━━ ・Auto-Article Core ソースコード一式(Python) APIキー等の個人情報は含まない状態でお届けします。 ・完全セットアップマニュアル(PDF) Pythonのインストール〜Gemini APIキー取得〜WordPress連携〜初回テスト投稿まで、手順ごとに丁寧に解説しています。プログラミング未経験の方でもマニュアル通りに進めれば動かせる設計です。 ・ブログ設定テンプレート(blog-template フォルダ) コピペで使えるジャンル別の設定サンプル・カスタム記事構成の記述例を同梱しています。 --- ▼ 動作環境・必要なもの ━━━━━━ ・OS:Windows 10/11 または macOS(Python 3.10以上) ・Googleアカウント(Gemini APIキー取得用・無料枠あり)※Ollamaモード使用時は不要 ・WordPressで構築済みのブログ --- ▼ サポートについて ━━━━━━ 買い切り型のコード提供です。個別の設定エラー対応は原則行っておりませんが、マニュアルはつまずきやすいポイントを網羅した内容になっています。 --- ▼ ライセンス・利用規約 ━━━━━━ 【OK】 ・購入者本人の複数ブログ・複数サーバーでの稼働 ・自身の用途に合わせたソースコードの改変(カスタマイズ) ・アフィリエイト等の収益化・商用利用 【NG】 ・ソースコードの二次配布・転売・公開(GitHubへのパブリックアップロード含む) ・本システムをベースにした類似ツールの販売 ・クライアントワーク(受託開発)への流用
アップデート履歴
================================================== Auto-Article Core - 更新履歴 ================================================== このファイルには、購入後の各アップデートで何が変わったかを新しい順に記載しています。 「✨ 新機能・改善」「🐛 修正」「🔧 やること」のアイコンで、自分に必要な変更点を すばやく確認できるようにしてあります。 【v2.6.2】 2026-05-15 -------------------------------------------------- ■ 要約:記事本文が途中で切れたまま投稿される不具合を修正 🐛 修正 ・AI(Gemini)の出力トークン上限を 8192 から 32768 へ拡大しました。 これまで長めの記事を生成すると、本文が「まとめ」や最終セクションに到達する前に 途中で切れたまま投稿されることがありました。 ・AI の出力が上限到達で切られた場合に警告ログを出すようにしました。 (これまで気付かずに切れた記事が下書き保存・公開されていました) ・公開前品質ゲートに「末尾切れ検出」を追加しました。以下のいずれかに該当すると 投稿をブロックし、status=quality_failed としてスキップします: - 最終 H2 セクション直後の本文が極端に短い(30字未満) - 本文末尾が閉じていない HTML タグで終わっている - 最終段落が句読点で終わっていない(文中切れ) - ファクトチェック等の後処理ブロックがあるのに H2 数が3以下かつ本文6000字未満 🔧 やること(任意) ・過去に投稿した記事で「末尾が突然切れている」「最終セクションが短すぎる」と 気付いたものがあれば、--rewrite-id でリライトすると修正できます: python main.py --blog my-blog --rewrite-id <記事ID> ⚠️ 既知の影響 ・このバグは v1 系から潜在していました。v2.4.0 以降のプロンプト長文化で表面化した 可能性が高く、過去記事に末尾切れが残っているケースがあります。 ・WordPress 管理画面「投稿」一覧で本文が短いものを目視確認することを推奨します。 【v2.6.1】 2026-05-14 -------------------------------------------------- ■ 要約:記事に意図しないタグ(他商品名・長文タグ)が付与される不具合を修正 🐛 修正 ・記事投稿時に WordPress 側の既存タグを検索する処理が「部分一致」で動いていたため、 AI が生成した短いタグ(例:「ガジェット」)が、過去に作成された長文タグ 「PC・スマホ・…最新ガジェット」や、別記事の商品名タグ「Anker 341 USB-C Hub」 「JBL Charge 6」などに誤マッチして付与されてしまう不具合を修正しました。 ・修正後は「完全一致」のみ再利用し、一致しない場合はタグを新規作成します。 ・また、タグ作成時の slug 衝突エラーで処理が止まる問題も解消しました。 🔧 やること(任意) ・修正後に新しく投稿する記事は正常なタグだけが付くようになります。 ・過去に投稿済みで意図しないタグが付与された記事は、WordPress 管理画面の 「投稿 → タグ」から不要タグを削除すると整理できます。 【v2.6.0】 2026-05-13 -------------------------------------------------- ■ 要約:トレンド補充で「中身のない抽象キーワード」の取り込みを防止 ✨ 新機能・改善 ・トレンドキーワード補充(--auto-refill --mode ranking など)で、商品名から 「ブランド名・モデル名・型番」が特定できないキーワードを自動的にスキップするように なりました。 ・たとえば「トラックボールマウス おすすめ」「ワイヤレスイヤホン コスパ」のような、 内容の薄い量産記事になりがちなキーワードが取り込まれません。 ・楽天商品名に含まれる装飾文字(【送料無料】・★・「楽天1位」など)も自動除去します。 🔧 やること ・基本は何もしなくてOKです。 ・採用件数が減りすぎたと感じる場合、お使いのブログの config.py に LEGACY_KEYWORD_PROMPT = True を追加すると以前と同じ動作に戻せます(マニュアル Step 12 参照)。 【v2.5.0】 2026-04-30 -------------------------------------------------- ■ 要約:RankMath SEOスコア対応 / タグ生成の不具合修正 ✨ 新機能・改善 ・記事タイトルに数字・パワーワード(「徹底解説」「決定版」「必見」など)が含まれ やすくなり、RankMath SEOプラグインのスコアが上がりやすくなりました。 ・メタディスクリプション(EXCERPT)の冒頭40文字以内に主キーワードが入るように。 ・本文の各段落が200文字以内に収まり、スマホでも読みやすくなりました。 🐛 修正 ・リライト機能を使ったとき、ブログテーマの説明文がそのままWordPressのタグとして 登録されてしまう不具合を修正しました。 ・記事に長文タグ(30文字超)・改行混入タグなどの「ゴミタグ」が付与される問題を 防止する処理を追加しました。 🔧 やること(任意) ・記事のタイトル・文体が以前と変わった気がする場合は、お使いのブログの config.py に LEGACY_PROMPT = True を追加すると以前の文体に戻せます。 【v2.4.1】 2026-04-20 -------------------------------------------------- ■ 要約:CSV運用時の同一キーワード重複処理を修正 🐛 修正 ・Google Sheets を使わずCSVで運用しているとき、投稿が成功してもキーワードが 「処理中」のまま残り、同じキーワードを繰り返し処理してしまう不具合を修正しました。 ・X(旧Twitter)プロモーション機能のアカウント・テーマ設定が固定値だったのを、 config.py から自由に設定できるよう変更しました。 🔧 やること(X連携を使う方のみ) ・config.py に X_PERSONA_HANDLE と X_PERSONA_THEME を設定すると、あなたのアカウント・ 発信テーマに合わせた宣伝文が生成されます。 【v2.4.0】 2026-04-17 -------------------------------------------------- ■ 要約:記事の構成を「読者の課題解決型」に強化 ✨ 新機能・改善 ・記事の導入部で「この記事で何が判断できるか」を明示するようになりました。 ・各セクションが「読者の悩み → 製品がなぜ答えになるか」の流れで書かれるように。 ・まとめが「冒頭の課題に対する判断」を示して締める構成に変わりました。 🔧 やること(任意) ・以前の文体・構成に戻したい場合は config.py に LEGACY_PROMPT = True を追加。 【v2.3.0】 2026-04-14 -------------------------------------------------- ■ 要約:キーワード品質を自動で高める3つの仕組みを追加 ✨ 新機能 ・キーワードに対して「検索需要 × 競合の弱さ × 商業価値」を AI が 1〜10 で採点し、 スコアの高いキーワードから優先的に記事化されるようになりました。 ・「万年筆 初心者 おすすめ」と「初心者向け万年筆」のような表記違いの重複を AI が 自動検出してスキップするようになりました。 ・「最安値」「比較」「とは」など、検索意図に応じて優先度が自動調整されます。 ・GSC(Google Search Console)連携時、「表示回数は多いがクリックされていない お宝クエリ」を自動取り込みするモードを追加しました: python main.py --blog my-blog --auto-refill --mode gsc-gap 🛠️ ツール追加 ・tools/rescore_keywords.py — 既に登録済みのキーワードを一括で再評価できます。 以前に追加したキーワードもこのツールで品質スコアを後から付与できます。 【v2.2.0】 2026-04-14 -------------------------------------------------- ■ 要約:投稿後の検索パフォーマンスを Sheets で追跡 ✨ 新機能 ・記事公開から7日後・30日後の Google 検索クリック数・表示回数・平均順位を 自動で Google Sheets に記録できるようになりました。 ・実行コマンド: python main.py --blog my-blog --track-performance ・GSC連携 + Google Sheets の両方を設定済みの環境でのみ動作します。 未設定時は自動スキップされるためエラーになりません。 【v2.1.0】 2026-04-14 -------------------------------------------------- ■ 要約:エラー通知・SEO強化機能の大幅追加 ✨ 新機能 ・記事生成中にエラーが発生したとき、Slack または Discord にプッシュ通知できます。 夜間の自動実行が失敗してもスマホからすぐ気づけます。 ・検索上位記事の構成を AI が分析し、差別化できる観点を記事に自動注入する 「競合SERP分析」を追加しました(config.py で ENABLE_SERP_ANALYSIS = True)。 ・記事末尾に Google 検索のリッチリザルト用構造化データを自動挿入する機能を追加 (ENABLE_SCHEMA_MARKUP = True、デフォルト無効)。 ・新記事を投稿したとき、関連する既存記事から新記事への逆向きリンクを自動追記する 機能を追加(ENABLE_BACKLINK_INJECTION = True、デフォルト無効)。 ・リライト機能で、検索 11〜20 位の「あと一歩で1ページ目」の記事を優先的に 対象にする機能を追加しました。 ・Gemini API の利用料金(推定・円換算)を実行ログに表示するようになりました。 🐛 修正 ・トレンドキーワード補充で特定の楽天ジャンルが固定されていた問題を汎用値に修正。 【v2.0.0】 2026-04-14 -------------------------------------------------- ■ 要約:どんなジャンルにも対応可能に(メジャーアップデート) ✨ 新機能・改善 ・config.py の BLOG_THEME に「どんなブログか」を 2〜3 文で書くだけで、記事構成・ 商品情報の扱い・品質チェック・タグ生成すべてを AI が自律的に判断します。 ・美容・旅行・グルメ・金融・教育など、ジャンルを問わずそのまま使えるようになりました。 ・タグが記事ごとに自動生成されるようになり、全記事に同じ固定タグが付く問題を解消。 🔧 やること ・以前 CONTENT_TYPE = "education" などを設定していた方は、その行を削除して BLOG_THEME に説明文を書き直してください(CONTENT_TYPE は無視されるようになります)。 【v1.4.0】 2026-04-10 -------------------------------------------------- ■ 要約:ローカルAI(Ollama)対応 + ファクトチェック機能追加 ✨ 新機能 ・PC上のローカルAI「Ollama」で記事を生成できるようになりました。APIキー・ インターネット接続が不要で、完全オフラインで動作します。 .env に AI_MODEL=ollama を追加するだけで切り替え可能です。 ・記事生成後、数値・価格・スペックなどの事実情報を AI が自動照合し、要確認箇所を WordPress 下書きの末尾に HTML コメントで追記するようになりました (無効化したい場合は config.py で ENABLE_FACT_CHECK = False)。 📚 マニュアル更新 ・Ollamaセットアップ手順・ファクトチェック機能の説明をマニュアルに追記しました。 【v1.3.2】 2026-03 -------------------------------------------------- ■ 要約:販売パッケージ環境での動作を安定化 🐛 修正 ・特定の環境で X 連携機能が動作しない不具合を修正しました。 ・GSC(Google Search Console)プロパティURLが未設定でもエラーにならず、 GSC連携機能を自動スキップするように改善しました。 【v1.3.1】 2026-03 -------------------------------------------------- ■ 要約:ログ出力先のディレクトリ不在エラーを修正 🐛 修正 ・ログを書き込むフォルダが存在しない環境で起動エラーになる不具合を修正しました。 必要なフォルダを自動作成するようになっています。 【v1.3.0】 2026-03-15 -------------------------------------------------- ■ 要約:Rinker廃止・SEOプラグイン選択対応・スクリプト整理 ✨ 新機能 ・SEOプラグインを自由に選べるようになりました: Cocoon・SEO SIMPLE PACK・Yoast SEO・All in One SEO に対応。 config.py の SEO_TITLE_META_KEY / SEO_DESC_META_KEY で切り替え可能です。 🔧 改善 ・アフィリエイトリンクが HTML 直接生成方式に統一されました(旧Rinker方式は廃止)。 ・記事タイトルに執筆者ペルソナの職業名が混ざる不具合を修正しました。 🛠️ ツール整理 ・補助スクリプトを tools/ フォルダに集約し、ファイル構成を整理しました。 🔧 やること ・以前 Rinker を使っていた方は、config.py から ENABLE_RINKER の行を削除してください。 ・お使いの SEO プラグインに合わせて config.py の SEO_TITLE_META_KEY を設定してください (詳細はマニュアル Step 10 を参照)。 【v1.2.0】 2026-03-09 -------------------------------------------------- ■ 要約:マニュアルに上級機能の章を追加 📚 マニュアル更新 ・リライト機能(--rewrite)・Google Sheets連携・比較記事生成(--compare)の手順を マニュアル Step 12「上級機能」に追記しました。 【v1.1.0】 2026-03-09 -------------------------------------------------- ■ 要約:季節キーワード・連載記事自動生成 + 同時実行時の安全性向上 ✨ 新機能 ・config.py の SEASONAL_KEYWORDS に月別キーワードを登録しておくと、 当月分を自動補充できます: python main.py --blog my-blog --auto-refill --mode seasonal ・親商品から消耗品・関連商品の記事を最大3件まで連続生成する「フォローアップ」モードを 追加しました: python main.py --blog my-blog --followup 🔧 改善 ・パイプライン失敗時に正しく失敗コード(exit 1)を返すようになり、外部スクリプトから エラー検出ができるようになりました。 ・複数プロセスを同時実行しても同じキーワードを二重に処理しないよう、ロック制御を 強化しました。 【v1.0.1】 2026-03-05 -------------------------------------------------- ■ 要約:Gemini API 仕様変更への対応 🐛 修正 ・Gemini API の仕様変更により記事生成・品質チェックが失敗する不具合を修正しました。 【v1.0.0】 2026-03-04 -------------------------------------------------- ■ 初期リリース ・WordPress への記事自動投稿機能 ・Gemini AI による記事・製品比較記事の自動生成 ・Google Sheets を使ったキーワード・ログ管理

