Все правила

43 built-in rules generated from the check registry.

Каждое правило принимает error, warn, info, off или [severity, options] в ranklint.config и отключается на странице через useRanklintIgnore().

RuleКатегорияОбластьSeverity по умолчаниюОписание
canonical:no-chainmetasitewarncanonical не ведёт на страницу с другим canonical
canonical:requiredmetapageerrorесть rel=canonical
canonical:validmetapageerrorcanonical отвечает 200 (сетевой)
headings:h1-lengthheadingspagewarnдлина h1; { min, max }
headings:hierarchyheadingspagewarnбез перескоков уровней (h2 → h4)
headings:no-emptyheadingspagewarnнет пустых заголовков
headings:single-h1headingspageerrorровно один h1
headings:unique-h1headingssitewarnh1 уникальны между страницами
hreflang:symmetrici18nsiteerrorвзаимность hreflang-ссылок
hreflang:valid-targetsi18npageerrorhreflang-цели отвечают 200
http:no-mixed-contenthttppageerrorнет http-ресурсов на https-странице
http:no-soft-404httpsiteerror404 не маскируются под 200
http:ttfb-budgethttpsitewarnp75 TTFB по группам; { p75, budgets }
http:x-robots-consistenthttppageerrorX-Robots-Tag не противоречит meta robots
i18n:no-locale-leaki18npageerrorязык контента соответствует локали URL и html lang; блоки кода не учитываются
images:alt-requiredimagespagewarnу контентных img есть alt
images:dimensions-requiredimagespagewarnwidth/height против CLS
images:no-lazy-above-foldimagespagewarnнет loading=lazy во вьюпорте; { firstImages }
indexability:ssr-contentindexabilitypageerrorконтент есть в SSR, а не только после гидрации; { minRatio }
jsonld:parseablestructured-datapageerrorJSON-LD парсится
jsonld:valid-schemastructured-datapageerrorвалидность по Schema.org-схемам; { schemas } — свои схемы
links:no-brokenlinkspageerrorвнутренние ссылки не 4xx/5xx (HEAD с кешем на прогон)
links:no-orphanslinkssitewarnстраницы sitemap, на которые никто не ссылается
links:no-redirect-chainlinkspagewarnцепочки редиректов; { maxHops }
links:no-utm-internallinkspagewarnвнутренние ссылки без UTM и click-id параметров
links:permanent-redirectslinkspagewarn302 там, где должен быть 301
links:trailing-slash-consistentlinkssitewarnединообразие завершающего слеша
meta:description-lengthmetapagewarnдлина meta description, по умолчанию 70–160 символов; { min, max }
meta:description-requiredmetapageerrorесть meta description
meta:no-duplicate-descriptionmetasiteerrorодинаковые description; взаимные hreflang-альтернативы дублями не считаются
meta:no-duplicate-titlemetasiteerrorодинаковые title на разных страницах; взаимные hreflang-альтернативы дублями не считаются
meta:og-requiredmetapagewarnog:title, og:description, og:image — один issue на страницу со списком отсутствующих
meta:title-lengthmetapagewarnдлина title, по умолчанию 30–60 символов; { min, max }
meta:title-requiredmetapageerrorесть
meta:twitter-cardmetapagewarntwitter:card корректен
mobile:viewporthttppageerrorесть viewport meta
robots:env-policyrobotssiteerrorprod открыт / не-prod закрыт
robots:expected-disallowrobotssitewarnожидания из robots.expect выполняются
robots:reachablerobotssiteerrorrobots.txt отвечает 200
robots:sitemap-declaredrobotssitewarnSitemap-директива объявлена
robots:zone-not-blockedrobotssiteerrorсвоя зона не закрыта Disallow
sitemap:no-noindexindexabilitysiteerrorв sitemap нет noindex-страниц
sitemap:reachableindexabilitysiteerrorкаждый URL из sitemap отвечает < 400 (из краула или HEAD-пробой, maxProbes: 100, 0 = без лимита); непроверенный остаток попадает в отчёт