Habe heute mal in meinen Besucher Statisken geblättert und da ist mir eine Idee gekommen die ich leider so nicht verwirklichen kann :confused: Es ist ja möglich mit Wordpress z.B. anzuzeigen "Sie kommen von Gurgel und haben nach dem begriff XYZ gesucht folgende Themen könnten für Sie interessant sein ABC - DEF usw.
Das möchte ich im Prinzip nicht tracken aber wenn jemand bei Gurgel.de oder com folgendes sucht: site:meinedomain.de und der Nutzer geht dann auf meine Seite möchte ich anzeigen
Lieber Webmaster Kollege schön das Du dich für meine Seite interessierst !! Gerne arbeite ich mit anderen Webmastern zusammen solltest Du Interesse an einer Zusammenarbeit haben wende Dich bitte an webmaster@meinedomain.de
Das soll aber nur angezeigt werden wenn eine Site Abfrage gemacht wird und nicht wenn ein "normaler" Besucher auf die Seite kommt der eben über ein Keyword das er bei Gurgel eingegeben hat auf die Seite kommt.
Kann da jemand helfen ? Bitte :)
Gruß - Joachim
Spezieller Text anzeigen bei Site: Abfrage in Gurgel
-
-
- Gerade eben
- Anzeige
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
- ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
- ✔️ Deutsche Server & DSGVO-konform
- ✔️ Persönlicher Support (kein 0815-Ticket-System)
-
Mein 2.222. Beitrag mit einem Link: WP - Landingsites de (Plugin) - bueltge.de [by:ltge.de]
-
Danke für den 2222 Link :) aber das ist ja genau das was ich sagte mit diesem Plugin wird wenn ein Besucher von einer Suchmaschine kommt immer die relevanten Artikel angezeigt ich möchte aber nur wenn jemand eine Site Abfrage macht das dann der Text kommt und ansonsten nicht.
Habe ich da was überlesen ? So wie ich das sehe geht das mit diesme Plugin nicht, oder etwa doch ?
Gruß - Joachim -
Du meinst so eine Suche?
site:example.org - Google SearchDu prüfst dazu einfach den Referrer $_SERVER['HTTP_REFERER'] auf "google" sowie den "q"-Parameter, und ob dessen Wert ein "site:" enthält. Eine nützliche Funktion dafür:
PHP: parse_str - ManualDu kannst dazu sicher Franks Plugin nutzen, oder du schreibst dir ne eigene kleine Funktion.
-
Genau das meinte ich site:example.org bei Google abfragen ich vertseh nicht wie das mit dem Plugin von Frank gehen soll da wenn ich das aktiviere das auch eingeblendet wird wenn jemand ABC bei Google gesucht hat ich möchte das allerdings nur haben wenn eine Site Abfrage bei Google gemacht wurde.
Das andere was Du da geschrieben hast mit dem PHP Code verstehe ich leider nicht da ich nicht so extrem fit darin bin. -
vertseh nicht wie das mit dem Plugin von Frank gehen soll da wenn ich das aktiviere das auch eingeblendet wird wenn jemand ABC bei Google gesucht hat ich möchte das allerdings nur haben wenn eine Site Abfrage bei Google gemacht wurde.
Dann musst du das Plugin dahingehend ändern. Wie hab ich ansatzweise beschrieben.
Wobei ich aber glaube, dass das Plugin für dich überdimensioniert ist.
ZitatDas andere was Du da geschrieben hast mit dem PHP Code verstehe ich leider nicht da ich nicht so extrem fit darin bin.
Lass dir vielleicht zunächst mal den Referrer ausgeben, dann versuchst du ihn etwas auszuwerten. Sind nur 2-3 String-Funktionen die du darauf loslassen musst, und sollte auch ohne die ungleich komplizierteren regulären Ausdrücke machbar sein. Also ich denke mal, dein ganzes Problem sollte sich mit deutlich weniger als 10 Zeilen Code lösen lassen. probiers aus, ich denke das bekommst du hin. ;-) Wenn nicht, dann poste mal deine bisherigen Versuche und wir schauen mal wo der Fehler steckt. -
Danke für Deine Hilfe aber ich sehe nur Böhmische Dörfer und habe keinen Plan wo ich auch nur Ansatzweise was ändern muß. Naja ist auch nicht wirklich wichtig wäre halt ne nette Spielerei :)
Gruß - Joachim -
An der Stelle an der du es ausgeben möchtest, z.B. header.php, damit es überall sichtbar ist:
PHP
Alles anzeigen<?php if ( !empty( $_SERVER['HTTP_REFERER'] ) ) { $url = parse_url( $_SERVER['HTTP_REFERER'] ); if ( strpos( $url['host'], 'google' ) !== FALSE && !empty( $url['query']) ) { $qs = array(); parse_str( $url['query'], $qs ); if ( !empty( $qs['q'] ) && strpos( $qs['q'], 'site:' ) !== FALSE ) { echo '<p id="google-site-search">Lieber Webmaster Kollege schön das Du dich für meine Seite interessierst !! Gerne arbeite ich mit anderen Webmastern zusammen solltest Du Interesse an einer Zusammenarbeit haben wende Dich bitte an ...</p>'; } } } ?>
Ich habs jetzt nicht getestet, probiers einfach mal aus. Das Ganze kannst du natürlich auch in eine Theme-/Plugin-Funktion auslagern, kein Problem. -
*Freu* Danke für die Hilfe aber wenn ich den Quelltext kopiere in in meinen Header einfüge wird exakt der Quelltext angezeigt und nicht nur der Text mit "Lieber Webmasterkollege...." auch wenn ich die Seite normal aufrufe.
Hast Du da ne Idee was ich da falsch gemacht habe? -
Wie sieht denn jetzt die header.php aus?
-
-
Das mit dem <?php habe ich eben bemerkt und so wie unten abgeändert und jetzt kommt ein Parse Error in Header.php
HTML
Alles anzeigen<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head profile="http://gmpg.org/xfn/11"> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> <title><?php if (is_single() || is_page() || is_archive()) { wp_title('',true); } else { bloginfo('name'); echo(' — '); bloginfo('description'); } ?></title> <meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats --> <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" /> <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/custom.css" type="text/css" media="screen" /> <!--[if lte IE 7]> <link rel="stylesheet" type="text/css" href="<?php bloginfo('template_url'); ?>/ie7.css" media="screen" /> <![endif]--> <!--[if lte IE 6]> <link rel="stylesheet" type="text/css" href="<?php bloginfo('template_url'); ?>/ie6.css" media="screen" /> <![endif]--> <link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" /> <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" /> <?php wp_head(); ?> </head> <body class="custom"> <div id="container"> <div id="masthead"> <h1><a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a></h1> <h3><?php bloginfo('description'); ?></h3> </div> <?php if ( !empty( $_SERVER['HTTP_REFERER'] ) ) { $url = parse_url( $_SERVER['HTTP_REFERER'] ); if ( strpos( $url['host'], 'google' ) !== FALSE && !empty( $url['query']) ) { $qs = array(); parse_str( $url['query'], $qs ); if ( !empty( $qs['q'] ) && strpos( $qs['q'], 'site:' ) !== FALSE ) { echo '<p id="google-site-search">Lieber Webmaster Kollege schön das Du dich für meine Seite interessierst !! Gerne arbeite ich mit anderen Webmastern zusammen solltest Du Interesse an einer Zusammenarbeit haben wende Dich bitte an ...</p>'; } } ?> <div align="center"> </div> -
Da fehlte zur 2. if-Anweisung die schließende geschweifte Klammer, hab ich oben korrigiert.
-
:-D Es funktioniert Tausend Dank :wink: Super Danke schön.
Gruß - Joachim -
Supi. Und was hab ich gesagt? Mit Klammern und Überprüfungen sinds genau 10 Zeilen! :mrgreen:
-
Hi,
ich habe gerade die selbe Umsetzung in einer single.php versucht. Es klappt aber leider nicht - wenn ich über Google komme wird kein Text angezeigt.
Liegt es daran dass in einer Theme Datei arbeite? Das sollte doch keinen Unterschied machen?
Ich habe den Code 1:1 umgesetzt. Wenn er bei euch geht, sollte er das ja auch bei mir?! Hat sich in der WP 2.8.X etwas an der Ref-Erkennung geändert?
EDIT:
Ich habe noch einen anderen "Code-Schnippse (http://codesnippets.joyent.com/posts/show/231)l" gefunden und versucht den etwas umzubauen, aber ich bin mir im unklaren darüber wie ich es sortieren soll.
Aus dem Beispiel habe ich dieses hier zusammen geschnitten:PHP
Alles anzeigen<?php function search_finder($text) { $referer = $_SERVER['HTTP_REFERER']; //Did they get here from a search? if((preg_match('/www\.google.*/i',$referer) && !preg_match('/^http:\/\/www\.google\.com\//i', $referer)) || preg_match('/search\.msn.*/i',$referer) || preg_match('/search\.yahoo.*/i',$referer) || preg_match('/search\.lycos\.com/i', $referer) if($matched) { //Change this message if you like. $message = "<p><strong>It seems you arrived at this page from a search engine.</p>"; } } ?>Aber vermutlich brauche ich den Function Eintrag nicht und der $referer Verweis kann so auch nicht stehen bleiben und muss in die "preg_match" Zeile ans Ende.
-
-
Das war ein Code um Suchtext zu highlighten. Daher wohl der $text.
Den kann ich einfach rauswerfen und rufe dann die Funtkion nur auf? Probier ich aus, danke!
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!