§ directory sites · multi-tenant platform

One platform.
Three niches. Same engine.

Static Hugo frontends pulling from a shared headless WordPress API, with per-site Meilisearch indexes scoped by taxonomy. New niche, new domain, same infrastructure.

§01

live sites

§02

how it works

3 layers
01

Shared API

One WordPress install handles listings for every site. A taxonomy separates which listings belong where — no duplicate infrastructure, no per-site CMS to maintain.

02

Per-site search

Each frontend gets its own Meilisearch index with a scoped API key. Coffee-shop queries never reach the vintage-store index. Search is fast and isolated.

03

Static frontends

Hugo builds flat HTML at content time. No server rendering, no PHP on the frontend. The result is a site that loads instantly and survives traffic spikes for free.

§03

dependencies

package.json · partial
hugo 0.124 static site generator
wordpress 6.5 headless CMS (shared API)
meilisearch 1.7 per-site full-text search
cloudflare images, DNS, CDN
linode VPS hosting
§04

architecture

request flow
# Browser → static HTML → search
Browser         ─→ Hugo static site  (cached at edge)
                ↑    ↓
                │    ├─ APIWordPress  (headless CMS)
                │    └─ SEARCHMeilisearch  (per-site index)
                │
                └─ Cloudflare (images · DNS · CDN · edge cache)