Updated Ajax + SEO Guidelines

Niels Swimberghe

Niels Swimberghe - - Web

Follow me on Twitter, buy me a coffee

Adorable spider

When you build an Ajax based website and want to be SEO friendly, there are a couple of techniques you have to apply. Back in 2009, Google made a proposal on how to make your Ajax pages crawlable. Later on in 2014, they updated their advice saying the following:

Historically, Google indexing systems resembled old text-only browsers, such as Lynx, and that’s what our Webmaster Guidelines said. Now, with indexing based on page rendering, it's no longer accurate to see our indexing systems as a text-only browser. Instead, a more accurate approximation is a modern web browser.

This means that Google Bots actually understand and see your web page as users do. Content generated from Javascript will also be indexed. So if you are using Javascript frameworks like Angular, Ember, or any that will generate HTML, Google will be able to crawl it. Google not only crawls your HTML, but also your Javascript and CSS–unless you disallow it. Note: if you are making Ajax calls to an API or resource that disallows crawling, Google will not be able to pull that content. They will warn you when you "Fetch as Google", although "Fetch as Google" is not completely the same as how the Googlebot will see your page as noted on Stackoverflow. So keep that in mind. Today, services like Prerender.io, Brombone, or other solutions are used to serve prerendered pages to search engines and social media services following Google's proposal back in 2009. Even more so, Google deprecated their Ajax crawling scheme last month (Oct 14th, 2015). This means Google is recommending not to use the "_escaped_fragment_" URLs in the future, but they will keep supporting it so you don't have to change your existing projects. Prerendering solutions are not necessary because your Javascript is being executed. Unfortunately, other search engines and social media services won’t do this yet. For instance, social media posts still include moustache syntax titles like "{{page.title}}". So as suggested on ProWebmasters (StackExchange), you shouldn’t disable prerendering yet. Hopefully, you can forget about Ajax Crawlability issues soon, but for now (and probably for a while) you may still need to serve prerendered pages, depending on your requirements.

Related Posts

Related Posts