SShortSingh.
Back to feed

How a SPA served identical 3,780-byte HTML to Googlebot across 741 URLs

0
·1 views

A development team discovered that every URL on their single-page application was returning identical, near-empty HTML to Googlebot, causing Google Search Console to flag 116 URLs with indexing issues. The root cause was that Googlebot's JavaScript rendering runs in a separate, budgeted queue, meaning low-authority domains often get crawled before the page is fully rendered. The team fixed this by injecting real meta tags into each static HTML file at build time, while ensuring the static markup remained a subset of the rendered content to avoid cloaking penalties. Additional bugs were uncovered, including a React Helmet conflict that stripped static meta tags, a sitemap generator missing from the build pipeline, and a dead code branch that silently returned null for a key route. The team concluded that SEO verification should always use a crawler user agent rather than a browser, since browsers execute JavaScript and mask the exact problem being investigated.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Flame IDE Launches Free Desktop IDE with Multi-Repo, AI Agents, and Git Worktree Support

A developer has released Flame IDE, a free desktop application for macOS, Windows, and Linux designed to consolidate common development tasks into a single workspace. The IDE allows users to manage multiple repositories simultaneously, grouping related projects and keeping their branches and changes visible without opening separate windows. Flame includes an Agents Manager for creating, scheduling, and monitoring AI tasks across projects, and supports providers such as Claude Code, Codex, Gemini, Ollama, and OpenRouter. A built-in browser lets developers select UI elements directly and instruct an AI agent to diagnose and fix visual bugs using DOM inspection, screenshots, and console errors. Additional features include automated Git worktree setup, a Broadcast terminal, database tools, REST and GraphQL testing, Docker support, debugging, and an image editor.

0
ProgrammingDEV Community ·

SQL Explained: When to Use Window Functions Instead of GROUP BY

Both GROUP BY and window functions are SQL tools for summarizing data, but they behave very differently. GROUP BY collapses multiple rows into a single summary row per group, losing individual record details in the process. Window functions, by contrast, retain every original row while adding a new calculated column alongside each one. Functions like AVG() with OVER/PARTITION BY, RANK(), and LAG() allow comparisons such as class averages, rankings, and month-over-month changes without reducing the row count. Choosing between the two comes down to whether you need a condensed summary or want to preserve full row-level detail with added context.

0
ProgrammingDEV Community ·

ZECpad Builds Privacy-First Token Launch Platform on Zcash Before Going Public

ZECpad is an early-stage token launch and trading infrastructure project being developed within the Zcash ecosystem, with no public release yet. The platform aims to keep market-level data such as prices and liquidity publicly visible while shielding individual user identities and financial histories. Its planned features include shielded settlement, privacy-aware wallet flows, and reference markets tied to external assets like stocks or gold, settled in ZEC without conferring actual ownership. The team is evaluating safeguards against common launchpad risks including oracle manipulation, insider supply concentration, and insufficient collateral. ZECpad has initiated a preliminary scoping conversation with security firm Least Authority about an independent audit, though no assessment has been completed or confirmed yet.

0
ProgrammingDEV Community ·

Open-Source Framework Accordo Shows How AI Agents Handle Discount Approval Limits

Accordo, an open-source framework for building custom CRMs with coding agents, demonstrates how approval rules can be enforced when an AI agent requests a discount beyond an automatic threshold. In a runnable example, a synthetic customer requests 30 Enterprise Plan seats with a 25% discount, which exceeds the policy's 10% auto-approval ceiling and triggers a human-review requirement. When the simulated agent attempts to approve the request itself, it receives an HTTP 403 error with a HUMAN_APPROVAL_REQUIRED response, and no business audit entry is recorded. Only after a simulated user manually approves does the quote advance to an approved state, generating a complete audit trail and trace. The developers are seeking three teams with real quoting or approval workflows to participate in a bounded pilot using synthetic data.