Skip to main content
Hrayr Shahnazaryan
JavaScript SEO for Angular and Next.js: What I Fix FirstJavaScript SEO
JavaScript SEO

JavaScript SEO for Angular and Next.js: What I Fix First

Updated 14 min read

Rendering audit in 30 minutes

I compare view-source, rendered DOM (DevTools), and URL Inspection screenshots side by side. If the H1, main copy, or canonical exist only after hydration, marketing URLs are at risk. For reference, see Google Search Central documentation.

I test logged-out vs logged-in states. SPAs often swap chrome and wipe meta tags when auth loads—classic reason product pages deindex after a release.

For Angular stacks I document hash routes versus history API routes. Hash URLs still show up in legacy apps and they behave differently in crawlers and analytics.

I save screenshots to the ticket so engineering sees the gap, not just SEO saying ‘rendering is broken.’. Related reading: How I Cut Crawl Budget Waste by 38% Without Adding Server Capacity.

SSR vs prerender: how I decide

Marketing pages, category templates, and anything you want shared on social get SSR or static prerender. Authenticated dashboards can stay client-rendered with noindex if they add no search value. For reference, see Google’s Core Web Vitals guide.

Next.js App Router: I default to static or server components for public routes and isolate client components to widgets that truly need browser APIs.

Prerender services are fine for small marketing sites; dynamic inventory or pricing usually needs real SSR with cache rules, not a one-time HTML snapshot. Related reading: Zain Armenia Tours: Angular SEO & SSR · 3 to 445 Clicks in 3 Months.

What I put in the engineering handoff

Acceptance criteria become CI checks where possible: rendered H1 present, title and meta description match spec, canonical stable, JSON-LD valid in first HTML.

I list URLs by template with pass/fail, not a vague ‘fix JS SEO’ bullet. Developers ship faster when the scope is ten templates, not the whole app.

Staging must block indexing. I verify with robots + meta robots before production deploys—half of JS SEO fires are accidental indexation of staging hosts. Related reading: Craftbet: Angular iGaming SEO · 3 Sites Indexed Without SSR.

Actionable takeaways

  • View-source vs rendered DOM diff is non-negotiable
  • Protect marketing URLs with SSR or prerender
  • Document acceptance tests for releases

Related reading

Want a technical SEO snapshot of your site?

  • 20 min intro
  • No obligation
  • You keep your data