technical-seolisted
Install: claude install-skill Deadshot-77/davinci
# Technical SEO
This covers what the markup declares. It does not cover keyword strategy,
competitive positioning or content planning — those need search-volume data and
business context you do not have, and producing them from nothing yields
confident output with nothing behind it. **If a brief asks for keyword research,
say plainly that it needs data outside the project rather than inventing it.**
What you can do is make the page legible to a machine and honest about what it
is. That part is verifiable, which is why it belongs here.
## Run the check on built output
```
node <plugin>/scripts/seo.mjs .
```
It reads `out/`, `dist/` or `build/` — not your source. A framework's metadata
export, a layout's title, a component's alt attribute: none of them can be
verified by reading the file they are written in, because what ships is the
render. **If there is no build, the check does not run**, and it says so. That
is not a pass, and reporting it as one is the same error as reporting a
screenshot you never took.
Errors are things a page cannot do without. Notes are judgement calls with
context attached. Read both; fix the errors; decide about the notes.
## What every page owes
**A `lang` on `<html>`.** Without it a screen reader guesses and mispronounces.
**A `<title>` that is this page's, not the layout's.** The commonest defect the
check finds is several routes sharing one title, because a layout set it and no
route overrode it. The title is the name of the page in a tab