Skip to content

the favicon told Google not to index it - #2772

Merged
Flotapponnier merged 1 commit into
mainfrom
cherry/favicon-indexable
Oct 1, 2026
Merged

Flotapponnier merged 1 commit into
mainfrom
cherry/favicon-indexable

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Cherry-pick from dev (#2771). This commit only.

/icon and /apple-icon were served with X-Robots-Tag: noindex because both go through ogResponse, the helper that stamps that header on every generated image — its own comment listed "icons" among them. Shipped 2026-09-19 in #2515, which is when the mark stopped being eligible for the globe-replacement beside search results.

OG and twitter images keep the header; the two icons opt out with indexable: true. Verified with the production Host header, since the staging-noindex rule masks this locally: icons now answer with no X-Robots-Tag, OG images still answer noindex.

408 tests, tsc clean.

Google shows its default globe next to every openchainbench.com result
instead of the logo. The cause is ours: /icon and /apple-icon are served
with `X-Robots-Tag: noindex`.

They go through ogResponse, the helper that stamps that header on every
generated image. Its own comment listed "icons" among them, so this was
deliberate and simply wrong about one case. The header shipped on
2026-09-19 in #2515, which is when the mark would have stopped being
eligible.

The intent was sound. About 200 generated image URLs sat in Search
Console as "Crawled, currently not indexed" because Googlebot fetched
each one from an og:image meta tag and then had to decide about it, and
the header settles that at fetch time. But a favicon is not a share
image. It is the one asset Google has to store and serve beside the
listing, so telling it not to index that asset removes the only thing it
needs. Opengraph and twitter images keep the header; the two icons opt
out through an explicit `indexable: true`.

Verified with the production Host header, since the staging-noindex rule
in next.config.ts fires on any other host and masks this locally:
/icon and /apple-icon now answer with no X-Robots-Tag, while
/opengraph-image and /twitter-image still answer noindex.

Two things this does not fix. /favicon.ico still 404s; Google accepts
the rel="icon" link so it is not required, and changing which URL serves
the mark right now would reset a clock that is about to start. And
Google re-crawls favicons on its own schedule, "several days to several
weeks" by its own documentation, so the globe will persist for a while
after this ships.
@Flotapponnier
Flotapponnier merged commit 62b23bc into main Oct 1, 2026
2 checks passed
@Flotapponnier
Flotapponnier deleted the cherry/favicon-indexable branch October 1, 2026 23:29
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