SEO: comparison cluster, /why-gofr, migration guides#218
Closed
aryanmehrotra wants to merge 3 commits into
Closed
Conversation
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.
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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 shellsrc/app/migrate/from-gin/page.md— week-long migration walkthroughsrc/app/migrate/from-express/page.md— Express/Node migration guideStaged for manual review (in
.seo-starter-pack/, not yet wired)SCHEMA_JSONLD.md— Organization, SoftwareApplication, BreadcrumbList, FAQPage, HowTo, TechArticle blocksMETA_DESCRIPTIONS.md— unique descriptions for top 20 docs pagesStrategic 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:
gofr-vs-{framework}/(not{framework}/) — consistent with SEO intent ("GoFr vs Gin") and the URL structure already in placefrom-{framework}/(not{framework}-to-gofr/) — consistent with all other 11 migration pages already in the migrate directoryVoice + style notes
Each page is written in maintainer voice, not marketing voice:
Local build status
✅ Build verified —
npm run devon port 4242 confirmed/comparison/gofr-vs-ginrenders with correct title, meta description, structured data (TechArticle + BreadcrumbList schema), and syntax-highlighted code samples.What this PR does NOT do
/blogroute (separate work)src/app/layout.jsxschema (staged for manual paste)gofr-dev/gofr)Review checklist
/why-gofropening anecdote rings true (edit if it doesn't match your actual story)layout.jsx, submit URLs to Search Console