Recently, I’ve been working on a web application that has the idea to make it all “ajaxed” – Huh?! One, among the other requirements, was to make all the sub pages load and populate their content upon AJAX request but on the other hand to make it indexable by search engines.
So, here are a few worries I had:
- 1. which search engines allows this,
- 2. I couldn’t find any sample of the PHP and AJAX deep linking on the Web, except Twitter and Facebook did it recently but I couldn’t realize what stands behind it,
- 3. how to force the browsers to read the fragment after the hash sign (#something).
Sooo, I started thinking about possible answers, spoke to Mike … and here are the results:
Which search engines allows this?
First of all, it’s Google who introduced its standard for this purpose. I found that they call their specification “Making AJAX Applications Crawlable”. You can read their official article here. When I read that Google supports it, my worries almost disappeared because I knew that Facebook and Twitter already introduced it so they are those who make SEO standards, correct? Ok, another important article says that Yahoo! supports it, as well as IEEE, you may want to read more about it here. Honestly, I didn’t care about Bing at all (read: I hate it).
I couldn’t find any sample of the PHP and AJAX deep linking on the Web
After I googled for a little bit, there was actually a sample made by Asual DZZD and it was jQuery’s plug-in called “jQuery Address”. This is not a promotion of their plug-in and script but unfortunately the only sample I was able to find. You may read more about it here or you might want to check the example here.
Here is a screenshot:

How to force the browsers to read the fragment after hash sign (#something)?
Actually, you can’t force the browser to read the fragment but since search engines support the standard with the _escaped_fragment_ there is no need to do so. This technique combines both AJAX and PHP’s CURL. Just follow the above example and everything should be loud and clear.
Basically, here is the work flow:
- 1. convince yourself that it actually works by reading this and this,
- 2. Check the example of it here, download the code and play with it there,
- 3. Implement it on your site and enjoy!
I hope this article will save you a lot of time and headaches, good luck guys!
