خىزمەتچىڭىز بىرەر نەرسىنى قۇرۇشتىن بۇرۇن بىلىدىغان نەرسىلەر

ھەركىم بىر تور بېكەتتىكى بىر مودېلنى كۆرسىتىپ بېرەلەيدۇ. بۇلار ھەر بىر بەتنىڭ قانۇنلىرى، نېمە ئۈچۈن ھەر بىر بەتنىڭ بارلىقىنى، قايسى قانۇنلار بۇ ھەقتە ئاگاھلاندۇرۇش بەرمەيلا، ئېلان قىلىشنى توختىتىدۇ.

تۆۋەندىكى ھەر بىر قائىدە بىز باشقۇرىدىغان تور بېكەتتىكى بىر ۋەقە تۈپەيلىدىن چىقىرىلغان. يەنى بىر دەرىجە ئېگىزلىكى، بىر بۇزۇلغان تەرجىمە، بىر ئۆزىنىڭ مەنبە كودى بىلەن سىزىلغان بىر بەت. بىز ئەڭ ياخشى ئۇسۇلنى ئويلاپ چىقمىغان، بىز سىزنىڭ تور بېكىتىڭىزدە بۇ خىل خاتالىق يۈز بەرمەسلىكى ئۈچۈن بۇرۇنقى خاتالىقلارنى خاتىرىلەپ قويدۇق.

ئېلان قىلىشنى تولۇق توختىتىپ قويىدىغان قائىدە: 8 نىڭ 12. A blocked page is handed back to the employee with the reason, and it tries again. It does not publish and warn you afterwards.

1. One page, one subject

بلوکلار ئېلان قىلىندى

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

نېمە ئۈچۈن: 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

ئاگاھلاندۇرۇش

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

نېمە ئۈچۈن: 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

بلوکلار ئېلان قىلىندى

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

نېمە ئۈچۈن: 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

بلوکلار ئېلان قىلىندى

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

نېمە ئۈچۈن: 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

بلوکلار ئېلان قىلىندى

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

نېمە ئۈچۈن: 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 %}

بلوکلار ئېلان قىلىندى

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

نېمە ئۈچۈن: 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

بلوکلار ئېلان قىلىندى

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

نېمە ئۈچۈن: 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

بلوکلار ئېلان قىلىندى

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

نېمە ئۈچۈن: 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

ئاگاھلاندۇرۇش

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

نېمە ئۈچۈن: 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

ئاگاھلاندۇرۇش

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

نېمە ئۈچۈن: 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

بلوکلار ئېلان قىلىندى

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

نېمە ئۈچۈن: 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.

بۇ نېمە ئۈچۈن بىر linter، يەنى سىزىقچە ئەمەس

پەقەت بۇيرۇقتا تۇرىدىغان قائىدە تەكلىپتۇر. مودېل بۇيرۇققا كۆپىنچە ۋاقىتلاردا بويسۇنىدۇ، قالغانلىرىنى يىراقتىن باشقۇرىدۇ، سىز بۇنى ئۈچ ئايدىن كېيىن يول قاتناش دوكلاتىدا بايقايدۇ. شۇڭا بۇلار كود شەكلىدە ئىشلىنىدۇ، يەنى پۈتۈك يېزىلغاندىن كېيىن ۋە يېزىلغاندىن بۇرۇن ئىشلىنىدۇ. توسقۇنلۇق قائىدە بىلەن ئىشەنچسىز بولغان پۈتۈك سەۋەب بىلەن قايتۇرۇلۇپ، قايتا يېزىلغان. نەتىجە ھەر ئىككى تەرەپتە ئېرىشكەن، شۇڭا قايسى تەكشۈرۈشلەرنى ئىشلىگەنلىكىنى كۆرەلەيسىز.

سىز بۇنى ئېيتماي تۇرۇپ ھېچنېمە ئىزاھلانمايدۇ

ھەر بىر تور بېكىتى noindex نى قوزغايدۇ. بۇنى سىز ئالدىنقى ھالەتتە بايقاپ چىقىشىڭىز كېرەك ئەمەس. بۇ تور بېكەتلىرى بىر دوميننى ئورتاق ئىشلىتىدۇ، بىرلا يامان قوشنا بولسا تور بېكىتىدىكى بارلىق تور بېكەتلەر زىيانغا ئۇچرايدۇ. تور بېكىتى تېپىشىڭىزغا تېگىشلىك بولسا، تەڭشەكلەردە ئىزاھلاشنى قوزغاپ، تور بېكىتى ئىزدەشتىن باشلايدۇ.

ھەر بىر بەتنىڭ linter نەتىجىسى ئۇنىڭ رېكۋېستىغا يېزىلىپ، رېكۋېستلار بار API ئۈستىدە.

شىركىتىمنى ھەقسىز قۇرۇش