Mobile app version of vmapp.org
Login or Join
Rivera981

: Checking Request's user agent versus handling _escaped_fragment_ urls when using pushState only (no hashbangs) I'm working on an AJAX-based application and thinking of how to make it crawlable by

@Rivera981

Posted in: #Ajax #Html5 #Seo #WebCrawlers

I'm working on an AJAX-based application and thinking of how to make it crawlable by search engines. I've read the Google's AJAX crawling specification but I couldn't get my head around one thing: if my application uses exclusively pushState (i.e. no hashbangs in URLs at all) wouldn't it be easier just to return a static version of the request URL if the request's user agent was a crawler? Would that be considered cloaking? I mean, I have no problem following the AJAX crawling specification and use <meta name="fragment" content="!"> along with _escaped_fragment_ urls, but it seems a lot easier just to check the user agent in such a case.

I'm aware that returning information based on the request's user agent is often associated with black hat SEO, but in this case, unless I'm missing something, checking for a specific URL ( _escaped_fragment_) seems to be the same thing as checking for a specific user agent. In both cases I'd have to generate and return a static version of the requested resource and I could do bad things if I had bad intentions. AFAIK, no option is safer than the other.

Should I, by all means, stick to the specification or would it be okay to use the user agent info? Or is there a better way to make crawlable a web application that uses pushState only?

Any clarification on this matter will be much appreciated.

10.01% popularity Vote Up Vote Down


Login to follow query

More posts by @Rivera981

1 Comments

Sorted by latest first Latest Oldest Best

 

@Gloria169

I'm aware that returning information based on the request's user agent is often associated with black hat SEO, but in this case, unless I'm missing something, checking for a specific URL ( _escaped_fragment_) seems to be the same thing as checking for a specific user agent.


Cloaking was targeted in Google's Penguin update and is considered a violation of Google’s Webmaster Guidelines as can be read about here.

Cloaking is:


done by delivering content
based on the IP addresses or the User-Agent HTTP header of the user
requesting the page.


As indicated by Matt Cutts, an important heuristic used by Google to detect cloaking is if your web server is checking for Googlebot's user-agent - see this (at 3:00). Checking for _escaped_fragment_ is not a heuristic, as covered by the specification Google adopted.


Should I, by all means, stick to the specification or would it be okay to use the user agent info?


You're risking your site being penalized if you check the user-agent. So if you can stick to the specification, that would be highly advisable, and would likely require much less effort than trying to recover from a penalty or sandboxing.

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme