I’m trying to implement SEO for Google, following the excellent blog article I found here:
This approach uses _escaped_fragment_
to use server-side rendering for search bots sending requests in this format. However, Google deprecated this, as described here:
https://webmasters.googleblog.com/2015/10/deprecating-our-ajax-crawling-scheme.html
They say that Google nowadays is capable of indexing JavaScript pages just fine. So I tried the googlebot fetch tool provided by Google on a deep link into my app:
https://www.google.com/webmasters/tools/googlebot-fetch
The rendered output looks correctly.
But still, it seems as if Google is not able to index my Meteor app, as I can see if I perform test searches using the search engine itself. I can only guess that the bot is not able to follow links inside the app, so only my start page is being indexed.
The blog post also recommends to use a sitemap.xml
to inform search engines about the routes they should index. This may work fine if the app only has a couple of entry points. But if your app is a social network with thousands of users (and hence thousands of user profile pages), it does not make sense to setup a site map for all of them.
What is the recommended way to let Google fully index a Meteor app with a lot of pages? Does it still make sense to use _escaped_fragment_
, although Google disencourages that and considers this as “cloaking”?