⚠️ Three <script src> values on this page return 301 redirects (audit rule: js3xx)

All three scripts load correctly in your browser because browsers follow redirects. But Googlebot's rendering pipeline may abort on redirected scripts — leaving JavaScript-rendered content invisible to Google. Open DevTools → Network tab to see the 301 responses.

Page With JavaScript 3XX Redirects

Pattern 1 — Folder renamed: /scripts//js/

<script src="/scripts/app.js">
└─ 301 → /js/app.js (200)

Build tooling migration renamed /scripts/ to /js/. A redirect was added but the HTML template script src was never updated.

Pattern 2 — Legacy /static/ prefix removed after framework migration

<script src="/static/js/analytics.js">
└─ 301 → /js/analytics.js (200)

Old framework served all assets under /static/. After migration the prefix was dropped. Third-party tag manager snippets were never updated and still reference the old path.

Pattern 3 — Version suffix dropped from filename

<script src="/js/utils-v1.js">
└─ 301 → /js/utils.js (200)

Team adopted content-hashed filenames and removed version suffixes. Legacy pages still reference utils-v1.js instead of utils.js.


Why this is worse than redirected images

Browsers execute redirected scripts fine. But Googlebot's JavaScript rendering pipeline is more fragile — a redirect mid-pipeline can cause the renderer to abort, leaving all JS-rendered content (Vue/React components, lazy-loaded sections, dynamic text) completely invisible to Google. The page appears blank in Google's eyes even though it looks fine in a real browser.

Verify with DevTools: F12 → Network tab → filter JS → reload → each script shows two entries: 301 (redirect) + 200 (actual file).

← Back to demo home