O que sabe o seu empregado antes de construír algo
Calquera pode apuntar un modelo a un sitio web. Estas son as regras que se aplican a cada páxina, por que existe cada unha delas e cales deben deter a publicación en lugar de avisar.
Cada regra en baixo foi pagada por un incidente nun sitio que executamos: un descenso na clasificación, unha tradución rota, unha páxina que renderiza o seu propio código fonte. Non estamos a adiviñar as mellores prácticas; estamos a escribir o que xa se volveu mal para que non se volva mal no seu sitio tamén.
Regras que bloquean unha publicación directamente: 8 de 12. Unha páxina bloqueada é devolta ao empregado coa razón, e téntase de novo. Non se publica e avísase despois.
1. One page, one subject
bloques publicar
Exactly one <h1>. A descriptive <title> of 15-60 characters.
Por que: Title is the strongest per-page signal Google has. Google rewrites titles for the SERP most of the time, but the signal it forms from yours still affects ranking, and a generic or duplicated title reads as a quality problem.
2. A description written for a human
advirte
A meta description of 140-158 characters, unique to the page.
Por que: Description does not rank the page, it decides whether anyone clicks it. Too short wastes the snippet; too long truncates mid-sentence.
3. No shared body text, ever
bloques publicar
Every page gets body copy and FAQ answers written for that page. Never a shared template with a noun swapped in.
Por que: This is the one that costs months. A site we run shipped ~1700 pages on one generic FAQ body and a site-level quality classifier suppressed the whole domain — pages still indexed, ranking gone, no manual action to appeal. Recovery ran on core-update timescale.
4. Absolute canonical, paired with hreflang
bloques publicar
Every page self-canonicalises with an absolute URL. Any hreflang cluster ships alongside that canonical, also absolute.
Por que: Relative hrefs are silently dropped. hreflang without a self-canonical fills the index report with "Duplicate without user-selected canonical" — 56,801 pages on one site we run.
5. Markup may only claim what the page shows
bloques publicar
Structured data mirrors the visible text exactly. Schema goes on the page types that earn a rich result, not on everything.
Por que: Schema is not a general ranking input and not required for AI search -- Google says so directly. Markup that claims a price or a question the page never shows is a violation that can earn a manual action.
7. Positional {0} slots in translatable strings
bloques publicar
Any string that will be machine-translated uses {0}, {1} — never {name}.
Por que: MT engines translate or transliterate the word inside the braces, or drop a brace entirely. A numeric slot has no word to translate and survives intact. This silently broke about 10% of non-English rows on one site before anyone noticed.
8. Nothing is indexable until it is finished
bloques publicar
Pages ship noindex. Indexing is a deliberate opt-in by the owner, per site.
Por que: These sites share a wildcard domain. One spam tenant indexed on that wildcard damages every other tenant on it, and a half-finished page indexed on day one takes months to undo.
9. Build the thing, do not describe the thing
advirte
A page either does something useful or says something specific. A page that only describes a tool is not a page.
Por que: Thin wrappers around someone else's API are the clearest signal a quality classifier has. Real utility is what survives a core update.
10. No orphans
advirte
Every indexable page has at least one inbound internal link.
Por que: Internal links pass ranking signal and drive crawl. A page reachable only from the sitemap gets crawled a few times and then largely forgotten.
11. Alt text and intrinsic dimensions on every image
advirte
Every <img> has alt text and explicit width/height.
Por que: Alt text is an accessibility requirement first and an indexing signal second. Missing dimensions cause layout shift, which is a Core Web Vitals failure on mobile — and mobile is what gets indexed.
12. Retired URLs return 410, verified
bloques publicar
A removed page returns 410 Gone, confirmed by an actual request after deploy.
Por que: A 404 lingers as a soft-404 for months; a 410 deindexes cleanly. And per-view dispatch often intercepts the request before the 410-returning view is ever reached, so the check has to be a real HTTP request, not a code read.
Por que isto é un linter e non unha guía de estilo
Unha regra que só vive nunha instrución é unha suxestión - o modelo segueno a maior parte do tempo e silenciosamente non segue o resto, e atópase tres meses despois nun informe de tráfico. Así que estes executan como código, despois de que a páxina se escriba e antes de que se active. Unha páxina que falla nunha regra de bloqueo é devolta coa razón e reescríbese. O resultado está no recibo de calquera xeito, polo que pode ver que comprobacións se executaron.
E nada se indexa ata que o digas
Todos os sitios comezan con noindex. Non é por omisión que teña que descubrir, como regra o linter faino, porque estes sitios comparten un dominio e un mal veciño prexudica a todos. Cando o seu sitio vale a pena atopar, activa a indexación na configuración e comeza a ser rastrexado.
O resultado do linter para cada páxina é rexistrado no seu recibo, e os recibos están dispoñíbeis sobre a API.
Construíde a miña compañía libre