Zum Betrieb des XT C Shops sind Session ID’s erforderlich. Was aber tun wenn nach der Installation die Option unter Konfiguration/Meta.tags “Spider Session vermeiden” nicht aktiviert wurde? Grundsätzlich sollte für den Shop die Google Webmaster Tools genutzt werden. Für die Erstellung einer Sitemap gibt es viele Tools. Bei Google findet man eine große Übersicht mit Links. Das wär schon mal der erste Schritt um Google alle Urls ohne Session ID’s mitzuteilen. Aber wie bekommt man nun die Urls die bereits im Cache sind wieder raus? Dazu ist in der Datei includes/application_top.php nach:
// include the language translations
require(DIR_WS_LANGUAGES . $language . '.php');
folgender Code einzufügen
if ( $spider_flag == true ){
if ( eregi(tep_session_name(), $_SERVER['REQUEST_URI']) ){
$location = tep_href_link(basename($_SERVER['SCRIPT_NAME']), tep_get_all_get_params(array(tep_session_name())), 'NONSSL', false);
header("HTTP/1.0 301 Moved Permanently");
header("Location: $location"); // redirect...bye bye
}
}
Damit wird eine 301 Weiterleitung auf die Url ohne Session ID erreicht. Nach und nach verschwinden dann aus dem Index die Urls mit den Session ID’s
160 Backlinks aus Blogartikel | dauerhafte Links | Unique Content |
auf 80 verschiedenen IPs
February 17th, 2007 at 12:21
Danke, wir werde es mal ausprobieren. Leider haben wir bisher keine Lösung für das Google-Session-XT-Problem gefunden, aber diese hier hört sich recht plausibel an!
February 27th, 2007 at 08:39
Ist ja schon immer ein Problem von den XTC gewesen und wurde im Forum immer als nicht notwendig diskutiert.
Da bei mir auch ewig viele Session IDs trotz “Spider Sesssion vermeiden” im 3.02
reingekommen sind ist das mal ne sinnvolle Lösung !!!
Gruß Thomas
February 27th, 2007 at 11:45
Danke! sehr guter Tipp, eingabaut und funktioniert, sehr gut. Ein php_flag session.use_trans_sid off in der .htacess funktioniert ja leider nicht (immer)
March 7th, 2007 at 20:43
Gut zu wissen – danke für die gute Beschreibung, so kann ich das Problem direkt beseitigen.
March 7th, 2007 at 22:09
Geschafft…nach ca. 8 Wochen ist mein XT:C Shop bei Google Session ID frei
Demnächst werde ich einen Beitrag posten zum Thema Supplemental Index und XTC.
March 31st, 2007 at 13:31
damit Google erst gar keine Url mit ID crawlt folgendes in der
Robots.txt hinzufügen
Disallow: /*?XTCsid
April 2nd, 2007 at 01:15
Danke Euch, super Tipp!
June 27th, 2007 at 14:39
Der Tipp mit der robots.txt kommt mir ebefalls sehr gelegen, thx!
July 5th, 2007 at 20:49
Werd das mal ausprobieren – bin ja mal gespannt.
September 10th, 2007 at 11:16
Danke auch das Funtzt wieder mal Ohne Problem! Nur es bei Google zu entfernen dauert wohl doch etwas länger =)
September 11th, 2007 at 11:03
paar Wochen wirst du schon abwarten müssen. Aber es wirkt
March 23rd, 2008 at 15:11
Hallo
Habe das gleiche Problem. 200 Shop Produkte im Index und 350 Sesion Ids im Index.
Habe den Code jetzt auch eingefügt da es immer mehr und mehr Seiten in Index kommen mit XTCsid…. Sehe jetzt aber das der Ordner Includes über die robtos gesperrt ist…
Disallow: /shop/includes/
So funktioniert das aber leider nicht… Oder liege ich da falsch??
Die Sperrung per robots war eine Voreinstellung vom Templates
Gruss Horst
March 23rd, 2008 at 19:04
das mit Robots besagt nur, dass Google den Inhalt des Ordners /include nicht spidern soll. Die Ausführung des Codes in der Php Datei, Url Weiterleitung 301, hat damit nichts zu tun. Es dauert aber paar Wochen, so wars zumindest in einem von mir betreuten Shop.
March 23rd, 2008 at 21:19
ok dann warten wir ab
das komische ist nur das wöchentlich 50 neue sesions in den index kommen
trotz robots, trotz sitemap in webmastertool (ohne xtcsid
)
trotz der weiterleigung
das ist etwas seltsam oder
habe ja im moment mehr sesions im index als eigene seiten
ob das google gefällt, keine ahnung
gruss balou
May 31st, 2008 at 01:47
Habe im Moment das gleiche beobachtet wie Balou nach dem einfügen. Hat es sich jetzt schon bei jemanden von alleine geregelt oder muss nachgebessert werden ?
June 1st, 2008 at 20:15
Wenn das die Lösung unseres sid Problemes ist umarrme ich Euch hiermit
auf elektronischem Wege.
Danke, Danke, Danke
June 2nd, 2008 at 16:06
Hallo,
dummerweise sind einige unserer Seiten mit Session Id in den Google Index geraten. Ich habe diese Lösung ausprobiert und nutze diese auch direkt um alle User, die eine Url mit Session – Id anklicken mit umzuleiten, da ich den Shop auf Cookies umgestellt habe.
Allerdings ist mir aufgefallen, dass alle Funktionen mit “tep_…” in meinem Shop nicht definiert sind ( v3.0.4 SP2.1). Nachdem ich diese in “xtc_…” umbenannt habe hat es funktioniert.
Vielen Dank!
June 3rd, 2008 at 21:43
Mir sind da wohl auch ein paar URL’s mit Session ID im G Index gelandet. Ich werde diese Lösung mal versuchen.
June 5th, 2008 at 11:19
Super Tips!!! Danach habe ich schon lange gesucht!! Danke euch allen!
July 15th, 2008 at 14:27
Hallo,
wenn ich das einfüge erscheint der Fehler
Parse error: parse error, unexpected T_LNUMBER
Ich habe das wie angegeben eingefügt. Habe Version 3.04
July 22nd, 2008 at 19:36
Hallo,
der Fehler “Parse error: parse error, unexpected T_LNUMBER” passiert z.B. dann, wenn nicht stringent Hochkomma und Gänsefüsschen eingehalten wurden.
In dem speziellen Fall soll das heißen;
header(‘HTTP/1.1 301 Moved Permanently’);
header(‘Location: $location’); // redirect…bye bye
dann sollte das gehen…
Danke übrigens für die geniale Idee mit den xtcsid!
August 6th, 2008 at 12:30
[...] Zum anderen habe ich einen Tipp gefunden wie man den Index nach und nach bereinigen kann: http://www.gogozone.de/blog/xt-commerce-session-id-aus-google-entfernen-25/ Hier muss allerdings noch geprüft werden ob das wirklich was [...]
September 4th, 2008 at 01:15
Hallo ich habe immer noch den “Parse error: parse error, unexpected T_LNUMBER” Fehler. Habe die Änderung wie oben von Urian beschrieben gemacht und es hat nix genützt. Shopversion 3.04 SP2.1
Kann mir da jemand helfen?
Mfg
Robby
September 25th, 2008 at 11:04
Man sollte den Code noch soweit erweitern, dass dieser ebenfalls bei eingehenden Links angewandt wird (Referer überprüfen) um mehrerer Kunden mit gleicher Session zu vermeiden (Sicherheitsrisiko).
November 12th, 2008 at 22:34
Hatte den gleichen Fehler “.. T_LNUMBER”
So hat es bei mir funktioniert:
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: “.$location);
Und jetzt warte ich auch mal ab ob die indexierten sids so verschwinden:)
Gruß
Constantin
December 28th, 2008 at 11:56
Ein sehr guter Ansatz für dieses leidige Problem, schade das bei der Standartinstallation nicht daran gedacht wurde.
February 9th, 2009 at 02:34
Danke für den Tipp, dadurch sind inzwischen viele alte Seiten meines XTC aus dem Netz verschwunden
February 11th, 2009 at 13:23
hallo,
nach dem Einfügen des Codes lautet die Fehlermeldung:
syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/46/d163985396/htdocs/includes/application_top.php on line 381
code so wie ich eingefügt habe: if ( $spider_flag == true ){
if ( eregi(tep_session_name(), $_SERVER['REQUEST_URI']) ){
$location = tep_href_link(basename($_SERVER['SCRIPT_NAME']), tep_get_all_get_params(array(tep_session_name())), ‘NONSSL’, false);
header(`HTTP/1.1 301 Moved Permanently´);
header(´Location:´.$location); // redirect…bye bye
}
}
danke
Valentina
February 27th, 2009 at 09:54
@Valentina: Hört sich nach einen vergessen Semikolon oder einer offenen Klammer an. Evtl ist auch ein Quote (Hochkommatar) nicht richtig gesetzt.
March 1st, 2009 at 12:24
Das Problem habe ich auch. Den Code habe ich nach Anleitung eingefügt. Es erscheint immer noch der Fehler wie bei Valentina ( syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/46/d163985396/htdocs/includes/application_top.php on line 381 )
Kann mir jemand helfen?
Gruß
Gregor
March 29th, 2009 at 19:22
Wo bei die Robots.txt um folgendes ergänzt werden sollte:
Disallow: /*?XTCsid
Disallow: *?XTCsid
Disallow: /?XTCsid
Disallow: ?XTCsid
So dürften nun wirklich keine Sessions mehr gespidert werden.
…So, jetzt stimmt auch meine Web-Adresse…oje…
June 7th, 2009 at 19:00
@Valentina
Du benutst falsche Anführungszeichen. Man sollte statdessen Apostrophen benutzen:
if ( $spider_flag == true ){
if ( eregi(xtc_session_name(), $_SERVER['REQUEST_URI']) ){
$location = xtc_href_link(basename($_SERVER['SCRIPT_NAME']), xtc_get_all_get_params(array(xtc_session_name())), ‘NONSSL’, false);
header(‘HTTP/1.0 301 Moved Permanently’);
header(‘Location: ‘.$location); // redirect…bye bye
}
}
also diese Stelle sollte man ändern:
header(‘HTTP/1.0 301 Moved Permanently’);
header(‘Location: ‘.$location); // redirect…bye
@Autor
Danke für den Tipp!
July 26th, 2009 at 13:51
Hi und danke für den guten Tipp,
aber ich hab da eine dummer Frage, da ich keine ahnung vom programmieren habe.
muss man das ganze in /html/xtc/admin/includes
oder in /html/xtc/includes ändern?
oder vielleicht in beiden?
wäre echt dankbar wenn mir einer helfen könnte.
ach ja der code sieht nach der änderung in /html/xtc/includes so bei mir aus:
// include the language translations
require (DIR_WS_LANGUAGES.$_SESSION['language'].’/’.$_SESSION['language'].’.php’);
// EIGENE AENDERUNG FUER GOOGLE
if ( $spider_flag == true ){
if ( eregi(tep_session_name(), $_SERVER['REQUEST_URI']) ){
$location = tep_href_link(basename($_SERVER['SCRIPT_NAME']), tep_get_all_get_params(array(tep_session_name())), ‘NONSSL’, false);
header(“HTTP/1.0 301 Moved Permanently”);
header(“Location: $location”); // redirect…bye bye
}
}
die datei in /html/xtc/admin/includes habe ich nicht geändert.
gruß
Daniel
July 29th, 2009 at 11:12
Danke für den Tipp, werde es mal ausprobieren.
July 29th, 2009 at 16:57
Vielen Dank für den Hinweis, hiermit wurden alle Sessionsites bereinigt.
July 29th, 2009 at 18:27
kann mir keiner helfen?
July 29th, 2009 at 22:54
Funktionier das auch mit einem Gambio Shop ?
August 2nd, 2009 at 20:48
die zu ändernde Datei -> /Hauptverzeichnis-Shop/includes/application_top.php
August 7th, 2009 at 01:24
Ich habe alle eure Lösungen versucht aber nach der Änderung der application_top.php kommt beim Aufruf des Shops nur eine weiße Seite. Kann es daran liegen dass ich bluegate SEO-URL benutze?
Gruß
Michael
August 12th, 2009 at 21:56
Ja Toll, habe jetzt das gleiche Problem wie Michael , hätte ich das blos nicht gemacht!!!! . Alles ausgetestet und Nix is !!!!!
Sitze jetzt in der SCH….. dabei hörte sich das so gut an und komischerweise scheind es bei Einigen ja auch zu laufen. Nun kann ich mir so einiges morgen anhören (wo der Shop hin ist) und ich habe keine Lösung als das ganze Ding neu auf zu setzen. Selbst beim Rückgänig machen bleiben die verlinkten Seiten verschwunden !! Noch nichtmal als Admin kann ich mich mehr einlogen, immer dises (
Error!
Unable to determine the page link! )Liegt es daran das der shop im Unterverzeichnis liegt ? Hiiiiiiiilfe Bitte
August 12th, 2009 at 23:10
Seltsam… ich hatte einfach die Sicherungsdatei der application_top wieder eingespielt und dann lief wieder alles ohne cache löschen oder so…
Zwischenzeitlich habe ich in einem anderem Forum diese Lösung gefunden:
// new p URLS
if (isset ($_GET['info'])) {
$site = explode(‘_’, $_GET['info']);
$pID = $site[0];
$actual_products_id = (int) str_replace(‘p’, ”, $pID);
$product = new product($actual_products_id);
$is_product=true;
}
// also check for old 3.0.3 URLS
elseif (isset($_GET['products_id'])) {
$actual_products_id = (int) $_GET['products_id'];
$product = new product($actual_products_id);
$is_product=true;
}
// URL-Suche ueber Artikelnummer – Vollstrom 1.05.2007
elseif (isset($_GET['model'])) {
$site = explode(‘_’, $_GET['model']);
$pmodel = $site[0];
$pmodel = str_replace(‘m’, ”, $pmodel);
$getid_query = xtc_db_query(“select products_id from “.TABLE_PRODUCTS.” where products_model=’”.$pmodel.”‘”);
$getid = xtc_db_fetch_array($getid_query);
$actual_products_id = $getid['products_id'];
$product = new product($actual_products_id);
$is_product=true;
}
if( $is_product && strstr( $_SERVER['REQUEST_URI'], “product_info.php” )) {
$url = shopstat_getSEO( ‘product_info.php’, ‘products_id=’.$actual_products_id,”,”, true, ‘user’);
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: “.$url);
exit();
}
if( strstr( $_SERVER['REQUEST_URI'], “index.php” ))
{
if (isset ($_GET['cat']) || isset ($_GET['cPath']) ) {
if (isset ($_GET['cat'])) {
$site = explode(‘_’, $_GET['cat']);
$cID = $site[0];
} else {
$cID=$_GET['cPath'];
}
$path= (int) str_replace(‘c’, ”, $cID);
$url = shopstat_getSEO( ‘index.php’, ‘cPath=’.xtc_get_category_path($path),”,”, true, ‘user’);
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: “.$url);
exit();
}
}
Damit läuft der Shop wie gewohnt, aber ich habe keine Ahnung ob es funktioniert…..
August 13th, 2009 at 00:00
Hier ist Klaus 2 noch mal ( am Haare raufen ) um das ganze zu untersuchen.
Ja Michael das gleiche habe ich auch gemacht mit der Sicherheitsdatei…..aber
Habe festgestellt das sich die Addressierung der internen Links von z.B.;
http://shop.graf-keks.de/manar/index.php?cat=c12_Tule.html
auf;
http://shop.graf-keks.de/manar/index.php/cat/c12_Tule.html
durch das eintragen von den code :
if ( $spider_flag == true ){
if ( eregi(tep_session_name(), $_SERVER['REQUEST_URI']) ){
$location = tep_href_link(basename($_SERVER['SCRIPT_NAME']), tep_get_all_get_params(array(tep_session_name())), ‘NONSSL’, false);
header(”HTTP/1.0 301 Moved Permanently”);
header(”Location: $location”); // redirect…bye bye
}
}
umgeschrieben haben. Nun ist blos die Frage was fange ich damit an? Oder wie ist das rückgänig zu machen ? Oder in welchen Dateien finde ich die Veränderung ( Menü option ) Komme folge dessen auch nicht als admin rein!
August 13th, 2009 at 19:48
Geh mal in deine Datenbank und schalte die Suchmaschinenfreundlichen URL aus oder wenn du Bluegate-Seo nutzt mach die inc-datei wieder raus und die originale wieder rein
August 13th, 2009 at 23:47
Puuuuuuu*** Danke Michael du hast mich gerettet und meine Frau ist auch wieder da
” Wo ist denn unsere Seite verschwunden Herr Wedmeister ?? Ja Virusbefall..hi hi. Also erst mal wie gesagt in Datenbank geändert ( aber auch wieder Fehler in angaben gefunden. Hier mal für alle denen das pssiert den richtigen code :Falls versehentlich Suchmaschinenfreundliche Links aktiviert wurden und der Server dies nicht unterstützt können diese mit folgendem Befehl wieder deaktiviert werden. (in Datenbank per PHPMyAdmin ausführen).
SQL-Befehl: UPDATE configuration SET configuration_value=’false’ WHERE configuration_key=’SEARCH_ENGINE_FRIENDLY_URLS’
Erst durch so was muß man sich schlau machen, arbeite mit XT commerce das erste Mal und tappe natürlich in einige Fallen. Das ist gut so. Danke
August 14th, 2009 at 00:55
Gern geschehen. Für so etwas habe ich ein Gästebuch auf meiner Homepage
August 14th, 2009 at 00:57
By the way… schon mal über ein anderes Template nachgedacht???
September 2nd, 2009 at 09:12
Hallo,
darf ich fragen auf welche Version von xt:Commerce sich das Codeschnipsel bezieht? Für die xt:Commerce-Version 3.0.4 kann das Schnipsel nicht gehören, oder?
Die Variable $spider_flag ist hier z.B. gar nicht verfügbar in der application_top.php
Es wäre hier wohl eher die Variable $truncate_session_id einzusetzen die durch die Funktion xtc_check_agent() indirekt gesetzt wird.
Ebenso ist tep_session_name() und tep_href_link() in der Version 3.0.4 nicht bekannt.
Ich möchte mithelfen auch für die Version 3.0.4 noch eine Lösung hier aufzuführen.
Viele Grüße
Walter
September 2nd, 2009 at 15:15
Ja das wäre Toll . Ich habe die Version xt:Commerce v3.0.4 SP2.1
Release Datum: 17 Aug 2006
Released under the GNU General Public License
Danke Water
September 2nd, 2009 at 15:31
Sorry Tippfehler der Name ist doch Walter.
wer hat einegendlich Erfahrung mit “Gambio Shop” da war doch auch jemand mit der Anfrage ob das dort genau so geht.
Für Privat wäre das doch die Alternative oder ?
September 3rd, 2009 at 06:23
Hallo Klaus,
erst einmal würde ich gerne klären für welche Version dann obiges Quellcodeschnipsel gehört. Danach, wenn ich meine Lösung bzw. den Umbau obiger Lösung, “ins reine” gebracht habe poste ich hier gerne den Quellcode.
Viele Grüße
Walter
PS: Solange Du mich nicht Walker nennst – bin nämlich eher ein hobbymäßiger Läufer und die würden niemall walken.