AJAX and search engines

Posted By: albert_sole ()
Posted On: 2008-May-29 12:15

Hi to all,
I am developing a web page with the following architecture:
- All calls are made in Ajax from JavaScript.
- All the content is dynamic.
- Server responds with XML, that some javascript parse and load into the main page.

I know that this is not search engine friendly because they can't access any information about the page, because information is loaded dynamically.

I thought of implementing a kind of parallel web page, with all the information the database contains, coded in plain html. The main problem is that this content will be ugly, and I don't the users see that pages.

Any idea?


Posted By: dudibob ()
Posted On: 2008-May-29 12:22

Best thing to do is to have your pretty AJAX by default and have a link at the bottom of the page for people who don't support AJAX (they exist) and for the search engines to your 'ugly' content that the search engines can understand.

I wouldn't advice echoing your text in <no script> tags as that will annoy the search engines

HTH


Posted By: freeflyer ()
Posted On: 2008-May-29 13:52

"I wouldn't advice echoing your text in <no script> tags as that will annoy the search engines
"

i think that was the case but not anymore...

http://www.allthingssem.com/noscript-and-seo/



Posted By: dudibob ()
Posted On: 2008-May-29 14:56

cheers for the link freeflyer - interesting test especially because it was done in March last year and is still there.

The point I was making is the search engines may not be happy with a whole article or a html friendly version of the site placed in no script tags, worth a test I guess but I got a feeling it'll trigger some filter or what not.


Posted By: freeflyer ()
Posted On: 2008-May-29 15:44

i didnt notice the date wink


Posted By: albert_sole ()
Posted On: 2008-May-30 07:10

Thanks for answering to both of you, about having a link on the bottom of the page for people how does not support Ajax and the search engines is a good idea.

The problem I found in this approach is that search engines will target that pages, and those pages would be presented to the users instead of my pretty Ajax.

How would you solve that?


Posted By: Quadrille ()
Posted On: 2008-May-30 09:19

The SEs are much happier to give credit to <noscript> content because they are now much better at 'reading' scripts; while javascript links, for example, may not be followed by Google, that does not mean that they are ignored. Google is much, much better at parsing javascript, therefore much better at knowing if <noscript> is being abused, therefore happy to give full credit when it is not being abused.

That's the theory, anyway. I can't vouch for how well it works in the real world.


Posted By: freeflyer ()
Posted On: 2008-May-30 10:02

albert..
"The problem I found in this approach is that search engines will target that pages, and those pages would be presented to the users instead of my pretty Ajax.

How would you solve that?
"

are you saying you're creating two different pages? one static for search engines and another one ajax for visitors? i dunno.. you developers... its been proved time and time again that visitors dont like fancy stuff you know... better to stick to one, the static one smile


anyway. regarding noscript... three of my sites which are struggling to get some pages listed have the only spiderable menu inside a noscript tag.. after comtemplating this thread as an dedicated experiment i've added another menu at the bottom of the page in the traditional way, and done nothing else regards optimising for this monthh. I'll see if it makes a difference.

I think quadrille is right.. The search engines can see inside the script tag, and match it against whats inside the noscript tag.. if the two roughly match (to check for spamming) then they parse the noscript as normal.


[ Message was edited by: freeflyer 05/30/2008 02:14 am ]




Posted By: albert_sole ()
Posted On: 2008-May-30 11:46

Yes, I do create two parallel versions of the web page, I'll explain it.

What I have in the main page ( where I would like users to go ) is a menu on the right side, and some news on the left side and a central div where I load page contents. Both menus, news and main menu, are loaded using Ajax, from javascript. Same happens with link on the menu and each news item, each of them loads some content on the central div of the web page, same way as I said above, using Ajax in javascript.

The problem using this approach is that web crawlers will not see anything due to all links are implemented from javascript (overwriting the on click property) and the main page is initially empty. I thought about implementing ( of course in a automatic way ) a parallel web interface with plain html with all the database contents, trying to make easier the live to web crawlers. The problem is that search engines will redirect users to this parallel web interface which is not my desire.

Could this be solved in some other way?

As I read on the above posts, you all recommend the use of tag noscript.


Posted By: Prowler (Staff)
Posted On: 2008-May-30 12:07

Sniff the browser for compatibility with JS and if compatible serve the page with the sauce intended for the humans. Robots and JS disabled browsers will see the vanilla version. It is a little convoluted though.


Posted By: freeflyer ()
Posted On: 2008-May-30 13:14

yes use noscript, and serve the same content inside it that the ajax would. To ge honest though even this isnt ideal. You'll get away with it for the menu, but certainly not for the content, as it will undoubtedly carry less clout in the search engines (although probably still be counted).