Alfie: Google „versteht” JavaScript

problematische Seite

Hallo Kollegen,

zuerst einmal der Hintergrund. Ich betreibe ein wissenschaftliches Forum und zur Erbauung wird im Footer ein „Zitat des Tages” ausgegeben. Da das Forum rasch und komplett indiziert wird (derzeit über 14.000 Seiten im Google-Index), wollte ich Frustrationen von Suchenden verhindern die auf die Site gelotst werden und dort das entsprechend Zitat nicht (mehr) vorfinden.

Technisch habe ich das so gelöst: Die Zitate liegen in der Datenbank und werden mittels Zufallsfunktion ausgelesen. Per PHP wird eine JavaScript-Variable erzeugt und – bei aktivem JavaScipt – ins Dokument geschrieben. Im <noscript>-Bereich steht ein Link zu einer statischen Seite mit allen Zitaten. Seit Google JavaScript „versteht” läuft diese Methode natürlich ins Leere.

Jetzt die Frage: Gibt es eine saubere und valide Methode einen Teil einer Seite von Google „zu verstecken”?

  1. problematische Seite

    Jetzt die Frage: Gibt es eine saubere und valide Methode einen Teil einer Seite von Google „zu verstecken”?

    Was (derzeit) recht gut funktioniert: die Inhalte erst auf "click" ins DOM hängen. Andere Nutzeraktionen wie z.B. "scroll" könnten auch gehen, habe ich noch nicht probiert.

    1. problematische Seite

      Andere Nutzeraktionen wie z.B. "scroll" könnten auch gehen, habe ich noch nicht probiert.

      Hhm, das klingt interessant.

    2. problematische Seite

      Mahlzeit,

      Was (derzeit) recht gut funktioniert: die Inhalte erst auf "click" ins DOM hängen. Andere Nutzeraktionen wie z.B. "scroll" könnten auch gehen, habe ich noch nicht probiert.

      Funktioniert das auch, wenn man den Click dann per Javascript triggert oder muss der dann wirklich per Mausklick kommen?

      --
      42
      1. problematische Seite

        Was (derzeit) recht gut funktioniert: die Inhalte erst auf "click" ins DOM hängen. Andere Nutzeraktionen wie z.B. "scroll" könnten auch gehen, habe ich noch nicht probiert.

        Funktioniert das auch, wenn man den Click dann per Javascript triggert oder muss der dann wirklich per Mausklick kommen?

        Habe ich noch nicht probiert, würde aber schwer darauf tippen, dass das Event tatsächlich vom User kommen muss: Tap / Mausklick.

        Google macht das ziemlich gut. Selbst eine Verzögerung via setTimeout bringt nichts, außer man geht richtig in die Vollen.

  2. problematische Seite

    Jetzt die Frage: Gibt es eine saubere und valide Methode einen Teil einer Seite von Google „zu verstecken”?

    Andere, recht schmutzige Idee: pack diese Inhalte in einen iFrame mit "meta noindex".

    1. problematische Seite

      Andere, recht schmutzige Idee: pack diese Inhalte in einen iFrame mit "meta noindex".

      iframe kommt nicht in die Tüte. ;-)

  3. problematische Seite

    Hi,

    Die Zitate liegen in der Datenbank und werden mittels Zufallsfunktion ausgelesen. Per PHP wird eine JavaScript-Variable erzeugt und – bei aktivem JavaScipt – ins Dokument geschrieben.

    Das ausgewählte Zitat steht also in einem Script-Element des HTML-Dokuments in einer Variable? Dann wäre es kein großes Wunder, wenn Google das findet.

    cu,
    Andreas a/k/a MudGuard

    1. problematische Seite

      Das ausgewählte Zitat steht also in einem Script-Element des HTML-Dokuments in einer Variable? Dann wäre es kein großes Wunder, wenn Google das findet.

      Er könnte es sogar via AJAX nachladen und Google würde es trotzdem indizieren - sofern er die Response denn ins DOM hängt.

      Wenn der Inhalt einfach nur in einer JS-Variable steht, passiert garnix.

  4. problematische Seite

    @@Alfie

    Jetzt die Frage: Gibt es eine saubere und valide Methode einen Teil einer Seite von Google „zu verstecken”?

    Die Diskussion hatten wir vor 2 Jahren.

    Ergebnis war wohl, dass es googleoff auch nicht tut?

    LLAP 🖖

    --
    “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
    1. problematische Seite

      Jetzt die Frage: Gibt es eine saubere und valide Methode einen Teil einer Seite von Google „zu verstecken”? Ergebnis war wohl, dass es googleoff auch nicht tut?

      So sieht es aus.

      1. problematische Seite

        Ergebnis war wohl, dass es googleoff auch nicht tut?

        So sieht es aus.

        Danke. Dieser Faden ist mir entgangen. Woraus schliesst ihr dass googleoff nicht das tut, was es laut der verlinkten Quelle eigentlich sollte?

        1. problematische Seite

          Danke. Dieser Faden ist mir entgangen. Woraus schliesst ihr dass googleoff nicht das tut, was es laut der verlinkten Quelle eigentlich sollte?

          http://www.media-affin.de/googleoff-googleon

          1. problematische Seite

            1. problematische Seite

              http://www.media-affin.de/googleoff-googleon

              Danke. Na doll.

              Ich kann Google da voll und ganz verstehen. Aber Gunnar hat eine spannende Idee.

              1. problematische Seite

                http://www.media-affin.de/googleoff-googleon Danke. Na doll. Ich kann Google da voll und ganz verstehen.

                Ich nicht. Da das Zitat nur für einen Tag existiert, läuft ja das Suchergebnis ins Leere. Genau das will ich verhindern.

                Aber Gunnar hat eine spannende Idee.

                Das ist mir aus zwei Gründen zu exotisch:

                1. Über 300 statische SVGs. OK, machbar.

                2. Viele User aus Entwicklungsländern mit Uralt-Browsern ohne native SVG-Unterstützung.

                1. problematische Seite

                  @@Alfie

                  1. Über 300 statische SVGs. OK, machbar.

                  Muss nicht statisch sein. Du verweist auf quote-of-the-day.php, darin steht:

                  <?php
                  header('Content-Type: image/svg+xml');
                  ?>
                  <svg xmlns="http://www.w3.org/2000/svg" >
                    <text><?= htmlspecialchars(…) ?></text>
                  </svg>
                  
                  1. Viele User aus Entwicklungsländern mit Uralt-Browsern ohne native SVG-Unterstützung.

                  Ein täglich wechselndes Zitat ist doch wohl ein Gimmick. Wenn das Nutzern von Uralt-Browsern nicht zur Verfügung steht, geht die 3. Welt nicht unter.

                  LLAP 🖖

                  --
                  “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
                2. problematische Seite

                  Ich kann Google da voll und ganz verstehen. Ich nicht. Da das Zitat nur für einen Tag existiert, läuft ja das Suchergebnis ins Leere. Genau das will ich verhindern.

                  Das ist in Deinem Fall auch komplett nachvollziehbar. Wenn man aber einmal ein wenig darüber nachdenkt, aus welcher Perspektive Google an die Fragestellung herangeht, ist es logisch, dass es so etwas wie "google on/off" innerhalb einer Seite nicht gibt. Das Missbrauchspotential wäre immens.

                  1. problematische Seite

                    Da das Zitat nur für einen Tag existiert, läuft ja das Suchergebnis ins Leere. Genau das will ich verhindern. Das ist in Deinem Fall auch komplett nachvollziehbar. Wenn man aber einmal ein wenig darüber nachdenkt, aus welcher Perspektive Google an die Fragestellung herangeht, ist es logisch, dass es so etwas wie "google on/off" innerhalb einer Seite nicht gibt. Das Missbrauchspotential wäre immens.

                    Da hat du natürlich recht.

  5. problematische Seite

    @@Alfie

    Jetzt die Frage: Gibt es eine saubere und valide Methode einen Teil einer Seite von Google „zu verstecken”?

    Werden Textinhalte von SVGs indiziert?

    LLAP 🖖

    --
    “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
    1. problematische Seite

      Werden Textinhalte von SVGs indiziert?

      Hey, das ist ein spannender Ansatz! Da PDF indiziert werden, vermute ich mal, dass das auch für SVG gilt. Aber wenn die SVG in einem Ordner "/xyz/" liegen, könnte man den via robots.txt von der Indizierung ausnehmen.

    2. problematische Seite

      Hallo Gunnar

      Werden Textinhalte von SVGs indiziert?

      Ja. Das ist ein weiterer Vorteil von SVG, Text bleibt Text.

      Mit besten Grüssen
      Richard

  6. problematische Seite

    Vor dem Ajax Request zum Nachladen bestimmter Inhalte prüfen, ob ein bestimmter Cookie angenommen wurde und die Response nur senden wenn die SessionID stimmt.

  7. problematische Seite

    Hallo Alfie,

    Seit Google JavaScript „versteht” läuft diese Methode natürlich ins Leere.

    Jetzt die Frage: Gibt es eine saubere und valide Methode einen Teil einer Seite von Google „zu verstecken”?

    Vielleicht heißt das Zauberwort Semantik.

    <small hidden="true">Zitat </small>

    Ggf. auch ohne hidden.

    Möglicherweise auch das del-Element.

    Bis demnächst
    Matthias

    --
    Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.
    1. problematische Seite

      Hallo,

      Möglicherweise auch das del-Element.

      Das wäre aber doch Semantik-Missbrauch!

      Gruß
      Kalk

      1. problematische Seite

        Hallo Tabellenkalk,

        Möglicherweise auch das del-Element.

        Das wäre aber doch Semantik-Missbrauch!

        Ach, so schlimm finde ich das gar nicht: Das del-Element kennzeichnet einen Teil eines Textes als nicht länger gültig. Es lässt sich sogar der Zeitpunkt angeben, wann das Zitat seine Relevanz verlor. Der lässt sich per Script auf gestern legen.

        Bis demnächst
        Matthias

        --
        Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.
        1. problematische Seite

          @@Matthias Apsel

          Das del-Element kennzeichnet einen Teil eines Textes als nicht länger gültig.

          Falsch. Wo hast denn den Unsinn her? Mir schwant … Ah ja, aus zweifelhafter Quelle.

          Mal einen Blick in die richtige geworfen: “The del element represents a removal from the document.” (Hervorhebung von mir.)

          Was du meinst, wäre das s-Element: “contents that are no longer accurate or no longer relevant.”

          Aber auch das passt hier nicht; das Zitat ist ja gerade zum Anzeigezeitpunkt relevant.

          LLAP 🖖

          --
          “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
    2. problematische Seite

      @@Matthias Apsel

      <small hidden="true">Zitat </small>

      Nö, eher kein small-Element: „side comments such as small print. Small print typically features disclaimers, caveats, legal restrictions, or copyrights. Small print is also sometimes used for attribution, or for satisfying licensing requirements.“ Passt nicht so richtig.

      Zuerst dachte ich ans aside-Element: „a section of a page that consists of content that is tangentially related to the content of the parenting sectioning content“. Aber „tangentially related“ trifft wohl auch nicht zu.

      Es ist wohl ein article-Element: „a complete, or self-contained, composition in a document, page, application, or site.


      hidden="true" ist falsch. “The hidden attribute is a boolean attribute“its value must either be the empty string or a value that is an ASCII case-insensitive match for the attribute’s canonical name, with no leading or trailing white space.”

      Aber was soll das bringen? Würde eine Suchmaschine hidden-Inhalt nicht lesen? Wie wird er dem menschlichen Nutzer lesbar gemacht? hidden-Attribut entfernen, klar. Und das kriegt die Suchmaschine nicht mit?

      LLAP 🖖

      --
      “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
      1. problematische Seite

        Hallo Gunnar Bittersmann,

        Aber was soll das bringen? Würde eine Suchmaschine hidden-Inhalt nicht lesen?

        Es geht nicht darum, dass die Suchmaschine den Inhalt nicht liest, sondern darum, dass sie den Inhalt als unwichtig einstuft.

        Wie wird er dem menschlichen Nutzer lesbar gemacht? hidden-Attribut entfernen, klar. Und das kriegt die Suchmaschine nicht mit?

        display: block;

        Bis demnächst
        Matthias

        --
        Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.
        1. problematische Seite

          @@Matthias Apsel

          Wie wird er dem menschlichen Nutzer lesbar gemacht? hidden-Attribut entfernen, klar. Und das kriegt die Suchmaschine nicht mit?

          display: block;

          Etwas auf hidden zu setzen, was doch klar lesbar sein soll, ist ein klarer Missbrauch des hidden-Attributs.

          LLAP 🖖

          --
          “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory