URL Strategies
eziwiki can express your pages' URLs in one of two ways. Set it once in
payload/config.ts:
global: {
urlStrategy: 'path', // or 'hash'
}path β readable URLs (default)
URLs mirror the content tree:
content/getting-started/quick-start.md β /getting-started/quick-start
content/intro.md β /intro
Readers can tell where a link goes before clicking it, search engines can index the structure, and a URL pasted into chat carries meaning on its own.
Use this unless you have a specific reason not to.
hash β opaque URLs
Each path is hashed into a stable, meaningless segment:
content/getting-started/quick-start.md β /a3f2e9d1-4b8c7e6f-9d2a1b3c
content/intro.md β /c432b372-e0e30267-e65e26a1
The hash is a SHA-256 digest of the content path, so it is deterministic: the same file yields the same URL on every build, and links stay valid as long as the file does not move.
What this buys you
Someone who has one URL cannot guess another, and cannot infer your content structure from the address bar.
What it costs you
- SEO β search engines can crawl the pages, but the URL contributes nothing
- Shareability β nobody can read a link and know where it leads
- Trust β an opaque URL looks like a tracking link to a cautious reader
This is obscurity, not security. Every page is still a public file in your static export; a hash keeps a URL unguessable, not private. To keep something genuinely non-public, do not publish it.
Writing links
Write ordinary content paths in Markdown. They are resolved at build time under whichever strategy is active, so the same source works either way:
See the [Quick Start](/getting-started/quick-start).The same applies to wiki links:
See [[quick-start]].Both come out as /getting-started/quick-start under path, and as the
matching hash under hash.
Links that resolve to no page are left exactly as written β so a typo shows up
as a broken link rather than silently pointing at the home page. Run
[[validation-testing|npm run check:links]] to find them.
Seeing every URL
npm run show-urlsπ Page URLs (strategy: path)
================================================================================
π Quick Start
source β content/getting-started/quick-start.md
url β https://eziwiki.dev/getting-started/quick-start
π [HIDDEN] Secret Demo Page
source β content/secret-demo.md
url β https://eziwiki.dev/secret-demo
This is the fastest way to find the address of a hidden page.
Switching strategies
Changing urlStrategy changes every URL on the site. Existing links, bookmarks,
and search rankings will break. If your site is already published, treat it as a
migration rather than a setting.
Next
- Hidden Pages β pages that build and resolve but stay unlisted
- Search β find any page by its contents