SEO2026-04-28· 5 min

Technical SEO for SaaS: 12 things no plugin is going to do for you.

SEO isn't marketing bolted on at the end. It's architecture. Here are the decisions we make before line one of code.

Technical SEO for a SaaS doesn't get fixed by installing a plugin the week before launch. It gets decided on the whiteboard, while we're still arguing whether a route is public or lives behind auth. We treat SEO as an architectural layer: if the foundation is crooked, no meta-description will save you. Here are the twelve things we review before, during, and after the first line of code.

Indexability and crawl:

  1. We pick the rendering strategy case by case: SSR for pages that change per user, SSG for landings and static content, ISR when the volume makes full regeneration on every deploy a waste.
  2. We treat query parameters as second-class citizens: canonical tag pointing to the clean URL whenever ?utm, ?ref or table filters don't actually change the content.
  3. We separate what should not be crawled from what should not be indexed: robots.txt to save crawl budget on /api, /admin or assets, and noindex via HTTP headers for pages we want Google to visit but not display.
  4. We turn orphan 404s with real traffic into 410s when the URL is gone for good, and 301s when a clear equivalent exists; leaving indefinite 404s is gifting negative signal.

Performance and content architecture:

  1. We measure Web Vitals with real RUM (CrUX, not lab PageSpeed): LCP, INP and CLS on actual users, not on a Lighthouse emulator running on a Mountain View server.
  2. We design URL hierarchies as information trees: /product/feature and /docs/concept/api are contracts with the crawler, not random slugs.
  3. We plan internal linking before writing content: pillar pages, topical clusters, and a maximum of three clicks from home to any relevant leaf.
  4. We generate sitemap.xml with real lastmod pulled from the data source, not from the last deploy timestamp; Google uses it to prioritize re-crawling.

Structured data and multilingual:

  1. We add JSON-LD from the first commit: SoftwareApplication for the product, Organization for the brand, FAQPage in support docs and BreadcrumbList on every nested route.
  2. For multi-locale we use hreflang with x-default, URLs per language (not flags toggled by JavaScript), and we make sure the en version links to es and vice versa, with no orphans.

Monitoring:

  1. We analyze server logs with GoAccess or Botify to see what Googlebot actually visits: we don't rely solely on Search Console, which arrives late and aggregated.
  2. We set alerts on sudden changes in clicks, impressions and CWV per template, not per URL: a regression in the blog layout is caught faster by watching the template aggregate.

None of this requires a plugin. It requires deciding in cold blood, documenting it, and reviewing it every quarter the same way we review security or dependencies. Technical SEO is the boring part that separates a SaaS growing organically from one that depends forever on ad spend. We build it the way we build the rest: as infrastructure.