alfie: Textbereich von Suchmaschinenindizierung ausschließen

Hallo!

Ich betreibe ein wissenschaftliches Forum, wo zur allgemeinen Stimmungsaufhellung ein "Zitat des Tages" aus der Datenbank in den Sourcecode geschrieben wird. Jetzt möchte ich verhindern, dass dieser Text von Suchmaschinen indiziert wird: Wer über die Suchmaschine auf die Seite kommt, wird das Zitat dort ja nicht mehr finden. Der zusätzliche Traffic stört mich nicht, aber die Frustration der Suchenden.

Eine Konstruktion mittels iframe und rel="nofollow" schmeckt mir aus Gründen der Zugänglichkeit nicht.

Eine Variante mittels JavaScript (laut meinen Severlogs 96% aktiviert) wäre: Den entsprechenden Text im noscript-Bereich als "leer" vorzugeben (keine Indizierung) und dann im fertigen Dokument nachzuladen. Ist aber eher aufwändig.

Habt ihr andere (bessere) Vorschläge?

mfg Alfie

  1. Eine Variante mittels JavaScript (laut meinen Severlogs 96% aktiviert) wäre: Den entsprechenden Text im noscript-Bereich als "leer" vorzugeben (keine Indizierung) und dann im fertigen Dokument nachzuladen. Ist aber eher aufwändig.

    Mit einem Framework wie jQuery ist das ein ein Dreizeiler, teilweise sogar weniger.

    Habt ihr andere (bessere) Vorschläge?

    Google hat irgend eine Markierung in Form eines HTML-Kommentars um bestimmte Bereiche vor der Berücksichtigung durch AdSense auszuschließen - ggf. gibts sowas auch für die Suche.

    1. Hallo!

      Mit einem Framework wie jQuery ist das ein ein Dreizeiler, teilweise sogar weniger.

      OK, aber ich möchte nicht mit Kanonen auf Spatzen schiessen. Oder in anderen Worten, Benutzer eine 70 KB große Bibliothek aufzuhalsen (viele meiner Besucher sitzen in Indien hinter einem Modem), nur damit *ich* es einfacher in der Programmierung habe. ;-)

      Google hat irgend eine Markierung in Form eines HTML-Kommentars um bestimmte Bereiche vor der Berücksichtigung durch AdSense auszuschließen - ggf. gibts sowas auch für die Suche.

      Hast du irgendwelche Suchtipps bei der Hand? Ich bin nicht fündig geworden.

      mfg Alfie

      1. OK, aber ich möchte nicht mit Kanonen auf Spatzen schiessen. Oder in anderen Worten, Benutzer eine 70 KB große Bibliothek

        jQuery ist breits mit 24 KiB zu haben :)

        nur damit *ich* es einfacher in der Programmierung habe. ;-)

        Dann mach's Hand - etwa 20 Zeilen ;)

        Hast du irgendwelche Suchtipps bei der Hand? Ich bin nicht fündig geworden.

        Nope, ich hatte das nur im Hinterkopf - genaues weiß ich auch nicht.

  2. 'ǝɯɐu$ ıɥ

    Habt ihr andere (bessere) Vorschläge?

    Du kannst doch mit PHP(?) ein Bild erstellen oder nutze Flash mit einer Schnittstelle zu PHP(?).

    ssnɹƃ
    ʍopɐɥs

    --
    I like children. If they're properly cooked.
    - W.C. Fields
    1. Hallo!

      Du kannst doch mit PHP(?) ein Bild erstellen oder nutze Flash mit einer Schnittstelle zu PHP(?).

      Das ist aber nicht dein Ernst?

      mfg Alfie

      1. Das ist aber nicht dein Ernst?

        Ggf. wurde das Wort "Zugänglichkeit" nicht wahrgenommen :)

        1. 'ǝɯɐu$ ıɥ

          Das ist aber nicht dein Ernst?

          Ggf. wurde das Wort "Zugänglichkeit" nicht wahrgenommen :)

          Ggf. könntest du recht haben :-)

          ssnɹƃ
          ʍopɐɥs

          --
          I like children. If they're properly cooked.
          - W.C. Fields
          1. Hallo!

            Ggf. wurde das Wort "Zugänglichkeit" nicht wahrgenommen :)

            Ggf. könntest du recht haben :-)

            Vergeben und vergessen. ;-)

            mfg Alfie

  3. @@alfie:

    nuqneH

    Eine Variante mittels JavaScript (laut meinen Severlogs 96% aktiviert) wäre: Den entsprechenden Text im noscript-Bereich als "leer" vorzugeben (keine Indizierung) und dann im fertigen Dokument nachzuladen. Ist aber eher aufwändig.

    Wenn du mit einer JavaScript-Lösung zufrieden bist, warum nicht einfach
    <script type="text/javascript">[code lang=javascript]document.write("Zitat des Tages");</script>[/code]

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. Hallo Gunnar!

      Wenn du mit einer JavaScript-Lösung zufrieden bist, warum nicht einfach
      <script type="text/javascript">[code lang=javascript]document.write("Zitat des Tages");</script>[/code]

      Ja das hatte ich im Hinterkopf. Ich habe eine ähnlich Lösung um Buttons zum Einfügen von BBCodes in die source einzufügen. War ziemlich nervtötent bzgl. der Maskierungen (PHP -> JavaScript -> XHTML)...

      Dazu fallen mir zwei Ansätze ein:
      1. Entweder alles komplett per PHP/JavaScript, oder (vermutlich einfacher)
      2. Das Zitat per PHP aus der Datenbank holen, als Variable im Dokument ablegen und per JavaScript in's Dokument schreiben.

      Live long and prosper!
      Alfie

    2. Hallo Gunnar!

      Ich habe mich für meine Variante 2 entschieden und bin offensichtlich vernagelt (Bürotemperatur 31 °C)

      In PHP hole ich mir das Zitat aus der Datenbank und formatiere schon dort den String inlusiver aller möglichen HTML-Tags (manche haben ein title-Attribut, manche einen Link zur Quelle, etc.). Diesen String schreibe ich in den header der HTML Date, sieht zB so aus:

          <script type="text/javascript">  
            //<![CDATA[  
              QuoteOfTheDay = <strong>A scientist in his laboratory is not a mere technician:<br />he is also a child confronting natural phenomena that impress him<br />as though they were fairy tales.</strong> &nbsp; &nbsp;<em><span title='Eve Curie Labouisse, Madame Curie: A Biography (p341, 1937)'><a href='http://en.wikipedia.org/wiki/Marie_Curie'>Marie Curie</a></span></em>  
            //]]>  
          </script>
      

      Im body an entsprechender Stelle dann:
            <script type="text/javascript">
              //<![CDATA[
                document.write("QuoteOfTheDay");
              //]]>
            </script>

      Ausgegeben wird:
      <span id="quote">QuoteOfTheDay = <strong>A scientist in his laboratory is not a mere technician:<br />he is also a child confronting natural phenomena that impress him<br />as though they were fairy tales.</strong> &nbsp; &nbsp;<em><span title='Eve Curie Labouisse, Madame Curie: A Biography (p341, 1937)'><a href='http://en.wikipedia.org/wiki/Marie_Curie'>Marie Curie</a></span></em></span>

      Wieso wird hier der Variablenname + Zuweisung (QuoteOfTheDay = ) am Anfang mit ausgegeben?

      Live long and Prosper!
      Alfie

      1. In PHP natürlich:
        $template = str_replace("{QUOTE}",'var QuoteOfTheDay = "'.$quote.'"',$template);
        {QUOTE} ist der Platzhalter im Template der ersetzt wird. Das 1. Problem waren wiedereinmal die fehlenden doppelten Anführungszeichen zur Begrenzung des Strings.
        Dann im JavaScript Aufruf der Variablen *ohne* Anführungszeichen:

              <script type="text/javascript">  
                //<![CDATA[  
                  document.write(QuoteOfTheDay);  
                //]]>  
              </script>
        
        1. @@alfie:

          nuqneH

          Das 1. Problem waren wiedereinmal die fehlenden doppelten Anführungszeichen zur Begrenzung des Strings.
          Dann im JavaScript Aufruf der Variablen *ohne* Anführungszeichen

          Merke: Zu QuoteOfTheDay gehören immer auch QuotationMarksOfTheDay.

          Qapla'

          --
          Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
          (Mark Twain)
          1. Hallo!

            Merke: Zu QuoteOfTheDay gehören immer auch QuotationMarksOfTheDay.

            Wahrlich! :-)

            Live long and prosper!
            Alfie

      2. Hi,

        <script type="text/javascript">

        //<![CDATA[
                QuoteOfTheDay = <strong>A scientist [...]

          
        Dass das nie und nimmer gültige JavaScript-Syntax darstellt, muss doch wohl klar sein.  
          
        MfG ChrisB  
          
        
        -- 
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]