Janne: Buchempfehlung gesucht: DHTML / AJAX + SEO

Hi alle,

ich möchte mich endlich mal fundiert in die aktuellen DHTML-Techniken einarbeiten, also Sachen wie jQuery-Effekte, AJAX-Lösungen usw..

Allerdings möchte ich dabei jeweils auch erklärt bekommen, welche dieser Techniken Google-kompatibel sind und welche die Inhalte für Crawler suspekt machen. (Lange hieß es ja, dass Inhalte, die per JavaScript unsichtbar gemacht werden, von Google ignoriert werden, aber vielleicht ist Google da inzwischen intelligenter geworden angesichts der Menge von Inhalten, die per Mausklick oder Animation ein- und ausgeblendet werden?)

Hat jemand von Euch da eine Buch- oder Linkempfehlung für mich?

Janne

  1. Moin Moin!

    Ganz grob vereinfacht wird ein Suchroboter kein Javascript interpretieren, bestenfalls und mit viel Glück erkennt er einige "Floskeln" und kann sich daraus "normale" Links zusammenreimen. Ergebnis: Alles, was nicht allein über HTML zu erreichen ist, ist für Suchmaschinen nicht existent.

    Viele Besucher von Websites sind vom immer mehr um sich greifenden Javascript-Mißbrauch (Werbung, Popups, veränderungen des Browserfensters, Malware, ...) dermaßen genervt, dass sie Javascript komplett abschalten oder mit Tools wie Noscript arbeiten, die Javascript nur für einige wenige, ausgewählte Websites freigeben. Zur letzteren Gruppe zähle ich mich auch.

    Websites, die ohne Javascript nicht funktionieren, fallen GANZ schnell unten durch. Die meisten Informationen bekommt man auch auf anderen Websites, deren Macher verstanden haben, dass Javascript nur eine Ergänzung sein kann.

    Meine Whitelist für Noscript umfaßt außer Webservern im LAN gerade mal 18 Einträge, Google ist nicht darunter, wohl aber selfhtml.org. Google funktioniert auch ohne JS prima, bei selfhtml.org bringt mir JS so viele Vorteile, dass ich darauf nicht verzichten möchte. YouTube ist auch in der Liste, gezwungenermaßen, weil YouTube zu blöd ist, Flash ohne Javascript einzubinden.

    Was SEO angeht: Meinst Du das klassische "Scheiße Endet Oben", bei dem Du monatelang Scheiße auf die Website schaufelst, bis sie mal für fünf Sekunden ganz oben bei Google auftaucht, und dort wieder verschwindet, sobald irgendjemand anders noch mehr Scheiße anhäuft oder Google am fine-tuning des Ranking-Algorithmus etwas ändert?

    Oder möchtest Du es Google und Co. möglichst leicht machen, den Inhalt Deiner Website zu erfassen?

    Für letzteres beginne mit Der Suchmaschinen-Robot und der Webdesigner. Liefere valides, semantisches HTML, garniert mit CSS für ein hübsches Aussehen und optional Javascript, um dem geneigten menschlichen Benutzer das Leben mit Deiner Website noch leichter zu machen, ohne ihn zu stören (Stichwort: unobstrusive Javascript). AJAX ist damit nicht vollständig ausgeschlossen, aber AJAX so einzusetzen, dass es nutzt, ohne zu stören, ohne zu behindern, und ohne Suchmaschinen zu sabotieren, erfordert sehr viel Nachdenken und sehr viel Planung. Meistens ist der klassische Weg, einzelne Seiten auf dem Server zu generieren, wesentlich leichter.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
    1. Hi Alexander,

      danke für Deine Antwort! Dieses Problem ließe sich ja leicht lösen, wenn man alternativ auch eine JavaScript-freie Navigationslösung anbietet.

      Aber es gibt ja auch so Schlaumeier, die versteckte Elemente in ihr HTML einbauen in der Hoffnung, damit Google Texte und Begriffe unterjubeln zu können, die die menschlichen Besucher gar nicht zu sehen bekommen. Nur dass Google nicht blöd ist und solche Tricks erkennt. Ich habe deshalb gelernt, dass man besser keine versteckten Inhalte verwenden soll, weil Google das als so eine "Trichserei" deuten könnte. Gilt das noch?

      Wenn ja: Läuft dann z.B. ein News-Artikel, der erst per jQuery in voller Länge eingeblendet wird (und deshalb vorher notwendigerweise irgenwie versteckt im HTML liegt), evtl. Gefahr, so einen Effekt auszulösen?

      Janne

      1. Moin Moin!

        Ich habe deshalb gelernt, dass man besser keine versteckten Inhalte verwenden soll, weil Google das als so eine "Trichserei" deuten könnte. Gilt das noch?

        Es würde mich wundern, wenn Google gut funktionierende Maßnahmen gegen SEO-Spam abschalten würde. Wahrscheinlich werden sie im Gegenteil immer weiter verfeinert.

        Geh also davon aus, dass Google alle gängigen Tricks kennt, großenteils automatisch erkennt und entsprechend bestraft.

        Wenn ja: Läuft dann z.B. ein News-Artikel, der erst per jQuery in voller Länge eingeblendet wird (und deshalb vorher notwendigerweise irgenwie versteckt im HTML liegt), evtl. Gefahr, so einen Effekt auszulösen?

        Natürlich. Und vor allem: Was soll der Quatsch? Wenn Du den gesamten Artikel in der Seite hast, warum willst Du einen Teil davon verstecken? Das spart gar nichts, das macht nur unnötig Arbeit und verbraucht für den zusätzlichen Code zusätzliche Bandbreite[1].

        Biete den KOMPLETTEN Text an, ohne irgendetwas zu verstecken. Das erhöht die Wahrscheinlichkeit, dass der Text bei Google gefunden wird, und das ist für die meisten Besucher das, was sie haben wollen: INHALT.

        Wenn Du nicht von der Idee abzubringen bist, Teile des Texts verstecken zu müssen, dann bau das genau anders herum: Markiere den/die zu versteckenden Teile mit ID- oder CLASS-Attributen, lasse sie ohne JS aber so stehen, wie sie sind. Erst mit aktiviertem JS schaltest Du sie unsichtbar. Ergebnis: Google sieht den kompletten Inhalt, genervte Surfer sehen den kompletten Inhalt, und die paar armen Seelen, die immer noch JS global freischalten, werden wie gefordert mit gekürztem Inhalt bestraft.

        Alexander

        [1] Bandbreite ist nicht überall so reichlich verfügbar wie in großen deutschen Städten, wo sich die Anbieter gegenseitig mit Datenraten weit jenseits von Gut und Böse übertrumpfen. Es gibt - auch in Deutschland - noch reichlich Gegenden, in denen man einem Anbieter für 1 MBit/s die Füße und diverse höher gelegene Körperteile küssen würde. Das höchste der Gefühle ist dort oft 128 kBit/s - ISDN mit Kanalbündelung, in der Praxis eher 64 kBit/s, um das Telefon nicht zu blockieren, und weil ISDN-Datenübertragung in aller Regel unverschämt teuer ist. UMTS kennt man dort nur aus der Werbung, und Internet via Satellit sieht nur im Katalog toll aus, in der Realität sind die Datenraten niedriger als bei ISDN.

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
        1. Hi alle,

          ich glaube ich habe mich missverständlich ausgedrückt :-)

          Also vorweg: Ich will natürlich NICHT Google spammen, indem ich Inhalte zu diesem Zweck verstecke!

          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. Mit jQuery könnte man jetzt auch den Artikel an dieser Stelle ausklappen, also ohne dass der Benutzer die Startseite verlässt.

          (Ist nur ein Beispiel. Und klar muss man, damit diese Inhalte von Google gefunden werden, den Inhalt trotzdem auch auf einer eigenen Seite unterbringen.)

          Ich wüsste gerne: Schadet mir die Tatsache, dass jQuery so einen Inhalt "versteckt", meinem Ruf bei Google, weil es spamverdächtig ist? Oder haben die jQuery-Entwickler das so gebaut, dass das nicht passiert?

          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. Deshalb die Frage, ob jemand ein geeignetes Buch empfehlen kann.

          Janne

          1. 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".
            1. Hallo Alexander,

              danke für die ausführliche Antwort!

              Janne

      2. Hi!

        Nur dass Google nicht blöd ist und solche Tricks erkennt. Ich habe deshalb gelernt, dass man besser keine versteckten Inhalte verwenden soll, weil Google das als so eine "Trichserei" deuten könnte. Gilt das noch?

        Für wen willst du Webseiten erstellen, für Maschinen oder für Menschen? Die Suchmaschinen kommen von selbst immer wieder vorbei. Kümmere dich lieber darum, dass Menschen gern wieder vorbei kommen. Dazu gehört, dass sie den Inhalt genauso leicht finden wie die Maschinen auch, also wenn schon clientseitiges Scripting, dann auch eine Version, die völlig ohne auskommt.

        Wenn ja: Läuft dann z.B. ein News-Artikel, der erst per jQuery in voller Länge eingeblendet wird (und deshalb vorher notwendigerweise irgenwie versteckt im HTML liegt), evtl. Gefahr, so einen Effekt auszulösen?

        Schalte Javascript aus und prüfe, wie ein Mensch dann mit den Seiten zurechtkommt, möglichst einer, der die Seiten nicht kennt. Der Prüfer kannst auch du sein, wenn du dich soweit "dumm stellen" kannst, dass du unvoreingenommen die Seiten betrachten kannst.

        Lo!