Moin Moin!
Also vorweg: Ich will natürlich NICHT Google spammen, indem ich Inhalte zu diesem Zweck verstecke!
Hab ich das unterstellt? Ich glaube nicht.
Was ich aber können will ist z.B. eine Portal-Startseite bauen mit "Anreissern" von Inhalten aus verschiedenen Bereichen. Der klassische Weg wäre ja: Benutzer klickt Anreisser an, neue Seite lädt mit dem vollen Artikel.
Ja. Funktioniert hervorragend. Liefert saubere Logfiles, die genau die interessanten Artikel listen, braucht kein Javascript, erlaubt Caching der Artikel im Client und in Proxies auf dem Weg zum Client. Wo ist das Problem?
Mit jQuery könnte man jetzt auch den Artikel an dieser Stelle ausklappen, also ohne dass der Benutzer die Startseite verlässt.
Natürlich.
Und die Seite muß mit ALLEN Artikeln vollgemüllt werden, die Du anreißt. Das bläst die Seite auf dermaßene Größen auf, die nur noch für die Breitband-Elite erträglich sind. In den Logfiles wirst Du garantiert NICHT sehen, welche Artikel interessant sind, weil sie ALLE in der einen Seite stecken. Wird ein Artikel geändert oder ein neuer hinzugefügt, muß die gesamte Seite mit allen alten Artikeln aus den Caches rausgeworfen und neu übertragen werden.
(Ist nur ein Beispiel. Und klar muss man, damit diese Inhalte von Google gefunden werden, den Inhalt trotzdem auch auf einer eigenen Seite unterbringen.)
Also doppelte Arbeit. Wozu?
Natürlich versaut das auch die Auswertung, welche Artikel gefragt sind, denn zusätzlich zur überfetten Startseite kommen zusätzlich Requests auf Einzelseiten mit Artikeln.
Alternativ dazu setzt Du recht massiv AJAX ein, um die vollständigen Artikel bei Bedarf dynamisch nachzuladen. Wenn Du da nicht extrem sauber arbeitest, ruiniert das die History und verhindert Bookmarks auf einzelne Artikel.
"Send Link" ist eine der am häufigsten benutzen Funktionen in meinem Browser, mit dem Ergebnis, dass interessante Webseiten recht flott weitere Besucher bekommen, die meine Mails gelesen haben. Du willst doch wohl nicht Besucher vergraulen, oder? Und wenn die Back- und Forward-Funktionen meines Browsers auf einer Seite nicht funktionieren, fällt die Seite bei mir sehr schnell in den virtuellen Mülleimer. Und damit bin ich wirklich nicht alleine. Vergraule keine Benutzer, indem Du die gewohnten Funktionen des Browsers aushebelst.
Weil das alles nur mit JS funktioniert, Suchmaschinen und immer mehr Besucher aber kein Javascript zulassen, brauchst Du auch noch eine Fallback-Lösung mit einzelnen Seiten für einzelne Artikel.
Immer noch doppelte Arbeit, nein, sogar dreifache Arbeit: Du brauchst einen Teil des Artikels in der Startseite, eine Einzelseiten-Version des Artikels für Suchmaschinen und Besucher ohne JS, und eine per AJAX nachladbare Version des Artikels, um den Artikel in die Startseite reinzufrickeln.
Entsprechend besch...eiden werden die Logfiles aussehen.
Natürlich könntest Du auch eine komplette Einzelartikel-Seite als vollständiges HTML-Dokument per AJAX anfordern und die nicht brauchbaren Teile aus dem Dokument herausfrickeln. Nur: Wo wäre da der Vorteil? Das Dokument muß trotz AJAX vollständig geladen werden, der Browser hat jede Menge Arbeit, die vorhandene Seite und die frisch angeforderte Seite zusammenzufrickeln, und wenn Du Dich nicht extrem schlau machst, demoliert das trotzdem die Browser-History, die Back- und Forward-Funktionen, und verhindert das Bookmarken und Weiterleiten eines Artikels.
Ich wüsste gerne: Schadet mir die Tatsache, dass jQuery so einen Inhalt "versteckt", meinem Ruf bei Google, weil es spamverdächtig ist?
jQuery ist nur ein Werkzeug für die leichtere Manipulation einer HTML-Seite und wird von Google erstmal weder als schlecht noch als gut einsortiert.
Oder haben die jQuery-Entwickler das so gebaut, dass das nicht passiert?
Wie sollen die das gemacht haben? So?
// Copyright-Blabla
var jQuery = function( selector, context ) {
/* FOR GOOGLE: WE PROMISE NOT TO BE EVIL. */
}
// ...
Wenn ich mich also in das Thema einarbeite, möchte ich bei den ganzen tollen Möglichkeiten gerne auch erfahren, welche Risiken sie ggf. mit sich bringen.
Hab ich mich da irgendwie unklar ausgedrückt?
1. Fang mit nackten, semantischen HTML und ggf. Bildinhalten an, bis alle Inhalte als valides HTML vorliegen (bzw. als valides HTML aus einem CMS geholt werden können).
2. Packe CSS und ggf. dekorative Bilder dazu, bis es hübsch genug aussieht.
3. Wenn Dir dann noch einige komfortable Extras einfallen, die man mit JS bauen kann, ohne den Benutzer zu stören und ohne die Benutzbarkeit einzuschränken, wenn JS deaktiviert oder nicht implementiert ist, füge sie hinzu. Ob Du dafür jQuery, ein anderes Framework, oder direkt die DOM-Methoden benutzt, ist völlig egal. Typisches Beispiel wäre eine Vorschlag-Funktion für das Textfeld im Suchformular.
Java, Flash und ähnliche Grausamkeiten fehlen ganz bewußt in der Liste.
Anderer Ansatz: Tob dich mit DHTML, XHTML, AJAX, Flash, Java, jQuery, VBScript, ActiveX-Controls aus, wie Du nur willst, setze Mindestfenstergrößen von 4096x3072 Pixeln, 12-Core-CPUs, Gigabit-Anbindung, neueste Alpha-Version Deines Lieblingsbrowsers voraus, aber frag dann bitte nicht nach SEO. Nenn solche Sites "Spielwiese", "Technologiestudie" oder "Web-Labor", und sei Dir dann ganz bewußt, dass weder menschliche noch maschinelle Besucher etwas damit anfangen können.
Es gibt natürlich zwischen beiden Extremen beliebig viele Abstufungen. Mit reinem, validem, semantischem HTML + CSS erreichst Du so ziemlich jeden Besucher, egal mit welchem Browser er vorbeikommt, sei es eine Antiquität wie lynx, Netscape 4, IE 3 oder ein moderner Browser wie FF 3.x, IE 8, Safari, Opera, Chrome. Je mehr Schnickschnack Du darauf stapelst, und je mehr Du gegen Standards verstößt (invalides HTML, invalides CSS, propritäre Datenformate), desto mehr Besucher schließt Du von Deiner Site aus, bei extremem Mißbrauch "neuer" Techniken wird schließlich niemand mehr etwas sehen und Du endest bei der klassischen Shareware-Aussage der 1980er: "Wieso? Auf meinem Rechner funktioniert's!"
Deshalb die Frage, ob jemand ein geeignetes Buch empfehlen kann.
Offenbar nicht, denn bis so ein Buch geschrieben und gedruckt ist, ist vieles schon wieder veraltet.
Alexander
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".