If your engineering team thinks SEO is a marketing problem, you are losing rankings to competitors whose engineers know better.
SaaS SEO splits cleanly in half. One half is content — keyword research, writing, internal links, backlinks — and that is the marketing team's domain. The other half is technical — rendering, indexing, performance, structured data — and that is engineering's. The technical half is where most teams leave rankings on the table.
Rendering: ship HTML, not promises
Googlebot is faster than it was, but it still does not love single-page apps. Anything you want indexed should be in the initial HTML response. Server-side rendering, static generation, or prerendering for marketing pages — pick one. If your marketing site is a CSR app, you are competing with one hand tied.
Sitemap, robots, canonical, hreflang
- Sitemap.xml: dynamically generated, includes lastmod, references all canonical URLs.
- Robots.txt: disallows admin, internal tooling, search results, faceted nav with no SEO value.
- Canonical tags: one per page. Catches duplicate content from query parameters.
- Hreflang: required if you serve multiple languages or regional variants.
Structured data is the cheap win
JSON-LD Organization, Product, Article, FAQ, BreadcrumbList, and SoftwareApplication schemas unlock rich results in the SERP. The implementation is one <script type="application/ld+json"> per page. The conversion impact compounds.
Core Web Vitals as a ranking signal
LCP, INP, CLS — measured on real users, reported in Search Console, used as a ranking factor. If yours are red, fix them before any other technical SEO work.
Internal linking and information architecture
The shape of your site tells Google what is important. Pillar pages link to cluster pages. Cluster pages link back to pillars and laterally to each other. Engineering owns making sure these links exist consistently — usually as breadcrumbs and "related content" components, generated from the CMS.
The shipping checklist
Every feature ships with: a canonical URL, a meta title, a meta description, structured data where applicable, an entry in the sitemap, and a Lighthouse score above 90 on mobile. If any of these are missing, the feature is not done.