include() oder Templates?
Alex
- php
0 Elya0 Sebastian Petters0 Alex
Hallo
eigendlich wollte ich es bei meiner seite so machen das alles in der index.php ist und dann die einzelnen seiten mit index.php?page=seite2 (usw...) angezeigt werden. Jezt hab ich gelesen das das wegen den Suchmaschinen nicht so gut ist und habe mich dann mal über Templates informiert aber da kann ich so weit ich daas kappiert habe nicht den ganzen code einer Seite reintun sondern nur einzelne Variablen. Also ich kann z.b. keine MySql abfrage reinbauen usw. auss wenn ich für jede seite ein extra Template nehme aber das ist ja auch aufwändig.
Also was wäre die beste lösung?
Funktioniert das mit den Suchmaschinen wenn ich es so mache: einen link zu seite2.php
in seite2.php wird dann auf index.php?page=seite2 umgeleitet ?
Oder soll ich in jede unterseite alles (design menü inhalt) reinschreiben?
Wie macht ihr sowas?
mfg
Alex
Hallo Alex,
ich hoffe, daß zu diesem Thema noch mehr Meinungen kommen, da bin ich nämlich zur Zeit auch dran. Wo hast Du das mit den Suchmaschinen gelesen?
Meine vorläufige Seitenstruktur sieht so aus:
index.php
- toplevelseite1.php
-toplevelseite1.php?link=subthema1
-toplevelseite1.php?link=subthema2
- toplevelseite2.php
- toplevelseite3.php
- toplevelseite4.php
wobei _alle_ Seiten aus Templates zusammengebaut werden, besonders Navigation, dazu die imme gleichen Elemente wie header, footer usw. Die eigentlichen Inhalte haben schon unterschiedliche Templates, da sie nicht einfach zu vereinheitlichen sind.
Du kannst im Template alles was variabel sein soll als Platzhalter definieren, evtl. auch mehrere Templates verschachteln. Im Script machst Du deine Datenbankabfrage, ziehst die das Template rein und ersetzt die Variablen z.B. mit einer Schleife durch die Abfrageergebnisse. Dann gibst du das ganze wieder aus.
Die Sache mit den Suchmaschinen interessiert mich in diesem Zusammenhang aber schon - wird ein Link wie "toplevelseite1.php?link=subthema1" nicht mehr ausgelesen, kann ich Dateien mit einer "Template"-Endung von Robots abgrasen lassen, oder was kann man sonst noch so machen?
Schöne Grüße aus Köln-Ehrenfeld,
Elya
Hallo!
Google z.B. indiziert keine Seiten mit Fragezeichen in der Url. Die Spider haben Angst, sich in den Parametern zu verlaufen, man denke hier an eine Seite, die bei jedem Link einen Sessioncounter oder sowas dranhängt. Google hätte dann viel zu tun, weil ja unendlich viele Seiten existieren.
Das Verhalten von Suchmaschienen ist unterschiedlich, einige ignorieren die Seite komplett, andere lassen alles ab dem Fragezeichen in der Url weg, andere indizieren die Seite doch.
Man braucht also einfache Urls ohne Parameter.
Wir machen das zur Zeit mit Hilfe von mod_rewrite für den Apache. Jede Seitenanfrage '/seite3' wird mit Hilfe von regulären Ausdrücken zu '/index.php?page=seite3' umgeschrieben. Das geschieht dynamisch beim Server, der Client, seis nun ein Browser oder eine Suchmaschiene, bekommen davon nix mit. Wichtig ist dann natürlich, dass alle Links die ausgegeben werden dieses Format haben.
Wenn man kein mod_rewrite hat gibts auch Alternativen, die direkt in PHP implementiert werden. Eine Google-Suche mit 'php search engine friendly url' hilft weiter. mod_rewrite ist aber auf jeden Fall die sauberere Lösung.
Templates haben mit der ganzen Sache erstmal wenig zu tun, die dienen nur dazu, die Implementierung vom Design zu trennen.
Viele Grüsse,
Sebastian
Hallo
kann ich statt dem mod rewrite auch die datei seite2.php auf index.php?seite=seite2 umleiten also mit header() ?
Oder streiken da die Suchmaschinen auch?
mfg
Alex