How Our JavaScript Platform Handles SEO

Reaction Commerce is a single-page Meteor app built with JavaScript. Aren’t search engine crawlers incapable of reading JavaScript content? Isn’t this potentially devastating for my site’s SEO?

Short answer: nope!

It’s our most frequently asked question, and it’s one that consistently pops up in our developer channels. That’s no surprise, considering how SEO—and the traffic it drives—is so essential to the success of an ecommerce business. Reaction Commerce is a single-page JavaScript app, but rest assured, building your store or marketplace on our platform will not adversely affect your search engine rankings. Here’s why:

Google’s already solved it

Client-side rendering did indeed affect pagerank at one point, many years ago. In the past, websites used to render HTML on the server. The server would recognize the crawler, return code, and prompt the crawler to request a static snapshot of your website. The actual version of your website was generated by the client, not as a static snapshot, which was why client-side rendering used to be so difficult.

In October 2015, Google announced that they would be deprecating this practice. And just last week, Google posted the following on the official Webmaster Central Blog:

“Over time, Google engineers have significantly improved rendering of JavaScript for Googlebot. Given these advances, in the second quarter of 2018, we'll be switching to rendering these pages on Google's side, rather than on requiring that sites do this themselves. In short, we'll no longer be using the AJAX crawling scheme.”

Google now renders for JavaScript, but other major search engines, like Yahoo, Bing, and Baidu, are still on the outs. Luckily, there’s saves the day is a service that stores cached HTML versions of your pages. All you have to do is provide a URL to your site, and will render your JavaScript, store a static HTML page, and then return that to the search engine crawlers. You can even hook up your web framework to detect when a crawler is parsing the page, and the request will be routed to

Now that Google plans to render pages on their side rather than requiring sites to do it themselves, getting indexed may no longer require However, other search engines such as Yahoo, Bing, or Baidu might still have issues crawling JavaScript, so it's still worth looking into. is an open source software, as well as a paid service. To learn more, visit their docs.

Meta data is key

We use the Kadira DocHead package to automatically add title, description, and detail meta tags to your store product pages. This, in turn, renders into SEO-friendly data, which crawlers then pick up and index. If a shopper searches for "size 7 green shoes" in Google, then your product’s meta data will help that exact page get to the top of the search results.

If you’d like to inspect the meta data yourself, you may do so by installing an SEO Inspector.

We’re all about server-side rendering

Server-side rendering is just that: running your client-side JavaScript application—and all its content—on the server. When you do this, your browser downloads an HTML page in the initial payload and fills in the content with JavaScript. Because you have HTML content in place, search engine crawlers should be able to find and index your content without a hitch.

SSR is also helpful in ensuring that your Progressive Web App (PWA) is indexable and linkable. Google advises users to employ server-side or hybrid rendering (server and client-side) for their PWAs whenever possible. Google also now recommends that users adhere to a progressive enhancement-based development strategy. Because the core content of a site always comes first, that content is most accessible to crawlers. For more info on this, visit the Webmaster Central Blog.

Right now, we’re still in the middle of converting our components from Blaze to React, but we’ve already completed the transition on the admin side. This means that Reaction already uses SSR to ensure consistent SEO for Meteor apps, JavaScript-heavy sites, and PWAs.


That's about it. Hopefully, this post has dispelled some of your concerns on whether or not your site's getting indexed.

If you have any more questions regarding SEO, server-side rendering, performance, or anything else, feel free to reach out to us via our Gitter chat. Or, join one of our open community calls.

comments powered by Disqus