Skip to content

Commit 92ffbb5

Browse files
lane711claude
andauthored
Add headless CMS comparison matrix page (/compare) (#845)
* feat(www): add headless CMS comparison matrix page Add /compare — an honest, exhaustive feature matrix comparing SonicJS, Payload, Strapi, Directus, Sanity, and Contentful across 125+ capabilities in 13 categories (architecture, pricing, content modeling, editorial, APIs, auth, media, i18n, admin UI, extensibility, DX, security, ecosystem). - New ComparisonMatrix component with Built-in/Partial/Plugin/Paid/Roadmap status badges + legend; SonicJS column highlighted - Neutral, gap-analysis framing that surfaces where competitors lead - SEO: page metadata + keywords, FAQPage + BreadcrumbList JSON-LD, visible FAQ section, canonical, OG/Twitter, sitemap entry, global metadataBase - Cross-link /compare from 10 CMS comparison blog posts (and back) - Add "Compare" to Resources nav Also fixes a pre-existing CodePanel crash (Children.only 500'd MDX pages on dev) and makes the docs dev server runnable standalone (next dev --webpack + port-3010 cleanup in predev). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(www): make all 6 comparison columns discoverable The 6-column matrix overflowed the prose width, hiding Sanity & Contentful off-screen. Break the table out to full content width on large screens (all columns visible at >=1280px), tighten cell padding, lower min-width, and add a 'scroll sideways' hint on narrower viewports. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * docs(www): link /compare matrix from NestJS/Hono comparison post Completes coverage — all 11 CMS/framework comparison posts now reference the feature matrix. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent a593e1b commit 92ffbb5

20 files changed

Lines changed: 657 additions & 11 deletions

www/content/blog/comparisons/directus-vs-payload-vs-sonicjs.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ tags:
1616
- "open-source"
1717
- "typescript"
1818
publishedAt: "2026-01-23"
19-
updatedAt: "2026-01-23"
19+
updatedAt: "2026-06-02"
2020
author:
2121
name: "SonicJS Team"
2222
twitter: "sonicjs"
@@ -45,6 +45,9 @@ canonical: "https://sonicjs.com/blog/comparisons/directus-vs-payload-vs-sonicjs"
4545
- All three: MIT/GPL licensed, truly open source
4646
</TLDRBox>
4747

48+
> 📊 **See the full feature matrix:** [SonicJS vs Payload, Strapi, Directus, Sanity & Contentful](/compare) — a side-by-side inventory of 125+ capabilities across 13 categories, from APIs and auth to i18n and pricing.
49+
50+
4851
Looking for an open source headless CMS? Directus, Payload, and SonicJS represent three different philosophies. This comparison covers the real-world trade-offs based on developer feedback and production experiences.
4952

5053
## Quick Comparison

www/content/blog/comparisons/directus-vs-sanity-vs-sonicjs.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ tags:
1616
- "open-source"
1717
- "database"
1818
publishedAt: "2026-01-23"
19-
updatedAt: "2026-01-23"
19+
updatedAt: "2026-06-02"
2020
author:
2121
name: "SonicJS Team"
2222
twitter: "sonicjs"
@@ -45,6 +45,9 @@ canonical: "https://sonicjs.com/blog/comparisons/directus-vs-sanity-vs-sonicjs"
4545
- Directus: GPL v3 (copyleft) vs SonicJS MIT (permissive)
4646
</TLDRBox>
4747

48+
> 📊 **See the full feature matrix:** [SonicJS vs Payload, Strapi, Directus, Sanity & Contentful](/compare) — a side-by-side inventory of 125+ capabilities across 13 categories, from APIs and auth to i18n and pricing.
49+
50+
4851
Directus and Sanity take fundamentally different approaches: database wrapper vs cloud-native SaaS. SonicJS offers a third path with edge-first architecture. Here's how they compare.
4952

5053
## Quick Comparison

www/content/blog/comparisons/nestjs-vs-sonicjs-vs-hono.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ tags:
1818
- "edge-computing"
1919
- "typescript"
2020
publishedAt: "2026-01-23"
21-
updatedAt: "2026-01-23"
21+
updatedAt: "2026-06-02"
2222
author:
2323
name: "SonicJS Team"
2424
twitter: "sonicjs"
@@ -44,6 +44,9 @@ canonical: "https://sonicjs.com/blog/nestjs-vs-sonicjs-vs-hono"
4444
- SonicJS: Under 50ms global latency with zero cold starts via V8 isolates
4545
</TLDRBox>
4646

47+
> 📊 **See the full feature matrix:** [SonicJS vs Payload, Strapi, Directus, Sanity & Contentful](/compare) — a side-by-side inventory of 125+ capabilities across 13 categories, from APIs and auth to i18n and pricing.
48+
49+
4750
The JavaScript backend ecosystem in 2026 has never been more diverse. Developers choosing between frameworks face a fundamental architectural decision: do you want the structure of enterprise frameworks, the raw speed of minimalist ones, or something purpose-built for the edge?
4851

4952
This comparison examines three distinct approaches:

www/content/blog/comparisons/sanity-vs-contentful-vs-sonicjs.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ tags:
1616
- "enterprise"
1717
- "real-time"
1818
publishedAt: "2026-01-23"
19-
updatedAt: "2026-01-23"
19+
updatedAt: "2026-06-02"
2020
author:
2121
name: "SonicJS Team"
2222
twitter: "sonicjs"
@@ -45,6 +45,9 @@ canonical: "https://sonicjs.com/blog/comparisons/sanity-vs-contentful-vs-sonicjs
4545
- Both Sanity & Contentful: Usage-based pricing with escalating costs
4646
</TLDRBox>
4747

48+
> 📊 **See the full feature matrix:** [SonicJS vs Payload, Strapi, Directus, Sanity & Contentful](/compare) — a side-by-side inventory of 125+ capabilities across 13 categories, from APIs and auth to i18n and pricing.
49+
50+
4851
Sanity and Contentful are two leading SaaS headless CMS platforms with overlapping enterprise focus but different strengths. SonicJS offers a fundamentally different approach with edge-first architecture.
4952

5053
## Quick Comparison

www/content/blog/comparisons/sonicjs-vs-ghost.mdx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ openGraph:
4444
- Both are MIT-licensed open source
4545
</TLDRBox>
4646

47+
> 📊 **See the full feature matrix:** [SonicJS vs Payload, Strapi, Directus, Sanity & Contentful](/compare) — a side-by-side inventory of 125+ capabilities across 13 categories, from APIs and auth to i18n and pricing.
48+
49+
4750
If you've spent any time in the indie publishing world, you've probably bumped into [Ghost](https://ghost.org). It's a beloved, focused, beautifully-designed platform that turned writing-and-publishing into a first-class product. For a lot of newsletter-driven blogs and creator businesses, Ghost is a near-perfect fit — and we don't think anything in this post changes that.
4851

4952
But "I want to publish a blog" and "I want to build a content-driven product" are very different sentences. Ghost is unapologetically the answer to the first one. **SonicJS** is built for the second.

www/content/blog/comparisons/sonicjs-vs-strapi.mdx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ featuredImage:
3737
- Both: MIT licensed, open source
3838
</TLDRBox>
3939

40+
> 📊 **See the full feature matrix:** [SonicJS vs Payload, Strapi, Directus, Sanity & Contentful](/compare) — a side-by-side inventory of 125+ capabilities across 13 categories, from APIs and auth to i18n and pricing.
41+
42+
4043
Choosing the right headless CMS is a critical decision for any project. In this comparison, we'll examine two popular options: SonicJS, an edge-first CMS built for Cloudflare Workers, and Strapi, the established open-source headless CMS.
4144

4245
## Quick Comparison

www/content/blog/comparisons/sonicjs-vs-wordpress.mdx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ openGraph:
4646
- WordPress core uses PHP + MySQL/MariaDB; SonicJS uses TypeScript + Cloudflare D1
4747
</TLDRBox>
4848

49+
> 📊 **See the full feature matrix:** [SonicJS vs Payload, Strapi, Directus, Sanity & Contentful](/compare) — a side-by-side inventory of 125+ capabilities across 13 categories, from APIs and auth to i18n and pricing.
50+
51+
4952
WordPress and SonicJS sit at opposite ends of the CMS spectrum. WordPress is the mature, ecosystem-rich, "anyone can run a site" platform that has been refined over more than two decades. SonicJS is a modern, edge-first, code-first headless CMS designed for developers who want full control of their stack and sub-50ms responses worldwide.
5053

5154
This post is not a takedown — WordPress is a serious, capable platform, and pretending otherwise would be silly. But the two tools are optimized for very different jobs. Below, we'll compare them honestly across architecture, performance, hosting cost, scalability, content modeling, security, and developer ergonomics, and give you a clear "when to choose which" at the end.

www/content/blog/comparisons/strapi-vs-contentful-vs-sonicjs.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ tags:
1616
- "enterprise"
1717
- "open-source"
1818
publishedAt: "2026-01-23"
19-
updatedAt: "2026-01-23"
19+
updatedAt: "2026-06-02"
2020
author:
2121
name: "SonicJS Team"
2222
twitter: "sonicjs"
@@ -45,6 +45,9 @@ canonical: "https://sonicjs.com/blog/comparisons/strapi-vs-contentful-vs-sonicjs
4545
- Contentful Premium: $60,000/year list price
4646
</TLDRBox>
4747

48+
> 📊 **See the full feature matrix:** [SonicJS vs Payload, Strapi, Directus, Sanity & Contentful](/compare) — a side-by-side inventory of 125+ capabilities across 13 categories, from APIs and auth to i18n and pricing.
49+
50+
4851
Strapi and Contentful represent two ends of the headless CMS spectrum: self-hosted open source vs managed enterprise SaaS. SonicJS offers a third path: edge-first architecture with the benefits of both.
4952

5053
## Quick Comparison

www/content/blog/comparisons/strapi-vs-directus-vs-sonicjs.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ tags:
1818
- "edge-computing"
1919
- "open-source"
2020
publishedAt: "2026-01-23"
21-
updatedAt: "2026-01-23"
21+
updatedAt: "2026-06-02"
2222
author:
2323
name: "SonicJS Team"
2424
twitter: "sonicjs"
@@ -46,6 +46,9 @@ canonical: "https://sonicjs.com/blog/strapi-vs-directus-vs-sonicjs"
4646
- Directus: Supports 6 database types vs Strapi's 4
4747
</TLDRBox>
4848

49+
> 📊 **See the full feature matrix:** [SonicJS vs Payload, Strapi, Directus, Sanity & Contentful](/compare) — a side-by-side inventory of 125+ capabilities across 13 categories, from APIs and auth to i18n and pricing.
50+
51+
4952
If you're searching "Strapi vs Directus," you're likely evaluating the two most popular open-source headless CMS options. Both are excellent projects with years of production use. But in 2025, there's a third option worth considering: edge-first architecture.
5053

5154
We've analyzed GitHub issues, community forums, and real developer feedback to understand where each platform shines and struggles. This isn't a marketing piece—we'll be honest about all three platforms, including SonicJS's current limitations.

www/content/blog/comparisons/strapi-vs-payload-vs-sonicjs.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ tags:
1818
- "edge-computing"
1919
- "typescript"
2020
publishedAt: "2026-01-23"
21-
updatedAt: "2026-01-23"
21+
updatedAt: "2026-06-02"
2222
author:
2323
name: "SonicJS Team"
2424
twitter: "sonicjs"
@@ -46,6 +46,9 @@ canonical: "https://sonicjs.com/blog/strapi-vs-payload-vs-sonicjs"
4646
- Payload: 15x slower than Mongoose for populated queries (GitHub Issue #11325)
4747
</TLDRBox>
4848

49+
> 📊 **See the full feature matrix:** [SonicJS vs Payload, Strapi, Directus, Sanity & Contentful](/compare) — a side-by-side inventory of 125+ capabilities across 13 categories, from APIs and auth to i18n and pricing.
50+
51+
4952
Choosing a headless CMS in 2025 is harder than ever. The ecosystem has matured, but with maturity comes complexity, pricing tiers, and the dreaded migration headaches that can consume weeks of developer time.
5053

5154
We've spent considerable time analyzing real developer feedback, GitHub issues, forum discussions, and community complaints about Strapi and Payload CMS. Not to bash them—they're solid projects—but to understand what frustrates developers so we can build something better.

0 commit comments

Comments
 (0)