Glossary · Single-page app (SPA)
A JavaScript application that changes views without full page reloads. Typical search risks: links without real URLs, # routes and error views that return 200.
Google’s documentation 2
Documented in
Google's JavaScript guides say that when client-side routing makes a real 404 status impractical, a single-page app can avoid soft 404s by redirecting with JavaScript to a URL whose server returns 404, or by adding a robots noindex meta tag with JavaScript.
Google Search Central · Day 2 · Lightning session D: Rendering and JavaScript
For client-side rendered single-page apps, where meaningful status codes can be impossible or impractical, Google's documentation gives two ways to avoid soft 404s: a JavaScript redirect to a URL that returns a 404 status, or a noindex robots meta tag added with JavaScript.
Google Search Central · Day 2 · What is Google friendly JavaScript
Said at the event 7
Slide and stage claims that name it, the ones Google’s documentation does not cover first.
Consistent with docs 1
Moving a single-page app from fragment-based routes to real paths with the History API keeps the same client-side behaviour and was described as not free but relatively straightforward.
Erin Sparling · Day 2 · What is Google friendly JavaScript
Confirmed by docs 5
The crawlable pattern for single-page app navigation is a real URL in the href, such as <a href=/products>, combined with History API routing (window.history.pushState) instead of hash routes.
Rebecca Yu · Day 2 · Lightning session D: Rendering and JavaScript
In single-page apps, a missing page often shows a custom 404 page while the server returns HTTP 200, because the front-end router, not the server, handles the 404.
Rebecca Yu · Day 2 · Lightning session D: Rendering and JavaScript
Google recommends the History API to give single-page apps clean URLs instead of fragment-based routes.
Erin Sparling · Day 2 · What is Google friendly JavaScript
With the History API, a single-page app can use real links and attach event listeners that intercept the click, rewrite the URL with pushState and load the new content, so Google can follow the links while users avoid full page reloads.
Erin Sparling · Day 2 · What is Google friendly JavaScript
In JavaScript single-page apps, soft 404s typically arise because the server returns the app with a 200 status for every URL, so when the app shows a 'not found' message for a URL that does not exist, no error is reported.
Erin Sparling · Day 2 · What is Google friendly JavaScript
Nothing to verify 1
A community speaker listed four common but often overlooked JavaScript rendering mistakes: non-crawlable link markup, error pages that return HTTP 200 in single-page apps, content behind user interaction, and JavaScript or API resources blocked in robots.txt.
Rebecca Yu · Day 2 · Lightning session D: Rendering and JavaScript
Press and analysis 3
In a single-page app, let the server return 404 for unknown routes where possible; otherwise use one of the two client-side fixes Google documents for error views: a JavaScript redirect to a URL that returns 404, or a robots noindex added with JavaScript.
Ibrahim Anjro · Day 2 · Lightning session D: Rendering and JavaScript
Audit a single-page app by searching both the templates and the rendered HTML for href="#..." routes, <a> elements without href and onclick navigation; every view that should rank needs an <a href> link to a real path.
Ibrahim Anjro · Day 2 · What is Google friendly JavaScript
Return real error status codes for error states, 404 or 410 for missing content and 503 for outages such as a failed database connection, also in single-page apps; a 200 page whose main content is only an error message is treated as a soft 404 even when header and navigation look normal.
Ibrahim Anjro · Day 2 · Understanding what's on a page
Built on these claims 6
Kit items about Single-page app: their own words name it, or several of the claims they rest on do.
Developer requirements 4
Also inglossary terms Single-page app (SPA), History API
Connected things 12
Most often named with it
Things named in the same claim, with the number of claims they share.
Topics that feature it