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 bei Suchmaschinen-Einträgen

Hier können Sie Ihre Fragen zum Thema Suchmaschinenoptimierung (SEO) / Positionierung stellen
Neues Thema Antworten
AndreasB.
PostRank 4
PostRank 4
Beiträge: 121
Registriert: 05.01.2005, 21:45

Beitrag von AndreasB. » 03.01.2006, 18:04

Hallo...

Ich habe es zwar schon in einem anderen Thread erwähnt, da dieser aber einen anderen Betreff hatte, hier noch mal speziell zu diesem Thema.

Die Suchfunktion habe ich auch schon verwendet, aber leider ist hier auch viel altes Zeug drin, so dass ich mir nicht so ganz sicher bin. Also hier meine Frage:

Wie wichtig bewertet ihr bei den Suchmaschinen den Anhang PHPSESSID=xxxx bei den Links?

Wird dies auf die Dauer zu einer negativen Bewertung bei den Suchmaschinen führen, oder ist das völlig unwichtig?

Welche Möglichkeiten gibt es, mittels PHP die Einstellung zu Ändern, damit für die aktuelle Session die Session-ID nur über Cookies zulässig ist, also das Mitführen über die URL unterbunden wird. Ich habe schon verschiedenes probiert, aber die Session-ID wird immer mit in den Link genommen. Vermutlich ist bei unserem Server PHP mittels CGI eingebunden.

Gruß
Andreas

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

marc75
PostRank 9
PostRank 9
Beiträge: 1916
Registriert: 06.10.2004, 09:36

Beitrag von marc75 » 04.01.2006, 07:51

session sollteste Abschalten bzw. nicht starten wenn ein robot kommt. Dazu gibt es mehrere Möglichkeiten.

Suche mal in php foren nach sessionkiller, useragent+suchmaschinen usw.

T1-Fox
PostRank 2
PostRank 2
Beiträge: 62
Registriert: 04.01.2006, 08:32
Wohnort: Halle/Saale

Beitrag von T1-Fox » 04.01.2006, 08:35

Hallöle an Alle! (erster Beitrag)


ich hab die Sache ganz einfach gelöst:

Code: Alles auswählen

$agentstring = getenv("HTTP_USER_AGENT");

if(!stristr($agentstring, 'googlebot'))
{
  session_start(); 
}
..kann man natürlich noch mit nem array andere bots aufnehmen


Foxi

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.


AndreasB.
PostRank 4
PostRank 4
Beiträge: 121
Registriert: 05.01.2005, 21:45

Beitrag von AndreasB. » 04.01.2006, 08:35

@marc75

Ich versuche schon seit gestern früh, die Sessions abzuschalten, wenn ein Robot kommt. Ist aber gar nicht so einfach, da unsere Seite mit Session-Variablen läuft, und sich somit die Session immer wieder selbst startet.

Wenn ich mit session.use_trans_sid = 0 die Übermittlung der Session-ID abschalte, läuft die Seite ohne Cookies nicht mehr richtig, da hier ja die Session-Variablen keine Werte haben.

Vielleicht hast du mir ein paar Links. Google habe ich schon einige Zeit durchgeschaut, aber es steht irgendwie immer das gleiche drin.

Ich habe aber auch nirgends eine Erklärung gelesen, dass die PHPSESSID schädlich für Suchmaschinen ist. Viele schreiben, dass man es nicht machen sollte, aber ein richtige Erkärung/Beweise dafür finde ich nirgends.

Gruß
Andreas

mark
PostRank 9
PostRank 9
Beiträge: 1052
Registriert: 21.05.2003, 11:37

Beitrag von mark » 04.01.2006, 08:51

Zu sessionID schädlich meint Google:

Ermöglichen Sie es Suchrobotern, Ihre Website ohne Sitzungs-IDs oder Argumente, die ihren Weg durch die Website aufzeichnen, zu durchlaufen. Diese Methoden sind hilfreich, um das Verhalten einzelner Benutzer zu analysieren, das Zugriffsmuster von Suchrobotern ist jedoch davon gänzlich verschieden. Das Verwenden solcher Techniken kann zu einer unvollständigen Indizierung Ihrer Site führen, da Suchroboter eventuell nicht in der Lage sind, URLs zu eliminieren, die verschieden aussehen, aber auf dieselbe Seite zeigen.
https://www.google.de/intl/de/webmaster ... lines.html
Bild

tank
PostRank 1
PostRank 1
Beiträge: 18
Registriert: 03.01.2006, 13:12

Beitrag von tank » 04.01.2006, 09:44

Hi,

aus technischer Sicht ist es zusätzlich schlecht die SessionID in einem Suchmaschinenen-Index mit eingetragen zu haben.
Jedes mal, wenn ein User über besagten Suchmaschinenen-Link auf Deinen Server zugreift versucht dieser natürlich die alte, im Link verknüpfte, Session aus dem Cache zu laden und die entsprechenden Variablen zu etablieren. Doch die findet er natürlich nicht mehr, weil die Session natürlich längst ausgelafen ist (i.d. Regel, sonst hast Du ein Problem mit Deinem Admin! :D ). Dabei geht für den User nichts verloren. Denn wird die Session nicht gefunden, wird eine neue erstellt und alle nötigen Umgebungsvariablen werden neu etabliert. Der User merkt nix!
Aber: Der Server ist mit einer unnötigen Aufgabe beschäftigt. Und wenn Du Glück hast und Deine SEO-Maßnahmen funktionieren, dann könnte dieser Traffic einige unnötige Performance auf dem Server kosten.

Aus technischer Sicht also mindestens UNSAUBER! :D

@AndreasB.: Die Sessions, die von PHP (nicht vom WebServer) verwaltet wird und zum unsichtbaren Weitergeben der Variablen von Seite zu Seite dient, startet sich meines Wissens nie alleine! Irgendwo in Deinem PHP Code muss eine Zeile mit dem Befehl "session_start()" vorhanden sein - vielleicht in einem ausgelagertern Include. Um diesen Befehl herum baust Du eben den Code, den T1-Fox schon freundlicher Weise gepostet hat. Viel Erfolg!


Bye
tank.

mcchaos
PostRank 9
PostRank 9
Beiträge: 1414
Registriert: 27.07.2004, 19:18

Beitrag von mcchaos » 04.01.2006, 10:08

Die Session startet von alleine, wenn session.auto_start gesetzt wurde oder session_register() verwendet wird, was implizit session_start() aufruft (siehe https://www.php.net/manual/de/function. ... gister.php).

marc75
PostRank 9
PostRank 9
Beiträge: 1916
Registriert: 06.10.2004, 09:36

Beitrag von marc75 » 04.01.2006, 11:33

oder session_register() verwendet wird,
wer das noch verwendet ist ja auch selbst schuld

oder auto_start und use_trans_sid

mcchaos
PostRank 9
PostRank 9
Beiträge: 1414
Registriert: 27.07.2004, 19:18

Beitrag von mcchaos » 04.01.2006, 14:21

Versuch mal, in PHP zwischen Version > 4.2.3 und < 5 die use_trans_sid dynamisch (also z.B. bei Bots) auszuschalten, wenn sie von Deinem Hoster vorgegeben ist - kein Spaß.

AndreasB.
PostRank 4
PostRank 4
Beiträge: 121
Registriert: 05.01.2005, 21:45

Beitrag von AndreasB. » 05.01.2006, 09:05

Hallo...

So, nun haben wir die Seite so geändert, dass bei den Robots eigentlich keine Session gestartet wird.

Hier mal der Eintrag, der für die Auswahl zuständig ist:

Code: Alles auswählen

$do_not_start_session=false;
//
if&#40;!isset&#40;$_SESSION&#91;"session_is_started"&#93;&#41;&#41;&#123;

$do_not_start_session_array = array&#40;"google","spider","bot","crawler","acoon","yahoo","DiaGem","Firefly","seek"&#41;;

 foreach&#40;$do_not_start_session_array as $key&#41;&#123;
            if&#40;eregi&#40;$_SERVER&#91;"HTTP_USER_AGENT"&#93;,$key&#41; &#41;&#123;
//        if&#40;eregi&#40;$_SERVER&#91;"REMOTE_ADDR"&#93;,$key&#41; || eregi&#40;$_SERVER&#91;"HTTP_USER_AGENT"&#93;,$key&#41; &#41;&#123;
           $do_not_start_session=true;
        &#125;
 &#125;
&#125;

//
if&#40;!$do_not_start_session&#41; &#123;
  session_start&#40;&#41;;
  $_SESSION&#91;"session_is_started"&#93;="1";
&#125;
Das ganze ist seit gestern Nachmittag online.
Heute früh habe ich mir mal die Logdatei angeschaut, aber es sind sehr viele Einträge mit der PHPSESSID=xxx dabei, die eigentlich gar nicht dabei sein dürften.

Hier mal ein Beispiel am Googlebot.
Hier wurde die Session-ID übergeben:

Code: Alles auswählen

crawl-66-249-65-79.googlebot.com - - 	05/Jan/2006&#58;08&#58;34&#58;47 +0100&#93; "GET /shop/JR-Direkt-Kit-Peugeot-406-SV-detail-15185.htm?PHPSESSID=423b2aafd18d7b24ceedca7f18d40b8a HTTP/1.1" 200 3735 "-" "Mozilla/5.0 &#40;compatible; Googlebot/2.1; +http&#58;//www.google.com/bot.html&#41;"
und hier nicht:

Code: Alles auswählen

crawl-66-249-71-13.googlebot.com - - 	05/Jan/2006&#58;06&#58;14&#58;50 +0100&#93; "GET /shop/X-Treme-Video-DVD-Getaway-in-Stockholm-Vol.-4-detail-22188.htm HTTP/1.0" 200 12299 "-" "Googlebot/2.1 &#40;+http&#58;//www.google.com/bot.html&#41;"
Eigenartig ist, dass bei dem, wo die PHPSESSID mit übergeben wurde diese bei jeder Abfrage übergeben wurde, und diese ID dann auch immer unterschiedlich ist.

Es sind auch noch andere Robots dabei, die eigentlich in der Abfrage vorkommen aber trotzdem die PHPSESSID mit übertragen haben.

Was kann ich da noch machen?

Gruß
Andreas

Webby
Administrator
Administrator
Beiträge: 5420
Registriert: 17.10.2001, 01:00

Beitrag von Webby » 05.01.2006, 09:51

Das Abakus session id killing code geht so...

Code: Alles auswählen

function append_sid&#40;$url, $non_html_amp = false&#41;
&#123;
	global $SID,$HTTP_SERVER_VARS,$phpEx,$board_config;

	if &#40; !empty&#40;$SID&#41; && !eregi&#40;'sid=', $url&#41;  && !strstr&#40;$HTTP_SERVER_VARS&#91;'HTTP_USER_AGENT'&#93; ,'Googlebot'&#41; && !strstr&#40;$HTTP_SERVER_VARS&#91;'HTTP_USER_AGENT'&#93; ,'slurp@inktomi.com;'&#41; && !strstr&#40;$HTTP_SERVER_VARS&#91;'HTTP_USER_AGENT'&#93; ,'Yahoo! Slurp;'&#41; && !strstr&#40;$HTTP_SERVER_VARS&#91;'HTTP_USER_AGENT'&#93; ,'msnbot;'&#41; && !strstr&#40;$HTTP_SERVER_VARS&#91;'HTTP_USER_AGENT'&#93; ,'teoma;'&#41; && !strstr&#40;$HTTP_SERVER_VARS&#91;'HTTP_USER_AGENT'&#93; ,'crawler;'&#41; && !strstr&#40;$HTTP_SERVER_VARS&#91;'HTTP_USER_AGENT'&#93; ,'scooter;'&#41; && !strstr&#40;$HTTP_SERVER_VARS&#91;'HTTP_USER_AGENT'&#93; ,'fireball;'&#41;&#41;
	&#123;
		$url .= &#40; &#40; strpos&#40;$url, '?'&#41; != false &#41; ?  &#40; &#40; $non_html_amp &#41; ? '&' &#58; '&' &#41; &#58; '?' &#41; . $SID;
	&#125;
	
	if&#40;$non_html_amp&#41; 
   &#123; 
     $url=$board_config&#91;'script_path'&#93;.$url; 
   &#125; 
Ich hoffe das hilft.
Alan
ABAKUS Internet Marketing
Professionelle Suchmaschinenoptimierung und Suchmaschinenmarketing

AndreasB.
PostRank 4
PostRank 4
Beiträge: 121
Registriert: 05.01.2005, 21:45

Beitrag von AndreasB. » 05.01.2006, 10:12

@Webby

Kontrolliert Ihr bei jedem Link, ob die Session-ID angehängt werden soll. Das ist doch aber sehr aufwendig oder?

Wenn man denkt, wie viele Links es auf der Abakus-Seite gibt.

Auf unserer Seite machen wir das ja eigentlich auch so, nur eben mit dem Session-Start. Warum geht das bei mir nicht.

Gruß
Andreas

AndreasB.
PostRank 4
PostRank 4
Beiträge: 121
Registriert: 05.01.2005, 21:45

Beitrag von AndreasB. » 05.01.2006, 11:48

Hallo...

Ich habe jetzt mal das eregi in stristr geändert, geht aber immer noch nicht.

Was mir gerade aufgefallen ist, dass ein Googlebot keine Session-IDs bekommt, und der andere (der mehr macht) bekommt diese.

Hier mal die zwei:
Googlebot/2.1 (+https://www.google.com/bot.html)
Mozilla/5.0 (compatible; Googlebot/2.1; https://www.google.com/bot.html)

Beim Googlebot/2.1 wird die PHPSESSID nicht angehängt, beim
Mozilla/5.0 schon.

Kann es sein, dass beim "Mozilla"-Bot das ";" die Suche abbricht?
Oder was kann es noch sein?

Gruß
Andreas Bihler

ciabatto
PostRank 1
PostRank 1
Beiträge: 26
Registriert: 21.10.2005, 13:21

Beitrag von ciabatto » 05.01.2006, 15:57

Kommt der Session ID killing Code dann in die htaccess oder wo macht ihr das rein?

AndreasB.
PostRank 4
PostRank 4
Beiträge: 121
Registriert: 05.01.2005, 21:45

Beitrag von AndreasB. » 05.01.2006, 16:16

@ciabatto

In der .htaccess wird dieser Code nichts bringen.
So wie es ausschaut wird der Code von Webby bei jedem Link aufgerufen function append_sid().

Der wird so mit keiner anderen Seite zusammen arbeiten. Da muss die ganze Seite darauf angepasst sein.

Gruß
Andreas Bihler

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag