Alexander P.: PHP-Include: Werden die Seiten von Suchmaschinen gefunden?

Hallo, ich hätte da mal eine Frage:

Meine Homepage besteht nun nicht mehr aus einzelnen Seiten (index.php, seite1.php, seite2.php...), sondern nur noch aus der Index-Seite, die die entsprechenden Inhalte includiert (index.php, index.php?site=1, index.php?site=2...).

Können die Unterseiten trotzdem noch von Suchmaschinen gefunden werden?

Thx im Voraus!
cu

  1. Hi,

    Meine Homepage besteht nun nicht mehr aus einzelnen Seiten (index.php, seite1.php, seite2.php...), sondern nur noch aus der Index-Seite, die die entsprechenden Inhalte includiert (index.php, index.php?site=1, index.php?site=2...).

    Dumem Sache. Kannst du nicht anstelle vom Query-String die PATH_INFO nutzen und dann solche URLs nutzen:
    http://.../index/site1
    ?

    Können die Unterseiten trotzdem noch von Suchmaschinen gefunden werden?

    Hast du die mal gesucht?
    Suche nach "link:Domainname" dann siehst du was die Suchmaschine über dich hat.

    Ciao,
      Wolfgang

    1. Danke für die Antworten. Bin leider gerade erst nach Hause gekommen und konnte deshalb nicht vorher antworten.

      Ich werde die Seiten dann wohl in der Form umändern, wie ihr es mir empfohlen habt.

      cu

  2. Meine Homepage besteht nun nicht mehr aus einzelnen Seiten (index.php, seite1.php, seite2.php...), sondern nur noch aus der Index-Seite, die die entsprechenden Inhalte includiert (index.php, index.php?site=1, index.php?site=2...).

    Können die Unterseiten trotzdem noch von Suchmaschinen gefunden werden?

    Das Fragezeichenanhängsel ist nie dafür gedacht gewesen, als Ersatzkrücke für die normale Pfadstruktur zu dienen, sondern einzig und allein für individuelle Benutzereingaben, d.h. dort, wo für die Eingabe eines Benutzers eine ganz speziell für diese Eingabe zugeschnittene Seite erscheint. Bestes Beispiel für so etwas sind die Ergebnisseiten von Suchmaschinen, dort werden die gesuchten Begriffe hinten an den Pfad per Fragezeichen angehängt, z.B. "suche.cgi?query=suchmirwas".
    Da solche (per Definition) benutzerspezifischen Seiten aber keinerlei Wert für die Allgemeinheit besitzen, werden sie von vielen, wenn nicht sogar allen Suchmaschinen nicht oder nur unvollständig indiziert.

    Davon mal abgesehen hat die übliche Art und Weise, die Seitenwahl an den Pfad anzuhängen, einen weiteren unschönen Nachteil: URLs à la "/index.php?seite=4564&menu=489741" kann sich kein Schwein merken, "/programm/ufa" hingegen selbst ohne ein Lesezeichen anzulegen. Und wer schleppt schon ständig seinen Rechner (lies: Lesezeichen) mit sich rum, wenn er bei Gelegenheit mal jemandem eine bestimmte Seite empfehlen will?

    Ein weiteres Problem, welches zwar nicht direkt etwas mit der Pfad->Fragezeichen-Thematik zu tun hat, aber in der Regel damit auftritt und deshalb bei der Gelegenheit nicht unerwähnt bleiben sollte: HTML-Code wie folgt

    <a href="index.php?seite=4564&menu=489741">

    ist falsch. Das & darf in HTML nicht alleine stehen, da mit ihm _grundsätzlich_ Sonderzeichen beginnen (z.B. "ö") - dies gilt auch für Adressangaben.
    Die Lösung ist entweder das & durch & zu ersetzen oder gleich statt des Und ein Semikolon zu verwenden, welches von vielen Servern ebenfalls erkannt wird. Die restlichen Server lassen sich umstellen (siehe PHP-Anleitung).

    Zurück zu Deinem Problem:
    Du kannst statt des Fragezeichens einfach einen Pfad an die Skript-URL anhängen, zum Beispiel index.php/kontakt oder index.php/ueber_mich. Der Teil hinter dem Skriptnamen erscheint in PHP in einer Variable namens $_SERVER["PATH_INFO"], bei Anwendungen über die CGI-Schnittstelle sowie SSI-Seiten in der Umgebungsvariable PATH_INFO.

    Beim Apache 1 funktioniert dies grundsätzlich, beim Apache 2 muß eventuell die Einstellung AcceptPathInfo geändert werden, bei anderen Webservern bitte die Anleitung befragen.

    Einige Webserver bieten darüber hinaus auch die Möglichkeit, URLs intern (also ohne, daß der Browser etwas davon mitbekommt) umzuschreiben, beim Apache ist mod_rewrite dafür zuständig. Auch damit lassen sich leicht zu merkende URLs für die Außenwelt gestalten.

    Gruß,
      soenk.e

    1. Danke für die sehr ausführliche Antwort. Es war für mich sehr wichtig, dass ich die Unterseiten includieren kann. Da mir die Variable $_SERVER["PATH_INFO"] nicht bekannt war, schien mir das die einzige Möglichkeit zu sein (bin PHP-Anfänger).

      Dass man bei den Links statt & die Zeichenfolge & verwenden muss, war mir bekannt und hatte auch damit verlinkt.

      Ich werde die Seiten dann wieder umschreiben und $SERVER["PATH_INFO"] verwenden.

      cu