{"record":{"id":"3bf880d9f3eaaae3","repo":"quasarframework/quasar","slug":"ignored-route-crawl-ignored-fullpath","errorCode":null,"errorMessage":"Ignored route (crawl-ignored): ${fullPath}","messagePattern":"Ignored route \\(crawl-ignored\\): (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"app-vite/lib/modes/ssg/ssg-builder.js","lineNumber":120,"sourceCode":"      const routePath = route.path\n      const fullPath = (\n        routePath === ''\n          ? parentPath\n          : routePath.startsWith('/')\n            ? routePath\n            : `${parentPath}/${routePath}`\n      ).replaceAll(multiSlashRE, '/')\n\n      const ssgPage = {\n        route: fullPath,\n        vueRouterRoute: route\n      }\n\n      if (opts.isCrawlIgnoreMatch?.(fullPath)) {\n        opts.acc.crawlIgnoredSsgPages.push(ssgPage)\n\n        if (opts.verbose) {\n          warn(\n            `Ignored route (crawl-ignored): ${fullPath}`,\n            'parseVueRouterRoutes()'\n          )\n        }\n\n        if (route.children) {\n          parseVueRouterRoutes({\n            routes: route.children,\n            parentPath: fullPath,\n            opts\n          })\n        }\n\n        continue\n      }\n\n      if (isCSRMatch?.(fullPath)) {\n        opts.acc.ignoredCsrSsgPages.push(ssgPage)","sourceCodeStart":102,"sourceCodeEnd":138,"githubUrl":"https://github.com/quasarframework/quasar/blob/4841521b5f635a971eb9e2710e5542efd194691b/app-vite/lib/modes/ssg/ssg-builder.js#L102-L138","documentation":"Verbose-only log from parseVueRouterRoutes when a route's fullPath matches the crawl-ignore matcher (opts.isCrawlIgnoreMatch). The route is pushed to acc.crawlIgnoredSsgPages and skipped during SSG page generation. It is informational, not an error — it appears only when opts.verbose is enabled.","triggerScenarios":"Running `quasar build -m ssg` (or dev) with verbose enabled while a route path matches the crawl-ignore predicate supplied through SSG options (e.g. crawlerignore config / route filter matching fullPath).","commonSituations":"Intentionally excluding admin, login, or user-specific pages from prerendering; discovering that a route you expected to be prerendered was filtered out because your ignore pattern was too broad.","solutions":["If exclusion is intended, no action needed — this confirms the route was skipped.","If the page should be prerendered, adjust the crawl-ignore pattern so it no longer matches the fullPath.","Check the generated ssg route filters in quasar.config for overly broad globs."],"exampleFix":"// before (too broad)\ncrawlerIgnore: ['/admin', '/user']\n// after\ncrawlerIgnore: ['/admin']","handlingStrategy":"validation","validationCode":"// Verify your crawl-ignore patterns before building\nconst patterns = ['/admin', '/user']\nconst fullPath = '/user/profile'\nconst ignored = patterns.some((p) => fullPath.startsWith(p))\nconsole.log(ignored ? 'will be skipped' : 'will be prerendered')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Keep crawl-ignore patterns narrow and specific.","Run verbose SSG builds to audit which routes are skipped and why.","Review crawlIgnore config when routes unexpectedly disappear from output."],"tags":["ssg","routing","verbose","crawl-ignore"],"backgroundTag":"ssg-route-excluded","analyzedSha":"4841521b5f635a971eb9e2710e5542efd194691b","analyzedAt":"2026-08-30T01:13:14.944Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}