# Distan

> WordPress を制作環境として使い、納品用の静的 HTML を書き出すプラグイン。本番サーバーで動かすものではなく、成果物（静的 HTML）を作るための道具。HTML 納品案件（採用サイト、キャンペーンサイト等）向け。

Distan は公開中の全ページをループバック HTTP で巡回し、静的 HTML として書き出す。`get_header()`・テンプレート階層・カスタムフィールド・条件分岐はすべて通常どおり評価され、その結果が焼き込まれる。内部リンクはドキュメント相対または本番 URL 絶対に変換され、ZIP 納品や FTP 上書きに最適化されている。制作は WordPress、納品は静的 HTML、という分離により、本番から動的な攻撃対象（PHP・DB・WordPress 一式）を無くせる。

## ドキュメント

- [README.md](README.md): 人間向けの機能説明・使い方・フィルタ一覧
- [ai-reference.md](ai-reference.md): AI 向けの「できること／できないこと」リファレンス
- [CLAUDE.md](CLAUDE.md): コードを編集する開発者・AI 向けの設計ドキュメント
- [TESTING.md](TESTING.md): 変更後の検証手順

## 主な機能

- 静的 HTML 書き出し（フロントページ／全シングル／アーカイブ＋ページネーション／404）
- URL 変換（ドキュメント相対 or 本番 URL 絶対）と本番 URL への置換（`distan_url_replacements` で複数指定可）
- 構造化データ（JSON-LD）の保持と URL 置換（生成はしない。SEO プラグインの出力を運ぶ）
- クリーン HTML（WordPress の痕跡除去、noindex 除去）
- パス平坦化（テーマ→assets/、uploads→media/）
- キャッシュバスティングのクエリ保持（ファイル名不変で FTP 上書き可）
- 差分レポート・自動掃除・差分 Markdown・ZIP 書き出し
- Markdown 書き出し（選択制、content.md、NotebookLM 等の AI ツール向け）
- リンク監査

## できないこと

- 本番での動的処理（フォーム・検索・コメント等）は動かない
- 構造化データの生成はしない（保持と置換のみ）
- リアルタイム更新はしない（外部データは生成時点で凍結、更新は再生成）
- ES modules は file:// で動かない（クラシックテーマなら回避可能）
