Heidi: hidden, display:none

Hallo,
in verschiedenen Beiträgen habe ich gelesen, man solle in Kontaktformularen versteckte Felder definieren zur "Spamanfütterung".
Auch für andere Zwecke ist es offensichtlich sinnvoll oder notwendig, versteckte Felder zu verwenden.
Dann habe ich gelesen, man solle möglichst derartige Attribute über CSS definieren.
Dann habe ich gelesen, dass Google versteckte Felder gar nicht mag und Seiten möglicherweise deshalb sogar sperrt.
Jetzt habe ich dazu einige Fragen.
1. Was ist tatsächlich besser (formal und in Bezug auf Google):
   a. <input type="hidden" ....
   b. <input style="display:none" ....
   c. <input class="xyz" .....
      css: .xyz {display:none}
   ?
2. Ich möchte für einen Freundeskreis nach Passworteingabe einige links mehr anzeigen als für die allgemeine Öffentlichkeit.
Da dachte ich daran, dies mit Javascript und CSS zu tun.
Dann wären aber für Google (und andere Roboter?) ebenfalls unsichtbare Felder vorhanden.
Wie löse ich das Dilemma?
Sonntäglicher Gruß
Heidi

  1. Hallo,

    zu 1. ich würde Antwort a benutzen (benutze auch nur ausschließlich das) und würde jetzt mal denken, dass der Google-Suchroboter intelligent genug ist, die versteckten Inputs zu ignorieren. Viele andere Webseiten benutzen ya auch Inputs des Types 'hidden'. Zum Beispiel zur Übertragung der SessionID. Ich habe mit Suchrobotern allerdings keine Erfahrungen. Womöglich weis ein anderer hier mehr darüber.

    zu 2. Die Links, die du auf diese Weise versteckst, sind zwar meistens nicht direkt auf der Seite sichtbar, können jedoch von jedem Anwender einfach sichtbar gemacht werden, indem er sich beispielsweise den Seitenquelltext anzeigen lässt.
    Um die Links echt zu verstecken und Passwort zu sichern wäre hier eine Serverseitige Lösung notwendig (meinetwegen auch über htaccess).

    Ich hoffe, ich konnte helfen,

    Jannis

    1. Hallo,

      zu 1. ich würde Antwort a benutzen (benutze auch nur ausschließlich das) und würde jetzt mal denken, dass der Google-Suchroboter intelligent genug ist, die versteckten Inputs zu ignorieren.

      Gerade von a. wollte ich weg, da oft CSS empfohlen wird.

      zu 2. Die Links, die du auf diese Weise versteckst, sind zwar meistens nicht direkt auf der Seite sichtbar, können jedoch von jedem Anwender einfach sichtbar gemacht werden, indem er sich beispielsweise den Seitenquelltext anzeigen lässt.
      Um die Links echt zu verstecken und Passwort zu sichern wäre hier eine Serverseitige Lösung notwendig (meinetwegen auch über htaccess).

      Wenn jemand die links unbedingt sehen will kann er sie von mir aus anschauen. Auf die Seiten selbst kommt er ja trotzdem nicht.

      Gruß
      Heidi

  2. Zu meiner ersten Frage habe ich jetzt in SELFHTML noch eine weitere Variante gefunden, nämlich visibility (Variante d)

    1. Was ist tatsächlich besser (formal und in Bezug auf Google):
         a. <input type="hidden" ....
         b. <input style="display:none" ....
         c. <input class="xyz" .....
            css: .xyz {display:none}

    d. document.getElementById("Ueberschrift").style.visibility = "visible";

    ?

  3. hi $name,

    Dann habe ich gelesen, dass Google versteckte Felder gar nicht mag und Seiten möglicherweise deshalb sogar sperrt.

    nu wenn man das sogenannte "Cloaking" mißbraucht.

    http://de.wikipedia.org/wiki/Cloaking

    gruss
    shadow

    --
    If there's anything more important than my ego around, I want it caught and shot, now.
  4. Hallo Heidi!

    in verschiedenen Beiträgen habe ich gelesen, man solle in Kontaktformularen versteckte Felder definieren zur "Spamanfütterung".

    Ja, der Trick funktioniert noch. Nur, wie lange noch?

    Auch für andere Zwecke ist es offensichtlich sinnvoll oder notwendig, versteckte Felder zu verwenden.

    Richtig. Nur: Spambots grasen den Quelltext ab und werden auch hidden-Felder (<input type="hidden" ...>) ausfüllen.

    Dann habe ich gelesen, man solle möglichst derartige Attribute über CSS definieren.

    Ja.

    Dann habe ich gelesen, dass Google versteckte Felder gar nicht mag und Seiten möglicherweise deshalb sogar sperrt.

    Muss nicht sein: Yahoogle-Test mit versteckten Bereichen.

    Für Spambots würde ich die Felder mittels CSS in ausgelagerter Datei verstecken.

    1. Ich möchte für einen Freundeskreis nach Passworteingabe einige links mehr anzeigen als für die allgemeine Öffentlichkeit.

    Was hat das mit der Spamproblematik zu tun?

    Hier noch ein Forumsthread zum Thema Spam.

    Viele Grüße aus Frankfurt/Main,
    Patrick

    --

    _ - jenseits vom delirium - _
    [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
    Nichts ist unmöglich? Doch!
    Heute schon gegökt?
    1. Dann habe ich gelesen, man solle möglichst derartige Attribute über CSS definieren.

      Ja.

      Für Spambots würde ich die Felder mittels CSS in ausgelagerter Datei verstecken.

      Kann es sein, dass dann die Browser es auch nicht finden (oder verstehen alle CSS)?

      1. Ich möchte für einen Freundeskreis nach Passworteingabe einige links mehr anzeigen als für die allgemeine Öffentlichkeit.

      Was hat das mit der Spamproblematik zu tun?

      Nichts mit der Spamproblematik sondern mit meinem Thema "Versteckte Felder und Reaktion der Suchmaschinen (Seitensperrung).

      Grüße Heidi

      1. Hallo Heidi!

        Für Spambots würde ich die Felder mittels CSS in ausgelagerter Datei verstecken.
        Kann es sein, dass dann die Browser es auch nicht finden (oder verstehen alle CSS)?

        Ich verstehe die Frage nicht. Was nicht finden? Elemente, die auf display:none gesetzt werden, werden nicht angezeigt. Elemente, die auf visibility:hidden gesetzt werden, werden ebenfalls nicht angezeigt, jedoch wird ihnen der Platz, den sie sonst annehemen würden, wenn sich sichtbar wären (visibility:visible), reserviert.

        Browser die kein CSS verstehen werden kaum noch benutzt.

        Viele Grüße aus Frankfurt/Main,
        Patrick

        --

        _ - jenseits vom delirium - _
        [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
        Nichts ist unmöglich? Doch!
        Heute schon gegökt?
        1. Hallo Patrick,

          1. »» »» »» Für Spambots würde ich die Felder mittels CSS in ausgelagerter Datei verstecken.
          2. »» »» Kann es sein, dass dann die Browser es auch nicht finden (oder verstehen alle CSS)?

          Ich verstehe die Frage nicht. Was nicht finden?

          Du hattest heute Mittag den obigen ersten Satz geschrieben.
          Ich habe dies so verstanden, dass damit die Spambots die Felder nicht finden.
          Wenn die aber die Felder nicht finden, warum dann die Browser?
          Daher die obenstehende Frage (2.)

          1. Hallo Heidi!

            Ich habe dies so verstanden, dass damit die Spambots die Felder nicht finden.
            Wenn die aber die Felder nicht finden, warum dann die Browser?

            Hm, ja... die Spambots UND die anderen User Agents (also auch die Browser) finden im Quelltext so was wie:

            <div class="ichbinversteckt">
            <p>Ihr Name:<br>
            <input type="text" value=""></p>
            </div>

            In einer externen CSS-Datei steht dann die Regel für die Klasse:

            .ichbinversteckt {
             display:none;
            }

            Die Bots (und auch Suchmaschinenbots) interessieren sich nicht dafür, wie Deine Klasse definiert ist. Ein Spambot sieht hier nichts anderes als ein Textfeld, denkt sich »YUHUU, was zum Ausfüllen«, und füllt (womöglich) das Feld aus.

            Ein Browser »sieht« auch das Feld, interpretiert jedoch das CSS und zeigt dem Menschen, der VOR dem Bildschirm sitzt, das Feld NICHT an. Ergo kann der MENSCH das Feld nicht ausfüllen.

            Nach Abschicken des Formulars wird geprüft, ob alle Felder ausgefüllt sind. Ist das versteckte Feld ausgefüllt worden, war aller Wahrscheinlichkeit nach KEIN Mensch am Werk. Das ist alles!

            Viele Grüße aus Frankfurt/Main,
            Patrick

            --

            _ - jenseits vom delirium - _
            [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
            Nichts ist unmöglich? Doch!
            Heute schon gegökt?
            1. Hallo Patrick,
              jetzt hab ich's!
              Danke
              Heidi

  5. echo $begrüßung;

    Dann habe ich gelesen, dass Google versteckte Felder gar nicht mag und Seiten möglicherweise deshalb sogar sperrt.

    Wo hast du das gelesen? War das nur eine Vermutung oder wurde das näher untersucht oder erläutert?

    Mit fällt eigentlich kein Grund ein, warum sich eine Suchmaschine mit Formularen beschäftigen sollte. Sie wird ein Formular nicht ausfüllen wollen, weil sie nicht wissen kann, was sie mit dem Absenden eines Formulars anrichten wird. Auch für den Index will mir nicht recht einleuchten, was an einem Formular interessant sein soll. Vielleicht der Inhalt eines vorausgefüllten value-Attributes oder einer Textarea? Wäre ich eine Suchmaschine tät ich das jedoch ignorieren.

    echo "$verabschiedung $name";