[buddypress-trac] [BuddyPress] #1701: New AJAX Theme Not Very Search Engine Friendly / Crawlable

buddypress-trac at lists.automattic.com buddypress-trac at lists.automattic.com
Tue Jan 26 23:27:51 UTC 2010

#1701: New AJAX Theme Not Very Search Engine Friendly / Crawlable
Reporter:  benfremer                    |       Owner:     
    Type:  defect                       |      Status:  new
Priority:  major                        |   Milestone:  1.2
Keywords:  needs-feedback, needs-patch  |  
Changes (by junsuijin):

  * keywords:  needs-feedback => needs-feedback, needs-patch


 I'll precurse that I'm not sure currently how close BuddyPress is to
 accomplishing this task.

 The best means of making the AJAX theme accessible to both SEs and those
 without AJAX is to make sure BP/PHP can load every page/view without JS.
 Since PHP can use GET or POST and read cookies, PHP can function without
 JS to initiate any pageview. With this method, every link and form
 submission must be PHP-renderable (non-JS renderable). From this point JS
 can alter appropriate links and forms (perhaps via jQuery live binds),
 overriding the non-JS functions of those elements and causing them to
 execute AJAX events rather than straight PHP pageloads. In this way, when
 any user visits a new page, that page will load via PHP without any JS
 (avoiding double queries); then capable browsers will allow further
 changes to said page via AJAX (eg. clicking on a tab or filter), while
 incapable agents will still be able to access those views via PHP full-
 scale reloads (eg. /?tab=atme).

 This both avoids the use of noscript entirely and also avoids any double-
 querying of the database. Non-AJAX agents will be able to access the
 entire site at the cost of having to fully reload any new view, while
 AJAX-capable agents will only need to reload areas of the page that change
 with their action.

Ticket URL: <https://trac.buddypress.org/ticket/1701#comment:9>
BuddyPress <http://buddypress.org/>

More information about the buddypress-trac mailing list