Modern browsers render almost any HTML, no matter how loose, so broken markup often looks fine and ships. This tool flags every deviation from the HTML Living Standard: obsolete elements, unquoted attributes, self-closed non-void tags, missing alt text, duplicate IDs. Shares the audit cache with the other SEO tools.
https://ichingonline.pro/
64 violations across 3 rules  ·  Full SEO audit →
0
Strict errors
0
Obsolete / deprecated
3
Style / non-minimal
64
Total occurrences
ERROR Strict errors: the W3C Nu validator would reject these. Missing required attributes, duplicate IDs, self-closed non-void elements, unsupported DOCTYPEs.
OBSOLETE Deprecated per HTML Living Standard §15. Browsers still render them but conforming validators flag them.
STYLE Valid but non-minimal: uppercase tags, XHTML-style <br />, redundant type="text/javascript". Legal HTML5, but not what the spec writes.
Syntax
STYLE

Uppercase or mixed-case attribute name

26 × on this page
Valid HTML5, but inconsistent with the spec's recommended minimal form. · Rule: SYN_UPPERCASE_ATTR

HTML is case-insensitive for attributes but the spec, browsers' own DOM serialisation, and every popular linter normalise to lowercase.

Fix: Write attribute names in lowercase.
✗ Example from this page
<meta … charSet="…">
✓ Correct form
charset="…"
All 26 occurrences
L1 <meta … charSet="…">
L1 <link … fetchPriority="…">
L1 <link … hrefLang="…">
L1 <link … hrefLang="…">
L1 <link … hrefLang="…">
L1 <link … hrefLang="…">
L1 <link … hrefLang="…">
L1 <link … hrefLang="…">
L1 <link … hrefLang="…">
L1 <link … hrefLang="…">
L1 <link … hrefLang="…">
L1 <link … hrefLang="…">
L1 <link … hrefLang="…">
L1 <link … hrefLang="…">
L1 <svg … viewBox="…">
L1 <svg … viewBox="…">
L1 <svg … viewBox="…">
L1 <svg … viewBox="…">
L1 <svg … viewBox="…">
L1 <svg … viewBox="…">
L1 <svg … viewBox="…">
L1 <svg … viewBox="…">
L1 <svg … viewBox="…">
L1 <textarea … maxLength="…">
L1 <svg … viewBox="…">
– … (additional occurrences omitted)
HTML Living Standard §12.1.2.3 — Attributes →
STYLE

Uppercase or mixed-case tag name

12 × on this page
Valid HTML5, but inconsistent with the spec's recommended minimal form. · Rule: SYN_UPPERCASE_TAG

HTML5 allows any case but the spec's examples and XHTML-compat rules use lowercase throughout. Lowercase is also the convention every modern codebase and style guide settles on.

Fix: Write all element names in lowercase.
✗ Example from this page
<radialGradient id="g_R_2lah5bsnpiucqivb_" cx="35%" cy="30%" r="75%">
✓ Correct form
<radialgradient>
All 12 occurrences
L1 <radialGradient id="g_R_2lah5bsnpiucqivb_" cx="35%" cy="30%" r="75%">
L1 <radialGradient id="g_R_4lah5bsnpiucqivb_" cx="35%" cy="30%" r="75%">
L1 <radialGradient id="g_R_2mah5bsnpiucqivb_" cx="35%" cy="30%" r="75%">
L1 <radialGradient id="g_R_4mah5bsnpiucqivb_" cx="35%" cy="30%" r="75%">
L1 <radialGradient id="g_R_2nah5bsnpiucqivb_" cx="35%" cy="30%" r="75%">
L1 <radialGradient id="g_R_4nah5bsnpiucqivb_" cx="35%" cy="30%" r="75%">
L1 <radialGradient id="g_R_lahlbsnpiucqivb_" cx="35%" cy="30%" r="75%">
L1 <radialGradient id="g_R_15ahlbsnpiucqivb_" cx="35%" cy="30%" r="75%">
L1 <radialGradient id="g_R_lihlbsnpiucqivb_" cx="35%" cy="30%" r="75%">
L1 <radialGradient id="g_R_15ihlbsnpiucqivb_" cx="35%" cy="30%" r="75%">
L1 <radialGradient id="g_R_lqhlbsnpiucqivb_" cx="35%" cy="30%" r="75%">
L1 <radialGradient id="g_R_15qhlbsnpiucqivb_" cx="35%" cy="30%" r="75%">
HTML Living Standard §12.1.2 — Elements →
STYLE

XHTML-style trailing slash on void element

26 × on this page
Valid HTML5, but inconsistent with the spec's recommended minimal form. · Rule: SYN_VOID_TRAILING_SLASH

<br/> and <img … /> are legal HTML5, but the / is completely ignored by the parser. It's a leftover from XHTML and the HTML spec explicitly notes it has no effect. Drop it for minimal, idiomatic HTML5.

Fix: Write the void element without the trailing slash: <meta>.
✗ Example from this page
<meta charSet="utf-8"/>
✓ Correct form
<meta>
All 26 occurrences
L1 <meta charSet="utf-8"/>
L1 <meta name="viewport" content="width=device-width, initial-scale=1"/>
L1 <link rel="stylesheet" href="/_next/static/chunks/1702cfb8ebbcb435.css" data-precedence="next"/>
L1 <link rel="stylesheet" href="/_next/static/chunks/669851a175d3be6c.css" data-precedence="next"/>
L1 <link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/b5b93d96952cae42.js"/>
L1 <meta name="next-size-adjust" content=""/>
L1 <meta name="description" content="I Ching Online is a free online I Ching reading: toss three coins, build your hexagram line by line, and read the judgment, every changing line and the relating hexag …
L1 <link rel="manifest" href="/manifest.webmanifest"/>
L1 <link rel="canonical" href="https://ichingonline.pro"/>
L1 <link rel="alternate" hrefLang="en" href="https://ichingonline.pro"/>
L1 <link rel="alternate" hrefLang="zh-CN" href="https://ichingonline.pro/zh"/>
L1 <link rel="alternate" hrefLang="zh-TW" href="https://ichingonline.pro/zh-TW"/>
L1 <link rel="alternate" hrefLang="ja" href="https://ichingonline.pro/ja"/>
L1 <link rel="alternate" hrefLang="ko" href="https://ichingonline.pro/ko"/>
L1 <link rel="alternate" hrefLang="de" href="https://ichingonline.pro/de"/>
L1 <link rel="alternate" hrefLang="fr" href="https://ichingonline.pro/fr"/>
L1 <link rel="alternate" hrefLang="es" href="https://ichingonline.pro/es"/>
L1 <link rel="alternate" hrefLang="it" href="https://ichingonline.pro/it"/>
L1 <link rel="alternate" hrefLang="pt" href="https://ichingonline.pro/pt"/>
L1 <link rel="alternate" hrefLang="nl" href="https://ichingonline.pro/nl"/>
L1 <link rel="alternate" hrefLang="x-default" href="https://ichingonline.pro"/>
L1 <meta property="og:title" content="I Ching Online — Free Online I Ching Reading with Three Coins"/>
L1 <meta property="og:description" content="I Ching Online is a free online I Ching reading: toss three coins, build your hexagram line by line, and read the judgment, every changing line and the relatin …
L1 <meta property="og:url" content="https://ichingonline.pro"/>
L1 <meta property="og:site_name" content="I Ching Online"/>
– … (additional occurrences omitted)
HTML Living Standard §12.1.2 — Elements (void elements) →