Skip to content

SEO: comparison cluster, /why-gofr, migration guides#218

Closed
aryanmehrotra wants to merge 3 commits into
mainfrom
feat/seo-starter-pack
Closed

SEO: comparison cluster, /why-gofr, migration guides#218
aryanmehrotra wants to merge 3 commits into
mainfrom
feat/seo-starter-pack

Conversation

@aryanmehrotra
Copy link
Copy Markdown
Member

What this PR does

Adds the SEO starter pack from the growth plan: 5 comparison pages, /why-gofr, 2 migration guides, and staged SEO assets for follow-up manual review.

Files added

Comparison cluster (8 pages, ~6500 words combined)

  • src/app/comparison/page.md — 4-way index, targets "best go framework for microservices 2026"
  • src/app/comparison/gofr-vs-gin/page.md — targets "gofr vs gin"
  • src/app/comparison/gofr-vs-fiber/page.md — targets "gofr vs fiber"
  • src/app/comparison/gofr-vs-echo/page.md — targets "gofr vs echo"
  • src/app/comparison/gofr-vs-chi/page.md — targets "gofr vs chi"

Conversion + migration

  • src/app/why-gofr/page.md — replaces the empty layout shell
  • src/app/migrate/from-gin/page.md — week-long migration walkthrough
  • src/app/migrate/from-express/page.md — Express/Node migration guide

Staged for manual review (in .seo-starter-pack/, not yet wired)

  • SCHEMA_JSONLD.md — Organization, SoftwareApplication, BreadcrumbList, FAQPage, HowTo, TechArticle blocks
  • META_DESCRIPTIONS.md — unique descriptions for top 20 docs pages

Strategic context

None of Gin, Fiber, Echo, or Chi maintain first-party comparison pages, migration guides, or "why X" content. The entire query cluster is open. faun.dev already ranks for "GoFr vs Chi" — proves there's intent we're not capturing.

Path deviations from original spec

The pages were placed following the repo's existing naming convention rather than the spec's suggested paths:

  • Comparison subpages: gofr-vs-{framework}/ (not {framework}/) — consistent with SEO intent ("GoFr vs Gin") and the URL structure already in place
  • Migration subpages: from-{framework}/ (not {framework}-to-gofr/) — consistent with all other 11 migration pages already in the migrate directory

Voice + style notes

Each page is written in maintainer voice, not marketing voice:

  • Leads with a specific moment or technical claim, not a definition.
  • Shows code that fails first, then code that works.
  • Takes a position; no "both frameworks are great" hedging.
  • Includes an honest "when GoFr is the wrong choice" section.
  • Avoids "leverage", "seamlessly", "comprehensive solution", "looking ahead", etc.

Local build status

✅ Build verified — npm run dev on port 4242 confirmed /comparison/gofr-vs-gin renders with correct title, meta description, structured data (TechArticle + BreadcrumbList schema), and syntax-highlighted code samples.

What this PR does NOT do

  • ❌ Add the /blog route (separate work)
  • ❌ Modify src/app/layout.jsx schema (staged for manual paste)
  • ❌ Fix Markdoc doc titles (separate PR against gofr-dev/gofr)
  • ❌ Submit URLs to Search Console (must be done manually after merge)

Review checklist

  • Each comparison page reads accurate vs. the competitor's actual capabilities (especially Fiber's Fasthttp section, Chi's "different category" framing)
  • /why-gofr opening anecdote rings true (edit if it doesn't match your actual story)
  • Migration guide week-by-week plan is realistic
  • After merge: paste schema JSON-LD into layout.jsx, submit URLs to Search Console

Adds first-party comparison pages targeting commercial-intent queries
(gin vs gofr, fiber vs gofr, echo vs gofr, chi vs gofr) plus a 4-way
index targeting "best go framework for microservices 2026".

None of our competitors maintain comparison pages on-site, so the
entire query cluster is open. Each page is honest about when a
competitor framework is the better pick.

See gofr-growth-plan.md for full strategic context.
- /why-gofr replaces the empty layout-only shell with the conversion
  page from the comparison cluster (CNCF Landscape + built-in OTel
  positioning).
- /migrate/from-gin targets 'gin alternative' commercial intent.
- /migrate/from-express targets Node/Express migration intent
  (no Go framework competitor covers this on-site).
Not auto-applied. To be reviewed and pasted into:
- src/app/layout.jsx (Organization + SoftwareApplication + WebSite)
- src/app/docs/layout.jsx (BreadcrumbList)
- src/app/faq/page.jsx (FAQPage)
- Markdoc frontmatter for top 20 docs pages (descriptions)

See .seo-starter-pack/*.md for the exact blocks.
@aryanmehrotra
Copy link
Copy Markdown
Member Author

Closing — content belongs in gofr-dev/gofr/docs/ and gets overlaid at build time via the Dockerfile COPY. The gofr/development branch already has all the page.md files in the right place.

@aryanmehrotra aryanmehrotra deleted the feat/seo-starter-pack branch May 12, 2026 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant