This is a very important topic. SEO has some interactions with the topics of SSR and React, so it may be helpful to discuss a few more thoughts about it. And of course the topic is relevant to all Meteor apps, regardless of what tech is being used for the front-end layout engine. For discussion purposes:
SSR
I do have SSR on Galaxy for my home page, via the included prerender.io
.
But every page needs to have unique SEO tags for title, description, etc. For pages after the home page, would SSR be a net benefit, given that they are dynamically generated based on client selections? (Is there even SSR for pages after the home page?) There are hundreds of different pages, and my understanding is that one of the benefits of a single-page web app is accelerated performance vs loading the full-page html, css, etc. from the server.
Many articles today express satisfaction with React Helmet
as an SEO solution. From an article titled “Improving SEO with React Helmet:”
React Helmet is a tremendously popular library that helps us improve our SEO by “tailoring” our pages’ metadata to each page content, in a dynamic and efficient way.
react-helmet
currently has 1.2M weekly downloads.
GOOGLEBOT
Per this article, “The Ultimate Guide to JavaScript SEO” from an SEO agency, Googlebot has come a long way in the past few years in terms of its ability to deal with Javascript.
Googlebot is based on the newest version of Chrome. That means that Googlebot is using the current version of the browser for rendering pages. But it’s not exactly the same.
Googlebot visits web pages just like a user would when using a browser. However, Googlebot is not a typical Chrome browser.
- Googlebot declines user permission requests (i.e. Googlebot will deny video auto-play requests).
- Cookies, local, and session storage are cleared across page loads. If your content relies on cookies or other stored data, Google won’t pick it up.
- Browsers always download all the resources – Googlebot may choose not to.
That sounds like Javascript SEO is possible, at least in terms of the <title>
and <meta...>
elements in the <head>
section. However to learn more about how a particular site performs in terms of SEO, the article recommends loading it in the Google Search Console. I currently have the NoIndex
flag set on my site, and Google Search Console won’t let me preview the site until that flag is removed, so I’ll have to wait a bit longer to test this.
In the meantime, Lighthouse is giving my site a Performance score of 100.
The deduction on the SEO score is because I have the NoIndex
flag set.