Background
Meridian Studio is a technical agency that specializes in shipping client SaaS products. Over three years, Ryan had noticed that the same infrastructure work was repeated on every project: setting up SEO metadata utilities, implementing JSON-LD structured data, building programmatic routes for SEO-driven pages, and wiring a dynamic sitemap. It was week-two work on every engagement. The clients expected it, but no one was billing for it specifically — it was absorbed into the project estimate and hurt margin.
The challenge
The agency needed an SEO foundation that could be adopted project-to-project without customization: canonical URL helpers, JSON-LD schema generation, programmatic routes with proper metadata, dynamic sitemap with all relevant pages, robots.txt configuration, and metadata utilities that worked with Next.js App Router. Every component had to be production-ready — agencies don't get second chances on SEO foundations.
How they built it
Programmatic SEO routes inherited on day one
ShipAI includes programmatic SEO route templates — comparison pages, use-case pages, feature pages — with proper metadata, canonical URLs, and structured data. For each client project, Ryan's team inherited these routes and populated them with client-specific content. The route structure, metadata generation, and URL patterns were already optimized.
JSON-LD schema across all page types
The SEO helpers in ShipAI include JSON-LD builders for common schema types — Article, Product, Organization, BreadcrumbList, FAQPage, ItemList. The team applied the appropriate schema to each page type without writing schema markup manually. Clients' pages pass Google's Rich Results Test on day one.
Dynamic sitemap and robots.txt
The dynamic sitemap automatically includes all static and programmatic routes. As the team added new content or SEO pages, the sitemap updated automatically. The robots.txt was pre-configured with sensible defaults — allow all content pages, exclude API and auth routes. No post-launch sitemap submission errors on any project.
Canonical helpers across route types
Cross-linking between related pages — comparison pages, feature pages, case studies — used the built-in canonical URL helpers. The helpers enforced consistent URL patterns and prevented duplicate content issues that had caused indexing problems on previous agency projects.
Outcomes
SEO sprint eliminated across all projects
Previously 5–7 days of SEO infrastructure work per project. Now zero — the foundation is inherited on day one.
Rich Results validation on day one
All client projects pass Google's Rich Results Test immediately after launch, with correct JSON-LD schema on all page types.
No post-launch sitemap issues on any project
In three projects delivered with ShipAI, the dynamic sitemap has correctly included all pages on first submission — a problem that had occurred on four of the agency's previous ten projects.
Margin improvement on every engagement
Eliminating 5–7 days of SEO infrastructure time per project directly improved project margin without changing the client-facing scope or timeline.
In their own words
We were billing fixed-price projects and absorbing SEO infrastructure time into our estimates. It was invisible cost — clients didn't see it, we didn't bill for it, but it was there on every project. ShipAI moved that cost to zero. We didn't change what we charge. We kept the margin.
“Our agency ships 4–6 client products per year. We evaluated ShipAI specifically for reuse. The programmatic SEO infrastructure, JSON-LD schema, and sitemap generation alone justify the cost — we used to spend a full sprint on that per project. Now it's day one, done.”
— Ryan Castellano
Frequently asked questions
Which JSON-LD schema types are pre-built in ShipAI?
The SEO helpers include builders for Article, Product, Organization, BreadcrumbList, FAQPage, and ItemList schema. Additional schema types can be added following the same builder pattern. Meridian uses Article for blog content, BreadcrumbList for all pages, and FAQPage for support and feature pages.
How does the dynamic sitemap update with new content?
The sitemap.ts file uses Next.js's sitemap generation API, which runs at build time and includes all statically generated routes. Adding a new programmatic route automatically adds it to the sitemap on the next build — no manual sitemap maintenance.
Is the SEO infrastructure customizable for specific client needs?
Yes. The canonical helpers, metadata utilities, and JSON-LD builders are regular TypeScript functions that can be extended. Ryan's team adds client-specific schema fields or metadata patterns as needed, following the established patterns in the codebase.