Pink: robots.txt

Hallo,
Meine HTML-Seiten xxxxx.shtml rufen mit SSI Dateien yyyy.shtml auf, die in Unterverzeichnissen liegen.
Diese letzteren sind natürlich für sich allein sinnlos und sollten von den Suchmaschinen ignoriert werden.
Kann ich das mit robots.txt machen, indem ich die Unterverzeichnisse dort ausschließe? In andern Worten: Benötigen die Suchmaschinen den Zugriff auf die Dateien in den Unterverzeichnissen, um die Gesamtseite zu analysieren oder genügt der Zugriff auf die Datei im Root-Verzeichnis?
Schönes WE
Pink

  1. Guten Tag,

    Kann ich das mit robots.txt machen, indem ich die Unterverzeichnisse dort
    ausschließe? In andern Worten: Benötigen die Suchmaschinen den Zugriff auf die
    Dateien in den Unterverzeichnissen, um die Gesamtseite zu analysieren oder
    genügt der Zugriff auf die Datei im Root-Verzeichnis?

    Zugriff für die Suchmaschine auf die Hauptseite reicht. Allerdings bietet die robots.txt keinen zuverlässigen Schutz gegen das Aufrufen der Include-Dateien, da der Ausschluss in der robots.txt nur beratenden Charakter hat und nicht von allen Clients beachtet wird.

    Gruß
    Christoph Jeschke

    --
    Zend Certified Engineer
    Certified Urchin Admin
  2. Gegenfragen:
    Mit welchen Suchbegriffen würdest du nach deiner Seite suchen?
    Findest du alle diese Suchbegriffe auf den Startseiten an auffälliger Position im Quelltext wieder?

    1. Gegenfragen:
      Mit welchen Suchbegriffen würdest du nach deiner Seite suchen?
      Findest du alle diese Suchbegriffe auf den Startseiten an auffälliger Position im Quelltext wieder?

      Das verwirrt mich jetzt, nachdem Christoph Jeschke meine Frage ganz klar beantwortet hat.
      Die wesentlichen Inhalte sind in den Dateien im Unterverzeichnis vorhanden.
      Aber    f a l l s    die Suchmaschine vorgeht wie der Browser, d.h. die Seite im root aufruft, so sieht er ja alle Informationen wie der Anwender.
      Gruß
      Pink

      1. Hallo

        »» Mit welchen Suchbegriffen würdest du nach deiner Seite suchen?
        »» Findest du alle diese Suchbegriffe auf den Startseiten an auffälliger Position im Quelltext wieder?

        Das verwirrt mich jetzt, nachdem Christoph Jeschke meine Frage ganz klar beantwortet hat.

        Die Fragen bezogen sich wolh eher auf diese deine Frage ...

        »» »» Benötigen die Suchmaschinen den Zugriff auf die Dateien in den Unterverzeichnissen, um die Gesamtseite zu analysieren oder genügt der Zugriff auf die Datei im Root-Verzeichnis?

        ... und nicht auf den Umstand des inkludierens. Wenn also alle deine nach außen angebotenen, fertigen (von wegen inkludieren) Dokumente in der Root liegen, reicht auch der Zugriff auf Root.

        Tschö, Auge

        --
        Die deutschen Interessen werden am Liechtenstein verteidigt.
        Veranstaltungsdatenbank Vdb 0.3
        1. Hallo,

          ... und nicht auf den Umstand des inkludierens. Wenn also alle deine nach außen angebotenen, fertigen (von wegen inkludieren) Dokumente in der Root liegen, reicht auch der Zugriff auf Root.

          Das widerspricht nach meiner Ansicht der Aussage von Patrick.
          Wie ich geschrieben habe, liegen die "fertigen" Dokumente nicht im Root, sondern nur ein Rahmen (z.B. index.shtml) der mittels SSI-Includes Dateien aus dem Unterverzeichnis aufruft.
          Und Patrick schreibt, dass - wie ich vermutete - das vom Server gelieferte Ergebnis (also das Gesamtdokument) analysiert.

          1. Hi,

            »» ... und nicht auf den Umstand des inkludierens. Wenn also alle deine nach außen angebotenen, fertigen (von wegen inkludieren) Dokumente in der Root liegen, reicht auch der Zugriff auf Root.
            Das widerspricht nach meiner Ansicht der Aussage von Patrick.

            nein, tut es nicht.

            Wie ich geschrieben habe, liegen die "fertigen" Dokumente nicht im Root, sondern nur ein Rahmen (z.B. index.shtml) der mittels SSI-Includes Dateien aus dem Unterverzeichnis aufruft.

            Richtig, und der Server bastelt daraus das fertige Dokument zusammen und liefert es als *eine* HTML-Ressource am Stück aus. Der Client (egal ob Browser oder Suchmaschine) bekommt nie mit, dass dieses Dokument aus mehreren Fragmenten zusammengesetzt wurde.

            Und Patrick schreibt, dass - wie ich vermutete - das vom Server gelieferte Ergebnis (also das Gesamtdokument) analysiert.

            Richtig. Wie der Server dieses Gesamtdokument erzeugt, sieht der Client nicht.

            So long,
             Martin

            --
            Ein guter Lehrer muss seinen Schülern beibringen können,
            eine Frage so zu stellen, dass auch der Lehrer lernen muss,
            um die Frage beantworten zu können.
              (Hesiod, griech. Philosoph, um 700 v.Chr.)
            1. Hallo,

              »» »» ... und nicht auf den Umstand des inkludierens. Wenn also alle deine nach außen angebotenen, fertigen (von wegen inkludieren) Dokumente in der Root liegen, reicht auch der Zugriff auf Root.
              »» Das widerspricht nach meiner Ansicht der Aussage von Patrick.

              nein, tut es nicht.

              Warum nicht? Die Dokumente liegen definitiv nicht im Root und ich gehe davon aus, dass der Server das zusammengebastelte Dokument auch nicht ins Root schreibt. Also liegt zu keinem Zeitpunkt das "außen angebotene, fertige" Dokument im Root-Verzeichnis.
              Gruß
              Pink

              1. Hallo

                »» »» »» ... und nicht auf den Umstand des inkludierens. Wenn also alle deine nach außen angebotenen, fertigen (von wegen inkludieren) Dokumente in der Root liegen, reicht auch der Zugriff auf Root.
                »» »» Das widerspricht nach meiner Ansicht der Aussage von Patrick.
                »»
                »» nein, tut es nicht.
                »»
                Warum nicht? Die Dokumente liegen definitiv nicht im Root und ich gehe davon aus, dass der Server das zusammengebastelte Dokument auch nicht ins Root schreibt.

                Nach deinen eigenen Aussagen doch. Vom Browser/Robot/Client wird, wenn ich dich richtig verstanden habe, ein Dokument, das in der Root liegt, angefordert. Richtig?

                Wenn dem so ist, werden die Inhalte, die in einem der Unterverzeichnisse liegen, per SSI in das vom Browser/Robot/Client angeforderte Dokument eingefügt. Das geschieht auf dem Server und an den Browser/Robot/Client wird schlussendlich nur das Ergebnis dieses Vorgangs geschickt. Von dem Include ansich bekommt der Browser/Robot/Client selbst nichts mit. Er bekommt nur das fertig zusammengestückelte Dokument, aber nicht dessen Einzelteile zu Gesicht.

                Also liegt zu keinem Zeitpunkt das "außen angebotene, fertige" Dokument im Root-Verzeichnis.

                Auf dem Server nicht. Bei der Auslieferung spielt das aber keine Rolle, da du das Dokument bei Anforderung manipulierst (s.o.).

                Tschö, Auge

                --
                Die deutschen Interessen werden am Liechtenstein verteidigt.
                Veranstaltungsdatenbank Vdb 0.3
                1. Hallo,

                  »» Also liegt zu keinem Zeitpunkt das "außen angebotene, fertige" Dokument im Root-Verzeichnis.

                  Auf dem Server nicht. Bei der Auslieferung spielt das aber keine Rolle, da du das Dokument bei Anforderung manipulierst (s.o.).

                  Also sind wir ja einer Meinung!
                  Denn genau darum ging es doch, um das root im Server, ein anderes kenne ich nicht, Ich zitiere Dich:
                  Wenn also alle deine nach außen angebotenen, fertigen (von wegen inkludieren) Dokumente in der Root liegen, reicht auch der Zugriff auf Root.
                  Gruß
                  Pink

                  1. Hallo

                    »» »» Also liegt zu keinem Zeitpunkt das "außen angebotene, fertige" Dokument im Root-Verzeichnis.
                    »»
                    »» Auf dem Server nicht. Bei der Auslieferung spielt das aber keine Rolle, da du das Dokument bei Anforderung manipulierst (s.o.).
                    »»
                    Also sind wir ja einer Meinung!
                    Denn genau darum ging es doch, um das root im Server, ein anderes kenne ich nicht, Ich zitiere Dich:
                    Wenn also alle deine nach außen angebotenen, fertigen (von wegen inkludieren) Dokumente in der Root liegen, reicht auch der Zugriff auf Root.

                    Nur um Missverständnissen aus dem Weg zu gehen: Falls alle Dateien, die *direkt*, durch Aufruf oder Verlinkung, ausgeliefert werden sollen in der Root liegen, wird eine Suchmaschine nichts anderes suchen (solange alle anderen Verzeichnisse per robots.txt verboten sind und sich der Robot an diese Vorgaben hält[1]). Wenn, wie Patrick anmerkte, eine andere Datei irgendwo verlinkt ist (z.B. in einem Posting dieses Forums) und eine Suchmaschine Zugriff auf dieses eine Posting hat (z.B. im hiesigen Archiv) kann sie auch die entsprechende Datei finden und durchsuchen.

                    Wenn du dich davor schützen willst, musst du eine entsprechende Verzeichnisstruktur wählen (Dateien, deren Inhalt *ausschließlich* per serverseitigem inkludieren (z.B. SSI, PHP) zugänglich ist, können außerhalb der Document Root liegen, da sie von der serverseitigen Technik über das Dateisystem und nicht im HTTP-Kontext eigebunden werden) oder du legst die betreffenden Dateien in ein Verzeichnis innerhalb der Document Root, gegenüber dem sich jeder, der per HTTP(S) zugreift, authentifizieren muss (.htaccess). Dann käme bei direktem Zugriff die Aufforderung zur Authentifizierung und bei Misserfolg selbiger der Statuscode "403 forbidden".

                    [1] robots.txt hat Empfehlungscharakter, die Befolgung der dort hinterlegten Angaben ist also nicht verlässlich. Niemand kann gezwungen werden, sich danach zu richten, die gängigen SuMas tun es aber. Das gilt natürlich nicht für "böse" und wirklich böse Robots. Wenn der direkte Zugriff definitiv ausgeschlossen werden soll, musst du ihn aktiv unterbinden (siehe mein zweiter Absatz).

                    Tschö, Auge

                    --
                    Die deutschen Interessen werden am Liechtenstein verteidigt.
                    Veranstaltungsdatenbank Vdb 0.3
                    1. Hallo

                      Wenn der direkte Zugriff definitiv ausgeschlossen werden soll, musst du ihn aktiv unterbinden (siehe mein zweiter Absatz).

                      Nein, ich wollte nur nicht, dass die "Fragmente" in den Unterverzeichissen überall im Internet herumschwirren.
                      Etwas geheimes steht nicht drin, so dass es nicht definitiv verboten werden muss.
                      Aber das ist ja inzwischen von Euch ausgiebig erläutert worden.
                      Ich bedanke mich!

                      Vielleicht noch kleine Nachfragen zu einem ganz anderen Thema:
                      Wenn ich einen solchen thread aufbewahren möchte (bei mir speichern), wäre es natürlich schön, wenn Fragen und zugehörige Antworten in chronologischer
                      Reihenfolge abgespeichert wären. Geht dies ohne, dass ich die Beiträge einzeln mit cut/pase in eine Datei kopiere?
                      Darf ich die Beiträge überhaupt abspeichern?
                      Gruß
                      Pink

                      1. Hallo Pink!

                        Vielleicht noch kleine Nachfragen zu einem ganz anderen Thema:
                        Wenn ich einen solchen thread aufbewahren möchte (bei mir speichern), wäre es natürlich schön, wenn Fragen und zugehörige Antworten in chronologischer
                        Reihenfolge abgespeichert wären. Geht dies ohne, dass ich die Beiträge einzeln mit cut/pase in eine Datei kopiere?

                        Du brauchst den Thread nur zu bookmarken. Wenn er im Archiv ist, wird automatisch redirected und im Archiv ist die Reihenfolge der Antworten chronologisch.

                        Beispeil: http://forum.de.selfhtml.org/?t=184004 <- Dieser Thread ist im Archiv, vergleiche Link hier und Adressezeile Deines Browsers!

                        Viele Grüße aus Frankfurt/Main,
                        Patrick

                        --
                        _ - jenseits vom delirium - _

                           Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
                        J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
                        1. Hallo Patrick,
                          merci vielmals!
                          Pink

              2. Hi,

                »» »» Das widerspricht nach meiner Ansicht der Aussage von Patrick.
                »» nein, tut es nicht.
                Warum nicht? Die Dokumente liegen definitiv nicht im Root und ich gehe davon aus, dass der Server das zusammengebastelte Dokument auch nicht ins Root schreibt.

                richtig, davon war ja auch keine Rede.

                Also liegt zu keinem Zeitpunkt das "außen angebotene, fertige" Dokument im Root-Verzeichnis.

                Auch das ist richtig. Verwechsle bitte nicht Dateien, die physisch auf der Festplatte des Servers liegen, mit Ressourcen, die per HTTP ausgeliefert werden. Wenn ein Client ein Dokument anfordert, kann er nicht erkennen, ob der Server die Daten einfach aus einer Datei liest und ihm übermittelt, aus mehreren Dateien zusammensetzt oder sogar komplett dynamisch erzeugt. PHP legt ja das dynamisch erzeugte Dokument auch nicht erst als Datei auf der Platte ab.

                Zum Vergleich: Wenn du zum Italiener um die Ecke gehst, eine Pizza und ein Glas Wein bestellst, dann weißt du auch nicht, ob er
                 a) eine Fertigpizza aus der Kühltruhe holt und kurz aufbackt (statisches HTML-Dokument) oder
                 b) den vorbereiteten Pizzaboden hernimmt und alle Zutaten aus ebenso vorbereiteten Töpfchen nimmt und drauflegt (dynamisches Dokument per SSI) oder
                 c) auf deine Bestellung hin genau nach deinen Wünschen alles frisch zubereitet (dynamisches Dokument per PHP oder ähnlicher Technik).
                Wenn du die Pizza bekommst, kannst du zwar anhand einiger Indizien (Dauer, Qualität, Geschmack) Vermutungen anstellen, aber du *weißt* nicht, wie er es angestellt hat.

                Nochmal: Die Tatsache, dass ein Client eine Ressource aus dem HTTP-Root anfordert, heißt noch lange nicht, dass auch eine entsprechende Datei existieren muss. Im einfachsten Fall gibt es zwar eine 1:1-Entsprechung, aber diese beiden Welten können auch vollkommen voneinander getrennt sein.

                Schönes Wochenende,
                 Martin

                --
                TEAM: Toll, Ein Anderer Macht's.
                1. Hallo

                  Zum Vergleich: ..,

                  Schöne Metapher. :-))

                  Sowas fehlt bei dem ganzen Technogebabbel allzuoft, um die manchmal doch recht komplizierten Vorgänge für Laien verständlich zu erklären.

                  Tschö, Auge

                  --
                  Die deutschen Interessen werden am Liechtenstein verteidigt.
                  Veranstaltungsdatenbank Vdb 0.3
  3. Hallo Pink!

    Meine HTML-Seiten xxxxx.shtml rufen mit SSI Dateien yyyy.shtml auf, die in Unterverzeichnissen liegen.
    Diese letzteren sind natürlich für sich allein sinnlos und sollten von den Suchmaschinen ignoriert werden.

    Das werden sie solange ignorieren, bis Du sie irgendwo als solche verlinkst. Auch die Suchmaschinen bekommen das, was ihnen der Server liefert, nämlich ein fertiges HTML-Dokument, in welchem die zu inkludierenden Inhalten bereits serverseitig eingebaut wurden.

    Einen speziellen Schutz brauchst Du also nicht. Allenfalls das Directory-Listing mittels .htaccess unterbinden (falls es vom Provider nicht bereits so konfiguriert wurde) oder eine Neugierdeseite (index.html) ins Include-Verzeichnis kopieren ;)

    Viele Grüße aus Frankfurt/Main,
    Patrick

    --
    _ - jenseits vom delirium - _

       Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
    J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
    1. Hallo Patrick!

      Das werden sie solange ignorieren, bis Du sie irgendwo als solche verlinkst.

      Gilt dies auch, wenn sie die Endung shtml haben, also als HTML-Datei gelten,
      denn meine index.shtml ist auch in Google erschienen kurz nachdem ich sie ins Netz gestellt habe (ohne dass ich sie bekanntgemacht bzw. verlinkt hätte)

      Einen speziellen Schutz brauchst Du also nicht. Allenfalls das Directory-Listing mittels .htaccess unterbinden

      Bedeutet dies, dass niemand das Verzeichnis nach Dateien durchsuchen kann und man Dateien nur aufrufen könnte, wenn man den Namen kennt (z.B. wie Du geschrieben hast durch einen vorhandenen Link)?
      Und die Neugierdeseite weil vor allem nach index... gesucht wird?
      Gruß
      Pink

      1. Hallo

        »» Einen speziellen Schutz brauchst Du also nicht. Allenfalls das Directory-Listing mittels .htaccess unterbinden

        Bedeutet dies, dass niemand das Verzeichnis nach Dateien durchsuchen kann und man Dateien nur aufrufen könnte, wenn man den Namen kennt (z.B. wie Du geschrieben hast durch einen vorhandenen Link)?

        Wenn mir der Name der Ressource bekannt ist, kann ich sie auch aufrufen (ein Robot dementsprechend auch), solange ich mich dem Server gegenüber nicht authentifizieren muss. Das, was Patrick vorgeschlagen hat, verhindert nur, dass mir unbekannte Ressourcen *sichtbar* werden, geschützt werden sie dadurch nicht.

        Und die Neugierdeseite weil vor allem nach index... gesucht wird?

        Webserver haben Einstellungen, welche Ressource ausgeliefert wird, wenn nur Domain und evtl. Verzeichnisse angefordert werden. Meist sind das in einer festgelegten Reihenfolge index.htm(l), index.php, default.htm(l), default.php ...

        Wird nun www.example.com/unterverzeichnis/ ohne Angabe einer speziellen Ressource angefordert, wird die zuerst gefundene Ressource aus der Liste ausgeliefert. Ist keine der Ressourcen vorhanden, wird entweder eine Fehlermeldung oder das Directory Listing (Auflistung der im angeforderten Verzeichnis vorhandenen Dateien und Unterverzeichnisse) ausgeliefert. Das kommt auf die Einstellungen des Servers an. Ist Directory Listing aktiviert und eine Änderung dieser Einstellung für dich nicht möglich, kannst du die Anzeige des Listings mit der index.html umgehen, da sie dann automatisch ausgeliefert wird.

        Tschö, Auge

        --
        Die deutschen Interessen werden am Liechtenstein verteidigt.
        Veranstaltungsdatenbank Vdb 0.3
        1. Hallo Auge!

          Du kannst eine Sekunde schneller tippen als ich. Gratuliere ;)

          Viele Grüße aus Frankfurt/Main,
          Patrick

          --
          _ - jenseits vom delirium - _

             Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
          J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
          1. Hallo

            Du kannst eine Sekunde schneller tippen als ich. Gratuliere ;)

            Manchmal klappt's, aber wir stehen ja hier nicht im Wettbewerb. :-)

            Tschö, Auge

            --
            Die deutschen Interessen werden am Liechtenstein verteidigt.
            Veranstaltungsdatenbank Vdb 0.3
      2. Hallo Pink!

        »» Das werden sie solange ignorieren, bis Du sie irgendwo als solche verlinkst.
        Gilt dies auch, wenn sie die Endung shtml haben, also als HTML-Datei gelten,

        Ja. Du kannst .shtml-Dateien in einer .shtml-Datei inkludieren, das ist für den Client Jacke wie Hose: er bekommt das Ergebnis geliefert.

        denn meine index.shtml ist auch in Google erschienen kurz nachdem ich sie ins Netz gestellt habe (ohne dass ich sie bekanntgemacht bzw. verlinkt hätte)

        Da wirst Du sie schon irgendwo verlinkt haben (vielleicht hier und der Thread ist im Archiv) oder sie erscheint auf einer Statistik, auf welchen die SuMas Zugriff haben - weil öffentlich. Auch für SuMas gilt: Was sie nicht kennen, können sie nicht indizieren, was sie indiziert haben, kennen sie bereits (von wo, das müsstest Du auslotsen).

        »» Einen speziellen Schutz brauchst Du also nicht. Allenfalls das Directory-Listing mittels .htaccess unterbinden
        Bedeutet dies, dass niemand das Verzeichnis nach Dateien durchsuchen kann und man Dateien nur aufrufen könnte, wenn man den Namen kennt (z.B. wie Du geschrieben hast durch einen vorhandenen Link)?

        Ja. Wenn das Directory-Listing seitens Apache-Konfiguration oder .htaccess-Direktive unterbunden wird, bekommt der Client einen 403-Forbidden. Wenn im Verzeichnis eine index.htm* (oder default.htm* oder wie auch immer der Webserver konfiguriert ist), bekommt der Client eben diese Datei zu sehen, wenn der Request:

        http://www.example.com/dein_include_dir

        erfolgt.

        Und die Neugierdeseite weil vor allem nach index... gesucht wird?

        Bei meinem Server ist default.htm als Default. Wenn es keine gibt, wird nach index.htm gesucht, wenn es keine gibt, wird nach index.html gesucht. Also reichte es für mich, die Neugierdeseite »index.html« zu nennen.

        Viele Grüße aus Frankfurt/Main,
        Patrick

        --
        _ - jenseits vom delirium - _

           Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
        J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?