So definieren Sie die Startseite von Präsenzen

Dieser Artikel beschreibt mögliche Umsetzungen einer Startseite.

Die Startseite einer Domain kann auf unterschiedliche Weise umgesetzt werden. Welche Art der Umsetzung Sie wählen, entscheiden Sie je nach Einsatzzweck bzw. Vorhaben von SEO-Optimierungen individuell pro Projekt. Wir liefern die BASE standardmäßig mit einem Include auf das Projektverzeichnis aus.

Alle Domains müssen dabei auf die DOCUMENT_ROOT (Basisverzeichnis / Heimatverzeichnis) der lizenzierten Domain geschaltet sein!

1) Startseite mit Inklude des Projektverzeichnisses

Weblication® CMS Projekte (BASE) werden aufgrund der Projektstrukturen standardmäßig mit einer obersten /index.php ausgeliefert, die die Projekt-Startseite inkludiert (verfügbar ab CMS-Version 008.004.103.000).

Beispiel: /index.php einer Präsenz über Inklude

<?php

include($_SERVER["DOCUMENT_ROOT"]."/weblication/grid.php");
wRequest::includePage('/de/index.php');

?>
Der Inklude sollte in einer PHP-Datei stattfinden, in der nur dieser Aufruf stattfindet!
Um Duplicate Content (DC) zu vermeiden, sollten Sie über ein Canonical-Tag der Webseite die Originalressource (originale URL) zuweisen.

2) Startseite mit 301-Weiterleitung auf Projekt

Sofern ein Include wie unter Punkt 1 beschrieben nicht gewünscht ist, können Sie die oberste index.php auch so einrichten, daß diese auf das Projektverzeichnis weiterleitet. Diese Weiterleitung kann z.B. über einen HTTP-Header Aufruf mit Status-Code 301 realisiert werden:

Beispiel: /index.php einer Präsenz über 301er-Weiterleitung

<?php

header
("HTTP/1.1 301 Moved Permanently");
header("Location: http://".$_SERVER['HTTP_HOST'].'/de/index.php');

?>

Beispiel: /index.php einer Präsenz über 301er-Weiterleitung (mit dynamischem Setzen des HTTP-Protokoll und auf https)

<?php

header
($_SERVER["SERVER_PROTOCOL"]." 301 Moved Permanently");
header("Location: https://".$_SERVER['HTTP_HOST'].'/de/index.php');

?>

3) Startseite mit Domainabfrage (preg_match)

Bei z.B. mehrsprachigen Projekten können Sie die Startdatei mit einer Domainabfrage versehen. Auf diese Weise können Sie domainabhängig auf das entsprechende (Sprach-)Projekt weiterleiten.

Beispiel 1: /index.php einer Präsenz mit Domainabfrage und Include

<?php

if(preg_match("/domain\.dd/", $_SERVER['HTTP_HOST'])){
include_once(
$_SERVER['DOCUMENT_ROOT'].'/weblication/grid.php');wRequest::includePage('/de/index.php');
}
elseif(
preg_match("/example\.com/", $_SERVER['HTTP_HOST'])){
include_once(
$_SERVER['DOCUMENT_ROOT'].'/weblication/grid.php');wRequest::includePage('/en/index.php');
}
// oder eine Abfrage zu einem Domainnamen mit de oder com Endung
elseif(preg_match("/domain\.de|domain\.com/", $_SERVER['HTTP_HOST'])){
include_once(
$_SERVER['DOCUMENT_ROOT'].'/weblication/grid.php');wRequest::includePage('/en/index.php');
}
// ... weitere elseif-Abfragen, falls erforderlich ...
else{
include_once(
$_SERVER['DOCUMENT_ROOT'].'/weblication/grid.php');wRequest::includePage('/de/index.php');
}

?>
Um Duplicate Content (DC) zu vermeiden, sollten Sie über ein Canonical-Tag der Webseite die Originalressource (originale URL) zuweisen.

Beispiel 2: /index.php einer Präsenz mit Domainabfrage und Redirect

<?php

if(preg_match("/domain\.dd/", $_SERVER['HTTP_HOST'])){
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://".$_SERVER['HTTP_HOST'].'/de/index.php');
}
elseif(
preg_match("/example\.com/", $_SERVER['HTTP_HOST'])){
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://".$_SERVER['HTTP_HOST'].'/en/index.php');
}
// ... weitere elseif-Abfragen, falls erforderlich ...
else{
header("HTTP/1.1 301 Moved Permanently");
header("location: http://".$_SERVER['HTTP_HOST'].'/de/index.php');
}

?>

4) Startseite mit Domainabfrage (stristr)

Beispiel 1: /index.php einer Präsenz mit Domainabfrage (alternativ über stristr) und Include

<?php

if (stristr($_SERVER['HTTP_HOST'], 'domain.dd') !== FALSE) {
include_once(
$_SERVER['DOCUMENT_ROOT'].'/weblication/grid.php');wRequest::includePage('/de/index.php');
}

elseif (
stristr($_SERVER['HTTP_HOST'], 'example.com') !== FALSE) {
include_once(
$_SERVER['DOCUMENT_ROOT'].'/weblication/grid.php');wRequest::includePage('/en/index.php');
}
// ... weitere elseif-Abfragen, falls erforderlich ...
else{
include_once(
$_SERVER['DOCUMENT_ROOT'].'/weblication/grid.php');wRequest::includePage('/de/index.php');
}

?>
Um Duplicate Content (DC) zu vermeiden, sollten Sie über ein Canonical-Tag der Webseite die Originalressource (originale URL) zuweisen.

Beispiel 2: /index.php einer Präsenz mit Domainabfrage (alternativ über stristr) und Redirect

<?php

if (stristr($_SERVER['HTTP_HOST'], 'domain.dd') !== FALSE) {
header("HTTP/1.1 301 Moved Permanently");
header("location: http://".$_SERVER['HTTP_HOST'].'/de/index.php');
}

elseif (
stristr($_SERVER['HTTP_HOST'], 'example.com') !== FALSE) {
header("HTTP/1.1 301 Moved Permanently");
header("location: http://".$_SERVER['HTTP_HOST'].'/en/index.php');
}
// ... weitere elseif-Abfragen, falls erforderlich ...
else{
header("HTTP/1.1 301 Moved Permanently");
header("location: http://".$_SERVER['HTTP_HOST'].'/de/index.php');
}

?>

5) Domainaufruf mit oder ohne www

Wenn Sie Wert auf Suchmaschinenoptimierung (Stichwort: SEO) legen, sollten Sie generell den Aufruf der Webseiten nur über eine URL ermöglichen, um doppelten Inhalten (Duplicate Content) zu vermeiden. Dazu gehört auch der Aufruf einer Domain bzw. Subdomain mit vorangestelltem "www." oder ohne.

Dies kann über allgemeine Techniken (z.B. über mod_rewrite und .htaccess) erfolgen, was im Artikel SEO: Domainaufruf mit oder ohne www umschreiben beschrieben ist.

6) Vorgeschaltete Startseite / Introseite

Die Möglichkeiten einer vorgeschalteten Seite (Einstiegseite, Baustellenseite, Hinweisseite, o.ä.) zeigen wir im Artikel "Startseite, Baustellenseite, Hinweisseite" auf.