Maxaa shaqaalahaaga og yahay ka hor inta uusan waxba dhisin

Qof kastaa wuxuu ku tilmaami karaa qaabka bogga internetka. Kuwani waa xeerarka ay ku habboon tahay bog kasta, sababta oo ah mid kasta oo ka mid ah ayaa jira, iyo kuwa ka mid ah oo joojiyay daabacaadda ka badan in ay ka digayaan.

Xeerka kasta hoos ku qoran waxaa la bixiyay by dhacdo ku saabsan goobta aan la socdaan — a ranking cliff, a turjumaad burburay, bogga oo soo bandhigay code asalka ah ee ay. Waxaan ma aaminsana in habka ugu fiican; waxaan ku qorno waxa horeyba u dhacay si ay u noqon wax xun oo aan u noqon wax xun oo ku saabsan goobtaada ka badan.

Xeerarka oo xaddidaya daabacaadda outright: 8 ama 12. A bog xiran waa la siiyaa dib u shaqaalaha sabab, oo ay dib u tijaabiso. Waa in aan la daabaco oo aad u digay ka dib.

1. One page, one subject

blocks daabaca

Exactly one <h1>. A descriptive <title> of 15-60 characters.

Maxaa: 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

Digniin

A meta description of 140-158 characters, unique to the page.

Maxaa: 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

blocks daabaca

Every page gets body copy and FAQ answers written for that page. Never a shared template with a noun swapped in.

Maxaa: 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

blocks daabaca

Every page self-canonicalises with an absolute URL. Any hreflang cluster ships alongside that canonical, also absolute.

Maxaa: 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

blocks daabaca

Structured data mirrors the visible text exactly. Schema goes on the page types that earn a rich result, not on everything.

Maxaa: 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.

6. Django comments are {% comment %}

blocks daabaca

Never {# #}. Not even on one line.

Maxaa: Django's template lexer regex has no DOTALL flag, so {# #} only closes on its own line. A multi-line one renders as visible page text, and if it contains a {% %} substring the lexer treats it as a real tag and every render crashes. Both have happened in production.

7. Positional {0} slots in translatable strings

blocks daabaca

Any string that will be machine-translated uses {0}, {1} — never {name}.

Maxaa: 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

blocks daabaca

Pages ship noindex. Indexing is a deliberate opt-in by the owner, per site.

Maxaa: 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

Digniin

A page either does something useful or says something specific. A page that only describes a tool is not a page.

Maxaa: Thin wrappers around someone else's API are the clearest signal a quality classifier has. Real utility is what survives a core update.

11. Alt text and intrinsic dimensions on every image

Digniin

Every <img> has alt text and explicit width/height.

Maxaa: 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

blocks daabaca

A removed page returns 410 Gone, confirmed by an actual request after deploy.

Maxaa: 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.

Maxaa ka dhigaya tan linter iyo ma qaabka tilmaame

A sharci oo kaliya ku nool in tilmaamo waa talo — qaabka raacaa in ay inta badan ee waqtiga iyo si xasilan ma ay natiijooyinka, oo aad ka heli saddex bilood ka dib warbixinta gaadiidka. Sidaas oo kale, sida code, ka dib markii bogga waa la qoray iyo ka hor inta uusan u socdaan nool. A bogga oo ku fashilmaan sharci ka hortagga waa la siiyaa dib sabab iyo dib loo qoray. natiijada waa ku saabsan aqbalaadda labadaba, si aad u aragto in ay tijaabooyin ku socday.

Oo waxba ma aha in la soo bandhigo ilaa aad sidaas u sheegto

Si kasta oo goobta ka bilowdo noindex. Ma aha sida default aad u baahan tahay inaad ogaato - sida xeer linter soo saaro, sababtoo ah goobahaas qaybsadaan domain iyo mid deriska xun dhaawaca qof kasta oo ku saabsan. Marka goobtaada waa ku filan in la helo, waxaad ka dhigi indeksering on settings iyo waxa uu bilaabayaa in la crawled.

Run shiftadaada koowaad oo bilaash ah