Google's ability to crawl AJAX rendered content
-
I would like to make a change to the way our main navigation is currently rendered on our e-commerce site. Currently, all of the content that appears when you click a navigation category is rendering on page load. This is currently a large portion of every page visit’s bandwidth and even the images are downloaded even if a user doesn’t choose to use the navigation.
I’d like to change it so the content appears and is downloaded only IF the user clicks on it, I'm planning on using AJAX. As that is the case it wouldn’t not be automatically on the site(which may or may not mean Google would crawl it). As we already provide a sitemap.xml for Google I want to make sure this change would not adversely affect our SEO.
As of October this year the Webmaster AJAX crawling doc. suggestions has been depreciated. While the new version does say that its crawlers are smart enough to render AJAX content, something I've tested, I'm not sure if that only applies to content injected on page load as opposed to in click like I'm planning to do.
-
check out https://developers.google.com/webmasters/ajax-crawling/docs/learn-more#current-practice
Essentially, you should have the AJAX load "onclick" but have the "href" link to the hardlink for people who don't have JS enabled (and crawlers).
-
Thanks Oleg,
The link you sent for the webmaster page had been deprecated since Oct 2015, does your recommendation still hold?
-
Google's official recommendation is just to unblock js/css and let it figure it out since it's smart enough now. I personally like to give as many suggestions/clues to follow as possible so that it doesn't get confused.
IMO, the onclick/href hybrid is probably the best for user experience. With proper canonicals set up (so that Google only indexes 1 version and avoids any duplicates), it's also my suggested method for SEO.