3 ms·
This is really an important idea. For example part of a website I'm working on displays "customer testimonials". The right way to do this for user experience i
by keltex 17y ago
This is really an important idea. For example part of a website I'm working on displays "customer testimonials".
The right way to do this for user experience is to to allow the user to cycle through the testimonials using AJAX. This allows for some nice looking UI and is faster because less data is exchanged with the server.
The right way to do this for SEO is to have each page with a different testimonial on it with it's own custom title, meta description, and SEO friendly URL.
Which way we go is still undecided.
- mp3jeep01 17y agoInteresting post, and I do agree, it is important. Your testimonials example is good, and is definitely a reason to promote the idea, but as with anything, I suppose there are several different angles on this. In the case that you use AJAX to drive a "linear" process (say a series of login screens), there's no advantage to having Step 5 indexed and accessible, without ever beginning at Step 1. Worst case, we can always fall back to the flash band-aid, keep the same HTML content all on the same page, just place it -10000 off-screen where only the robots can locate it...but this, along with the "right way to do this for SEO" above are labor intensive...
- jimmybot 17y agoAre you sure it's XOR? Anything wrong with doing it through an iframe? You use javascript to control which is displayed and for responsiveness (your cycling), but each testimonial also has its own page.
- csytan 17y agoHave you considered parsing the page using javascript, or selectively returning a partial on an ajax request? I use the first method quite a bit. It's a bit slower to send the whole page, but does not require any server side changes. Once you get the html, libraries like jQuery make the parsing and replacing very easy. $(html).find('#testimonial').replaceAll('#testimonial');
- unlinkedlist 17y agoSimpler still: $('#testimonial').load('/testimonial-3 #testimonial p');
- qeorge 17y agoWhy not do both? Make standard links with fully qualified, working URLs, and use Javascript to replace the links' normal behavior with AJAX. This is often called HIJAX [1], and it works just fine for normal users, disabled users, and crawlers alike. Check out my company's homepage for an example: http://illuminatikarate.com/ http://illuminatikarate.com/ You'll notice that when you click to our other pages the content slides in as though its all contained in the original page. But if you have JS disabled, they behave as independent pages. Google has indexed all the pages on the site separately[2], so we're getting the full SEO benefit while also maintaining user experience for our disabled customers. Its a win for everyone. Ping me if you're having trouble, I'm happy to help. [1] http://www.domscripting.com/blog/display/41 http://www.domscripting.com/blog/display/41 [2] http://www.google.com/search?q=site%3Ailluminatikarate.com http://www.google.com/search?q=site%3Ailluminatikarate.com