Blogs

SEO for single page applications: what crawlers need to see

SEO for single page applications comes down to one question: what does a crawler receive before any JavaScript runs? When the answer is complete HTML, a single page application can rank as well as any traditional site. When the answer is an empty shell, it struggles.

Comparing rendered and raw HTML of a single page application product page

Key takeaways

1

Crawlers rank what the server sends, so render product pages on the server.

2

Each product and category needs a real URL, a status code and its own metadata.

3

Rendering is an architecture choice that is expensive to reverse after launch.

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Block quote

Ordered list

  1. Item 1
  2. Item 2
  3. Item 3

Unordered list

  • Item A
  • Item B
  • Item C

Text link

Bold text

Emphasis

Superscript

Subscript

The decision on the table is how your storefront renders its pages, and it is made early. Category and product pages carry most of the organic traffic on a commerce site. If the architecture sends them to search engines half-built, the fix is a front-end rebuild. A few extra tags will not close that gap.

Why single page applications struggle with search by default

A single page application (SPA) loads one HTML document and builds every view in the browser with JavaScript. Shoppers get fast transitions between pages. A crawler that reads only the first response gets a near-empty page with a script tag.

Google does render JavaScript, but it does so in a second pass that runs on its own schedule, so new products and price changes can reach the index late. Other search engines tend to render less, and several of the crawlers that feed AI answer engines read the raw HTML and little else. The difference between an SPA and an installable web app is explained in what SPAs and PWAs are. For search, the question is narrower: how much of the page exists before the browser does any work.

Server-side rendering is the foundation to build on

Server-side rendering means the server builds the full HTML for the first page view and the browser takes over from there. The crawler and the shopper receive the same finished page. After that first load, the application behaves like an SPA again.

The Salesforce PWA Kit (Composable Storefront) works this way out of the box. It renders the first view on Managed Runtime, the Salesforce hosting layer for headless storefronts, and hydrates it in the browser. Salesforce also launched Storefront Next in the Summer '26 release, a newer storefront that is server-first as well. We built Fast FORWARD, our own headless storefront, on the Composable Storefront for exactly this reason: search visibility is settled in the architecture. The wider case for this stack is set out in headless commerce with the Composable Storefront.

Every product and category needs its own crawlable URL

A crawler can only index what it can reach, and it reaches pages through links with real addresses. Every product, category and content page needs a clean URL that returns that page when requested directly. Hash-based routes and navigation built on click handlers hide pages from search engines, even when shoppers can use them without trouble.

Status codes are the second trap. Many SPAs answer every request with a success code and then show a "not found" message in the browser. Search engines call that a soft 404 and waste crawl budget on it. A discontinued product should return a proper 404 or 410 from the server, and a moved product a permanent redirect.

Variants and filters need a decision too. Colour and size pages, sorted listings and filtered categories can multiply into thousands of near-identical URLs. Canonical tags and a clear rule on which filter combinations deserve their own indexable page keep that under control.

Priscilla Calemi
Marketing & Community Manager

A crawler can only index what it can reach, and it reaches pages through links with real addresses.

Priscilla Calemi

|

Marketing & Community Manager

Metadata and structured data belong in the first response

Titles, meta descriptions, canonical tags and structured data have to be present in the HTML the server sends. When a storefront injects them later with JavaScript, some crawlers see the page without them. Product structured data (price, availability, reviews) is what turns a listing into a rich result, so it needs the same treatment.

The same discipline now serves AI answer engines. Clear headings, complete product information and markup that states what the page is about make a product easier to cite in a generated answer. How that work differs from classic ranking is covered in how GEO relates to SEO.

Speed decides whether rendering pays off

Server-side rendering only helps rankings if the page arrives quickly. Two variables drive that: how long the server takes to build the HTML, and how much JavaScript the browser must download before the page responds to a tap. Both show up in Core Web Vitals, the page experience measures Google reports in Search Console.

Caching is the lever that keeps server rendering affordable. Category and product pages that change a few times a day can be cached at the edge and served in milliseconds. Personalised elements such as a basket count or recommendations can load in the browser after the first paint. How hosting and caching work for these storefronts is explained in what Managed Runtime takes care of.

Rendering is only the entry ticket

Getting the architecture right puts an SPA on the same starting line as a traditional site. Content still decides the ranking. Product descriptions written for shoppers, category pages that answer what people search for and internal linking between related ranges do more than any rendering setting.

Fast FORWARD ships with server-side rendering and sitemap generation already in place, so your team can start on content straight away. We also sit on the Salesforce B2C Commerce Consulting Partner Advisory Board. When a storefront behaves in a way that hurts search visibility, we can raise it directly with Salesforce product management.

Explore Fast FORWARD
About the Author
Priscilla Calemi
Marketing & Community Manager

Our insights

Button Text
No items found.
No items found.
No items found.