glimanaDocs Open Glimana →

Issue guide · Indexability

noindex in the raw HTML is removed by JavaScript

SeverityHigh
CategoryIndexability
ScopeWhole site
EffortSmall
Verified byRe-crawl after you mark the task done
Rule keynoindex_removed_by_js

Short answer

The HTML your server sends contains a noindex robots meta tag, but after JavaScript runs the tag is gone. Google may skip rendering when the raw HTML says noindex, so the page can stay out of the index even though the rendered page no longer has it. If you want the page indexed, remove the noindex from the original HTML the server sends. Google may skip rendering when it sees noindex, so removing it with JavaScript may not work.

Why it matters

Google processes pages in two waves: HTML first, rendering later. A noindex in the first wave is a signal that the page does not need to be rendered, so the JavaScript that would remove it may never run. The page then stays out of the index indefinitely, with no error in Search Console beyond "Excluded by noindex tag".

How Glimana detects it

Glimana renders pages with a headless browser and compares the robots directives before and after JavaScript. The rule fires for pages checked in the last 14 days where the raw HTML has noindex and the rendered DOM does not. The affected pages are listed.

How to fix it

A theme or plugin is adding noindex server-side (often a "coming soon" or membership plugin, or the SEO plugin's per-post setting) while a script removes it. Fix the setting that adds it; do not rely on the script.

Usually an app that sets noindex in Liquid for certain templates and a JavaScript snippet that "fixes" it. Remove the Liquid tag.

Single-page apps sometimes ship a default <meta name="robots" content="noindex"> in the shell and remove it after routing. Move the decision server-side (SSR) or remove the default tag and add noindex only on routes that need it.

How the fix is verified

Re-crawl; the task closes when the raw HTML no longer contains noindex (or both raw and rendered agree).

Sources