The ESLint rules work by walking source-level calls into the following unhead APIs:
useHeaduseHeadSafeuseServerHeaduseServerHeadSafeuseSeoMetauseServerSeoMetadefineLink / defineScript (tag helpers)
Rules automatically descend into tag arrays inside meta, link, script, noscript, and style, as well as object literals inside htmlAttrs and bodyAttrs.
Note: Because rules are limited to what is expressible in the AST, they cannot perform cross-tag or rendered-output checks. For checks like canonical-og-url-mismatch, meta-beyond-1mb, charset-not-early, or too-many-preloads, you must use the runtime ValidatePlugin or the @unhead/cli commands unhead validate-url or unhead validate-html.