# Technical Score

Technical checks whether AI crawlers and search engines can actually **fetch and read** your page at all - before anything else about your content matters.

---

## Why it exists

- An AI assistant can't cite what it can't reach - this is the most basic layer, checked before anything else.
- No amount of great writing helps if the page returns an error, loads too slowly, is missing from your sitemap, or is mostly markup instead of real text.
- Fix this layer first - it's the foundation everything else sits on.

---

## What's checked

10 checks feed this score:

| Check | Severity | What it verifies |
|---|---|---|
| Status code | Critical | The page returns 200-299 (not broken, not erroring). |
| Indexability | Critical | The page isn't tagged `noindex`. |
| Canonical URL | Warning | Engines know which version of a page to trust when duplicates exist. |
| Server response time | Warning, graded | Full credit under 800ms, half credit up to 1,500ms, zero beyond that. |
| Content-to-code ratio | Warning | Real text makes up at least 0.5% of the page's bytes - pages that are mostly markup are hard to cite. |
| In sitemap | Notice | The page is listed where crawlers expect to discover it. |
| Mobile viewport | Notice | The page declares a mobile viewport tag. |
| Largest Contentful Paint (LCP) | Warning, graded | Full credit at ≤2.5s, half credit at ≤4s, zero beyond that. |
| Interaction to Next Paint (INP) | Notice, graded | Full credit at ≤200ms, half credit at ≤500ms, zero beyond that. |
| Cumulative Layout Shift (CLS) | Notice, graded | Full credit at ≤0.1, half credit at ≤0.25, zero beyond that. |

Graded checks (response time and the three Core Web Vitals) don't just pass or fail - a page that's a little slow earns partial credit, not a zero.

---

## What moves the needle most

Weighted the same way every score is:

- **Critical** issues (a broken status code or a noindex tag) count for 5 points.
- **Warning**-level issues (a slow server, a missing canonical) count for 2.
- **Notice**-level polish (a missing sitemap entry, a slow INP) counts for 1.

Fixing a critical issue is always the highest-leverage move.

---

## How to raise it

- Make sure the page returns a normal 200 status and isn't tagged noindex.
- Set a canonical URL if the same content exists at more than one address.
- Get server response time under 800ms for full credit (under 1.5s for partial) - enable caching/CDN for HTML.
- Trim script/markup bloat if real text is under 0.5% of the page's bytes.
- Add the page to your XML sitemap.
- Confirm the page renders correctly on mobile with a proper viewport tag.
- Get LCP under 2.5s, INP under 200ms, and CLS under 0.1 for full Core Web Vitals credit.

---

## A separate, site-wide layer

- Whether your **robots.txt** allows AI crawlers, whether your server/CDN lets AI bots through, and whether you have an `llms.txt` file are scored once for your whole site, not per page - see "Site setup" on the [AEO Audit overview](/docs/using-gracker/aeo-audit).
- These two crawler-access checks are critical severity, but they don't count toward this page's numeric Technical score - instead they gate the page's **status**: fail either one and the page is marked **Blocked** outright, since nothing else about the page matters if AI can't reach it.
- If AI crawlers are blocked site-wide, your overall Site Health is also capped at 40 until that's fixed.

---

## Next Steps

- [AEO Audit overview](/docs/using-gracker/aeo-audit): Page Health, Site Health, and running an audit
- [Content score](/docs/using-gracker/aeo-audit/content-score): is the page shaped to answer the question?

- [AEO score](/docs/using-gracker/aeo-audit/aeo-score): structured data and sourced claims
