| By Andrey Sivtsov | Article Rating: |
|
| January 15, 2007 12:15 PM EST | Reads: |
7,617 |
In "i-Technology Viewpoint" Ashok Sundani wrote that "... the search engine will never run your AJAX. To the search engine, huge areas of your website content are now hidden, never to be spidered, indexed, or found. This really limits the usefulness of AJAX in many applications." Well, that "fact" is, in fact, contends Andrey Sivtsov in this rebuttal, not a fact.We want both AJAX and search engines to stay alive and happy. BoonEx offers advice on how to do what was considered to be the impossible.
AJAX is a great technology, and most of its so-called "drawbacks" can be worked around. AJAX is extremely popular in web development now, but we hear tons of whining about how search-engine-UNfriendly and unusable (back button/permalinks problem) it is. C'mon, just think a bit - be creative and believe in "can do".
In our new product - Orca Interactive Forum Script, and in our upcoming products - Directory, Wiki and Blog we decided to use AJAX extensively but solve its problems altogether.
Orca is already a success. It is a 100% AJAX forum software, which already has an operational BACK button, permalinks, search-engine friendly structure and bookmarkable pages. Want more? Look for version 1.1 in a couple of weeks with many cool new features, including unique page title tags and Human-Friendly-URLs (modifiable to clone, say phpBB or vBulletin or any other way of URLs structuring). In a few months we plan to make Orca even more friendly and usable than any other conventional forum script.
Orca is an open-source, GPL-licensed, free product. We decided to release it into open waters to make it really popular and widespread. You can see it in action, use it, or participate in development. Orca - Interactive Forum Script.
Now, to save precious search engines from the wildly popular AJAX expansion we're sharing this information to help webmasters develop SE-friendly AJAX apps.
Industrious webmasters develop two versions of their websites - for users and for search engines. We combined both into one. Literally. We use XSL transformation for generating site contents. XSL transformation can be done on the client side (in browser) and/or on the server side (in php). This effectively removes the need to write different code for AJAX and for search engines. The same code provides different functionality for search engines and for users.
For example, if you look at the Orca forum url:
< a onclick="return f.selectForum(5, 0);" href="index.php?action=goto&forum_id=5&start=0" >Orca Installation< /a >When a user clicks this URL the browser executes onclick event and if return f.selectForum(5, 0) statement returns false the browser will execute onclick code and doesn't follow the link in href attribute. In this case we execute xsl transformation on the client side (good for server performance because xsl transformation is performed on the client machine).
When a search engine "clicks" this URL it sees only the href part of the url and opens a page with a regular URL with the same page content. In this case xsl transformation performs on the server side and this URL outputs a regular html page.
What about that old AJAX enemy - Back button? Simple.
The back button in Orca is based on # symbol after the URL. JavaScript can read and change the value in the URL after the # symbol without a page reload, but a browser stores this URL (with another text after # symbol) in browser history.
The sequence (as in Orca):
- User opens a forum via AJAX
- JavaScript reloads the target area on the page and stores information about this action in the URL (example: #action=goto&forum_id=5)
- Browser stores this URL in history
- The user clicks the Back Button
- JavaScript sees that the # part of the URL has changed, takes the new text after the # symbol, parses it and calls JavaScript to reload the target area on the page (example: #action=goto&forum_id=3 would open topics in forum with id=3)
PS: Mozilla and IE handle these URLs (with changed text after the # symbol) differently. So JavaScript code for them is different, but the algorithm is the same.
Note that xsl transformation is very strict - you have to write xsl templates very carefully, but at the end of the day you will have perfectly valid HTML code.
Ok, this is a start. We plan to improve these techniques and will use them in Orca and other BoonEx products.
Published January 15, 2007 Reads 7,617
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Andrey Sivtsov
Andrey Sivtsov is General Director of BoonEx Community Software Experts Company (http://boonex.com). The company is devoted to developing cutting-edge web applications for online communities, using the latest technologies. "We make them advanced, search-engine-friendly and user-friendly," he notes.
![]() |
maryam 03/02/08 06:52:47 AM EST | |||
thank you for code. |
||||
![]() |
benny 12/08/06 04:25:16 PM EST | |||
Seem like a dirty hack, but works perfectly. |
||||
![]() |
JDJ News Desk 12/01/06 10:31:27 PM EST | |||
In yesterday's 'i-Technology Viewpoint' Ashok Sudani wrote that '... the search engine will never run your AJAX. To the search engine, huge areas of your website content are now hidden, never to be spidered, indexed, or found. This really limits the usefulness of AJAX in many applications.' Well, that 'fact' is, in fact, not a fact. |
||||
![]() |
chris 11/30/06 04:15:27 PM EST | |||
Microformats. The day is here now where you can post microformat info on your site to be crawled by search engines and apps to pull stuff out. Lets not forget about RSS either. I think the whole next wave of search will rely heavily on Ajax to deliver "clean organized" content to the search engines instead of the dog's breakfast we have now. |
||||
![]() |
Arvind 11/30/06 09:07:17 AM EST | |||
In Zoho too the major flaw was breaking the browser's back button functionality. This is now addressed in Zoho Planner. You can now move from one page to another and use the browser's Back/Forward buttons to navigate. Going further we will be addressing the intra-page navigation too and expect them to be carried over to other Zoho apps as well! |
||||
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- Confessions of a Ulitzer Addict
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- My Thoughts on Ulitzer
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Moving Your RIA Apps into the Cloud: Seven Challenges
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Windows 7 – Microsoft’s First Step to the Cloud
- Ulitzer Provides a Powerful Social Journalism Platform
- Jill Tummler Singer, Deputy CIO of CIA, Keynotes at GovIT Expo
- Open Source Mobile Cloud Sync and Push Email
- Practical Approaches for Optimizing Website Performance
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- My Thoughts on Ulitzer
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- US Post Office Hops a Ride on NetSuite’s Cloud
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- WPF Controls by DevExpress
- Moving Your RIA Apps into the Cloud: Seven Challenges
- Building a Drag-and-Drop Shopping Cart with AJAX
- What Is AJAX?
- Google Maps! AJAX-Style Web Development Using ASP.NET
- Flashback to January 2006: Exclusive SYS-CON.TV Interviews on "OpenAjax Alliance" Announcement
- AJAXWorld Conference & Expo to Take Place October 2-4, 2006, at the Santa Clara Convention Center, California
- AJAX Sponsor Webcasts Are Now Available at AJAXWorld Website
- How and Why AJAX, Not Java, Became the Favored Technology for Rich Internet Applications
- "Real-World AJAX" One-Day Seminar Arrives in Silicon Valley
- AJAXWorld University Announces AJAX Developer Bootcamp
- AJAX Support In JadeLiquid WebRenderer v3.1
- Where Are RIA Technologies Headed in 2008?
- Struts Validations Framework Using AJAX





































