PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Weiterleitung auf Basis eines Google-Keywords (https://www.php-resource.de/forum/php-developer-forum/99027-weiterleitung-auf-basis-eines-google-keywords.html)

django 08-03-2010 16:10

Weiterleitung auf Basis eines Google-Keywords
 
Hallo liebe PHP-Resource Gemeinde!

ich bin neu hier - Servus allerseits ;)

Mein Anliegen/Problem:

Ich suche seit ungefähr zwei Wochen eine Möglichkeit, meinen SEM Traffic mittels des bei Google eingegebenen Keywords auf die passende Seite weiterzuleiten (Landingpage).

Erklärung (Beispiel):
Wenn man z.B. bei Google nach "Esprit Mode" sucht, soll der Besucher nach Klick auf meiner Adwords-Kampagne (die Werbung bei Google) auf die passende Landingpage mit Esprit Mode weitergeleitet werden. Leider kann ich bei Google-AdWords nicht direkt auf "Esprit Mode" eine SEM-Kampagen buchen, da Esprit ein Branding ist, was für SEM nicht freigegeben wurde. Ebenso C&A, s.Oliver, Guess usw...
Aber: Ich darf auf das Keyword "Mode" eine Kampagne Buchen und alle Schreibweisen aktivieren, also "Esprit Mode" oder "Pimkie Mode" oder auch "Tolle Mode".

Ich habe selber schon gesucht und bin zu diesem Ergebnis gekommen:

Der Referer ist: http://www.google.de/#hl=de&q=esprit...f5fb6826b31914

PHP-Code:

<?php
// referer auslesen
$referer strtolower($_SERVER['HTTP_REFERER']);
// pruefen ob der referer google ist
if (strpos($referer,"google")) {
    
// keyword filtern, hier alles vor q= loeschen
    
$x substr($refererstrpos($referer,"q="));        
    
// q= loeschen
    
$x substr($x,2);
    
// alles andere loeschen
    
if (strpos($x,"&")) {
        
$x substr($x0,strpos($x,"&"));
    }    
    
// und das ergebnis
    
$googlekeyword urldecode($x);
}
?>

Jetzt habe ich in der Variable $googlekeyword "esprit mode" stehen.

Jetzt habe ich vor, die übergebenen Keywords mit meinen Vorgaben zu vergleichen, also wenn im Keyword der Begriff "Esprit" vorkommt, dann soll die PHP-Landingpage auf www.adresse.de/esprit-mode weiterleiten und wenn keine Vorgabe definiert wurde, soll auf die Hauptseite geleitet werden.

Ich hoffe hier kann mir jemand weiterhelfen - es wäre toll wenn das Script so einfach wie nur möglich gehalten werden kann.

Danke fürs lesen und natürlich danke für die Hilfe!

onemorenerd 08-03-2010 16:48

PHP-Code:

$myKeywords = array(
    
'esprit mode' => 'esprit-mode',
    
// weitere Keyword-Landingpage-Kombinationen
);
if (isset(
$myKeywords[$googlekeyword])) {
    
header('Location: http://example.com/'$myKeywords[$googlekeyword]);
} else {
    
header('Location: http://example.com/');
}
exit; 


django 09-03-2010 00:35

Hallo onemorenerd,

vielen Dank für deine sehr schnelle Hilfe!

Dein Code hat mich mit meiner Lösung um Weiten nach vorne katapultiert, allerdings gibt es da jetzt noch ein klitzekleines Problem.

Ich möchte in meinem Fall prüfen, ob ein Teil der übergebenen Variabel wahr ist, und dann eine Weiterleitung erzeugen.

Erklärung:
Es gibt beim Beispiel von esprit unzählige Schreibweisen (groß, klein, keywordposition) wie zum Beispiel: ESPRIT Mode, Esprit Mode, Mode von Esprit, Mode esprit, tolle Mode von Esprit, uvm.

Ich kann allerdings nicht für jeden Modeanbieter alle 10 oder gar 20 mögliche Schreibweisen in den array schreiben.

Gibt es nicht eine Möglichkeit, dass der Inhalt der von Google übergebenen Variable $googlekeyword mit dem array (in diesem Fall "esprit")verglichen wird und wenn der Wert vorhanden ist, erfolgt eine Weiterleitung? Ich habe das gerade mit der array_key_exists Funktion versucht aber leider ohne Erfolg.

AmicaNoctis 09-03-2010 00:39

Hallo nochmal,

hast du nicht die Markennamen irgendwo in der DB? Da kannst du doch gleich seitens SQL mit LIKE vergleichen.

Gruß,

Amica

onemorenerd 09-03-2010 00:58

PHP-Code:

$myKeywords = array(
    
'esprit' => 'esprit-mode',
    
// weitere Keyword-Landingpage-Kombinationen
);
foreach (
$myKeywords as $keyword => $page) {
    if (
strpos($googlekeyword$keyword) !== false) {
        
header('Location: http://example.com/'$page);
        exit;
    }
}

header('Location: http://example.com/');
exit; 


AmicaNoctis 09-03-2010 01:00

... und wegen der Groß-Klein-Schreibweisen stripos statt strpos.


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:37 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG