Hallo Leute,
da es ja für die 2.1. CE leider keinen Support mehr gibt und auch schon vorher noch keine Lösung gefunden werden konnte, woher die oft sehr vielen 404-Fehler in der Statistik herkommen könnten, habe ich mich selbst auf die Fehlersuche begeben.
Ich habe hierzu in der commerce_seo_url.php ganz unten, also dort, wo auf die 404-Seite weitergeleitet wird, den Referer angehängt:
...
else
header('Location: '.HTTP_SERVER.DIR_WS_CATALOG.'404.php?error=404&ref='.$_SERVER['REQUEST_URI']);
} elseif(!empty($_GET['error']))
header('Location: '.HTTP_SERVER.DIR_WS_CATALOG.'404.php?error=404&ref='.$_SERVER['REQUEST_URI']);
Wenn ich nun im Adminbereich beobachte, wer online ist, fallen mir folgende Fehler auf:
1. Ein Thumbnail-Image wird manchmal im Pfad der aktuellen Kategorie gesucht
/404.php?error=404&ref=/Kategorie1/Kategorie2/Kategorie3/Kategorie4/images/product_images/thumbnail_images/Artikel_12345.jpg
Richtig wäre /images/product_images/thumbnail_images/Artikel_12345.jpg
2. Gleiches passiert manchmal bei den Cache-Dateien:
/404.php?error=404&ref=/Kategorie1/Kategorie2/Kategorie3/Kategorie4/Kategorie5/cache/js2cf8a71c990e3e10aee8f622071bf6ff.css
Richtig wäre /cache/js2cf8a71c990e3e10aee8f622071bf6ff.css
Ich habe eine Vermutung, die mir vielleicht jemand hier aus dem Forum bestätigen kann:
Kann es sein, dass der eine oder andere Browser oder Bot das "base href" ignoriert?
Denn dann wäre dies eine Erklärung für zumindest einige 404er, da dann
<link rel="stylesheet" href="cache/..."
<link rel="stylesheet" type="text/css" href="templates/cseo-css-v2/cache/..."
und <script src="cache/..." evtl. nicht stimmen könnten...
Im Grunde genommen dachte ich, es könnte ausreichen, in der includes/javascript/cseo_java.php
Zeile ca. 182ff..
$template_css->setUrl('templates/'.CURRENT_TEMPLATE.'/cache');
$template_css->setSourcePath('templates/'.CURRENT_TEMPLATE.'/css');
$template_css->setCachePath('templates/'.CURRENT_TEMPLATE.'/cache');
und z.B. Zeile ca. 218ff
$js_css->setUrl('cache');
$js_css->setSourcePath('includes/javascript/css');
$js_css->setCachePath('cache');
jeweils einen Slash voranzustellen, was aber nicht 100% funktioniert.
Würde mich sehr freuen, wenn hierzu jemand schreiben würde, jemand einen Lösungsansatz hat.
Ferner würde mich für die PageSpeed-Optimierung interessieren, ob man die js und css Dateien in den cache-Ordnern gzippen kann... wo?