A webfont is discovered only after the CSS that references it has downloaded and parsed, which is late. Preloading moves the request to the start and removes a round trip from first text paint.
- Free, no signupNo account, no card
- No AI in the score986 deterministic rules
- Nothing publishedYour scans stay yours
- Answers in secondsQuick scan, no browser
How this rule is weighted
- Importance
- 3 / 10
- How much this matters relative to other rules.
- Confidence
- SPECIFICATION
- A standard says so: HTML, WCAG, an RFC or Google's own documentation.
- Severity
- info
- How the finding is presented when it fails.
- Scoring
- Excluded
- Reported in the report, never penalised.
Impact is importance multiplied by the confidence tier’s weight — SPECIFICATION 1.0, RESEARCH 0.7, EMERGING 0.3, EXPERIMENTAL 0.1. Two rules backed by the same class of evidence therefore always carry the same weight, which is what makes the score reproducible rather than hand-tuned.
Questions about this rule
- Does CSS_FONT_PRELOAD affect my score?
- No. It is a detection rule: it runs, appears in your report and never penalises you. "Critical fonts are preloaded" is information about the page rather than a defect - most pages are not expected to satisfy it.
- What does SPECIFICATION confidence mean?
- A standard says so: HTML, WCAG, an RFC or Google's own documentation. Confidence is a declared tier rather than a per-rule number, so every rule backed by the same class of evidence carries the same weight - which is what makes the score reproducible instead of hand-tuned.
- How do I check CSS_FONT_PRELOAD on my own site?
- Paste your URL into the box above and it runs only this rule, usually in a couple of seconds. It is also included in the CSS checker and in a full scan.
Tags
- css
- performance
- fonts
- detection
Related CSS rules
- Stylesheets parse without errorsEvery inline and linked stylesheet is parsed. A parse error means the browser discarded a declaration or a whole rule at load time, so styling that looks correct in the source never applied.CSS_W3C_PARSE_ERROR
- Declaration values match their property grammarEach value is matched against the property's formal grammar from the CSS specifications. A value that does not match is dropped at parse time, so the declaration has no effect even though the property name is correct.CSS_W3C_INVALID_VALUE
- Declarations use real CSS propertiesEach property name is checked against the machine-readable index of properties defined in the CSS specifications. An unknown property is almost always a typo no browser will honour.CSS_W3C_UNKNOWN_PROPERTY
- No CSS expression() usageA legacy Internet Explorer feature that executes JavaScript from CSS - both obsolete and a script-injection vector.CSS_NO_EXPRESSION
- No sub-legible font sizesText below about 3px is invisible to a human but fully indexable. Whether or not it is deliberate, it matches the keyword-stuffing pattern that ranking systems demote for.CSS_NO_INLINE_FONT_SIZE_TINY
- CSS features work in every major browserEach CSS property is resolved against the Baseline dataset behind MDN and caniuse. Flagged when a desktop engine does not support it. Mobile-only gaps are excluded - `cursor` is absent from iOS Safari by design, not omission.CSS_BASELINE_LIMITED