Search engines have become increasingly capable of handling JavaScript-rendered websites, but there is still a gap between how users experience Single Page Applications (SPAs) and how those experiences are measured.

That is where Google Chrome’s new Soft Navigations API comes in.

Announced as part of an origin trial in Chrome 139, this API marks a significant shift in how performance metrics like Core Web Vitals are captured for SPAs.

For SEOs working with JavaScript-heavy websites, this is not just a developer feature. It is an essential tool for diagnosing, measuring and improving real user experience.

What Is the Soft Navigations API?

Soft navigations occur when JavaScript dynamically updates a page’s content and URL without a full page reload.

This is common in SPAs. While users perceive this as navigating between pages, browsers previously did not treat it as a navigation event.

As a result, tools like Chrome’s Web Vitals tracking and Real User Monitoring (RUM) systems could not capture key UX metrics such as LCP or INP for those interactions.

The Soft Navigations API changes this.

It provides browsers with a way to detect these client-side navigations using built-in heuristics, and it exposes new performance entries so that soft navigation events are measured in the same way as traditional page loads.

Heuristic-Based Detection

Rather than requiring developer-defined markers, Chrome uses heuristics to detect soft navigations automatically. A soft navigation is identified when:

  • A user interaction (such as a click) triggers a pushState or replaceState.
  • That interaction leads to visible DOM changes and a paint event.
  • The URL changes, and a new history entry is created.

This removes the need for SPA frameworks to opt in explicitly, making the API more widely applicable and easier to adopt.

New Performance Entry Types

Two new entries are added to the PerformanceObserver timeline:

  • soft-navigation: A timestamped entry capturing when a soft navigation occurred.
  • interaction-contentful-paint: A new metric that reflects LCP-style behaviour following a user interaction rather than a full page load.

navigationId for Metric Attribution

Each navigation, soft or hard, is now given a unique navigationId. This ID is used to associate performance metrics such as LCP, CLS and INP with the specific navigation event.

This is vital for SPAs where a user might visit several virtual pages without ever triggering a full reload.

Now, monitoring tools and field data can report performance per view, rather than just per session.

Better Core Web Vitals Auditing for JavaScript Sites

One of the main challenges SEOs face when auditing SPAs is that tools like PageSpeed Insights, Lighthouse and CrUX often only capture performance data for the initial page load.

Any route change that happens via JavaScript, whether it is a new product page, a filtered category, or a step in a booking flow, was previously invisible to these tools.

This meant performance audits were technically incomplete, and UX issues that users encountered mid-journey were missed entirely.

The Soft Navigations API solves this problem.

By detecting each virtual pageview as its own navigation, and assigning it a navigationId, Chrome can now measure Core Web Vitals such as:

  • LCP (Largest Contentful Paint), using the new interaction-contentful-paint.
  • CLS (Cumulative Layout Shift), scoped to that navigation.
  • INP (Interaction to Next Paint), for interactions during that view.

This means SEOs and developers can now audit performance per view, even when the page never reloads. For complex, JavaScript-driven experiences, this addresses a critical blind spot.

It also opens the door to improved performance auditing across other JavaScript implementations beyond SPAs.

Any site using client-side routing, dynamic content loading, or DOM injection through JavaScript can benefit.

Whether you are tracking performance in a React storefront or a hybrid setup with dynamic widgets, the Soft Navigations API provides a way to measure what users actually experience.

Implications for SEO Tooling and Reporting

This API bridges the long-standing disconnect between how SPAs work and how SEO tools traditionally measure performance.

How it is now…

  • Core Web Vitals were only captured during the initial page load.
  • All SPA metrics were grouped under the entry point URL.
  • SEO audits missed slow transitions between views, such as product pages or filters.

What the API enables…

  • Each client-side transition can now have its own Core Web Vitals data.
  • Tools can segment performance by virtual route, such as /product/123, rather than just the base URL.
  • RUM platforms and analytics tools can attribute metrics to the correct user flow, improving accuracy and diagnostic capabilities.

If your site uses a modern JavaScript framework such as React, Vue or Angular, this API makes it possible to fully understand and optimise performance in a way that reflects actual user behaviour and Google’s expectations for user experience signals.

The Future of SPA Performance Monitoring

The Soft Navigations API represents a foundational shift. It is not just a Chrome experiment, it is an indication of where performance monitoring is headed.

Broader Standardisation

As feedback from the origin trial is gathered, it is likely that the API or its successor will become a full web standard. This would enable inclusion in tools such as CrUX and PageSpeed Insights.

Enhanced Core Web Vitals Reporting

Tools and SEO platforms that support the new soft-navigation entries will be able to offer far more detailed per-page performance data, even for SPAs that load only a single HTML file.

Smarter SEO Recommendations

With the ability to track and diagnose paint delays, layout shifts and input delays across every view, SEO recommendations will become more precise and evidence-based.

Closer Developer Collaboration

This API encourages stronger collaboration between SEO and development teams. Metrics are no longer limited to full page loads. They now reflect the entire user journey, which means shared responsibility for performance across marketing, product and engineering.

Conclusion

The Soft Navigations API is not just a developer convenience, it is a breakthrough for technical SEO.

It finally provides visibility into what users actually experience on SPAs, and ensures performance metrics reflect each step of the journey, not just the starting point.

If you work with JavaScript-heavy websites, participating in the origin trial or enabling this API for local testing should be a top priority.

As Chrome continues to push towards more accurate user experience measurement, this is your chance to stay ahead and ensure your performance insights are grounded in how modern websites really behave.