Documentation

pSEO Wizard マニュアル 🧙‍♂️

pSEO Wizard の完全な技術ガイドへようこそ。このドキュメントは、1,000ページ以上を安全にリリースできるよう、数週間のアーキテクチャ決定を単一のワークフローに凝縮しています。

💡 Quick Tip: サイドバーナビゲーションを使用してセクション間をジャンプするか、完全なガイドをスクロールしてください。


🚀 パート1:コアワークフロー

コードに飛び込む前に、「ファクトリー」がどのように機能するかを理解してください:

1. プロジェクト設定

ターゲット言語を慎重に選択してください。これにより、JSON出力でlocaleフラグが設定されます。

2. パターンロジック

{City}や{Service}のような変数を使用してください。より良いSEOのためにパターンを短くしてください。

3. データ生成

デカルト積ロジックを使用しています。10サービス × 10都市 = 100ページ。

🛡️ 4. 「安全」警告

ステップ4で、/blog下に公開するよう警告します。ルートドメインにプログラマティックコンテンツを公開することは、Googleからインデックス解除される早道です。


👨‍💻 パート2:開発者統合

ゴールドスタンダード

📘 Note: 以下のガイドでは、エクスポートされたファイルを処理するためのNext.jsアプリケーションの最適なアーキテクチャを推奨しています。

「Raw HTML」戦略

pSEO Wizardは完全なスタイル付きHTMLページを生成するため、標準のReact Layoutでラップするとスタイルの競合が発生します。

解決策:生のHTMLを提供するためにNext.js Route Handlerを使用しています。

// src/app/[locale]/blog/[slug]/route.ts
export async function GET(request, { params }) {
  const post = getPostBySlug(params.slug);
  if (post.locale !== params.locale) return 404;
  
  const finalHtml = `<head><script src="https://cdn.tailwindcss.com"></script></head>
    <body>${post.body_html}</body>`;

  return new Response(finalHtml, { headers: { 'Content-Type': 'text/html' } });
}

JSON Drop-inシステム

データベースマイグレーションを忘れてください。ファイルシステム集約に基づくシステムを構築しました。

  • 📁
    ディレクトリ: src/app/data/posts-json/
  • 🔄
    ワークフロー:エクスポートされたJSONファイルをここに「ドラッグ&ドロップ」するだけです。
  • マジック:blog-posts.tsアグリゲーターがすべてのファイルを自動的に読み取り、即座に公開します。

動的「スマート」サイトマップ

sitemap.tsはロケールに対応しています。JSONファイルをスキャンし、ロケール固有のURLを生成します。

これにより、Googleからの「重複コンテンツ」ペナルティを防ぎます。


🏛️ パート3:技術アーキテクチャ

なぜCryptomus?

特定の戦略的理由でStripeよりCryptomusを選択しました:

🌍 グローバルリーチ

どこからでも暗号通貨支払いを受け入れます(地域の銀行制限を解決し、グローバルアクセスを可能にします)。

⚡ 即座のアンロック

Webhookシステムは、トランザクション確認時に「エクスポート」ボタンを即座にアンロックします。

アンチスパムアーキテクチャ

私たちのシステムはドメインオーソリティを保護するように設計されています:

  • すべてのプログラマティックコンテンツは/blogサブディレクトリの下にあります
  • 各ページにはユニークなAI生成コンテンツがあります
  • 内部リンクはSEOベストプラクティスに従います
  • 多言語コンテンツの正しいlangおよびdir属性

🚑 パート4:トラブルシューティング

一般的な問題とその解決策:

❌ 白い画面 / スタイルのないテキスト

原因:Tailwind CDNがブロックされています。

解決策:next.config.jsのCSPヘッダーを確認してください。

⚠️ 壊れた内部リンク

原因:AI生成アーティファクト。

解決策:route.tsに「Smart Regex」クリーナーがあることを確認してください。

🔍 生成された投稿で404

原因:Slugの不一致。

解決策:decodeURIComponent(slug)を使用してください。

✅ CTAボタンが/blogに移動

原因:Regexがすべてのリンクを置換。

解決策:ホームページリンクとブログリンクに別々のパターンを使用してください。


pSEO Wizardチームが❤️で作成

最終更新日:2024年12月

Documentation | pSEO Wizard