Skip to content

fix(route-rules): keep an explicit X-Robots-Tag route rule header - #360

Merged
harlan-zw merged 1 commit into
mainfrom
fix/route-rule-robots-header
Oct 13, 2026
Merged

harlan-zw merged 1 commit into
mainfrom
fix/route-rule-robots-header

Conversation

@harlan-zw

Copy link
Copy Markdown
Contributor

🔗 Linked issue

❓ Type of change

  • 📖 Documentation (updates to the documentation or readme)
  • 🐞 Bug fix (a non-breaking change that fixes an issue)
  • 👌 Enhancement (improving an existing functionality)
  • ✨ New feature (a non-breaking change that adds functionality)
  • 🧹 Chore (updates to the build process or auxiliary tools and libraries)
  • ⚠️ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

A route rule with headers: { 'x-robots-tag': 'noindex, nofollow' } lost its header, because the server middleware replaced it with the computed robots rule; the response sent index, follow while the page's meta tag said noindex. The module now uses an X-Robots-Tag route rule header as that route's robots rule, so the response header, the robots meta tag and the static _headers rule all send the configured value. A route rule that sets robots keeps it.

🤖 AI disclosure: Harlan Agent Kit modified this description. My AI open-source policy.

The middleware replaced a route rule's own X-Robots-Tag header with the computed robots rule, so the header and the robots meta tag disagreed. The header now becomes the route's robots rule at build time.
@pkg-pr-new

pkg-pr-new Bot commented Oct 13, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@nuxtjs/robots@360

commit: 00514a6

@github-actions

Copy link
Copy Markdown

Nuxt logo Nuxt Module Size Analyzer

No notable runtime size changes.

Module Client gzip Server raw
@nuxtjs/robots 608 B 168 kB
Package files (6)

Rows overlap and include unused code. These totals do not measure deployed output or npm downloads.
Excludes dependency files, types, source maps, and other non-code files.

Package files Summed gzip Raw Δ gzip
@nuxtjs/robots · export . 7.1 kB 27 kB 🔴 +175 B (+2.5%)
@nuxtjs/robots · export ./content 292 B 503 B —
@nuxtjs/robots · export ./util 467 B 784 B —
@nuxtjs/robots · built code files 43 kB 139 kB 🔴 +340 B (+0.8%)
@nuxtjs/robots · app source files 3.3 kB 7.2 kB —
@nuxtjs/robots · server source files 8.9 kB 21 kB —
Dependencies (8)

Declared dependencies. Their installed size does not show runtime cost.

Package Dependency Requested
@nuxtjs/robots @fingerprintjs/botd catalog:
@nuxtjs/robots @nuxt/kit catalog:
@nuxtjs/robots @vueuse/core catalog:
@nuxtjs/robots consola catalog:
@nuxtjs/robots defu catalog:
@nuxtjs/robots nuxt-site-config catalog:
@nuxtjs/robots nuxtseo-shared catalog:
@nuxtjs/robots ufo catalog:
How this is measured
  • Compare the same app with and without the module.
  • Client: all emitted JS/CSS, summed per-file gzip. This includes lazy chunks.
  • Server: deployed files, including external dependencies. Source maps are excluded.
  • Default module settings, Node server preset. Memory and request speed are outside this report.

Base: main @ 576f38c · 2026-10-13 · differences below 16 B are ignored

@harlan-zw
harlan-zw merged commit c0d6143 into main Oct 13, 2026
12 checks passed
@harlan-zw
harlan-zw deleted the fix/route-rule-robots-header branch October 13, 2026 01:26
@harlan-zw

harlan-zw commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor Author

Harlan Agent Kit posted this automated status. AI open source policy.

Action required: The pull request has no unreleased merge on the default branch.

@harlan-zw harlan-zw mentioned this pull request Oct 13, 2026
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant