"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Suchmaschinen + php + vars

Maehmann 23.12.2002 - 11:30 598 11
Posts

Maehmann

OC Addicted
Avatar
Registered: Aug 2002
Location: Vienna
Posts: 1110
Hey Leute

Folgendes Problem:

Ich hab einen main.php in die verschiedenste Unterseiten includet werden.
Weiters kommt hinzu, dass die Seite per main.php?width=XXXX aufgerufen werden muss (sollte dies nicht der Fall sein, wird automatisch ein JS abgerufen, dass die Seite dann reloadet und die width anhängt. Width ist natürlich die Bildschirmauflösungsbreite des Users).
Die Site passt dann das Design an die entsprechende Auflösung an.

Jetzt stellt sich mir die Frage, ob Suchmaschinen damit klar kommen mit JS die Width zu generieren ... denn ansonsten können sie ja keine MetaTags auslesen ...
Werden die includeten Unterseiten extra indiziert oder immer nur die jeweilige main.php?width=XXXX&site=XXXX

Und noch ein Problem ergibt sich:
Wenn die Suchmaschine die Seite mit main.php?width=XXXX indiziert, sieht ja jeder der auf den Link klickt die gleiche Version und nicht die für seine Auflösung optimierte.

Eine Möglichkeit wäre eine Sessionvar. Nur wie läuft das, wenn der User Cookies deaktiviert hat? Fügt der Apache automatisch die ID in der URL hinzu? Oder muss man das extra coden? Und wie siehts bei den Suchmaschinen mit Sessions aus?

Bin für jede(n) Antwort/Tip/Trick dankbar

*tia*

Christoph

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
Was machst du, wenn der User Javascript deaktiviert hat, oder einen Browser hat, der kein Javascript kann?

Du kannst davon ausgehen, dass Suchmaschinen ca. das sehen und auswerten können, was du mit Lynx auch siehst.

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
die meisten suchmachinen verhalten sich wie von that gesagt wie user ohne frames+javascript
sie indizieren (meist) keinerlei get vars like ?foo=muh da das leicht zu loops fuehren kann und die ueberhaupt faul sind
in ein paar jahren schaut das sicher anders aus
bisdahin tun sie meist nur die erste seit http://www.domainname.foo/ indizieren und wenn danach alle genauso index.php?site=seite2 heissen keiner weiteren folgen

du kannst das mit einem apachemodul umgehen
mod_rewrite:
zb
domain.at/s2/w800 (alle links heissen auch so) wird dann intern zu domain.at/index.php?site=2&width=800 rewritet
das ganze kannst du auch direkt simulieren indem du nicht auf get vars vertraust sondern die vars wie ein directory uebergibst und dann den kompletten GET string serverseitig nochmal parst
zb
index.php/seite2/800 musst du dann aufspalten

Maehmann

OC Addicted
Avatar
Registered: Aug 2002
Location: Vienna
Posts: 1110
Zitat
Was machst du, wenn der User Javascript deaktiviert hat, oder einen Browser hat, der kein Javascript kann?

Du kannst davon ausgehen, dass Suchmaschinen ca. das sehen und auswerten können, was du mit Lynx auch siehst.

Der bekommt eine schlichte HTML Seite, in der er aufgefordert wird einen Link entsprechend seiner Auflösung anzuklicken.

Zitat

du kannst das mit einem apachemodul umgehen
mod_rewrite:
zb
domain.at/s2/w800 (alle links heissen auch so) wird dann intern zu domain.at/index.php?site=2&width=800 rewritet
das ganze kannst du auch direkt simulieren indem du nicht auf get vars vertraust sondern die vars wie ein directory uebergibst und dann den kompletten GET string serverseitig nochmal parst
zb
index.php/seite2/800 musst du dann aufspalten

THX ... nur leider versteh ich Bahnhof :(
Werd mich da mal schlau machen probieren.
Bearbeitet von Maehmann am 23.12.2002, 11:42

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
Webseiten, die für bestimmte Auflösungen optimiert sind, funktionieren sowieso nicht. Ich surfe z.B. in einem Window, das nicht den ganzen Bildschirm ausfüllt; und was machst du wenn ich die Größe meines Browsers verändere, wenn die Seite schon geladen ist?

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
dann bist selber schuld imho
ansich bringts schon in manchen faellen die seiten auf die die browser groesse anzupassen

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
Eine ganz normale HTML-Seite ohne Schnickschnack passt sich wunderbar ganz von selbst an jede Browsergröße an.

Und auch eine Seite mit Schnickschnack kann man so machen, dass sie den verfügbaren Platz optimal nutzt, siehe z.B. oc.at.

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
was passiert wenn jemand den browser resized ?

google wagt sich z.t. auch in seiten mit ?Get=Parametern heran, allerdings nur wenn es normale links sind, und kein Javascript, und nicht alzu tief, wegen der loop-gefahr.
wenn du also auf deiner einstiegsseite keinen "normalen" link irgendwohin hast, sondern nur ein javascript, wird es nichtmal google finden. (läßt sich ja leicht ändern, weil für die suchmachiene ist design eh egal)

weiters ist es geschickt einen richtigen "Last-Modified"-Header mitzuschicken (stat()) und richtig auf den IF-modified-since-Header zu reagieren...das gibt der suchmachine den eindruck, daß es eine statische seite ist.

Maehmann

OC Addicted
Avatar
Registered: Aug 2002
Location: Vienna
Posts: 1110
@that: Es werden einfach für verschieden große Auflösungen verschieden große Images geladen, da die Resize Funktion von HTML einfach nur MIST produziert ...

Für User ohne JS gibt es eine Site, auf der sie ihre Auflösung selbst wählen können.

Wenn ich in der main.php die datei bla.php include, findet Google dann die Datei bla.php extra, oder nicht?
Hab da mal was gelesen, dass bei jemandem die includeten Files im Google extra aufgelistet waren ...

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
Zitat von Maehmann
@that: Es werden einfach für verschieden große Auflösungen verschieden große Images geladen, da die Resize Funktion von HTML einfach nur MIST produziert ...

Stimmt, dem HTML-Standard fehlt dringend sowas wie

<img src="bla.jpg" alt="a büdl" width="10em" height="*" resample="b-spline"/>

Zur Frage:
PHP-Includes sind für den Client üblicherweise völlig unsichtbar, also auch für Suchmaschinen.

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Maehmann
Wenn ich in der main.php die datei bla.php include, findet Google dann die Datei bla.php extra, oder nicht?
Hab da mal was gelesen, dass bei jemandem die includeten Files im Google extra aufgelistet waren ...
ja, wenn der inhalt einfach so zu sehen ist, dann macht das google auch so... ;)
du kannst das aber auch (für den user) umgehen, indem du am anfang des files irgendeine überprüfung vornimmst (anhand von get-parametern?) von wo aus die seite aufgerufen wurde und dann je nach dem einen redirekt machen, oder eben nicht
du könntest sogar anhand der umgebungsvariablen herausfinden, ob es sich um eine suchmaschine handelt oder nicht, und dann anders reagieren... aber ich kann dir leider nicht sagen woran du google erkennen könntest, müsstest du ausprobieren ;) an der ip vielleicht...

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
google gibt sich afaik als googlebot im agent aus
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz