[PHP] Cookie & Suchmaschinenbot

traffic

Well-known member
5 Mai 2006
675
25
Hallo,

ich habe einen onlineshop selbstprogrammiert und teste so,
ob der Nutzer Cookies aktiviert hat oder nicht:

PHP:
$test="test";
setcookie("test", $test, time()+7200, "/");

if(empty($_COOKIE['test']) & $c!=1){

echo"<head><meta http-equiv='refresh' content='0; URL=$main.html?c=1> </head>";
die();
}else{
if(empty($_COOKIE['test'])) {
echo"<center><font size=4 color=red>Bitte Cookies aktiveren um diesen richtig Shop nutzen zu können!</font><br>";
die();
}
}

So und der Googlebot z.B. gibt bei uns dann nur aus:
Bitte Cookies aktiveren um diesen richtig Shop nutzen zu können!

Wie kann ich das umgehen?


Gruß
 
Den Shop nicht cookie abhängig machen ;)

denn wenn du für den googlebot andere daten darstellst, bringt das nichts, denn manchmal meldet sich googlebot richtig und manchmal als normaler user, da er bei beiden vorgängen verschiedene inhalte erhalten würde, hast du ein sehr hohes risikio auf grund von cloaking aus dem suma index zu fliegen
 
Den Shop nicht cookie abhängig machen ;)

denn wenn du für den googlebot andere daten darstellst, bringt das nichts, denn manchmal meldet sich googlebot richtig und manchmal als normaler user, da er bei beiden vorgängen verschiedene inhalte erhalten würde, hast du ein sehr hohes risikio auf grund von cloaking aus dem suma index zu fliegen

und was wäre die beste lösung, wenn ich keine cookies benutzen würde?
sessions?
 
wenn du erklären würdest wofür du den cookie brauchst, wäre das sicherlich hilfreich, denn dein Beispiel da ist ja nicht wirklich sinnvoll^^
Und ohne Anwendungszweck können wir dir da nicht helfen
 
ich gebe so jedem nutzer eine fest zahl die es nur einmal gibt.
um ihn so von anderen useren zu unterscheiden (falls mal mehrere nutzer die gleich IP haben und sonst den gleichen warenkorb hätten).

So kann der User z.B.: auch noch nach x std. auf sein warenkorb zurückgreifen....
 
Und wo ist das Problem dann einfach auf das Cookie-Feature zu verzichten, wenn der User es net kann?
Dann kann er seinen Warenkorb eben nicht mehr nach Stunden sehen, oder du erlaubst das stöbern durch den Shop (damit google indexen kann), in den Warenkorb legen oder ähnliches geht nur mit Cookie
 
Und wo ist das Problem dann einfach auf das Cookie-Feature zu verzichten, wenn der User es net kann?
Dann kann er seinen Warenkorb eben nicht mehr nach Stunden sehen, oder du erlaubst das stöbern durch den Shop (damit google indexen kann), in den Warenkorb legen oder ähnliches geht nur mit Cookie

oh man....ich pfosten! Danke

werde dass gleich mal umprogrammieren
 
Dann kann er seinen Warenkorb eben nicht mehr nach Stunden sehen, oder du erlaubst das stöbern durch den Shop (damit google indexen kann), in den Warenkorb legen oder ähnliches geht nur mit Cookie

Genau... wieso gleich die ganze Seite von Cookies abhängig machen wenns eigentlich nur eine Funktion ist die Cookies braucht. ;)
 
mal ne dumme frage, wenn man bei sich im browser einstellt, dass man keine cookies zuläßt.
Verbietet man dann auch sessions?
 
mal ne dumme frage, wenn man bei sich im browser einstellt, dass man keine cookies zuläßt.
Verbietet man dann auch sessions?

Jein... das eingebaute Session System von PHP hat die möglichkeit die Session ID bei bedarf automatisch an die Links zu hängen. (ist standardmässig aber deaktiviert) Jedoch wäre dieses verhalten kontraproduktiv für Suchmaschinen, da Suchmaschinen die Links dann immer mit Session Id sehen würden. Also muss man sich da was einfallen lassen... entweder man sperrt solche Kunden aus, oder man gestalltet das ganze intelligent. Zb brauch man die Suchmaschinen nur davon abhalten etwas in den Warenkorb zu tun und die Session erst starten wenn etwas in den Warenkorb gelegt wurde. ;)
 
Jein... das eingebaute Session System von PHP hat die möglichkeit die Session ID bei bedarf automatisch an die Links zu hängen. (ist standardmässig aber deaktiviert) Jedoch wäre dieses verhalten kontraproduktiv für Suchmaschinen, da Suchmaschinen die Links dann immer mit Session Id sehen würden. Also muss man sich da was einfallen lassen... entweder man sperrt solche Kunden aus, oder man gestalltet das ganze intelligent. Zb brauch man die Suchmaschinen nur davon abhalten etwas in den Warenkorb zu tun und die Session erst starten wenn etwas in den Warenkorb gelegt wurde. ;)

ja so hatte ich das geplant...
aber der kunde muss vorher sein auto auswählen, damit er zur artikelliste kommt. das auto wird in sessions gespeichert

jedoch, wenn ich es so programmier, dass die cookies außer acht gelassen werden, speichert er das auto nicht mehr :(
 
also die Artikel sind ja eine Auswahl von Artikeln, die kompatibel mit dem Auto sind, also wird das per Get übergeben, warum in einem Cookie?
Ich könnte ja niemandem per ICQ oder sonstwie einen Link zu einem Artikel zeigen, das kann ja net sein
 
also die Artikel sind ja eine Auswahl von Artikeln, die kompatibel mit dem Auto sind, also wird das per Get übergeben, warum in einem Cookie?
Ich könnte ja niemandem per ICQ oder sonstwie einen Link zu einem Artikel zeigen, das kann ja net sein

das auto wird bei session gespeichert...dann kann er zum beispiel auf impressum klicken und dann wieder auf kategorie ohne das auto neu auszuwählen....

den artikel kann man aufrufen wenn man dem script die id gibt.
also artikel.html?id=1234556
 
Eigentlich ist es ganz simpel:

Dein Auto wird nach Auswahl in Session und Cookie gespeichert. Du überprüfst beim erstmaligen betreten, ob das Cookie da ist, wenn ja, dann transferierst du die Info in die Session.

Dein Server ist so eingestellt, dass er die Session-ID bei bedarf an die Links anhängt.

Damit die Suma diese ID nicht erhalten, startest du die Session für die Sumas nicht.

Wenn dein Auto in der Session nicht gesetzt ist, dann verwendest du einen Standardwert, damit es für die Suma zu keinem Problem kommt.

Wenn ein Bot mal nicht als Suma-Bot zu erkennen ist, dann erhält er zwar die Session-ID an den Link, aber bis jetzt habe ich keine Probleme feststellen können. Google hat trotzdem 100% der Seiten im Index gehabt und alle ohne Session-ID. Eventuell war da auch noch das Webmastertool von Google hilfreich.
 
das auto wird bei session gespeichert...dann kann er zum beispiel auf impressum klicken und dann wieder auf kategorie ohne das auto neu auszuwählen....
neija, ich finde den ganzen Vorgang schon schwachsinnig, aber ok


Damit die Suma diese ID nicht erhalten, startest du die Session für die Sumas nicht.
Sumas lassen sich von normalen Benutzern nicht mehr unterscheiden ;)
wir haben mal den Test gemacht und eine Webseite zur Anmeldung eingetragen, von der niemand den Link kannte und definitiv niemand die besucht hat.
Einmal hat sich der normale Googlebot/2.1 gemeldet und einige Stunden danach ein Firefox-Browser der auch nochmal alles durch-crawlt hat.
Das 2. war wahrscheinlich der Fresh-Bot und hat mal geschaut ob wir nicht Suma-Cloaking betreiben
 
Sumas lassen sich von normalen Benutzern nicht mehr unterscheiden ;)
wir haben mal den Test gemacht und eine Webseite zur Anmeldung eingetragen, von der niemand den Link kannte und definitiv niemand die besucht hat.
Einmal hat sich der normale Googlebot/2.1 gemeldet und einige Stunden danach ein Firefox-Browser der auch nochmal alles durch-crawlt hat.
Das 2. war wahrscheinlich der Fresh-Bot und hat mal geschaut ob wir nicht Suma-Cloaking betreiben

Ich dachte, der ist nicht zu unterscheiden *lol* Dann hättest du auch gar nicht als diesen erkennen können.

Der zweite Bot, der nicht die Kennung hat, indexiert nicht. Daher ist es kein Problem, wenn er eine Session-ID erhält.
 
Der zweite Bot, der nicht die Kennung hat, indexiert nicht. Daher ist es kein Problem, wenn er eine Session-ID erhält.

Das mag stimmen, aber die normalen Ergebnisse als Googlebot werden mit den anderen vergleichen, und wenn die sich stark unterscheiden, weil er für den Googlebot eine eigene Version baut, dann hat er große Chancen aus dem Index wegen Cloaking zu fliegen
 
Das mag stimmen, aber die normalen Ergebnisse als Googlebot werden mit den anderen vergleichen, und wenn die sich stark unterscheiden, weil er für den Googlebot eine eigene Version baut, dann hat er große Chancen aus dem Index wegen Cloaking zu fliegen
Genau, die Ergebnisse, sprich der Inhalt. Wird der verändert? Nein! Also ist da auch kein Cloaking.
 
Genau, die Ergebnisse, sprich der Inhalt. Wird der verändert? Nein! Also ist da auch kein Cloaking.

Klar würde der in so einem fall verändert werden. Nämlich in der Form dass es die "ursprünglichen" Urls und damit den Inhalt gar nicht mehr gibt. Mag sein das Google Session Ids aus URLs rausfiltern kann, aber ist es so und ist es bei anderen Suchmaschinen auch so? Keine ahung... wenn ich eine Seite für Suchmaschinen optimieren will dann sorg ich dafür das die relevanten URLs auch wirklich eindeutig sind. URLs heißen nicht umsonst URLs.
 
Klar würde der in so einem fall verändert werden. Nämlich in der Form dass es die "ursprünglichen" Urls und damit den Inhalt gar nicht mehr gibt. Mag sein das Google Session Ids aus URLs rausfiltern kann, aber ist es so und ist es bei anderen Suchmaschinen auch so? Keine ahung... wenn ich eine Seite für Suchmaschinen optimieren will dann sorg ich dafür das die relevanten URLs auch wirklich eindeutig sind. URLs heißen nicht umsonst URLs.

Was immer noch rein gar nichts mit Cloaking zu tun. Das, was ihr meint, sind redundante Daten (SEOs sagen dazu Duplicated Content). Diese kann ich sogar für jede beliebige Seite erzeugen, selbst wenn ich kein Zugriff auf auf den Code habe ;)

Beispiel:
https://www.klamm.de/forum/showthread.php?p=2576386&test=1
https://www.klamm.de/forum/showthread.php?p=2576386&klamm=true