2009-06-11 13 views
2

Ich experimentiere mit dem dynamischen Erstellen von Websites auf der Clientseite, über JavaScript + einen JSON-Inhaltsserver, die js ruft den Inhalt ab und erstellt die Seite clientseitig.Aktivieren von SEO auf AJAX-Seiten

Jetzt wird der Inhalt von Google auf diese Weise nicht indiziert. Gibt es einen Workaround dafür? Wie eine Crawler-Version und eine Benutzerversion? Oder haben Sie eine Art statische Archive? Hat das schon jemand gemacht?

+1

Cloudhead, sind Sie nur AJAX mit dem HTML zu schreiben, was statische Seiten anders sein würde. Deine Beschreibung klang so, aber ich möchte nicht annehmen. AJAX ist wirklich kein großartiges Fahrzeug für statische Web-Browsing. Es bedeutet mehr für den Umgang mit Interaktionen. –

+0

Ja, ich lade Inhalte über Ajax und schreibe den HTML-Code in Javascript. Es ist nicht für statisches Web-Browsing gedacht, es ist eine dynamische App, ich versuche nur die Template-Client-Seite zu verschieben. – cloudhead

Antwort

4

Wenn die Website von Google indiziert werden soll, dann sollten die "Informationen", die durchsuchbar und öffentlich sein sollen, ohne Javascript verfügbar sein. Sie können das dynamische Material jederzeit später hinzufügen, nachdem die Seite mit JavaScript geladen wurde. Dies macht die Seite nicht nur indexierbar, sondern lädt die Seite auch schneller.

Auf der anderen Seite, wenn die Website eher eine Anwendung "Ala Gmail" ist, dann möchten Sie wahrscheinlich nicht Google indexieren es trotzdem.

6

Sie sollten immer sicherstellen, dass Ihre Website ohne Javascript funktioniert. Stellen Sie Links her, die mit statischen Versionen des Inhalts verknüpft sind. Fügen Sie dann JavaScript-Klickhandler zu den Links hinzu, die die Standardaktion vom Hapen blockieren und die AJAX-Anfrage stellen. I.e. jQuery:
HTML:

<a href='static_content.html' id='static_content'>Go to page!</a> 

Javascript:

$('#static_content').click(function(e) { 
    e.preventDefault(); //stop browser from following link 
    //make AJAX request 
}); 

diese Weise wird die Website für Crawler und Benutzer ohne Javascript verwendbar ist. Und hat Lust auf AJAX für Leute mit Javascript.

+0

Es geht eher um Inhalte als um Interaktion, dies ist dem Benutzer nicht bewusst. Ich habe viel Inhalt zu laden, also möchte ich es nur laden, wenn es nötig ist. Das ist aber ein schöner Trick, der sich nützlich machen wird. – cloudhead

2

Sie könnten eine Server gerenderte Version verwenden, und ersetzen Sie sie dann onload mit der Ajax-Version. Aber wenn Sie das tun, warum nicht die gesamte Website auf diese Weise bauen und nur Ajax für die Interaktion verwenden, wo der Client es ala non-intrusive Javascript unterstützt.