term single-page-applicationfield SEOread 6 min readcatalogued in 23

Single-page application

A single-page application (SPA) is a web app that loads one HTML page and updates content dynamically via JavaScript, without full page reloads. For SEO, this changes how search engines crawl and render your content.

6 min readSEO
Reviewed context
Primary contextSingle-page application Wikipedia contributors, “Single-page application”, en.wikipedia.orgLicence
Term snapshot

A single-page application (SPA) is a web website that interacts with users by dynamically rewriting content on the current page using new data from the server, instead of loading entirely new pages.

Search context

This topic is relevant for web developers and digital marketers who are concerned with optimizing site performance, user experience, or search engine visibility.

External context

For those building their own websites, understanding SPAs means knowing that content updates occur by modifying the existing page rather than navigating to new ones. This method aims to create faster transitions, giving the overall website a feel similar to a native mobile application.

Single-page application Wikipedia contributors, “Single-page application”, en.wikipedia.orgLicence

01What it is and how it works

A single-page application serves a minimal HTML shell and relies on JavaScript to fetch data and update the DOM. When a user clicks a link, the SPA intercepts the navigation, requests only the needed data (often JSON), and re-renders the view in the browser. This creates a fast, app-like experience. For search engines, the initial HTML often contains little or no content. A crawler that does not execute JavaScript will see an empty page. Modern crawlers like Googlebot do run JavaScript, but they do so in a second wave, which can delay indexing. The key is that the content is not in the raw HTML; it appears only after JavaScript executes.

An SPA is a website that works like a desktop app: it loads once and then changes the page content on the fly. Search engines need to run JavaScript to see what's actually on the page.

02What to do about it

Make the content available without requiring JavaScript execution. The most reliable approach is server-side rendering (SSR) or static generation: the server returns the fully rendered HTML. If that is not possible, use dynamic rendering: serve a static snapshot to bots and the SPA to users. Alternatively, ensure your SPA uses the History API for routing, not hash fragments, and that all important content is included in the initial HTML payload. Test with Google's URL Inspection tool to see what Googlebot sees. Also, avoid blocking JavaScript files in robots.txt; crawlers need them to render.

03How it is measured or noticed

Check Google Search Console's URL Inspection tool: it shows the rendered HTML that Googlebot sees. If the rendered HTML contains your content, you are fine. Also look at the 'Coverage' report for indexing issues. Another signal is whether your pages appear in search results for their target keywords. If they do not, and the page is an SPA, rendering is the likely culprit. You can also use the 'View as Googlebot' feature (now part of URL Inspection) to see the rendered page. For a quick check, disable JavaScript in your browser and load the page; if the content is missing, you have a problem.

How the record puts it

A single-page application (SPA) is a web application or website that interacts with the user by dynamically rewriting the current web page with new data from the web server, instead of the default method of loading entire new pages.
Single-page application Wikipedia contributors, “Single-page application”, en.wikipedia.orgLicence revision 1364859221 · retrieved 2026-08-29

04Common mistakes

  • Assuming Googlebot does not run JavaScript — it does, but only after a queue, so content may be delayed.
  • Using hash-based routing (#/page) instead of the History API; hashes are not treated as separate URLs.
  • Blocking JavaScript or CSS files in robots.txt, which prevents rendering.
  • Relying on client-side rendering for content that is not in the initial HTML.
  • Forgetting to update the and meta description dynamically for each route.

05Limits and confusions

An SPA is not the same as a progressive web app (PWA), although a PWA can be an SPA. Also, not every SPA needs special treatment: if the content is static and included in the initial HTML, it is fine. The challenges arise when content is loaded asynchronously after user interaction or when the page uses client-side routing. SPAs are often confused with multi-page applications (MPAs) because both can have multiple URLs. The difference is that an SPA does not request a new HTML document for each route; it rewrites the current one. This distinction matters for SEO because each route in an SPA must be a separate URL that returns the same HTML shell.

06Worked example

Imagine an e-commerce SPA that loads a product page. The initial HTML contains only the header and footer. The product title, description, and price are fetched via an API and inserted into the DOM after a few seconds. Googlebot renders the page, but the content is not in the initial HTML. To fix this, you can implement server-side rendering for the product page: the server returns the full HTML with the product details. Now Googlebot sees the content immediately, and the page can be indexed. Alternatively, you could use dynamic rendering to serve a static HTML snapshot to bots.
Elsewhere in the recordwikidata.org · Q1990286

The entry above is written by GetLoopLoop. What follows is what independent catalogues hold about the same term — none of it is the source of this page.

Also called
SPA
Kind of thing
type of website

Frequently asked questions

How is a single-page application different from a regular website?

A regular website loads a new HTML page for each navigation, while a single-page application loads one HTML shell and updates content dynamically via JavaScript. This changes how search engines crawl and render your content because they must execute JavaScript to see the full page.

Should I build my site as a single-page application if I care about SEO?

It depends. If you need a highly interactive app, a single-page application can work, but you must implement server-side rendering or prerendering to make content visible to search engines. For content-heavy sites, a traditional multi-page approach is simpler and more reliable for SEO.

How do search engines crawl and render a single-page application?

Google uses a two-phase process: first it fetches the raw HTML, then it executes JavaScript with a headless browser to render the page. The rendered HTML is what gets indexed, so you need to ensure your JavaScript is crawlable and that critical content is available without requiring execution.

Does Google still render JavaScript and index single-page application content?

Yes, Google renders JavaScript, but it's not always immediate and can be resource-intensive. There are limits on how many pages Google will render, so it's safer to pre-render critical content or use dynamic rendering if you have a large SPA.

What happens if I don't make my single-page application crawlable?

Search engines will see an empty or minimal HTML page, and your content won't be indexed. You'll notice a drop in organic traffic, and you can confirm the issue by using Google Search Console's URL Inspection tool to see the rendered HTML Googlebot sees.

How long does it take for Google to index single-page application content after I fix it?

It varies from days to weeks. You can speed up indexing by submitting the URL in Google Search Console and ensuring fast server responses. Monitor the URL Inspection tool to see when the rendered HTML matches your expected content.

Wikimedia Commons

Related visuals with source and licence credit
no original description
no original descriptionWikimedia Commons en:User:Saranphat.cha · CC BY-SA 3.0Licence en:User:Saranphat.cha · CC BY-SA 3.0

Asked out loud

spoken, not typed

The same term in the words somebody uses speaking to an assistant rather than typing into a box — written from the situation, which is why each one carries the situation it came from.

I'm looking at my site's source code and it's just one div and a script tag. What kind of site is this?

That's a single-page application. The HTML shell is minimal and everything else is rendered by JavaScript, which is why search engines might not see your content unless you pre-render it.

the page
My client's site isn't showing up in Google, and I think it's because it's all one page. What is that called?

It's a single-page application. That's likely the issue because Google needs to execute JavaScript to see the content. You'll need to add server-side rendering or prerendering to fix it.

the client
I'm about to launch tomorrow and I just realized my site only loads one page and updates everything with JavaScript. What am I dealing with?

You're dealing with a single-page application. Before launch, you need to ensure the content is crawlable, or you'll lose search visibility. Check the rendered HTML in Search Console to see what Google sees.

a deadline

More in SEO