
內容簡介
Distan 將 WordPress 轉變為靜態 HTML 輸出的建置環境,讓使用者可以在 WordPress 中編輯內容,然後匯出乾淨的、自包含的 HTML 檔案,無需在生產伺服器上安裝 WordPress、PHP 或資料庫。
【主要功能】
• 生成每個已發佈頁面及文章存檔
• 重寫內部連結為文件相對路徑
• 簡化 WordPress 路徑結構
• 清理 HTML,移除生成標籤
• 支援自定義部署流程
外掛標籤
開發者團隊
📦 歷史版本下載
原文外掛簡介
Distan turns WordPress into a build environment for static HTML deliverables. You author in WordPress, then export clean, self-contained HTML that runs anywhere. No WordPress, no PHP, and no database are required on the production server.
Most static-export plugins mirror a live WordPress site and keep it running behind the scenes. Distan is built for the opposite case: the HTML files themselves are the deliverable, and WordPress stays on the developer’s side and is never published. When an update is needed, you edit in WordPress, regenerate, and hand over the difference. (We think of it as “headloss”: the head — the static HTML — goes to production, while the body — WordPress — stays in the workshop.)
This suits people who deliver files, not a CMS — for example a recruitment site placed under a subdirectory of an existing corporate site, where adding another WordPress install is not an option.
How Distan is different
It does not deploy for you, and holds no credentials. Distan writes files and stops there. Deployment is wired through hooks (distan_after_generate, distan_dispatch), so you connect your own rsync, git push, FTP, or CI. Nothing to trust with your server keys.
It enumerates, it does not crawl. Distan generates the pages WordPress already knows about, rather than spidering links. The result is predictable and light — no queue, no database tables, no build daemon.
It stays small. No bundled framework, no vendor tree, no schema migrations. Easy to read, easy to audit, and nothing left behind when you remove it.
What it does
Generates every published page, the posts archive with pagination, category archives with pagination, and a 404 page.
Rewrites internal links as document-relative paths, so the output can be opened directly and placed in any directory.
Flattens WordPress paths: theme files move to assets/, uploads move to media/. The wp-content directory disappears from the deliverable.
Cleans the HTML: removes the generator tag, REST API links, oEmbed, emoji scripts, speculative loading rules, and the development noindex.
Keeps cache-busting query strings on assets, so file names stay stable and can be overwritten over FTP.
Optional sitemap.xml and a minimal robots.txt, built from the pages actually generated, using the production URL.
Optional Markdown export (content.md) that combines every page’s main content into one file — handy for feeding a site into AI tools (Gemini Notebook / NotebookLM, and similar).
Exports a single page as a starting template for an outside coder: that page plus only the assets it references (following stylesheet url() and @import), laid out at their real paths, with a README of ground rules. In-page markers can drop the block-library CSS (distan:no-block-styles) or drop scripts and styles under a path prefix (distan:drop-assets).
Surfaces URLs that WordPress core’s sitemap lists but enumeration missed — a plugin’s thank-you page, a virtual route — and lets you include or ignore each. The choice is remembered across runs, so there is no filter to hand-write.
Reports a diff after each run — which files were added, changed, or need removing from production — and can hand you a ZIP of just the changed files, with a list of what to delete.
Audits internal links and reports any whose target was not generated, and compares against WordPress core’s sitemap to surface pages that enumeration may have missed.
Optionally bundle extra files or directories that nothing links to (distan_extra_assets) — for assets referenced only from inside a script, such as a JSON file fetched by JavaScript.
Downloads the result as a ZIP.
Requirements
The only hard requirement is loopback HTTP (the site being able to request itself). No direct SQL, no exec(), no external binaries, no external APIs. It runs on Local, MAMP, XAMPP, DDEV, Docker, or shared hosting, and works offline.
Not for every case
Distan is not suitable when the client updates the site themselves, or when forms, search, comments, or membership are required. If you need built-in deployment to many destinations, scheduled or change-based publishing, or managed static hosting, a larger tool such as Simply Static or Staatic will fit better.
