404-Header senden, wenn Seite nicht vorhanden
Problem: Wenn eine Seite, ein Artikel oder eine Kategorie im JTL-Shop2 umbenannt oder gelöscht wurde, dann wird man auf die Suche umgeleitet. Es werden aber keine 404-Header (not Found) gesendet, weshalb Suchmaschinen keine Rückmeldung erhalten, dass die Seite nicht mehr existiert... Mit der Zeit indizieren die Suchmaschinen dann immer mehr Seiten mit unterschiedlichen URLs, die aber alle den gleichen Inhalt aufweisen (Suche)...
Eine 404-Seite ist nützlich für Suchmaschinenoptimierung und Benutzerfreundlichkeit. Die 404-Seite kann mit Suchfeld oder einer Sitemap o.ä. individuell und benutzerfreundlich gestaltet werden...
Anleitung für JTL-Shop 2.17:
- includes/seocheck.php
header('Location: '.URL_SHOP.'/suche.php?suchausdruck='.$seo);ersetzen durchheader('Location: '.URL_SHOP.'/404.php'); - suche.php öffnen
-
$Suchinhalt = getSuchInhalt(verifyGPDataString('suchausdruck'));ersetzen durchif ($filenotfound) { $Suchinhalt = ""; } else { $Suchinhalt = getSuchInhalt(verifyGPDataString('suchausdruck')); } -
$smarty->display('suche.tpl');ersetzen durch:if ($filenotfound) { $smarty->display('404.tpl'); } else { $smarty->display('suche.tpl'); }
-
- Im Shop-Root eine neue Datei 404.php anlegen:
<? header("HTTP/1.1 404 Not Found"); $filenotfound=true; include("suche.php"); ?> - Im Template-Ordner modi-art-wai eine neue Datei 404.tpl anlegen:
{config_load file="$lang.conf" section="global"} {config_load file="$lang.conf" section="productOverview"} {config_load file="../settings.conf" section="article_list"} {assign var="body_id" value="p_404"} {include file='tpl_inc/global_inc_first.tpl'} <h1>Ooops, diese Seite wurde leider nicht gefunden</h1> <p> Die angeforderte Seite wurde leider nicht gefunden. <br /><br /> Vielen Dank für Ihr Verständnis.<br /> </p> <div id="sitemap"> <div id="shop_pages"> <h2>{if #allShopPages#}{#allShopPages#}{else}Alle Seiten im Shop{/if}</h2> {foreach name=linkgruppen from=$smarty.session.Linkgruppen item=Linkgruppe} <ul class="group" id="group_{getSimpleString text=$Linkgruppe->cName}"> {foreach name=kopflinks from=$Linkgruppe->Links item=Link} {if $Link->URL ne "registrieren.php" || ($Link->URL eq "registrieren.php" && !$smarty.session.Kunde->kKunde)} {assign var="localizedLinkName" value=$Link->cLocalizedName[$smarty.session.cISOSprache]} {assign var="localizedLinkTitle" value=$Link->cLocalizedTitle[$smarty.session.cISOSprache]} <li><a href="{$Link->URL}"{if $localizedLinkTitle} title="{$localizedLinkTitle}"{/if}><span>{$localizedLinkName}</span></a></li> {/if} {/foreach} </ul> {/foreach} </div><!-- /content_pages --> </div> {include file='tpl_inc/global_inc_last.tpl'}
