Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

PHPSESSID in Google Index

Dieses Forum ist für Informationen über Google gedacht (Ausser PageRank!).
Neues Thema Antworten
A.U.
PostRank 1
PostRank 1
Beiträge: 20
Registriert: 28.08.2007, 15:34

Beitrag von A.U. » 28.08.2007, 15:44

Hallo!

Bin total frisch hier und habe mich jetzt zwei Stunden durch das Forum gewühlt zum Thema SID im Google Index. Habe dabei zum Beispiel gelernt, dass ich per ...

Code: Alles auswählen

<?php
if&#40;eregi&#40;"googlebot",$_SERVER&#91;'HTTP_USER_AGENT'&#93;&#41;&#41;
&#123;
$wer_ist_das = 'der googleBOT';
&#125;
?>
... eine Art "legales cloaking" machen könnte, wodurch ich den bots/spidern ermögliche, meine Seiten ohne SID zu crawlen.

Was ich mich jetzt frage:

Sollte ich mit diesem Code besser...

1.) ... gleich den Start der Session unterbinden, wenn es sich um einen bot/spider handelt?

2.) ... oder zwar die Session auch in diesem Falle starten, aber nur die Übergabe der SID per URL unterbinden, wenn es sich um einen bot/spider handelt?

Letzteres wäre durchaus möglich, weil alle Links in dem Projekt sehr stringent gehalten sind und die SID mit einer Variablen in den Link eingebaut wird. Diese Variable ist einfach = '' wenn ein cookie gesetzt werden konnte. Gleiches könnte ich eben für die bots machen.

Danke schon mal für Eure Hilfe!

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Ice Man
PostRank 9
PostRank 9
Beiträge: 2477
Registriert: 04.06.2003, 19:16

Beitrag von Ice Man » 28.08.2007, 16:08

von was sprechen wir ?

Forum, Shop oder Webseite

A.U.
PostRank 1
PostRank 1
Beiträge: 20
Registriert: 28.08.2007, 15:34

Beitrag von A.U. » 28.08.2007, 16:43

Es handelt sich um einen Shop.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


wolli
PostRank 9
PostRank 9
Beiträge: 1395
Registriert: 01.01.2006, 18:48

Beitrag von wolli » 28.08.2007, 17:50

Das löst man generell mit htaccess
dann ist es egal ob das google oder normale Besucher sind

nette Grüße
wolli

A.U.
PostRank 1
PostRank 1
Beiträge: 20
Registriert: 28.08.2007, 15:34

Beitrag von A.U. » 28.08.2007, 19:01

Und wie löst man das über htaccess? Denn eigentlich ist es ja nicht egal, ob es Google oder ein normaler Besucher ist. Bei Google soll die SID ja niemals übergeben werden. Bei einem normalen Besucher ist dies jedoch erforderlich, wenn er cookies nicht erlaubt. Oder habe ich da einen Denkfehler?

SISTRIX
PostRank 9
PostRank 9
Beiträge: 1255
Registriert: 01.09.2003, 20:57
Wohnort: Bonn

Beitrag von SISTRIX » 28.08.2007, 19:34

Google ist es reichlich egal, ob du die Session intern erst startest und einfach die SessionID aus den URLs rauslässt oder bei Googlebot-Zugriffen keine Session startest. Das Ergebnis, also das HTML, das der Googlebot sieht, ist in beiden Fällen gleich. Dass dieses Problem sauber mit einer ".htaccess" gelöst werden kann, glaube ich irgendwie nicht.
SISTRIX Suchmaschinen Blog
SEO- und SEM-Tools: [url=httpss://tools.sistrix.de/toolbox/?tid=lnk_foren_abk]SISTRIX Toolbox[/url]
Linktausch für PR9 und 10 gesucht!

A.U.
PostRank 1
PostRank 1
Beiträge: 20
Registriert: 28.08.2007, 15:34

Beitrag von A.U. » 29.08.2007, 07:30

Mit dem oben beschriebenen eregi-code kann ich ja nun über die Suche nach "googlebot" im Agent-User klar kommen. Aber wie ist es mit anderen Crawlern? Gibt es irgendwo eine Zusammenstellung der verschiedenen Kürzel von Yahoo, MSN, etc.?

SISTRIX
PostRank 9
PostRank 9
Beiträge: 1255
Registriert: 01.09.2003, 20:57
Wohnort: Bonn

Beitrag von SISTRIX » 29.08.2007, 07:44

Mittlerweile unterstützen alle großem Suchmaschinen die Erkennung via DNS/rDNS-Auflösung. Ich habe hier mal einen Codeschnippsel gepostet, der sowas machen kann: https://www.sistrix.com/news/662-das-proxy-problem.html

Gruß Johannes
SISTRIX Suchmaschinen Blog
SEO- und SEM-Tools: [url=httpss://tools.sistrix.de/toolbox/?tid=lnk_foren_abk]SISTRIX Toolbox[/url]
Linktausch für PR9 und 10 gesucht!

SloMo
PostRank 10
PostRank 10
Beiträge: 4880
Registriert: 04.01.2005, 18:26

Beitrag von SloMo » 29.08.2007, 07:46

Der saubere Weg wäre, nur bei eingeloggten Benutzern eine Session zu starten. Aber da der Shop ja jetzt schon in dieser Form funktioniert, ist das wohl etwas zu umständlich?!

Ansonsten würde ich maximal auf folgende Bestandteile im UA testen:
google
msnbot
slurp
teoma
ask jeeves
ia_archiver
abacho

A.U.
PostRank 1
PostRank 1
Beiträge: 20
Registriert: 28.08.2007, 15:34

Beitrag von A.U. » 29.08.2007, 09:06

@ SISTRIX:
Habe den Artikel gelesen und finde ihn sehr interessant. Im Moment steckt die Site noch in den Kinderschuhen. Aber über kurz oder lang wird das mit den Proxys wahrscheinlich auch ein Problem werden, um das ich mich kümmern muss.

Im Moment geht es mir ja vor allem um die SID-Problematik, und da finde ich natürlich den Code-Snippet im Artikel interessant um herauszufinden, ob der Besucher ein robot ist oder ein normaler Nutzer.

@SloMo
Ja, genau. Der Shop funktioniert jetzt wie er ist und umstricken wäre etwas aufwändig und auch gar nicht so sinnvoll. Denn der Shop hat z. B. einen Merkzettel, den man ausdrücklich auch dann nutzen kann, wenn man nicht angemeldet ist. Wenn man sich dann doch anmeldet, wird der "temporäre Merkzettel" in einen "permanenten" übernommen und mit der Kundennummer gespeichert, so dass er beim nächsten Login wieder da ist. Der "temporäre Merkzettel" (ohne Login) geht beim Beenden der Sitzung verloren. Das ist auch ok, aber so lange sollte er eben funktionieren und dafür, unter anderem, brauche ich die Session.

Ich habe mir jetzt folgendes überlegt:

Meine Links sehen eigentlich immer gleich aus. Erst die domain, dann eine anzahl von ordnern, dann "show.html" und wenn eben kein cookie gesetzt werden konnte noch hinten dran "?PHPSESSID=123456". Also z. B. :

mit cookie:
www.domain.com/daimler/benz/autos/show.html

ohne cookie:
www.domain.com/daimler/benz/autos/show. ... SID=123456

Das "?PHPSESSID=123456" ist, wie bereits erwähnt, in einer Variablen hinterlegt, die ohnehin an absolut jeden Link angehängt wird und eben wenn ein cookie gesetzt werden konnte leer ist. Nennen wir die Variable mal $give_sid. Dann hat die also entweder den Inhalt

$give_sid = '';
oder
$give_sid = '?PHPSESSID=123456';

Jetzt mein Lösungsansatz. Vielleicht könnt Ihr mir sagen, ob das so sinnvoll wäre:

1.) Ich starte die Session weiterhin immer.

2.) Ich ermittle (per eregi oder pregmatch), ob es sich um einen BOT handelt.
-> wenn Ja, setze ich die $give_sid = ''; Dann bekommt der BOT die URIs ohne Anhang.

3.) Ich sperre in der robots.txt einfach alle Seiten mit dem Anhang "?PHPSESSID=". Verirrt sich also doch einmal ein BOT an der eregi/pregmatch-Regel vorbei, weil ich ihn z. B. dort nicht aufgeführt habe, oder weil er versucht, einen human_user zu simulieren, so wird er eigentlich komplett geblockt. Denn er erlaubt ja keine cookies und somit sind alle Links mit dem Anhang "?PHPSESSID=" versehen.


Was haltet ihr davon?

A.U.
PostRank 1
PostRank 1
Beiträge: 20
Registriert: 28.08.2007, 15:34

Beitrag von A.U. » 29.08.2007, 10:09

Habe das jetzt mal so gemacht:

Code: Alles auswählen

$bot&#91;1&#93; = 'google';
$bot&#91;2&#93; = 'msnbot';
$bot&#91;3&#93; = 'slurp';
$bot&#91;4&#93; = 'teoma';
$bot&#91;5&#93; = 'ask jeeves';
$bot&#91;6&#93; = 'ia_archiver';
$bot&#91;7&#93; = 'abacho';

foreach &#40;$bot as $bot_nr=>$bot_ua&#41; &#123;
	if &#40;eregi&#40;$bot_ua, $_SERVER&#91;'HTTP_USER_AGENT'&#93;&#41;&#41; &#123;
		$give_sid = '';
	&#125;
&#125;
Sieht noch jemand einen (Tipp-) Fehler, irgendein Problem? Würdet Ihr die Einträge im Array noch verändern/erweitern? Habe mich da jetzt an der Liste von SloMo orientiert. Danke dafür!

Mit der robots.txt habe ich mich mal an dem hier orientiert:

https://www.google.com/support/webmaste ... swer=40367

Das sieht dann so aus:

Code: Alles auswählen

# robots.txt for http&#58;//www.xxx.com/
# Zugriff auf alle Dateien erlauben
# Zugriff verboten bei Übergabe von PHPSESSID
User-agent&#58; *
Disallow&#58; /*?PHPSESSID*
Was haltet Ihr davon?

SloMo
PostRank 10
PostRank 10
Beiträge: 4880
Registriert: 04.01.2005, 18:26

Beitrag von SloMo » 29.08.2007, 10:30

Sieht erstmal ganz okay aus. Zur Robots.txt: ich würde die Regel auf den Googlebot beschränken, um andere Sumas, die vielleicht kein Patternmatching gestatten, nicht zu verwirren.

Zum PHP-Code, ich glaube strpos ist schneller als eregi... Beispiel:

$lowerUA = strtolower($_SERVER['HTTP_USER_AGENT']);
foreach( $bot as $bot_ua ){
if( strpos( $lowerUA, $bot_ua )!==false ){
$give_sid = '';
}
}

PS: oder alternativ stripos()

A.U.
PostRank 1
PostRank 1
Beiträge: 20
Registriert: 28.08.2007, 15:34

Beitrag von A.U. » 29.08.2007, 10:38

Müsste die robots.txt dann so aussehen?

Code: Alles auswählen

# robots.txt for http&#58;//www.xxx.com/

# Zugriff auf alle Dateien erlauben
User-agent&#58; *
Disallow&#58;

# Zugriff für Googlebot verboten bei Übergabe von PHPSESSID
User-agent&#58; Googlebot
Disallow&#58; /*?PHPSESSID* 
Das mit strpos schaue ich mir gleich mal an.

SloMo
PostRank 10
PostRank 10
Beiträge: 4880
Registriert: 04.01.2005, 18:26

Beitrag von SloMo » 29.08.2007, 11:09

Eigentlich könntest Du ganz auf die robots.txt verzichten... birgt nur neue Risiken. Das Problem is ja schon per Code gelöst.

rvi
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 25.06.2007, 07:34
Wohnort: Hannover

Beitrag von rvi » 29.08.2007, 11:18

Angeregt von dem Thema hier habe ich mal meine Methode in mein Blog gestellt. Hoffe sie findet Zustimmung! :-)

=> Session-ID elegant abschneiden

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag