tags:

views:

52

answers:

3

i wonder if content loaded dynamically by AJAX affect SEO/ability for search engines to index the page?

i am thinking of doing a constantly loading page, something like the Tumblr dashboard where content is automatically loaded as the user scrolls down.

A: 

Crawlers don't run JavaScript, so no, your content will not be visible to them. You must provide an alternative method of reaching that content if you want it to be indexed.

You should stick to what's called "graceful degradation" and "progressive enhancement". Basically this means that your website should function and content should be reachable when you start to disable some technologies.

Build your website with a classic navigation, and then "ajaxify" it. This way, not only is it indexed correctly by search engines, it's also friendly for users that browse it with mobile devices / with JS disabled / etc.

Victor Stanciu
+1  A: 

If you have some content loaded by an Ajax request, then, it is only loaded by user-agents that run Javascript code.

Search-engine robots generally don't support Javascript (or not well at all).

So chances are that your content that's loaded by an Ajax request will not be seen by search engines crawlers -- which means it will not be indexed ; which is not quite good for your website.

Pascal MARTIN
+1  A: 

Short answer: It depends.

Here's why - say you have some content that you want to have indexed - in that case loading it with ajax will ensure that it won't. Therefore that content should be loaded normally.

On the other hand, say you have some content that you wish to index, but for one reason or another you do not wish to show it (I know this is not recommended and is not very nice to the end user anyway, but there are valid use cases), you can load this content normally, and then hide or even replace it using javascript.

As for your case where you have "constantly loading" content - you can make sure it's indexed by providing links to the search engines/non-js enabled user agents. For example you can have some twitter-like content and at the end of it a more button that links to content starting from the last item that you displayed. You can hide the button using javascript so that normal users never know it's there, but the crawlers will index that content (by clicking the link) anyway.

Ramuns Usovs
will the search engine point users to the other page then? hmm maybe what i can do is a normal pagination, then hide it using JS while loading more content
jiewmeng
Yupp, normal pagination that is hidden from the user with js and is replaced by lazy loading the content is exactly what you need.
Ramuns Usovs