löschen

Unter https://angebote.pr-gateway.de sind Landingpages für PR-Gateway untergebracht. die Inhalte der Landingpages sind in Unterverzeichnissen abgelegt.

Das Tutorial erklärt die Struktur des Verzeichnisses, die Spezialfälle und die Erstellung einer konventionellen Landingpage.

Verzeichnisstruktur

Im Hauptverzeichnis liegen

  • .htaccess: Wandelt die ankommende URL um und extrahiert die Angaben für das richtige Zielverzeichnis und ggf. die darin befindliche HTML-Datei
  • favicon.ico: Favicon der Landingpages
  • google[...].html: ID-Datei zur Nutzung von Google-Recaptcha (muss ggf. erneuert werden, wenn die Recaptchas Probleme bereiten)
  • robots.txt
  • sitemap.xml
  • template.html: Liefert das Rahmenlayout für die konventionellen Landingpages
  • template.php: Sorgt dafür, dass die richtigen Inhalte im Template angezeigt werden und zweigt "spezielle" Landingpages ab.

template.php

Um eine konventionelle Landingpage anzulegen, ist keine Änderung der template.php erforderlich.

Um eine spezielle Landingpage zu definieren, die nicht mit dem Template arbeitet, muss diese in der template.php definiert werden. Dort befindet sich ab Zeile 30 dieser Code:

if($folder == "aktuelle-pressemitteilungen" and $ip == "109.91.107.44"){
	$content = $contentSource;
}elseif($folder == "home"){
	require("home/index.php");
}elseif($folder == "quiz"){
	header("Location: http://angebote.pr-gateway.de/quiz/index.php?p=" . $page); //require("quiz/" . $page . "/index.php");
}elseif($folder == "premium-partner"){
	header("Location: https://angebote.pr-gateway.de/premium-partner/index.php"); 
}else{
	$content = file_get_contents($contentSource);

Um eine weitere Landingpage abzuzweigen, muss ein weiteres "elseif"-Statement vor dem "else"-Statement eingefügt werden:

//[...] vorhergehendes Statement
}elseif($folder == "[Name des Ordners, der abgezweigt werden soll]"){
	header("Location: [URL mit Zieldatei, die aufgerufen werden soll]"); 
}
//[...] nachfolgendes Statement

.htaccess

In der .htaccess sollten keine Änderungen vorgenommen werden.

Ausnahme: Es soll eine Landingpage erreichbar / nicht erreichbar gestellt werden.

Ab Zeile 21 sind dort die entsprechenden Einträge vorhanden.

Ein Eintrag, der mit einem Hash (#) beginnt, ist nicht aktiv, d.h. die umleitung wird nicht ausgeführt.

  • Um einen neuen Eintrag hinzuzufügen, eine neue Zeile mit dem Eintrag anlegen
    Redirect [alte URL] [Ziel-URL] 
  • Um einen bestehenden Eintrag zu deaktivieren, vor das Redirect ein Hash setzen #Redirect
  • Ist eine temporäre Aktion beendet, sollte die Landingpage auf nicht erreichbar gestellt werden und das gesamte Verzeichnis in "_archiv" verschoben werden, um die Übersicht zu behalten.

Verzeichnis home

Das Verzeichnis liefert eine Art Startseite für die Landingpages, auf dem auch die weiteren dauerhaften Landingpages verlinkt sein sollten. 

Deaktivierte Landingpages sollten auf /home umgeleitet werden (s. oben).

Um eine Landingpage in das Verzeichnis aufzunehmen, sind folgende Schritte erforderlich:

  • /home/menu.php öffnen und die Seite hinzufügen.
  • /home/sitemap.php öffnen und anmelden (PW im PW-Manager unter allgemeine Zugänge - sonstige Zugänge)

Die Sitemap wird automatisch aktualisiert.

konventionelle Landingpage anlegen

  • Neues Verzeichnis im Wurzelverzeichnis anlegen. Der Name des Verzeichnisses ist der spätere Slug der Landingpage, sollte also dafür geeignet sein. Es sollten nur Kleinbuchstaben a-z, Ziffern von 0-9 und Bindestriche verwendet werden.
  • Im neuen Verzeichnis die Datei "content.html" anlegen. Diese Datei enthält das HTML der Seite, das in das Template eingefügt wird. In dem HTML können die üblichen Bootstrap-Klassen und -Strukturen verwendet werden.
  • Die  Datei "style.css" anlegen. Hier können weitere Klassen zur Gestaltung definiert werden, die nur in dieser Landingpage verwendet werden. Hier können auch Klassen überschrieben werden, die aus dem Hauptstylesheet kommen.
  • (optional) Die Datei "script.js" anlegen, wenn Javascript oder jQuery verwendet werden soll.
  • Weitere Grafik- und HTML-Dateien können eingefügt werden. Soll innerhalb der Landingpage eine weitere Seite aufgerufen werden, wird das HTML dafür analog zur "content.html" angelegt, d.h. es wird nur der Inhalt in diese Datei geschrieben, der ins Template geladen werden soll.

Wie greifen die Dateien aufeinander zu?

  • Grafiken, die im selben Ordner liegen wie die "content.html", werden ohne einen Pfad als src angegeben.
  • Weitere HTML-Dateien werden wie folgt verlinkt: "/[Landingpageverzeichnis]/?folder=[Landingpageverzeichnis]&page=[Dame der Datei ohne ".html"]

Formular mit Antwort

Wird ein Formular eingebunden oder sollen für unterschiedliche Zielgruppen andere ansichten generiert werden, kann das über das Ein- und Ausblenden von HTML-Objekten (z.B. eines <div>...</div>) erfolgen.

  • Ein Objekt soll standardmäßig nicht eingeblendet werden: Klasse "conditional" vergeben
  • Ein Objekt soll ausgeblendet werden: Dem Objekt einen eindeutigen Klassennamen geben und diesen Klassennamen als GET-Parameter "x" in der URL übergeben, z.B. https://angebote.pr-gateway.de/beispiel/?x=versteckt
    Alle Objekte, die die Klasse "versteckt" haben, werden nun nicht mehr eingeblendet.
  • Ein standardmäßig ausgeblendetes Objekt soll eingeblendet werden: Dem Objekt wiederum einen eindeutigen Klassennamen zuweisen und diesen als GET-Parameter "r" übergeben, z.B.: https://angebote.pr-gateway.de/beispiel/?r=versteckt

Variablen im <head>...</head>

In der content.html können diverse Variablen gesetzt werden, die sich auf das HTML der augegebenen Seite auswirken

<!--#title="[Seitentitel]"-->
<!--#description="[META-Description]"-->
<!--#keywords="[META-Keywords]"-->
<!--#s_title="[Titel von Link-Posts in Social Media]"-->
<!--#s_description="[Description von Link-Posts in Social Media]"-->
<!--#s_img="[Bildpfad von Link-Posts in Social Media]"-->
<!--#home="[Homepage - Startverzeichnis der Landingpage]"-->
<!--#bg="[Variante des Hintergrundbildes]"-->
<!--#captcha="[0 = kein Google-Recaptcha einbinden; 1 = einbinden]"-->
<!--#script="[1 = Script-Datei vorhanden]"-->