$ headless-seo-check http://127.0.0.1:4311 --urls /noindex-meta,/noindex-header,/noindex-conflict,/canonical-self,/canonical-other --no-color --- stdout+stderr --- headless-seo-check: checking http://127.0.0.1:4311 … headless-seo-check: 5 of 5 URLs selected, from --urls headless-seo-check http://127.0.0.1:4311 5 of 5 URLs checked, from --urls ! /noindex-meta static, 324 words warn says noindex, yet this URL is offered for crawling warn no canonical link in the served HTML x /noindex-header static, 326 words error blocked from indexing by a response header that does not appear in the page source X-Robots-Tag: noindex, nofollow warn no canonical link in the served HTML x /noindex-conflict static, 325 words error blocked from indexing by a response header that does not appear in the page source X-Robots-Tag: noindex, nofollow error the header and the HTML disagree about indexing, and the header is the one that counts X-Robots-Tag: noindex, nofollow warn no canonical link in the served HTML + /canonical-self static, 324 words + /canonical-other static, 327 words info canonical points at another page http://127.0.0.1:4311/static FAILED 3 blocking issues, 4 warnings 2 × noindex-header 1 × indexability-conflict What to do noindex-header The response carries X-Robots-Tag: noindex. The header outranks and is invisible in the page source, so nobody finds it by reading the HTML. It usually comes from middleware, an edge function, or a CDN rule left behind by a staging deploy. indexability-conflict X-Robots-Tag, and the canonical are three independent switches and they disagree here. The header wins. Decide which one is right, then make the other two say the same thing. --- exit code: 1 ---