One request, one page, seven dimensions and up to 90 checks you can repeat with curl. Each check names the standard it comes from. The raw facts are downloadable as JSON and as a readable brief.
Morphos / Website check
Measured,
not guessed.
Paste a public URL. Morphos fetches the page once, reads the HTML and CSS that actually arrived, and scores seven dimensions: delivery, front-end build, visual design, interaction and accessibility, back-end posture, security exposure, content and GEO. Every check names the standard or research behind it, so you can argue with the criterion, not just the verdict. Seven further reads model what those checks cannot measure: how machine-written the copy sounds, whether a first screen holds, what an answer engine could quote, whether a visitor who has decided to act has anywhere to go, what acting actually costs them, whether the page looks maintained, and how the copy is shaped for a skimmer. Then it ranks the fixes and shows what the gaps could be worth.
- 7dimensions scored
- 90checks at full depth
- 7modelled reads beside them
- 0stored, 0 emailed
What this check is, and is not
- 01Fetchone GET, three redirects at most
- 02Parsethe HTML that actually arrived
- 03Read CSSsame-origin sheets only
- 04Scoreseven weights, banded by site type
Not a crawl, not a browser render, not Core Web Vitals, not a ranking audit, and not a penetration test. The security dimension audits the configuration one response exposes; it does not probe for exploitable bugs. The traffic range is a labelled model, not a forecast.
From the same-origin stylesheet text: how many tokens, colours, type sizes, radii, breakpoints and focus rules are actually written. A rendered look can differ; a cross-origin sheet cannot be read at all.
A separate stack read lists the framework, CMS, libraries, motion, analytics and font markers actually present in the delivered markup, plus a class-vocabulary read of the stylesheet. Absence is reported as “not found in this page”, never as “the site does not use it”: anything bundled or rendered by script is invisible to one request.
Because a measured number is a better starting point for a conversation than an opinion — and because you can verify every line yourself.
Where the criteria come from
Every check is attached to one of these sources. The report shows which, per row, and marks whether the source is a standard, research, or published practice. Nothing is invented and no marketing statistic is used as a threshold.
- WCAG 2.2standardW3C success criteria: contrast 4.5:1 and 3:1, focus visible, reflow, bypass blocks, labels. Quoted numbers are verbatim from the specification.
- HTML and CSS specificationsstandardWHATWG HTML: element semantics, viewport, doctype, image dimensions, frame titles.
- RFC 9110 and RFC 6265standardHTTP semantics and cookie attributes, as observed on the wire.
- OWASP Secure HeadersstandardHeader hardening: HSTS strength, CSP strength, framing, isolation, banner disclosure. Configuration audit only.
- Subresource IntegritystandardW3C SRI: a fetched file must match a declared hash.
- Nielsen Norman GroupresearchResponse-time limits (0.1 s / 1.0 s / 10 s) and the scroll-fading study. Thresholds here are set stricter than the research limit.
- Motion researchresearcharXiv 2502.16038 on emotion and animation; Frederick et al. 2015 on parallax, which found a gain only in fun, not in usability.
- Awwwards jury criteriapracticeDesign 40, usability 30, creativity 20, content 10. What a jury rewards, not what causes traffic.
- Practical TypographypracticeLine length 45-90 characters. Read as a declared CSS constraint, never as a rendered measurement.
- Google Search CentralpracticeTitle, snippet, canonical and structured-data guidance for one crawler. Lengths are approximate house style.
- 8-point spacingpracticeIndustry convention for 4/8 px spacing scales. There is no single canonical source, so this is read as a declared-count check, never as a verdict on taste.
- GEO readingpracticeProject practice: question-shaped headings plus JSON-LD give an answer engine something quotable. A convention, not a measured effect on citations.
- MDN HTTP ObservatorypracticePublished letter bands (A+ at 100 or more, A 90-99, A- 85-89, B+ 80-84, B 70-79, B- 65-69, C+ 60-64, C 50-59, C- 45-49, D+ 40-44, D 30-39, D- 25-29, F below 25). Used only to print a letter beside our own total: the same number read on a second scale, not a second measurement.
Two entries are carried from this project's own research notes and were not re-fetched on the check date; the report labels them project-rules rather than implying a fresh quote. Practice sources are not evidence of causation, and are never used to project traffic.
Questions this check answers
What does the website check actually measure?
It makes one request, reads the HTML and its same-origin stylesheets, and scores seven dimensions: delivery and speed, front-end build, visual design system, interaction and accessibility, back-end posture, security exposure surface, and content with SEO and GEO readiness. Every check names the standard behind it.
Does it run my page in a browser?
No. Nothing is executed and nothing is rendered, so Core Web Vitals, real layout, mobile rendering and anything behind a login are outside the read. The traffic range is a model, not a forecast.
Is it free, and does it email me?
It is free, needs no account, and never emails you. The report exists in your browser tab and you can download or copy it. Sending anything to Morphos is a separate act of writing an email yourself.
Can it say whether my copy reads as AI-written, or whether visitors stay?
It reports seven reads beside the scored checks, each labelled as a model rather than a measurement: copy shape, hold band, quotability, intent, action friction, page currency and scannability. None of them can see your analytics or form completion.
What can this check not tell me?
It cannot see rendering, real visitor behaviour, anything behind a login or a cross-origin stylesheet, or causation between a fix and traffic. Where those matter more than the page itself, the next step is a human diagnostic.