[{"data":1,"prerenderedAt":1161},["ShallowReactive",2],{"navigation_docs_en":3,"-en-getting-started-init":361,"-en-getting-started-init-surround":1156},[4,23,49,83,93,115,343,353],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":22},"Getting started","i-lucide-rocket","\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[10,14,18],{"title":11,"path":12,"stem":13},"Introduction","\u002Fen\u002Fgetting-started\u002Fintroduction","en\u002F1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Installation","\u002Fen\u002Fgetting-started\u002Finstallation","en\u002F1.getting-started\u002F2.installation",{"title":19,"path":20,"stem":21},"ranklint init","\u002Fen\u002Fgetting-started\u002Finit","en\u002F1.getting-started\u002F3.init",false,{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":22},"Nuxt module","i-lucide-box","\u002Fen\u002Fmodule","en\u002F2.module",[29,33,37,41,45],{"title":30,"path":31,"stem":32},"Overview","\u002Fen\u002Fmodule\u002Foverview","en\u002F2.module\u002F1.overview",{"title":34,"path":35,"stem":36},"Sitemap","\u002Fen\u002Fmodule\u002Fsitemap","en\u002F2.module\u002F2.sitemap",{"title":38,"path":39,"stem":40},"Robots","\u002Fen\u002Fmodule\u002Frobots","en\u002F2.module\u002F3.robots",{"title":42,"path":43,"stem":44},"Composables","\u002Fen\u002Fmodule\u002Fcomposables","en\u002F2.module\u002F4.composables",{"title":46,"path":47,"stem":48},"DevTools","\u002Fen\u002Fmodule\u002Fdevtools","en\u002F2.module\u002F5.devtools",{"title":50,"icon":51,"path":52,"stem":53,"children":54,"page":22},"CLI","i-lucide-terminal","\u002Fen\u002Fcli","en\u002F3.cli",[55,59,63,67,71,75,79],{"title":56,"path":57,"stem":58},"ranklint audit","\u002Fen\u002Fcli\u002Faudit","en\u002F3.cli\u002F1.audit",{"title":60,"path":61,"stem":62},"Diff & CI","\u002Fen\u002Fcli\u002Fdiff-and-ci","en\u002F3.cli\u002F2.diff-and-ci",{"title":64,"path":65,"stem":66},"Production monitoring","\u002Fen\u002Fcli\u002Fmonitor","en\u002F3.cli\u002F3.monitor",{"title":68,"path":69,"stem":70},"Lighthouse","\u002Fen\u002Fcli\u002Flighthouse","en\u002F3.cli\u002F4.lighthouse",{"title":72,"path":73,"stem":74},"Zones (multi-app domains)","\u002Fen\u002Fcli\u002Fzones","en\u002F3.cli\u002F5.zones",{"title":76,"path":77,"stem":78},"Other commands","\u002Fen\u002Fcli\u002Fother-commands","en\u002F3.cli\u002F6.other-commands",{"title":80,"path":81,"stem":82},"Watch mode","\u002Fen\u002Fcli\u002Fwatch","en\u002F3.cli\u002F7.watch",{"title":84,"icon":85,"path":86,"stem":87,"children":88,"page":22},"Configuration","i-lucide-settings-2","\u002Fen\u002Fconfig","en\u002F4.config",[89],{"title":90,"path":91,"stem":92},"Reference","\u002Fen\u002Fconfig\u002Freference","en\u002F4.config\u002F1.reference",{"title":94,"icon":95,"path":96,"stem":97,"children":98,"page":22},"Advanced","i-lucide-wrench","\u002Fen\u002Fadvanced","en\u002F5.advanced",[99,103,107,111],{"title":100,"path":101,"stem":102},"Custom rules & presets","\u002Fen\u002Fadvanced\u002Fcustom-rules","en\u002F5.advanced\u002F1.custom-rules",{"title":104,"path":105,"stem":106},"Smart heuristics","\u002Fen\u002Fadvanced\u002Fheuristics","en\u002F5.advanced\u002F2.heuristics",{"title":108,"path":109,"stem":110},"Env variables","\u002Fen\u002Fadvanced\u002Fenv","en\u002F5.advanced\u002F3.env",{"title":112,"path":113,"stem":114},"Nuances & limitations","\u002Fen\u002Fadvanced\u002Fnuances","en\u002F5.advanced\u002F4.nuances",{"title":116,"icon":117,"path":118,"stem":119,"children":120},"Rules","i-lucide-list-checks","\u002Fen\u002Frules","en\u002F6.rules\u002Findex",[121,123,148,173,190,207,228,257,306,330],{"title":122,"path":118,"stem":119},"All rules",{"title":124,"path":125,"stem":126,"children":127,"page":22},"Headings","\u002Fen\u002Frules\u002Fheadings","en\u002F6.rules\u002Fheadings",[128,132,136,140,144],{"title":129,"path":130,"stem":131},"headings:h1-length","\u002Fen\u002Frules\u002Fheadings\u002Fheadings-h1-length","en\u002F6.rules\u002Fheadings\u002Fheadings-h1-length",{"title":133,"path":134,"stem":135},"headings:hierarchy","\u002Fen\u002Frules\u002Fheadings\u002Fheadings-hierarchy","en\u002F6.rules\u002Fheadings\u002Fheadings-hierarchy",{"title":137,"path":138,"stem":139},"headings:no-empty","\u002Fen\u002Frules\u002Fheadings\u002Fheadings-no-empty","en\u002F6.rules\u002Fheadings\u002Fheadings-no-empty",{"title":141,"path":142,"stem":143},"headings:single-h1","\u002Fen\u002Frules\u002Fheadings\u002Fheadings-single-h1","en\u002F6.rules\u002Fheadings\u002Fheadings-single-h1",{"title":145,"path":146,"stem":147},"headings:unique-h1","\u002Fen\u002Frules\u002Fheadings\u002Fheadings-unique-h1","en\u002F6.rules\u002Fheadings\u002Fheadings-unique-h1",{"title":149,"path":150,"stem":151,"children":152,"page":22},"Http","\u002Fen\u002Frules\u002Fhttp","en\u002F6.rules\u002Fhttp",[153,157,161,165,169],{"title":154,"path":155,"stem":156},"http:no-mixed-content","\u002Fen\u002Frules\u002Fhttp\u002Fhttp-no-mixed-content","en\u002F6.rules\u002Fhttp\u002Fhttp-no-mixed-content",{"title":158,"path":159,"stem":160},"http:no-soft-404","\u002Fen\u002Frules\u002Fhttp\u002Fhttp-no-soft-404","en\u002F6.rules\u002Fhttp\u002Fhttp-no-soft-404",{"title":162,"path":163,"stem":164},"http:ttfb-budget","\u002Fen\u002Frules\u002Fhttp\u002Fhttp-ttfb-budget","en\u002F6.rules\u002Fhttp\u002Fhttp-ttfb-budget",{"title":166,"path":167,"stem":168},"http:x-robots-consistent","\u002Fen\u002Frules\u002Fhttp\u002Fhttp-x-robots-consistent","en\u002F6.rules\u002Fhttp\u002Fhttp-x-robots-consistent",{"title":170,"path":171,"stem":172},"mobile:viewport","\u002Fen\u002Frules\u002Fhttp\u002Fmobile-viewport","en\u002F6.rules\u002Fhttp\u002Fmobile-viewport",{"title":174,"path":175,"stem":176,"children":177,"page":22},"I18n","\u002Fen\u002Frules\u002Fi18n","en\u002F6.rules\u002Fi18n",[178,182,186],{"title":179,"path":180,"stem":181},"hreflang:symmetric","\u002Fen\u002Frules\u002Fi18n\u002Fhreflang-symmetric","en\u002F6.rules\u002Fi18n\u002Fhreflang-symmetric",{"title":183,"path":184,"stem":185},"hreflang:valid-targets","\u002Fen\u002Frules\u002Fi18n\u002Fhreflang-valid-targets","en\u002F6.rules\u002Fi18n\u002Fhreflang-valid-targets",{"title":187,"path":188,"stem":189},"i18n:no-locale-leak","\u002Fen\u002Frules\u002Fi18n\u002Fi18n-no-locale-leak","en\u002F6.rules\u002Fi18n\u002Fi18n-no-locale-leak",{"title":191,"path":192,"stem":193,"children":194,"page":22},"Images","\u002Fen\u002Frules\u002Fimages","en\u002F6.rules\u002Fimages",[195,199,203],{"title":196,"path":197,"stem":198},"images:alt-required","\u002Fen\u002Frules\u002Fimages\u002Fimages-alt-required","en\u002F6.rules\u002Fimages\u002Fimages-alt-required",{"title":200,"path":201,"stem":202},"images:dimensions-required","\u002Fen\u002Frules\u002Fimages\u002Fimages-dimensions-required","en\u002F6.rules\u002Fimages\u002Fimages-dimensions-required",{"title":204,"path":205,"stem":206},"images:no-lazy-above-fold","\u002Fen\u002Frules\u002Fimages\u002Fimages-no-lazy-above-fold","en\u002F6.rules\u002Fimages\u002Fimages-no-lazy-above-fold",{"title":208,"path":209,"stem":210,"children":211,"page":22},"Indexability","\u002Fen\u002Frules\u002Findexability","en\u002F6.rules\u002Findexability",[212,218,224],{"title":213,"path":214,"stem":215,"children":216},"indexability:ssr-content","\u002Fen\u002Frules\u002Findexability\u002Findexability-ssr-content","en\u002F6.rules\u002Findexability\u002Findexability-ssr-content",[217],{"title":213,"path":214,"stem":215},{"title":219,"path":220,"stem":221,"children":222},"sitemap:no-noindex","\u002Fen\u002Frules\u002Findexability\u002Fsitemap-no-noindex","en\u002F6.rules\u002Findexability\u002Fsitemap-no-noindex",[223],{"title":219,"path":220,"stem":221},{"title":225,"path":226,"stem":227},"sitemap:reachable","\u002Fen\u002Frules\u002Findexability\u002Fsitemap-reachable","en\u002F6.rules\u002Findexability\u002Fsitemap-reachable",{"title":229,"path":230,"stem":231,"children":232,"page":22},"Links","\u002Fen\u002Frules\u002Flinks","en\u002F6.rules\u002Flinks",[233,237,241,245,249,253],{"title":234,"path":235,"stem":236},"links:no-broken","\u002Fen\u002Frules\u002Flinks\u002Flinks-no-broken","en\u002F6.rules\u002Flinks\u002Flinks-no-broken",{"title":238,"path":239,"stem":240},"links:no-orphans","\u002Fen\u002Frules\u002Flinks\u002Flinks-no-orphans","en\u002F6.rules\u002Flinks\u002Flinks-no-orphans",{"title":242,"path":243,"stem":244},"links:no-redirect-chain","\u002Fen\u002Frules\u002Flinks\u002Flinks-no-redirect-chain","en\u002F6.rules\u002Flinks\u002Flinks-no-redirect-chain",{"title":246,"path":247,"stem":248},"links:no-utm-internal","\u002Fen\u002Frules\u002Flinks\u002Flinks-no-utm-internal","en\u002F6.rules\u002Flinks\u002Flinks-no-utm-internal",{"title":250,"path":251,"stem":252},"links:permanent-redirects","\u002Fen\u002Frules\u002Flinks\u002Flinks-permanent-redirects","en\u002F6.rules\u002Flinks\u002Flinks-permanent-redirects",{"title":254,"path":255,"stem":256},"links:trailing-slash-consistent","\u002Fen\u002Frules\u002Flinks\u002Flinks-trailing-slash-consistent","en\u002F6.rules\u002Flinks\u002Flinks-trailing-slash-consistent",{"title":258,"path":259,"stem":260,"children":261,"page":22},"Meta","\u002Fen\u002Frules\u002Fmeta","en\u002F6.rules\u002Fmeta",[262,266,270,274,278,282,286,290,294,298,302],{"title":263,"path":264,"stem":265},"canonical:no-chain","\u002Fen\u002Frules\u002Fmeta\u002Fcanonical-no-chain","en\u002F6.rules\u002Fmeta\u002Fcanonical-no-chain",{"title":267,"path":268,"stem":269},"canonical:required","\u002Fen\u002Frules\u002Fmeta\u002Fcanonical-required","en\u002F6.rules\u002Fmeta\u002Fcanonical-required",{"title":271,"path":272,"stem":273},"canonical:valid","\u002Fen\u002Frules\u002Fmeta\u002Fcanonical-valid","en\u002F6.rules\u002Fmeta\u002Fcanonical-valid",{"title":275,"path":276,"stem":277},"meta:description-length","\u002Fen\u002Frules\u002Fmeta\u002Fmeta-description-length","en\u002F6.rules\u002Fmeta\u002Fmeta-description-length",{"title":279,"path":280,"stem":281},"meta:description-required","\u002Fen\u002Frules\u002Fmeta\u002Fmeta-description-required","en\u002F6.rules\u002Fmeta\u002Fmeta-description-required",{"title":283,"path":284,"stem":285},"meta:no-duplicate-description","\u002Fen\u002Frules\u002Fmeta\u002Fmeta-no-duplicate-description","en\u002F6.rules\u002Fmeta\u002Fmeta-no-duplicate-description",{"title":287,"path":288,"stem":289},"meta:no-duplicate-title","\u002Fen\u002Frules\u002Fmeta\u002Fmeta-no-duplicate-title","en\u002F6.rules\u002Fmeta\u002Fmeta-no-duplicate-title",{"title":291,"path":292,"stem":293},"meta:og-required","\u002Fen\u002Frules\u002Fmeta\u002Fmeta-og-required","en\u002F6.rules\u002Fmeta\u002Fmeta-og-required",{"title":295,"path":296,"stem":297},"meta:title-length","\u002Fen\u002Frules\u002Fmeta\u002Fmeta-title-length","en\u002F6.rules\u002Fmeta\u002Fmeta-title-length",{"title":299,"path":300,"stem":301},"meta:title-required","\u002Fen\u002Frules\u002Fmeta\u002Fmeta-title-required","en\u002F6.rules\u002Fmeta\u002Fmeta-title-required",{"title":303,"path":304,"stem":305},"meta:twitter-card","\u002Fen\u002Frules\u002Fmeta\u002Fmeta-twitter-card","en\u002F6.rules\u002Fmeta\u002Fmeta-twitter-card",{"title":38,"path":307,"stem":308,"children":309,"page":22},"\u002Fen\u002Frules\u002Frobots","en\u002F6.rules\u002Frobots",[310,314,318,322,326],{"title":311,"path":312,"stem":313},"robots:env-policy","\u002Fen\u002Frules\u002Frobots\u002Frobots-env-policy","en\u002F6.rules\u002Frobots\u002Frobots-env-policy",{"title":315,"path":316,"stem":317},"robots:expected-disallow","\u002Fen\u002Frules\u002Frobots\u002Frobots-expected-disallow","en\u002F6.rules\u002Frobots\u002Frobots-expected-disallow",{"title":319,"path":320,"stem":321},"robots:reachable","\u002Fen\u002Frules\u002Frobots\u002Frobots-reachable","en\u002F6.rules\u002Frobots\u002Frobots-reachable",{"title":323,"path":324,"stem":325},"robots:sitemap-declared","\u002Fen\u002Frules\u002Frobots\u002Frobots-sitemap-declared","en\u002F6.rules\u002Frobots\u002Frobots-sitemap-declared",{"title":327,"path":328,"stem":329},"robots:zone-not-blocked","\u002Fen\u002Frules\u002Frobots\u002Frobots-zone-not-blocked","en\u002F6.rules\u002Frobots\u002Frobots-zone-not-blocked",{"title":331,"path":332,"stem":333,"children":334,"page":22},"Structured Data","\u002Fen\u002Frules\u002Fstructured-data","en\u002F6.rules\u002Fstructured-data",[335,339],{"title":336,"path":337,"stem":338},"jsonld:parseable","\u002Fen\u002Frules\u002Fstructured-data\u002Fjsonld-parseable","en\u002F6.rules\u002Fstructured-data\u002Fjsonld-parseable",{"title":340,"path":341,"stem":342},"jsonld:valid-schema","\u002Fen\u002Frules\u002Fstructured-data\u002Fjsonld-valid-schema","en\u002F6.rules\u002Fstructured-data\u002Fjsonld-valid-schema",{"title":344,"icon":345,"path":346,"stem":347,"children":348,"page":22},"Guides","i-lucide-book-open","\u002Fen\u002Fguides","en\u002F7.guides",[349],{"title":350,"path":351,"stem":352},"SEO checklist for a Nuxt project","\u002Fen\u002Fguides\u002Fseo-checklist-nuxt","en\u002F7.guides\u002F1.seo-checklist-nuxt",{"title":354,"path":355,"stem":356,"children":357,"icon":360},"Changelog","\u002Fen\u002Fchangelog","en\u002F8.changelog\u002Findex",[358],{"title":359,"path":355,"stem":356},"ranklint changelog and release notes","i-lucide-history",{"id":362,"title":19,"body":363,"description":1150,"extension":1151,"links":1152,"meta":1153,"navigation":529,"path":20,"seo":1154,"stem":21,"__hash__":1155},"docs_en\u002Fen\u002F1.getting-started\u002F3.init.md",{"type":364,"value":365,"toc":1143},"minimark",[366,378,403,408,478,484,488,771,793,797,902,937,943,947,950,1020,1027,1104,1109,1113,1128,1136,1139],[367,368,369,370,373,374,377],"p",{},"The first step after installing the CLI. ",[371,372,19],"code",{}," asks a few questions and writes ",[371,375,376],{},"ranklint.config.ts"," into the current directory, then loads it back with the real config loader so you know it is valid.",[379,380,385],"pre",{"className":381,"code":382,"language":383,"meta":384,"style":384},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx ranklint init\n","bash","",[371,386,387],{"__ignoreMap":384},[388,389,392,396,400],"span",{"class":390,"line":391},"line",1,[388,393,395],{"class":394},"sBMFI","npx",[388,397,399],{"class":398},"sfazB"," ranklint",[388,401,402],{"class":398}," init\n",[404,405,407],"h2",{"id":406},"what-it-asks","What it asks",[409,410,411,419,433,447,465],"ol",{},[412,413,414,418],"li",{},[415,416,417],"strong",{},"Site url"," (absolute http\u002Fhttps, validated).",[412,420,421,424,425,428,429,432],{},[415,422,423],{},"Do you need a profile for UAT\u002Fstaging?"," The UAT url becomes ",[371,426,427],{},"profiles.uat",", applied with ",[371,430,431],{},"ranklint audit --profile uat",".",[412,434,435,438,439,442,443,432],{},[415,436,437],{},"Do several apps share this domain?"," The glob paths of your own section (comma separated) become ",[371,440,441],{},"apps.self",", the rest of the domain becomes a foreign zone. See ",[444,445,446],"a",{"href":73},"Zones",[412,448,449,452,453,456,457,460,461,464],{},[415,450,451],{},"CI provider",": ",[371,454,455],{},"gitlab",", ",[371,458,459],{},"github"," or ",[371,462,463],{},"none",". The snippet is printed, no pipeline file is created or edited.",[412,466,467,470,471,474,475,432],{},[415,468,469],{},"Enable scheduled production monitoring?"," Adds ",[371,472,473],{},"monitor"," with fs storage, used by ",[371,476,477],{},"ranklint audit --mode monitor",[367,479,480,481,483],{},"If ",[371,482,376],{}," already exists, init asks whether to overwrite it; the default answer is no.",[404,485,487],{"id":486},"what-it-generates","What it generates",[379,489,493],{"className":490,"code":491,"language":492,"meta":384,"style":384},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { defineRanklintConfig } from '@ranklint\u002Fcore'\n\nexport default defineRanklintConfig({\n  site: { url: 'https:\u002F\u002Fexample.com' },\n  apps: {\n    self: { paths: ['\u002Fen\u002Fmarket\u002F**', '\u002Far\u002Fmarket\u002F**'] },\n    main: { paths: ['\u002F**'], owner: 'external' },\n  },\n  monitor: { storage: 'fs', dir: '.ranklint\u002Freports' },\n  profiles: {\n    uat: { site: { url: 'https:\u002F\u002Fuat.example.com' } },\n  },\n})\n","ts",[371,494,495,524,531,549,577,588,629,671,677,715,725,757,762],{"__ignoreMap":384},[388,496,497,501,505,509,512,515,518,521],{"class":390,"line":391},[388,498,500],{"class":499},"s7zQu","import",[388,502,504],{"class":503},"sMK4o"," {",[388,506,508],{"class":507},"sTEyZ"," defineRanklintConfig",[388,510,511],{"class":503}," }",[388,513,514],{"class":499}," from",[388,516,517],{"class":503}," '",[388,519,520],{"class":398},"@ranklint\u002Fcore",[388,522,523],{"class":503},"'\n",[388,525,527],{"class":390,"line":526},2,[388,528,530],{"emptyLinePlaceholder":529},true,"\n",[388,532,534,537,540,543,546],{"class":390,"line":533},3,[388,535,536],{"class":499},"export",[388,538,539],{"class":499}," default",[388,541,508],{"class":542},"s2Zo4",[388,544,545],{"class":507},"(",[388,547,548],{"class":503},"{\n",[388,550,552,556,559,561,564,566,568,571,574],{"class":390,"line":551},4,[388,553,555],{"class":554},"swJcz","  site",[388,557,558],{"class":503},":",[388,560,504],{"class":503},[388,562,563],{"class":554}," url",[388,565,558],{"class":503},[388,567,517],{"class":503},[388,569,570],{"class":398},"https:\u002F\u002Fexample.com",[388,572,573],{"class":503},"'",[388,575,576],{"class":503}," },\n",[388,578,580,583,585],{"class":390,"line":579},5,[388,581,582],{"class":554},"  apps",[388,584,558],{"class":503},[388,586,587],{"class":503}," {\n",[388,589,591,594,596,598,601,603,606,608,611,613,616,618,621,623,626],{"class":390,"line":590},6,[388,592,593],{"class":554},"    self",[388,595,558],{"class":503},[388,597,504],{"class":503},[388,599,600],{"class":554}," paths",[388,602,558],{"class":503},[388,604,605],{"class":507}," [",[388,607,573],{"class":503},[388,609,610],{"class":398},"\u002Fen\u002Fmarket\u002F**",[388,612,573],{"class":503},[388,614,615],{"class":503},",",[388,617,517],{"class":503},[388,619,620],{"class":398},"\u002Far\u002Fmarket\u002F**",[388,622,573],{"class":503},[388,624,625],{"class":507},"] ",[388,627,628],{"class":503},"},\n",[388,630,632,635,637,639,641,643,645,647,650,652,655,657,660,662,664,667,669],{"class":390,"line":631},7,[388,633,634],{"class":554},"    main",[388,636,558],{"class":503},[388,638,504],{"class":503},[388,640,600],{"class":554},[388,642,558],{"class":503},[388,644,605],{"class":507},[388,646,573],{"class":503},[388,648,649],{"class":398},"\u002F**",[388,651,573],{"class":503},[388,653,654],{"class":507},"]",[388,656,615],{"class":503},[388,658,659],{"class":554}," owner",[388,661,558],{"class":503},[388,663,517],{"class":503},[388,665,666],{"class":398},"external",[388,668,573],{"class":503},[388,670,576],{"class":503},[388,672,674],{"class":390,"line":673},8,[388,675,676],{"class":503},"  },\n",[388,678,680,683,685,687,690,692,694,697,699,701,704,706,708,711,713],{"class":390,"line":679},9,[388,681,682],{"class":554},"  monitor",[388,684,558],{"class":503},[388,686,504],{"class":503},[388,688,689],{"class":554}," storage",[388,691,558],{"class":503},[388,693,517],{"class":503},[388,695,696],{"class":398},"fs",[388,698,573],{"class":503},[388,700,615],{"class":503},[388,702,703],{"class":554}," dir",[388,705,558],{"class":503},[388,707,517],{"class":503},[388,709,710],{"class":398},".ranklint\u002Freports",[388,712,573],{"class":503},[388,714,576],{"class":503},[388,716,718,721,723],{"class":390,"line":717},10,[388,719,720],{"class":554},"  profiles",[388,722,558],{"class":503},[388,724,587],{"class":503},[388,726,728,731,733,735,738,740,742,744,746,748,751,753,755],{"class":390,"line":727},11,[388,729,730],{"class":554},"    uat",[388,732,558],{"class":503},[388,734,504],{"class":503},[388,736,737],{"class":554}," site",[388,739,558],{"class":503},[388,741,504],{"class":503},[388,743,563],{"class":554},[388,745,558],{"class":503},[388,747,517],{"class":503},[388,749,750],{"class":398},"https:\u002F\u002Fuat.example.com",[388,752,573],{"class":503},[388,754,511],{"class":503},[388,756,576],{"class":503},[388,758,760],{"class":390,"line":759},12,[388,761,676],{"class":503},[388,763,765,768],{"class":390,"line":764},13,[388,766,767],{"class":503},"}",[388,769,770],{"class":507},")\n",[367,772,773,774,777,778,781,782,785,786,788,789,792],{},"Sections you declined are simply absent: the minimal result is ",[371,775,776],{},"site"," alone. After writing the file init runs ",[371,779,780],{},"loadRanklintConfig"," and reports ",[371,783,784],{},"config is valid","; when ",[371,787,520],{}," is not installed yet it prints the hint ",[371,790,791],{},"npm i -D @ranklint\u002Fcore"," instead.",[404,794,796],{"id":795},"non-interactive-mode","Non-interactive mode",[798,799,800,813],"table",{},[801,802,803],"thead",{},[804,805,806,810],"tr",{},[807,808,809],"th",{},"Flag",[807,811,812],{},"Description",[814,815,816,830,839,853,863,880,892],"tbody",{},[804,817,818,824],{},[819,820,821],"td",{},[371,822,823],{},"--yes",[819,825,826,827],{},"no prompts, requires ",[371,828,829],{},"--url",[804,831,832,836],{},[819,833,834],{},[371,835,829],{},[819,837,838],{},"production url of the site",[804,840,841,846],{},[819,842,843],{},[371,844,845],{},"--uat",[819,847,848,849,852],{},"UAT url, generates the ",[371,850,851],{},"uat"," profile",[804,854,855,860],{},[819,856,857],{},[371,858,859],{},"--zones",[819,861,862],{},"comma separated globs of your own zone",[804,864,865,870],{},[819,866,867],{},[371,868,869],{},"--ci",[819,871,872,874,875,874,877,879],{},[371,873,455],{}," | ",[371,876,459],{},[371,878,463],{},", prints the pipeline snippet",[804,881,882,887],{},[819,883,884],{},[371,885,886],{},"--force",[819,888,889,890],{},"overwrite an existing ",[371,891,376],{},[804,893,894,899],{},[819,895,896],{},[371,897,898],{},"--cwd",[819,900,901],{},"directory to create the config in",[379,903,905],{"className":381,"code":904,"language":383,"meta":384,"style":384},"npx ranklint init --yes --url https:\u002F\u002Fexample.com --uat https:\u002F\u002Fuat.example.com --ci github\n",[371,906,907],{"__ignoreMap":384},[388,908,909,911,913,916,919,922,925,928,931,934],{"class":390,"line":391},[388,910,395],{"class":394},[388,912,399],{"class":398},[388,914,915],{"class":398}," init",[388,917,918],{"class":398}," --yes",[388,920,921],{"class":398}," --url",[388,923,924],{"class":398}," https:\u002F\u002Fexample.com",[388,926,927],{"class":398}," --uat",[388,929,930],{"class":398}," https:\u002F\u002Fuat.example.com",[388,932,933],{"class":398}," --ci",[388,935,936],{"class":398}," github\n",[367,938,939,940,942],{},"Without ",[371,941,823],{}," and without a TTY the command fails with \"use --yes with --url\", so it never hangs in a pipeline.",[404,944,946],{"id":945},"ci-snippets","CI snippets",[367,948,949],{},"GitLab:",[379,951,955],{"className":952,"code":953,"language":954,"meta":384,"style":384},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","include:\n  - remote: 'https:\u002F\u002Fraw.githubusercontent.com\u002Faakazancev\u002Franklint\u002Fmain\u002Fpresets\u002Fgitlab-ci\u002Fseo.yml'\n\nseo:audit:\n  extends: .ranklint-audit\n  variables:\n    RANKLINT_URL: https:\u002F\u002Fexample.com\n","yaml",[371,956,957,965,982,986,993,1003,1010],{"__ignoreMap":384},[388,958,959,962],{"class":390,"line":391},[388,960,961],{"class":554},"include",[388,963,964],{"class":503},":\n",[388,966,967,970,973,975,977,980],{"class":390,"line":526},[388,968,969],{"class":503},"  -",[388,971,972],{"class":554}," remote",[388,974,558],{"class":503},[388,976,517],{"class":503},[388,978,979],{"class":398},"https:\u002F\u002Fraw.githubusercontent.com\u002Faakazancev\u002Franklint\u002Fmain\u002Fpresets\u002Fgitlab-ci\u002Fseo.yml",[388,981,523],{"class":503},[388,983,984],{"class":390,"line":533},[388,985,530],{"emptyLinePlaceholder":529},[388,987,988,991],{"class":390,"line":551},[388,989,990],{"class":554},"seo:audit",[388,992,964],{"class":503},[388,994,995,998,1000],{"class":390,"line":579},[388,996,997],{"class":554},"  extends",[388,999,558],{"class":503},[388,1001,1002],{"class":398}," .ranklint-audit\n",[388,1004,1005,1008],{"class":390,"line":590},[388,1006,1007],{"class":554},"  variables",[388,1009,964],{"class":503},[388,1011,1012,1015,1017],{"class":390,"line":631},[388,1013,1014],{"class":554},"    RANKLINT_URL",[388,1016,558],{"class":503},[388,1018,1019],{"class":398}," https:\u002F\u002Fexample.com\n",[367,1021,1022,1023,1026],{},"GitHub Actions (a reusable workflow, add it to ",[371,1024,1025],{},".github\u002Fworkflows\u002Fseo.yml","):",[379,1028,1030],{"className":952,"code":1029,"language":954,"meta":384,"style":384},"name: seo\non: [pull_request]\njobs:\n  seo:\n    uses: aakazancev\u002Franklint\u002F.github\u002Fworkflows\u002Fseo.yml@main\n    with: { url: 'https:\u002F\u002Fexample.com' }\n",[371,1031,1032,1042,1058,1065,1072,1082],{"__ignoreMap":384},[388,1033,1034,1037,1039],{"class":390,"line":391},[388,1035,1036],{"class":554},"name",[388,1038,558],{"class":503},[388,1040,1041],{"class":398}," seo\n",[388,1043,1044,1048,1050,1052,1055],{"class":390,"line":526},[388,1045,1047],{"class":1046},"sfNiH","on",[388,1049,558],{"class":503},[388,1051,605],{"class":503},[388,1053,1054],{"class":398},"pull_request",[388,1056,1057],{"class":503},"]\n",[388,1059,1060,1063],{"class":390,"line":533},[388,1061,1062],{"class":554},"jobs",[388,1064,964],{"class":503},[388,1066,1067,1070],{"class":390,"line":551},[388,1068,1069],{"class":554},"  seo",[388,1071,964],{"class":503},[388,1073,1074,1077,1079],{"class":390,"line":579},[388,1075,1076],{"class":554},"    uses",[388,1078,558],{"class":503},[388,1080,1081],{"class":398}," aakazancev\u002Franklint\u002F.github\u002Fworkflows\u002Fseo.yml@main\n",[388,1083,1084,1087,1089,1091,1093,1095,1097,1099,1101],{"class":390,"line":590},[388,1085,1086],{"class":554},"    with",[388,1088,558],{"class":503},[388,1090,504],{"class":503},[388,1092,563],{"class":554},[388,1094,558],{"class":503},[388,1096,517],{"class":503},[388,1098,570],{"class":398},[388,1100,573],{"class":503},[388,1102,1103],{"class":503}," }\n",[367,1105,1106,1107,432],{},"More about the presets in ",[444,1108,60],{"href":61},[404,1110,1112],{"id":1111},"nuxt-detection","Nuxt detection",[367,1114,1115,1116,1119,1120,1123,1124,1127],{},"When the directory has a ",[371,1117,1118],{},"nuxt.config.ts|js|mjs"," and ",[371,1121,1122],{},"@ranklint\u002Fnuxt"," is not in ",[371,1125,1126],{},"package.json",", init finishes with:",[379,1129,1134],{"className":1130,"code":1132,"language":1133},[1131],"language-text","Nuxt detected: npx nuxi module add @ranklint\u002Fnuxt\n","text",[371,1135,1132],{"__ignoreMap":384},[367,1137,1138],{},"The module gives you sitemap, robots and JSON-LD at build time, while the CLI audits the deployed result.",[1140,1141,1142],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":384,"searchDepth":526,"depth":526,"links":1144},[1145,1146,1147,1148,1149],{"id":406,"depth":526,"text":407},{"id":486,"depth":526,"text":487},{"id":795,"depth":526,"text":796},{"id":945,"depth":526,"text":946},{"id":1111,"depth":526,"text":1112},"Generate ranklint.config.ts in one command: site url, UAT profile, zones, CI snippet and monitoring.","md",null,{},{"title":19,"description":1150},"Ytip1-KmewtBfUur9QiPUZHioHZ4jn3xKqT2fTzwIzc",[1157,1159],{"title":15,"path":16,"stem":17,"description":1158,"children":-1},"Install the Nuxt module and the CLI, and run the first audit.",{"title":30,"path":31,"stem":32,"description":1160,"children":-1},"All options of the @ranklint\u002Fnuxt module in one nuxt.config.ts block.",1791750393397]