[{"data":1,"prerenderedAt":637},["ShallowReactive",2],{"navigation_docs_ru":3,"-ru-advanced-nuances":361,"-ru-advanced-nuances-surround":632},[4,23,49,83,93,115,343,353],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":22},"Начало работы","i-lucide-rocket","\u002Fru\u002Fgetting-started","ru\u002F1.getting-started",[10,14,18],{"title":11,"path":12,"stem":13},"Введение","\u002Fru\u002Fgetting-started\u002Fintroduction","ru\u002F1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Установка","\u002Fru\u002Fgetting-started\u002Finstallation","ru\u002F1.getting-started\u002F2.installation",{"title":19,"path":20,"stem":21},"ranklint init","\u002Fru\u002Fgetting-started\u002Finit","ru\u002F1.getting-started\u002F3.init",false,{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":22},"Nuxt-модуль","i-lucide-box","\u002Fru\u002Fmodule","ru\u002F2.module",[29,33,37,41,45],{"title":30,"path":31,"stem":32},"Обзор","\u002Fru\u002Fmodule\u002Foverview","ru\u002F2.module\u002F1.overview",{"title":34,"path":35,"stem":36},"Sitemap","\u002Fru\u002Fmodule\u002Fsitemap","ru\u002F2.module\u002F2.sitemap",{"title":38,"path":39,"stem":40},"Robots","\u002Fru\u002Fmodule\u002Frobots","ru\u002F2.module\u002F3.robots",{"title":42,"path":43,"stem":44},"Композаблы","\u002Fru\u002Fmodule\u002Fcomposables","ru\u002F2.module\u002F4.composables",{"title":46,"path":47,"stem":48},"DevTools","\u002Fru\u002Fmodule\u002Fdevtools","ru\u002F2.module\u002F5.devtools",{"title":50,"icon":51,"path":52,"stem":53,"children":54,"page":22},"CLI","i-lucide-terminal","\u002Fru\u002Fcli","ru\u002F3.cli",[55,59,63,67,71,75,79],{"title":56,"path":57,"stem":58},"ranklint audit","\u002Fru\u002Fcli\u002Faudit","ru\u002F3.cli\u002F1.audit",{"title":60,"path":61,"stem":62},"Diff и CI","\u002Fru\u002Fcli\u002Fdiff-and-ci","ru\u002F3.cli\u002F2.diff-and-ci",{"title":64,"path":65,"stem":66},"Мониторинг прода","\u002Fru\u002Fcli\u002Fmonitor","ru\u002F3.cli\u002F3.monitor",{"title":68,"path":69,"stem":70},"Lighthouse","\u002Fru\u002Fcli\u002Flighthouse","ru\u002F3.cli\u002F4.lighthouse",{"title":72,"path":73,"stem":74},"Зоны (multi-app домены)","\u002Fru\u002Fcli\u002Fzones","ru\u002F3.cli\u002F5.zones",{"title":76,"path":77,"stem":78},"Остальные команды","\u002Fru\u002Fcli\u002Fother-commands","ru\u002F3.cli\u002F6.other-commands",{"title":80,"path":81,"stem":82},"Watch mode","\u002Fru\u002Fcli\u002Fwatch","ru\u002F3.cli\u002F7.watch",{"title":84,"icon":85,"path":86,"stem":87,"children":88,"page":22},"Конфигурация","i-lucide-settings-2","\u002Fru\u002Fconfig","ru\u002F4.config",[89],{"title":90,"path":91,"stem":92},"Справочник","\u002Fru\u002Fconfig\u002Freference","ru\u002F4.config\u002F1.reference",{"title":94,"icon":95,"path":96,"stem":97,"children":98,"page":22},"Продвинутое","i-lucide-wrench","\u002Fru\u002Fadvanced","ru\u002F5.advanced",[99,103,107,111],{"title":100,"path":101,"stem":102},"Кастомные правила и пресеты","\u002Fru\u002Fadvanced\u002Fcustom-rules","ru\u002F5.advanced\u002F1.custom-rules",{"title":104,"path":105,"stem":106},"Умные эвристики","\u002Fru\u002Fadvanced\u002Fheuristics","ru\u002F5.advanced\u002F2.heuristics",{"title":108,"path":109,"stem":110},"Env-переменные","\u002Fru\u002Fadvanced\u002Fenv","ru\u002F5.advanced\u002F3.env",{"title":112,"path":113,"stem":114},"Нюансы и ограничения","\u002Fru\u002Fadvanced\u002Fnuances","ru\u002F5.advanced\u002F4.nuances",{"title":116,"icon":117,"path":118,"stem":119,"children":120},"Правила","i-lucide-list-checks","\u002Fru\u002Frules","ru\u002F6.rules\u002Findex",[121,123,148,173,190,207,228,257,306,330],{"title":122,"path":118,"stem":119},"Все правила",{"title":124,"path":125,"stem":126,"children":127,"page":22},"Headings","\u002Fru\u002Frules\u002Fheadings","ru\u002F6.rules\u002Fheadings",[128,132,136,140,144],{"title":129,"path":130,"stem":131},"headings:h1-length","\u002Fru\u002Frules\u002Fheadings\u002Fheadings-h1-length","ru\u002F6.rules\u002Fheadings\u002Fheadings-h1-length",{"title":133,"path":134,"stem":135},"headings:hierarchy","\u002Fru\u002Frules\u002Fheadings\u002Fheadings-hierarchy","ru\u002F6.rules\u002Fheadings\u002Fheadings-hierarchy",{"title":137,"path":138,"stem":139},"headings:no-empty","\u002Fru\u002Frules\u002Fheadings\u002Fheadings-no-empty","ru\u002F6.rules\u002Fheadings\u002Fheadings-no-empty",{"title":141,"path":142,"stem":143},"headings:single-h1","\u002Fru\u002Frules\u002Fheadings\u002Fheadings-single-h1","ru\u002F6.rules\u002Fheadings\u002Fheadings-single-h1",{"title":145,"path":146,"stem":147},"headings:unique-h1","\u002Fru\u002Frules\u002Fheadings\u002Fheadings-unique-h1","ru\u002F6.rules\u002Fheadings\u002Fheadings-unique-h1",{"title":149,"path":150,"stem":151,"children":152,"page":22},"Http","\u002Fru\u002Frules\u002Fhttp","ru\u002F6.rules\u002Fhttp",[153,157,161,165,169],{"title":154,"path":155,"stem":156},"http:no-mixed-content","\u002Fru\u002Frules\u002Fhttp\u002Fhttp-no-mixed-content","ru\u002F6.rules\u002Fhttp\u002Fhttp-no-mixed-content",{"title":158,"path":159,"stem":160},"http:no-soft-404","\u002Fru\u002Frules\u002Fhttp\u002Fhttp-no-soft-404","ru\u002F6.rules\u002Fhttp\u002Fhttp-no-soft-404",{"title":162,"path":163,"stem":164},"http:ttfb-budget","\u002Fru\u002Frules\u002Fhttp\u002Fhttp-ttfb-budget","ru\u002F6.rules\u002Fhttp\u002Fhttp-ttfb-budget",{"title":166,"path":167,"stem":168},"http:x-robots-consistent","\u002Fru\u002Frules\u002Fhttp\u002Fhttp-x-robots-consistent","ru\u002F6.rules\u002Fhttp\u002Fhttp-x-robots-consistent",{"title":170,"path":171,"stem":172},"mobile:viewport","\u002Fru\u002Frules\u002Fhttp\u002Fmobile-viewport","ru\u002F6.rules\u002Fhttp\u002Fmobile-viewport",{"title":174,"path":175,"stem":176,"children":177,"page":22},"I18n","\u002Fru\u002Frules\u002Fi18n","ru\u002F6.rules\u002Fi18n",[178,182,186],{"title":179,"path":180,"stem":181},"hreflang:symmetric","\u002Fru\u002Frules\u002Fi18n\u002Fhreflang-symmetric","ru\u002F6.rules\u002Fi18n\u002Fhreflang-symmetric",{"title":183,"path":184,"stem":185},"hreflang:valid-targets","\u002Fru\u002Frules\u002Fi18n\u002Fhreflang-valid-targets","ru\u002F6.rules\u002Fi18n\u002Fhreflang-valid-targets",{"title":187,"path":188,"stem":189},"i18n:no-locale-leak","\u002Fru\u002Frules\u002Fi18n\u002Fi18n-no-locale-leak","ru\u002F6.rules\u002Fi18n\u002Fi18n-no-locale-leak",{"title":191,"path":192,"stem":193,"children":194,"page":22},"Images","\u002Fru\u002Frules\u002Fimages","ru\u002F6.rules\u002Fimages",[195,199,203],{"title":196,"path":197,"stem":198},"images:alt-required","\u002Fru\u002Frules\u002Fimages\u002Fimages-alt-required","ru\u002F6.rules\u002Fimages\u002Fimages-alt-required",{"title":200,"path":201,"stem":202},"images:dimensions-required","\u002Fru\u002Frules\u002Fimages\u002Fimages-dimensions-required","ru\u002F6.rules\u002Fimages\u002Fimages-dimensions-required",{"title":204,"path":205,"stem":206},"images:no-lazy-above-fold","\u002Fru\u002Frules\u002Fimages\u002Fimages-no-lazy-above-fold","ru\u002F6.rules\u002Fimages\u002Fimages-no-lazy-above-fold",{"title":208,"path":209,"stem":210,"children":211,"page":22},"Indexability","\u002Fru\u002Frules\u002Findexability","ru\u002F6.rules\u002Findexability",[212,218,224],{"title":213,"path":214,"stem":215,"children":216},"indexability:ssr-content","\u002Fru\u002Frules\u002Findexability\u002Findexability-ssr-content","ru\u002F6.rules\u002Findexability\u002Findexability-ssr-content",[217],{"title":213,"path":214,"stem":215},{"title":219,"path":220,"stem":221,"children":222},"sitemap:no-noindex","\u002Fru\u002Frules\u002Findexability\u002Fsitemap-no-noindex","ru\u002F6.rules\u002Findexability\u002Fsitemap-no-noindex",[223],{"title":219,"path":220,"stem":221},{"title":225,"path":226,"stem":227},"sitemap:reachable","\u002Fru\u002Frules\u002Findexability\u002Fsitemap-reachable","ru\u002F6.rules\u002Findexability\u002Fsitemap-reachable",{"title":229,"path":230,"stem":231,"children":232,"page":22},"Links","\u002Fru\u002Frules\u002Flinks","ru\u002F6.rules\u002Flinks",[233,237,241,245,249,253],{"title":234,"path":235,"stem":236},"links:no-broken","\u002Fru\u002Frules\u002Flinks\u002Flinks-no-broken","ru\u002F6.rules\u002Flinks\u002Flinks-no-broken",{"title":238,"path":239,"stem":240},"links:no-orphans","\u002Fru\u002Frules\u002Flinks\u002Flinks-no-orphans","ru\u002F6.rules\u002Flinks\u002Flinks-no-orphans",{"title":242,"path":243,"stem":244},"links:no-redirect-chain","\u002Fru\u002Frules\u002Flinks\u002Flinks-no-redirect-chain","ru\u002F6.rules\u002Flinks\u002Flinks-no-redirect-chain",{"title":246,"path":247,"stem":248},"links:no-utm-internal","\u002Fru\u002Frules\u002Flinks\u002Flinks-no-utm-internal","ru\u002F6.rules\u002Flinks\u002Flinks-no-utm-internal",{"title":250,"path":251,"stem":252},"links:permanent-redirects","\u002Fru\u002Frules\u002Flinks\u002Flinks-permanent-redirects","ru\u002F6.rules\u002Flinks\u002Flinks-permanent-redirects",{"title":254,"path":255,"stem":256},"links:trailing-slash-consistent","\u002Fru\u002Frules\u002Flinks\u002Flinks-trailing-slash-consistent","ru\u002F6.rules\u002Flinks\u002Flinks-trailing-slash-consistent",{"title":258,"path":259,"stem":260,"children":261,"page":22},"Meta","\u002Fru\u002Frules\u002Fmeta","ru\u002F6.rules\u002Fmeta",[262,266,270,274,278,282,286,290,294,298,302],{"title":263,"path":264,"stem":265},"canonical:no-chain","\u002Fru\u002Frules\u002Fmeta\u002Fcanonical-no-chain","ru\u002F6.rules\u002Fmeta\u002Fcanonical-no-chain",{"title":267,"path":268,"stem":269},"canonical:required","\u002Fru\u002Frules\u002Fmeta\u002Fcanonical-required","ru\u002F6.rules\u002Fmeta\u002Fcanonical-required",{"title":271,"path":272,"stem":273},"canonical:valid","\u002Fru\u002Frules\u002Fmeta\u002Fcanonical-valid","ru\u002F6.rules\u002Fmeta\u002Fcanonical-valid",{"title":275,"path":276,"stem":277},"meta:description-length","\u002Fru\u002Frules\u002Fmeta\u002Fmeta-description-length","ru\u002F6.rules\u002Fmeta\u002Fmeta-description-length",{"title":279,"path":280,"stem":281},"meta:description-required","\u002Fru\u002Frules\u002Fmeta\u002Fmeta-description-required","ru\u002F6.rules\u002Fmeta\u002Fmeta-description-required",{"title":283,"path":284,"stem":285},"meta:no-duplicate-description","\u002Fru\u002Frules\u002Fmeta\u002Fmeta-no-duplicate-description","ru\u002F6.rules\u002Fmeta\u002Fmeta-no-duplicate-description",{"title":287,"path":288,"stem":289},"meta:no-duplicate-title","\u002Fru\u002Frules\u002Fmeta\u002Fmeta-no-duplicate-title","ru\u002F6.rules\u002Fmeta\u002Fmeta-no-duplicate-title",{"title":291,"path":292,"stem":293},"meta:og-required","\u002Fru\u002Frules\u002Fmeta\u002Fmeta-og-required","ru\u002F6.rules\u002Fmeta\u002Fmeta-og-required",{"title":295,"path":296,"stem":297},"meta:title-length","\u002Fru\u002Frules\u002Fmeta\u002Fmeta-title-length","ru\u002F6.rules\u002Fmeta\u002Fmeta-title-length",{"title":299,"path":300,"stem":301},"meta:title-required","\u002Fru\u002Frules\u002Fmeta\u002Fmeta-title-required","ru\u002F6.rules\u002Fmeta\u002Fmeta-title-required",{"title":303,"path":304,"stem":305},"meta:twitter-card","\u002Fru\u002Frules\u002Fmeta\u002Fmeta-twitter-card","ru\u002F6.rules\u002Fmeta\u002Fmeta-twitter-card",{"title":38,"path":307,"stem":308,"children":309,"page":22},"\u002Fru\u002Frules\u002Frobots","ru\u002F6.rules\u002Frobots",[310,314,318,322,326],{"title":311,"path":312,"stem":313},"robots:env-policy","\u002Fru\u002Frules\u002Frobots\u002Frobots-env-policy","ru\u002F6.rules\u002Frobots\u002Frobots-env-policy",{"title":315,"path":316,"stem":317},"robots:expected-disallow","\u002Fru\u002Frules\u002Frobots\u002Frobots-expected-disallow","ru\u002F6.rules\u002Frobots\u002Frobots-expected-disallow",{"title":319,"path":320,"stem":321},"robots:reachable","\u002Fru\u002Frules\u002Frobots\u002Frobots-reachable","ru\u002F6.rules\u002Frobots\u002Frobots-reachable",{"title":323,"path":324,"stem":325},"robots:sitemap-declared","\u002Fru\u002Frules\u002Frobots\u002Frobots-sitemap-declared","ru\u002F6.rules\u002Frobots\u002Frobots-sitemap-declared",{"title":327,"path":328,"stem":329},"robots:zone-not-blocked","\u002Fru\u002Frules\u002Frobots\u002Frobots-zone-not-blocked","ru\u002F6.rules\u002Frobots\u002Frobots-zone-not-blocked",{"title":331,"path":332,"stem":333,"children":334,"page":22},"Structured Data","\u002Fru\u002Frules\u002Fstructured-data","ru\u002F6.rules\u002Fstructured-data",[335,339],{"title":336,"path":337,"stem":338},"jsonld:parseable","\u002Fru\u002Frules\u002Fstructured-data\u002Fjsonld-parseable","ru\u002F6.rules\u002Fstructured-data\u002Fjsonld-parseable",{"title":340,"path":341,"stem":342},"jsonld:valid-schema","\u002Fru\u002Frules\u002Fstructured-data\u002Fjsonld-valid-schema","ru\u002F6.rules\u002Fstructured-data\u002Fjsonld-valid-schema",{"title":344,"icon":345,"path":346,"stem":347,"children":348,"page":22},"Гайды","i-lucide-book-open","\u002Fru\u002Fguides","ru\u002F7.guides",[349],{"title":350,"path":351,"stem":352},"SEO-чеклист для Nuxt-проекта","\u002Fru\u002Fguides\u002Fseo-checklist-nuxt","ru\u002F7.guides\u002F1.seo-checklist-nuxt",{"title":354,"path":355,"stem":356,"children":357,"icon":360},"Изменения","\u002Fru\u002Fchangelog","ru\u002F8.changelog\u002Findex",[358],{"title":359,"path":355,"stem":356},"Изменения и релизы ranklint","i-lucide-history",{"id":362,"title":112,"body":363,"description":625,"extension":626,"links":627,"meta":628,"navigation":629,"path":113,"seo":630,"stem":114,"__hash__":631},"docs_ru\u002Fru\u002F5.advanced\u002F4.nuances.md",{"type":364,"value":365,"toc":621},"minimark",[366],[367,368,369,378,422,433,446,503,549,559,573,587,590,597,602,605,608,611,614],"ul",{},[370,371,372,373,377],"li",{},"Дедуп URL при краула: hash отбрасывается, ",[374,375,376],"strong",{},"query сохраняется"," — фасеточные фильтры важны для crawl-budget анализа.",[370,379,380,381,385,386,385,389,385,392,385,395,385,398,385,401,385,404,385,407,385,410,413,414,417,418,421],{},"Исключение — трекинговые параметры: ",[382,383,384],"code",{},"utm_*",", ",[382,387,388],{},"gclid",[382,390,391],{},"gbraid",[382,393,394],{},"wbraid",[382,396,397],{},"fbclid",[382,399,400],{},"yclid",[382,402,403],{},"msclkid",[382,405,406],{},"_gl",[382,408,409],{},"mc_cid",[382,411,412],{},"mc_eid"," вырезаются, поэтому ",[382,415,416],{},"\u002Fa?utm_source=x"," и ",[382,419,420],{},"\u002Fa"," — одна страница; остальные параметры сохраняют порядок.",[370,423,424,425,428,429,432],{},"Страница не загрузилась (таймаут, сеть, TLS) → снапшот со statusCode 0 + ",[382,426,427],{},"crawl:timeout","; page-чеки по ней ",[374,430,431],{},"пропускаются"," — ложных «нет title» не будет. Краулер не падает целиком никогда.",[370,434,435,436,439,440,442,443,445],{},"Page-чеки пропускаются и для снапшотов с 4xx\u002F5xx (HTML-404 на битую ссылку ",[382,437,438],{},"\u002Fx.pdf"," не даст ",[382,441,267],{}," и дублей title): саму битую ссылку сообщает ",[382,444,234],{}," на ссылающейся странице. Site-чеки эти снапшоты по-прежнему видят.",[370,447,448,449,452,453,456,457,460,461,417,463,465,466,452,468,471,472,475,476,479,480,452,483,385,486,452,489,492,493,496,497,475,500,502],{},"Страница, чьи редиректы заканчиваются на другом origin (внутренняя короткая ссылка ",[382,450,451],{},"\u002Fl\u002Fx"," → ",[382,454,455],{},"apps.apple.com","), считается в ",[382,458,459],{},"crawlStats.external",": она не аудируется и ссылки с неё не обходятся; ",[382,462,242],{},[382,464,234],{}," по-прежнему проверяют эту ссылку на ссылающейся странице. Ссылки страницы с редиректом внутри сайта (",[382,467,420],{},[382,469,470],{},"\u002Fb\u002F",") резолвятся от конечного URL, а URL, ведущие на уже обойдённый конечный URL, дают один снапшот, который в отчёте идёт под конечным URL. Entry (",[382,473,474],{},"crawl.entry"," \u002F ",[382,477,478],{},"--url","), редиректящая на другой origin (",[382,481,482],{},"example.com",[382,484,485],{},"www.example.com",[382,487,488],{},"http",[382,490,491],{},"https","), даёт ошибку ",[382,494,495],{},"crawl:entry-redirect"," с origin, который нужно указать в ",[382,498,499],{},"site.url",[382,501,478],{},"; остальные entries краулятся дальше.",[370,504,505,508,509,512,513,516,517,520,521,524,525,385,527,530,531,534,535,537,538,540,541,544,545,548],{},[382,506,507],{},"crawl.respectRobots"," (по умолчанию ",[382,510,511],{},"true","): ",[382,514,515],{},"\u003Corigin>\u002Frobots.txt"," загружается один раз, ссылки, закрытые для ",[382,518,519],{},"*"," (или для группы, подходящей под ",[382,522,523],{},"crawl.userAgent","), не краулятся; матчинг как у Google — ",[382,526,519],{},[382,528,529],{},"$",", побеждает самое длинное правило, при равной длине ",[382,532,533],{},"Allow",". Нет robots.txt или ошибка — ничего не блокируется. URL из ",[382,536,474],{}," (или ",[382,539,478],{},") краулятся всегда; сэмплы ",[382,542,543],{},"sitemap+sample"," фильтруются robots.txt. Не-ASCII в правилах кодируется в percent-encoding, hex сравнивается без учёта регистра. Счётчик — ",[382,546,547],{},"crawlStats.disallowed"," и строка в логе краула.",[370,550,551,554,555,558],{},[382,552,553],{},"maxPages"," достигнут → ",[382,556,557],{},"truncated: true"," в отчёте — видно, что аудит неполный.",[370,560,561,562,565,566,569,570,572],{},"Дев-сервер Nuxt — не для полного краула: компиляция на лету × параллельные вкладки = OOM воркера. Локально гоняйте ",[382,563,564],{},"--start"," по сборке или снижайте ",[382,567,568],{},"concurrency","\u002F",[382,571,553],{},"; полный аудит — по deployed-окружениям.",[370,574,575,578,579,582,583,586],{},[382,576,577],{},"insecureTls"," выставляет ",[382,580,581],{},"ignoreHTTPSErrors"," Playwright'у и ",[382,584,585],{},"NODE_TLS_REJECT_UNAUTHORIZED=0"," процессу — только для dev\u002Fstaging профилей.",[370,588,589],{},"Lighthouse требует установленный Chrome (chrome-launcher) и не работает с self-signed TLS — гоняйте по deployed-окружениям.",[370,591,592,593,596],{},"Вьюпорт above-fold эвристики — дефолтный Playwright 1280×720 (или ",[382,594,595],{},"crawl.viewport","). srcset-only картинки без src не меряются.",[370,598,599,601],{},[382,600,166],{}," входит в DevTools Level 1, но заголовков у панели нет — там он no-op.",[370,603,604],{},"Функции-источники sitemap самодостаточны: никаких замыканий на переменные nuxt.config.",[370,606,607],{},"Профиль накладывается defu-патчем: объекты сливаются, скаляры перекрываются.",[370,609,610],{},"Один прогон монитора = один JSON; ключи хранилища: timestamp (monitor) или commit SHA (MR).",[370,612,613],{},"DOM парсится linkedom (сервер) \u002F DOMParser (панель) — один и тот же код правил работает в обеих средах.",[370,615,616,617,620],{},"Ошибка одного правила (",[382,618,619],{},"internal:check-failed",", info) не валит аудит; неизвестный rule-id в конфиге — валит с did-you-mean.",{"title":622,"searchDepth":623,"depth":623,"links":624},"",2,[],"Краевые случаи и осознанные компромиссы краулера, правил и отчётов.","md",null,{},true,{"title":112,"description":625},"6BdiXhlobn-8_2HuSVJdlujr4AIHkvKpfrZPwCRJi-A",[633,635],{"title":108,"path":109,"stem":110,"description":634,"children":-1},"Все переменные окружения, которые читают модуль, CLI и CI-адаптеры.",{"title":122,"path":118,"stem":119,"description":636,"children":-1},"43 built-in rules generated from the check registry.",1791750386178]