Skip to content
Crawlable

Can AI crawlers read Angular sites?

Baseline
25/100

Client-rendered

AI crawlers see almost nothing by default.

A default Angular application renders entirely in the browser, so AI crawlers receive an empty <app-root> and nothing else.

What is actually happening

Angular bootstraps in the browser and builds the DOM from JavaScript. Without server rendering, the served HTML contains a single <app-root> element and a set of script tags — that is the entire document as far as a non-rendering crawler is concerned. Angular is disproportionately used for applications behind a login, where this does not matter, and the problem usually appears when the public marketing pages were built in the same project.

13 of the major AI crawlers — including GPTBot, OAI-SearchBot, ChatGPT-User — fetch your HTML and parse it without running a JavaScript engine. Anything your page adds after hydration is not part of what they read.

What to do on Angular

  1. 01Enable Angular SSR. Running `ng add @angular/ssr` configures server rendering for an existing application without a rewrite.
  2. 02Prerender the routes whose content does not vary per request. Marketing, docs and pricing pages almost always qualify.
  3. 03Move Meta and Title service calls into route resolvers so they execute during server rendering rather than after the app boots.
  4. 04Verify with curl rather than the browser. The browser runs the JavaScript that the crawler skips, so it can only ever tell you the good news.
  5. 05If the public pages live in the same project as the application, consider splitting them out. A static marketing site alongside an Angular app is simpler than making the whole app render twice.

What trips people up

Where the files go on Angular

Put llms.txt and robots.txt in src/assets or the configured public folder so they are emitted to the build root.

Stop guessing where your site sits

The baseline above is the platform. The free scan measures your actual site: how many words a crawler reads, whether your pages come back as empty shells, and which crawlers your robots.txt lets in.

Scan my Angular site

Other platforms