Currently, a small ajax web app of mine uses an anchor hijacking method to display content. The user clicks an anchor, I cancel the default browser event and funnel the link into an AJAX call, after which I retrieve content and insert/animate it in.
A person without Javascript enabled, or a crawler, would follow the anchor and find themselves in a barebones version of the content, ready to be retrieved and inserted into the main site, so essentially it's still visible to Google but not so much ready for human consumption (and if it's indexed it will be OK, because I could redirect it to a different, acceptable human ready page), which is OK with me BUT only if it doesn't affect SEO negatively compared to:
HTML snapshots, where I reprogram the application to work with the browser and have it serve up a version of the site for each bit of content, so essentially instead of seeing the barebones content everytime google requests a link it would see a version of what the content + code would look like had a user carried out that operation.
The problem is the latter is fiddly and annoying to reprogram, an I'd like to see if there's any significant improvement in SEO that would warrant the extra time and money spent to reprogram it.
https://developers.google.com/webmasters/ajax-crawling/
Link to the article on making your AJAX web application crawlable for reference.