How this tool computes its result
Parses pasted HTML with `DOMParser` in `text/html` mode, reads the `<title>` element, iterates every `<meta>` tag and classifies it by whichever attribute is present (`name`, `property`, `http-equiv`, `charset`) into single-value fields (description, keywords, viewport, robots, charset) or into `og:`/`twitter:`-prefixed arrays, bucketing anything else under "other" tags, and separately reads `<link rel="canonical">`. It then runs a fixed set of static checks and pushes results into `issues` (missing title, title <30 or >60 chars, empty/short(<120)/long(>160) description, missing charset, missing viewport) or `recommendations` (missing canonical, zero Open Graph tags, zero Twitter tags).
