WordPress vs Static Sites (GitHub Pages / Cloudflare): TCO for Business Websites
Two stacks I use professionally
- WordPress for clients who need frequent self-service edits, WooCommerce, or plugins
- Static/Jekyll + GitHub Pages/Cloudflare for performance-critical marketing sites (including arjankc.com.np)
TCO comparison (3-year view)
| Cost line | WordPress (managed) | Static (GitHub Pages + CI) |
|---|---|---|
| Hosting | $15–50/mo | $0–5/mo (Pages free tier) |
| Plugin licenses | $0–200/yr | N/A |
| Security patches | Ongoing WP/core/plugin | Dependency updates in CI |
| Dev changes | Theme/plugin edits | Git PR → build → deploy |
| Page speed | Plugin-dependent | Typically excellent |
| Non-technical editing | Strong (Gutenberg) | Weaker unless CMS added |
When WordPress wins
- WooCommerce or complex membership
- Marketing team publishes daily without developers
- Heavy plugin ecosystem (booking, LMS, multilingual)
When static wins
- Marketing site with quarterly updates
- Maximum Core Web Vitals / security surface minimization
- Developer-owned workflow (GitHub Actions, preview deploys)
Hidden static-site costs
- Build pipeline maintenance (Node, Ruby, CI minutes)
- No native comments/forms without third-party embeds
- Real HTTP 301 redirects need Cloudflare/Netlify — GitHub Pages alone uses meta refresh stubs
This site uses static output with a deliberate build pipeline documented in our repo — see automation posts.
WordPress maintenance hours (realistic)
| Site complexity | Hours/month |
|---|---|
| Brochure WP | 1–3 |
| WooCommerce 100 SKU | 4–8 |
| Membership/LMS | 8–15 |
At NPR 2,000/hour effective cost, that is NPR 2,000–30,000/month internal labor — often more than hosting.
Static site maintenance hours
| Task | Hours/month |
|---|---|
| Dependency updates + CI | 1–2 |
| Content via PR | 0–5 (varies) |
| Security surface | Minimal |
Migration decision
WP → static: when marketing site is read-mostly and blog can stay on Jekyll subdomain/path (this site’s pattern).
Static → WP: when non-technical team must publish daily or WooCommerce is required.
Nepal-specific notes
- Local payment plugins favor WordPress/WooCommerce
-
.com.npworks on either stack - Use Cloudflare regardless of stack — setup guide
3-year TCO worked examples (NPR)
Numbers assume Kathmandu agency/freelancer blended rates and typical SME usage — adjust for your scope.
Scenario A: Brochure business site (10 pages, quarterly content updates)
| Cost line (3 years) | WordPress | Static (Jekyll + CF Pages) |
|---|---|---|
| Initial build | 70,000 | 95,000 |
| Hosting (3 yr) | 54,000 | 12,000 |
| Maintenance/dev edits | 108,000 | 45,000 |
| Plugin licenses | 15,000 | 0 |
| Security/incident buffer | 20,000 | 5,000 |
| 3-year total | ~267,000 | ~157,000 |
Winner: Static — if the marketing team accepts Git/PR or pays agency for content edits.
Scenario B: WooCommerce store (150 SKU, wallets, COD)
| Cost line (3 years) | WordPress + Woo | Static + headless commerce |
|---|---|---|
| Initial build | 180,000 | 350,000+ |
| Hosting (3 yr) | 90,000 | 120,000 |
| Maintenance | 216,000 | 180,000 |
| Payment plugin updates | Included in maint | Custom API maintenance |
| 3-year total | ~486,000 | ~650,000+ |
Winner: WordPress — plugin ecosystem for eSewa/Khalti is mature; headless only for brands with dev retainer.
Build costs: website cost guide · e-commerce guide
Scenario C: Content-heavy blog + courses (weekly publishing)
| Cost line (3 years) | WordPress | Static + CMS overlay |
|---|---|---|
| Initial build | 90,000 | 110,000 |
| Non-technical editing | Easy (Gutenberg) | Needs Decap/Sanity (+cost) |
| Maintenance | 162,000 | 90,000 |
| 3-year total | ~252,000 | ~200,000+ (with CMS SaaS) |
Winner: WordPress unless developers own publishing workflow (this site’s pattern).
Performance and security comparison
| Factor | WordPress | Static (Jekyll/Hugo + CDN) |
|---|---|---|
| Attack surface | wp-login, plugins, XML-RPC | Minimal — no DB on edge |
| Patch cadence | Weekly attention | Monthly dependency CI |
| PageSpeed (typical) | 60–85 mobile without tuning | 90+ mobile common |
| Form handling | Plugin or native | Netlify Forms, CF Workers, external |
| Redirect management | Plugin or server rules | Cloudflare rules (note) |
| Preview/staging | Plugin or staging subdomain | PR preview via GitHub Actions |
For local service businesses running Google Ads, landing page speed affects Quality Score — static often pays back build premium in lower CPC over 12 months (Google Ads benchmarks).
Editing workflow: who updates the site?
| Team profile | Recommended stack |
|---|---|
| Owner non-technical, weekly posts | WordPress |
| Agency retains content ops | Static OK |
| Dev on staff, quarterly updates | Static OK |
| E-commerce manager + catalog | WordPress/WooCommerce |
| Compliance-heavy legal/medical | WordPress with audit trail plugins |
Static is not “developer-only” if you add Decap CMS or CloudCannon — but that adds $0–50/mo and setup time.
Hosting options compared (Nepal context)
| Host pattern | WordPress fit | Static fit | NPR/yr approx. |
|---|---|---|---|
| Shared Nepali host | Common | Possible | 3,000 – 8,000 |
| Managed WP (Cloudways etc.) | Excellent | N/A | 15,000 – 40,000 |
| GitHub Pages + Cloudflare | Poor (no PHP) | Excellent | 0 – 3,000 |
| Cloudflare Pages | N/A | Excellent | 0 – 15,000 |
| VPS self-manage | Full control | CI deploy target | 12,000 – 30,000 |
See hosting local vs international and Pages vs Netlify vs CF.
Migration costs (one-time)
| Direction | Effort | Typical NPR | Risk |
|---|---|---|---|
| WP → static | Medium–high | 40,000 – 120,000 | SEO redirects, form breakage |
| Static → WP | Medium | 50,000 – 100,000 | URL structure change |
| WP → WP (host) | Low | 10,000 – 25,000 | Downtime if sloppy |
Always export 301 redirect map before migration — Google Search Console recovery takes weeks if URLs flip without redirects.
Decision flowchart (plain language)
- Selling online with Nepali wallets? → WordPress/WooCommerce unless budget for headless
- Publishing daily without a developer? → WordPress
- Marketing site, agency maintains, performance priority? → Static + Cloudflare
- Blog + tools on same domain (like arjankc.com.np)? → Static monorepo pattern we use in production
- Need membership/LMS/booking plugins? → WordPress
Maintenance contract: what to ask
Whether WordPress or static, specify in SLA:
- Update frequency (WP core/plugins or npm/ruby deps)
- Backup RPO/RTO
- Uptime monitoring
- Who pays for emergency fixes
- Excluded scope (new pages, design changes)
Plugin bloat: WordPress TCO killer
Every plugin adds:
- Attack surface ( abandoned plugin = breach vector)
- Query overhead (TTFB regression)
- Update breakage risk
Rules we give clients:
| Site type | Max active plugins (guideline) |
|---|---|
| Brochure | 8–12 |
| WooCommerce | 15–25 (payment, SEO, cache) |
| Membership | audit quarterly |
Replace plugin with custom code only when recurring cost exceeds dev hours — rare for SMEs.
Core Web Vitals tuning (WordPress path)
Static wins by default, but WordPress can pass CrUX with:
- Managed host or Cloudways + Redis
- Lightweight theme (block theme, not bloated multipurpose)
- WebP images, lazy load below fold
- Critical CSS, defer JS
- Cloudflare in front — DNS/caching guide
Run PageSpeed on 4G throttled mobile — office WiFi lies.
Static site content workflows we use
For arjankc.com.np and client marketing sites:
- Content in Markdown under Git
- PR review → GitHub Actions build
- Deploy to Cloudflare Pages / GH Pages
- Forms via external embed or Worker
- n8n webhook on form submit (AI stack)
Non-developers can learn Markdown in 2–3 sessions; harder than Gutenberg for daily bloggers.
WooCommerce + static marketing hybrid
Common pattern:
-
www— static Jekyll marketing (fast, secure) -
shop.— WordPress WooCommerce subdomain - Shared GA4 property, cross-domain linker
Separates brochure speed from commerce complexity — DNS and SSL must be clean on both.
Accessibility and Nepali typography
Devanagari web fonts need line-height 1.6–1.8 and tested weights. WordPress themes often break Nepali headings; static sites with controlled CSS fare better. Budget QA time if bilingual — see website cost calculator.
Security incident comparison
| Incident type | WordPress likelihood | Static likelihood |
|---|---|---|
| Brute-force wp-login | High without limit | N/A |
| Plugin RCE | Medium | Low |
| Supply chain (npm/ruby) | Medium | Medium via CI |
| Defacement | Medium | Low (Git revert) |
Response time: static site rollback via Git often <15 minutes; WordPress restore from backup 1–4 hours.
SEO implications by stack
Both can rank — Google cares about content, links, and CWV:
- WordPress: watch plugin SEO bloat (multiple SEO plugins = conflict)
- Static: easier to hit CWV thresholds; manual schema in front matter
Our SEO pipeline assumes Git-backed content regardless of stack.
Forms, comments, and dynamic features on static
| Need | Static solution | WordPress solution |
|---|---|---|
| Contact form | CF Workers, Formspree, n8n webhook | CF7, WPForms |
| Comments | Disqus, Giscus | Native comments |
| Search | Pagefind, Algolia | Plugin search |
| i18n | Jekyll collections | WPML, Polylang |
n8n form webhook connects static forms to CRM without PHP.
5-year TCO projection (brochure site)
| Year | WordPress cumulative NPR | Static cumulative NPR |
|---|---|---|
| 1 | 130,000 | 110,000 |
| 2 | 220,000 | 145,000 |
| 3 | 310,000 | 180,000 |
| 5 | 490,000 | 250,000 |
Assumes NPR 6k/mo WP maintenance vs NPR 3k/mo static/agency touch-ups — your mileage varies.
Client conversation script (choosing stack)
Ask:
- Who updates content weekly?
- Do you sell online with Nepali wallets?
- Is page speed a competitive advantage?
- Do you have developer retainer or agency on call?
If answers are: marketing manager / yes WooCommerce / no / agency yes → often WordPress.
If: agency quarterly / no shop / yes / Git workflow OK → static.
Real client scenarios (anonymized)
Trekking agency (static win): Read-mostly itineraries, seasonal pricing PDFs, WhatsApp CTAs dominate. Migrated from bloated WP — LCP improved 2.1s → 0.9s, Meta CPL dropped ~18%.
Fashion D2C (WordPress win): 300 SKUs, daily flash sales, Khalti + eSewa — WooCommerce non-negotiable. Static quote was NPR 400k+ headless; WP delivered at NPR 165k.
Law firm (WordPress win): Partners edit practice area pages weekly; Gutenberg + role-based access. Static would block partner autonomy.
Personal brand / instructor site (static win): This domain — Jekyll, GitHub Actions, n8n hooks — performance and security priority; dev-owned publishing.
Hosting migration without SEO loss
- Crawl current URLs (Screaming Frog)
- Map 1:1 redirects in Cloudflare
- Lower TTL 48h before DNS cut
- Submit sitemap in Search Console
- Monitor 404 spike for 14 days
Cloudflare guide · hosting comparison
Developer skill requirements by stack
| Task | WordPress skill needed | Static skill needed |
|---|---|---|
| Change homepage hero | Low (Gutenberg) | Medium (Git + MD) |
| Add landing page for ads | Low | Medium |
| Fix plugin conflict | Medium–high | N/A |
| CI pipeline debug | Low | High |
| Payment gateway update | Medium | High (headless) |
Hire or retainer accordingly — maintenance guide.
Long-term platform risk
| Risk | WordPress | Static |
|---|---|---|
| Vendor lock-in | Theme/builder lock | Low (plain files) |
| Host dependency | PHP version EOL | CDN + Git provider |
| Talent pool in Nepal | Large WP freelancer pool | Smaller Jekyll/React pool |
WordPress wins on local talent availability; static wins on asset portability.
Total cost summary table (executive view)
| Horizon | WordPress brochure | Static brochure | WooCommerce |
|---|---|---|---|
| Year 1 | NPR 130k – 200k | NPR 110k – 170k | NPR 250k – 400k |
| Year 3 | NPR 280k – 420k | NPR 180k – 280k | NPR 500k – 800k |
| Year 5 | NPR 450k – 650k | NPR 250k – 380k | NPR 750k – 1.2M |
Includes hosting, maintenance, modest content — not major redesigns. Use website cost guide for initial build inputs.
FAQ
Can I start WordPress and migrate to static later?
Yes — common when marketing team stops daily publishing. Budget redirect map and CI setup.
Does Google prefer WordPress?
No — Google indexes HTML. Stack choice affects speed and maintenance, not inherent ranking preference.
Which stack for Nepali payment gateways?
WooCommerce for most merchants; static only with headless commerce budget.


