Rebuilding a church network directory
Japanese Church Planting Network · jcpnetwork.com
A stock WordPress theme with a brick-wall stock photo became a fast bilingual site with a real church directory — and English pages search engines can finally read.
The problem
JCPN ran on a stock WordPress theme. Every page opened with a full-width stock photograph of a brick wall before any content appeared, the member church directory was a list of plain text links, and the English version of the site existed only as a client-side toggle that search engines never indexed. A visitor looking for a Japanese-speaking church near them had no map and no obvious place to start.
What we did
We rebuilt the site as fully prerendered static pages, put the member churches on an interactive map, and made Japanese and English separate crawlable routes rather than a toggle. Fonts were subsetted and self-hosted so nothing blocks the first paint, images moved to a responsive pipeline, and the performance characteristics are locked behind tests so they cannot quietly regress.
Result
The site is live and ships almost no JavaScript. Its English pages are indexable for the first time, and the directory is now a map a visitor can actually use rather than a wall of links. Accessibility went backwards by five points on a handful of low-contrast text colours — a real regression, listed below and being fixed.
Before and after
Home page


Church directory


About page


What changed for the people using it
| Aspect | Before | After | Change |
|---|---|---|---|
| English pages | A client-side toggle, never indexed | 8 prerendered routes under /en/ | Now crawlable |
| Church directory | Plain text links grouped by state | Interactive map with every member church | Rebuilt |
| Web fonts | Render-blocking Google Fonts CSS | Self-hosted subset, nothing blocking | Self-hosted |
| Client-side JavaScript | Whole page rendered in the browser | A ~1 KB nav script, plus the map | Near-eliminated |
| Old WordPress links | Would have broken on rebuild | Published slugs 301 to their new homes | Preserved |
| Sitemap | Hand-maintained, drifted from reality | Generated from the route definitions | Cannot drift |
What changed, measured
| Measure | Before | After | Change |
|---|---|---|---|
| Performance score | 77 | 98 | +21 pts |
| Accessibility score | 100 | 95 | −5 pts |
| SEO score | 83 | 100 | +17 pts |
| First Contentful Paint | 2.9 s | 1.7 s | −41% |
| Largest Contentful Paint | 4.8 s | 2.1 s | −56% |
| Page weight | 668 KiB | 483 KiB | −28% |
- Date measured
- 5 August 2026
- Methodology
- Mobile Lighthouse with simulated throttling, home page. Performance figures are the median of 3 runs; accessibility and SEO are single runs, because those audits are deterministic.
- Caveats
- The “before” is a local reconstruction of the original WordPress site, rebuilt from JCPN’s own backup (Twenty Seventeen theme and uploads) with markup from an archived capture. It is served from disk, so its server response time is far better than the real hosting was — the original scored no higher than this, and most likely lower.