> ## Documentation Index
> Fetch the complete documentation index at: https://docs.noisemaker.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# SEO platform

> Versioned SEO scoring, deterministic insights, and pipeline technical audits.

The SEO platform turns Search Console, analytics, authority, content, and technical signals into a replay-safe score snapshot. The current formula is <code>score.v1</code>.

## Components

| Component         | Maximum points | Inputs                                                          |
| ----------------- | -------------: | --------------------------------------------------------------- |
| Search visibility |             30 | GSC impressions, clicks coverage, and weighted average position |
| Organic traffic   |             25 | GA4 sessions, users coverage, and conversions                   |
| Authority         |             20 | Domain rating, referring domains, and backlinks                 |
| Content footprint |             10 | Organic keyword count                                           |
| Technical health  |             15 | Persisted per-page technical audit scores                       |

Missing components are excluded:

```text theme={null}
SEO score = earned points / available maximum points * 100
```

The result uses round-half-up behavior.

## Version 1 formulas

Each clamp limits its ratio to the 0 through 1 range.

```text theme={null}
Search = 30
  * clamp(impressions / 100000)
  * clamp((50 - average position) / 49)

Traffic = 15 * clamp(organic sessions / 50000)
        + 10 * clamp((conversions / max(sessions, 1)) / 0.05)

Authority = 12 * clamp(domain rating / 100)
          + 4 * clamp(referring domains / 10000)
          + 4 * clamp(backlinks / 100000)

Content = 10 * clamp(organic keywords / 100000)

Technical = 15 * mean(page technical percentages) / 100
```

These denominators are contract thresholds, not forecasts or industry benchmarks.

Clicks and users do not add points in <code>score.v1</code>, but their 28 complete daily rows are part of the component availability contract. Missing clicks make Search unavailable. Missing users make Traffic unavailable.

## Determinism

The scorer selects 28 complete provider-local dates for GSC and GA4 components. It records the exact signal rows and versioned registries, normalizes them canonically, and hashes the input. A replay uses insert-if-absent behavior, so identical inputs do not create a second score.

## Combined score

The combined score uses a 50% SEO and 50% GEO default when both are available. If one side is missing, the available weight is re-normalized. Its GEO input is the latest persisted composite visibility metric, not the separate five-component [GEO Score](/geo-score).

## Insights

Insights compare adjacent 28-day windows for keywords, topics, and pages.

* Position change is previous position minus current position.
* Importance is the item's share of impressions.
* Topic keys use the first four meaningful normalized words.
* Selection and ordering are deterministic.

The service can return 30 insights. The dashboard currently renders 12.

## Pipeline technical audit

The D4 audit selects up to 21 canonical URLs from the home page, Search Console evidence, and sitemap. The current web worker stages mobile audits. Its registry also defines desktop for future or alternate workers.

For each page it combines PageSpeed evidence with crawler evidence and records all 11 checks:

| Check                 | What is recorded                  |
| --------------------- | --------------------------------- |
| HTTP status           | Reachable status behavior         |
| HTTPS                 | Secure URL and response           |
| Indexable             | Indexability signals              |
| Canonical             | Canonical declaration             |
| Title                 | Title presence and evidence       |
| Meta description      | Description presence and evidence |
| H1                    | Primary heading presence          |
| Structured data       | Structured markup evidence        |
| Sitemap               | Sitemap coverage                  |
| Robots                | Robots policy evidence            |
| <code>llms.txt</code> | File availability                 |

Each check is <code>pass</code>, <code>fail</code>, or <code>unknown</code>, with evidence.

## Performance thresholds

| Metric |             Good |          Poor |
| ------ | ---------------: | ------------: |
| LCP    | at most 2,500 ms | over 4,000 ms |
| INP    |   at most 200 ms |   over 500 ms |
| CLS    |     at most 0.10 |     over 0.25 |

The page score averages the available technical-check percentage, Core Web Vitals percentage, and Lighthouse performance percentage. Failed check evidence can be linked to recommendations.

<Note>
  This pipeline audit feeds the SEO score and recommendation evidence. It is not the same system as the on-demand [Page evaluation](/page-evaluation) tool.
</Note>
