I'm putting together a responsive site that updates the page content using jQuery with static or dynamic data that is pulled from the server (otherwise known as dynamic content swapping, or Single Page Application/SPA). This doesn't seem to be indexed by Google, Bing or other search engines. Only the information on the main page is indexed. In other words, Google bots really can't be expected to "click" on links, list items, or anything else that we've bound a click action to using jQuery.
So, while we're trying to make things easier and better for development and responsiveness, it seems to be ahead of the Google Bot curve and destroys your SEO rankings.
These examples are taken from our mobile/responsive site at http://m.bvstools.com.
// When a menu item is clicked, retrieve the data-id attribute and load the information from that page:
$('body').on('click', '.addedMenuNavBarItem', function (event) {
var name = $(event.target).attr('data-id');
loadBodyContent('/ssi/' + name + '.html');
});
// When a software name is clicked, load dynamic content based upon the software name
$('body').on('click', '.clickSoftware', function (event) {
var software = $(this).attr('data-name');
loadBodyContent('/e-rpg/softdesc?software=' + software);
});
//loadBodyContent() is used to change the main bodyContent div container's contents
function loadBodyContent(path, callback) {
$("#bodyContent").html("<img src='/images/loading.gif' style='display: block; margin-left: auto; margin-right: auto'/>");
$.get( path, function( data ) {
$( "#bodyContent" ).html( data );
if (callback) callback();
});
}
We have since added some DIVs containing the descriptions of our software products that are initially hidden to see if that helps with keywords and crawling by Google. The content is the same as what they would see if they were to click on a software link so it technically shouldn't be "cloaking". But that's not the main point here.
It just seems that all the web development ideas, tools and crawlers assume every website is a "blog" and all the information will be available as static content (hidden or not).
This also means that development of commercial type websites need to follow the rule of Google (et al) crawlers instead of techniques like those shown above.
See our update on this with this article!