SEO | Professional SEO Tips

Prerendering in Angular for SEO: Step-by-Step Guide (2025)

Learn how to set up prerendering in Angular for SEO. Generate static HTML pages, improve Core Web Vitals, and deploy fast, SEO-friendly Angular apps.

๐Ÿ”น What is Prerendering?

Prerendering is the process of generating static HTML pages at build time.
Unlike SSR (server-side rendering, which happens at runtime), prerendering builds your Angular app into ready-to-serve static pages.

๐Ÿ‘‰ This means search engines and users get instant HTML, improving SEO and performance.


๐Ÿ”น SSR vs Prerendering โ€“ Which to Choose?

FeatureSSR (Angular Universal)Prerendering
How it worksServer renders HTML at runtimeHTML generated at build time
Best forDynamic apps (blogs, e-commerce)Static apps (landing pages, docs)
SEO impactExcellentExcellent
PerformanceServer load increasesVery fast (CDN-ready)
Setup complexityModerateSimple

๐Ÿ‘‰ Rule of Thumb:

  • Use SSR for dynamic sites with frequently changing content.
  • Use Prerendering for mostly static content.

๐Ÿ”น Step 1: Enable Prerendering in Angular

Angular provides built-in prerendering with Angular Universal.

Install Angular Universal if not already done:

ng add @nguniversal/express-engine

Add prerendering capability:

ng add @nguniversal/builders

๐Ÿ”น Step 2: Configure Angular.json

Add a prerender target inside angular.json:

"architect": {
  "prerender": {
    "builder": "@nguniversal/builders:prerender",
    "options": {
      "browserTarget": "my-app:build:production",
      "serverTarget": "my-app:server:production",
      "routes": [
        "/",
        "/about",
        "/contact",
        "/blog"
      ]
    }
  }
}

๐Ÿ‘‰ Here, the routes array defines which pages will be prerendered.


๐Ÿ”น Step 3: Run Prerender Build

Run this command:

ng run my-app:prerender

๐Ÿ‘‰ This will generate static HTML files for each route inside dist/browser.


๐Ÿ”น Step 4: Verify Prerendered Pages

Open one of the prerendered files:

dist/browser/about/index.html

๐Ÿ‘‰ You should see fully rendered HTML + meta tags (not just <app-root>).


๐Ÿ”น Step 5: Deploy Static Files

Deploy the prerendered output to:

  • Netlify / Vercel (great for static sites)
  • Firebase Hosting
  • AWS S3 + CloudFront
  • Any static hosting service

๐Ÿ‘‰ Since prerendering outputs static HTML, no Node.js server is required.


๐Ÿ”น Step 6: Dynamic Content with Prerendering

Prerendering works best for static pages, but what if your site has dynamic routes like /blog/:id?

Options:

  1. Predefine known routes in angular.json.
  2. Use a CMS or script to generate a routes.json file.
  3. Use Scully (Angular static site generator).

๐Ÿ”น Alternative: Using Scully for Prerendering

Scully is a popular static site generator for Angular.
Install Scully:

ng add @scullyio/init

Run prerender:

npm run scully

๐Ÿ‘‰ Scully crawls your Angular app and creates static HTML pages automatically.


๐Ÿ”น SEO Benefits of Prerendering

  • โœ… Fully rendered HTML for crawlers
  • โœ… Instant load โ†’ Better Core Web Vitals
  • โœ… Works even if JS is disabled
  • โœ… Easy deployment to static hosting
  • โœ… Great for blogs, portfolios, documentation

๐Ÿ”น Final Thoughts

Prerendering is a powerful, lightweight alternative to SSR for Angular SEO.

In this blog, you learned:

  • What prerendering is and when to use it
  • How to set up Angular prerendering step by step
  • How to deploy prerendered pages
  • Scully as an alternative for static generation

๐Ÿ‘‰ In the next blog, weโ€™ll cover Structured Data & Schema Markup in Angular to boost rich snippets and search visibility.