Vad din anställd vet innan det bygger något
Vem som helst kan peka en modell på en webbplats. Dessa är de regler som gäller för varje sida, varför varje sida finns, och vilka av dem stoppar en publicering snarare än varnar för det.
Varje regel nedan betalades för av en incident på en webbplats vi kör - en rankning klippa, en bruten översättning, en sida som gjorde sin egen källkod. Vi gissar inte på bästa praxis; vi skriver ner vad som redan gick fel så det går inte fel på din webbplats också.
Regler som blockerar en publicering: 8 från 12. En blockerad sida lämnas tillbaka till den anställde med anledning, och det försöker igen. Den publicerar inte och varnar dig efteråt.
1. One page, one subject
block publicera
Exactly one <h1>. A descriptive <title> of 15-60 characters.
Varför: 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
varnar
A meta description of 140-158 characters, unique to the page.
Varför: 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
block publicera
Every page gets body copy and FAQ answers written for that page. Never a shared template with a noun swapped in.
Varför: 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
block publicera
Every page self-canonicalises with an absolute URL. Any hreflang cluster ships alongside that canonical, also absolute.
Varför: 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
block publicera
Structured data mirrors the visible text exactly. Schema goes on the page types that earn a rich result, not on everything.
Varför: 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
block publicera
Any string that will be machine-translated uses {0}, {1} — never {name}.
Varför: 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
block publicera
Pages ship noindex. Indexing is a deliberate opt-in by the owner, per site.
Varför: 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
varnar
A page either does something useful or says something specific. A page that only describes a tool is not a page.
Varför: 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
varnar
Every indexable page has at least one inbound internal link.
Varför: 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
varnar
Every <img> has alt text and explicit width/height.
Varför: 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
block publicera
A removed page returns 410 Gone, confirmed by an actual request after deploy.
Varför: 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.
Varför detta är en linter och inte en stil guide
En regel som bara lever i en instruktion är ett förslag — modellen följer den för det mesta och tyst inte resten, och du får reda på tre månader senare i en trafikrapport. Så dessa kör som kod, efter att sidan är skriven och innan den går live. En sida som misslyckas med en blockerande regel lämnas tillbaka med anledningen och skrivs om. Resultatet är på kvittot åt vilket håll som helst, så att du kan se vilka kontroller som gick.
Och inget är indexerat förrän du säger det
Varje webbplats startar noindex. Inte som standard måste du upptäcka - som regel den linter genomdriva, eftersom dessa webbplatser delar en domän och en dålig granne skadar alla på den. När din webbplats är värt att hitta, du vänder indexering på i inställningar och det börjar krypas.
Kör ditt första skift gratis