Hay veces que para algunas funcionalidades, o para personalizar más las páginas en función de los intereses de los lectores, nos interesa recoger en el código de la página la palabra clave que han escrito en el buscador y que les ha llevado a nuestra web o blog.
Si estamos usando wordpress, haciendo uso del Php, que es el lenguaje con el que están programadas las páginas en esa plataforma, podremos recoger esas palabras e incluso mostrarlas mediante un mensaje en nuestra página.
Un ejemplo de un posible uso de esta técnica es el que he habilitado en mi blog para mostrar un contenido extra en caso de que los usuarios vengan de Google buscando una serie de palabras que he definido. Por ejemplo si buscan las palabras «dinero facil» en google, y pulsan en el resultado que se refiere a mi blog, al entrar verás que te sale lo siguiente:
donde vereis en azul la palabra que han escrito en el buscador.
Esto te puede abrir un abanico de posibilidades en cuanto a la interacción que puedes tener con tus lectores, asi como podrá permitirte el personalizar algunos de los contenidos en función de lo que realmente están buscando en tu página, como es el caso del ejemplo que os he mostrado que he aplicado en mi página.
Como sé de qué keyword han llegado a mi blog desde google?
Para ello tendremos que hacer un par de pasos.
Parto de la suposición de que sabeis moveros un poco entre el código php de wordpress. Sino fuera asi y tuvierais alguna duda, podeis preguntar e intentaré ayudaros.
Lo primero que tendrás que hacer es crear un archivo nuevo que llamarás keywords_class.php (puedes llamarlo como quieras, pero asi lo pongo para el ejemplo).
En él copiarás el siguiente código:
<?php
class keywords
{
private $referer;
private $_e;
public $keywords;
public function __construct()
{
if($_SERVER['HTTP_REFERER'])
{
if(preg_match("#.google|search.yahoo|.bing#", $_SERVER['HTTP_REFERER']))
{
$this->referer = urldecode($_SERVER['HTTP_REFERER']);
}
else
{
return;
}
}
else
{
return;
}
}
private function getSeparators()
{
$this->_e = (preg_match("#?q=|?p=#", $this->referer)) ? "?" : "&";
}
public function getKeywords()
{
if(!empty($this->referer))
{
$this->getSeparators();
if(preg_match("#.google#", $this->referer))
{
$m_ = preg_match("#{$this->_e}q=(.+?)&#si", $this->referer, $this->keywords);
if($m_ == 0)
{
return false;
}
}
//yahoo
elseif(preg_match("#search.yahoo#", $this->referer))
{
$m_ = preg_match("#{$this->_e}p=(.+?)&#si", $this->referer, $this->keywords);
if($m_ == 0)
{
return false;
}
}
//bing
elseif(preg_match("#.bing#", $this->referer))
{
$m_ = preg_match("#{$this->_e}q=(.+?)&#si", $this->referer, $this->keywords);
if($m_ == 0)
{
return false;
}
}
else
{
return false;
}
return $this->keywords[1];
}
else
{
return false;
}
}
}
?>
Ese archivo lo guardas y lo subes por ftp a tu servidor en el mismo directorio donde esté el archivo index.php de la carpeta de tu theme actual. Otra opción podría ser guardarlo en otro sitio para luego hacer referencia a él desde cualquier otro theme que puedas usar. Esto es elección de cada uno.
Después lo que tendrás que hacer para mostrar la palabra clave por la que han encontrado tu web desde el buscador será escribir lo siguiente en el sitio dentro del código donde quieras que aparezca.
<?php
require_once('keywords_class.php');
$keywordsObj = new keywords();
$keys = $keywordsObj->getKeywords();
if($keys)
print $keys;
?>
De esa forma podréis capturar las palabras por las que han llegado a vuestra página.
¿ Habéis usado esta técnica alguna vez para algo? Agradecería un comentario donde nos lo cuentes!
Fuente: CodeProject
Esta entrada tiene 14 comentarios
Pingback:
Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
Capturar las palabras clave de los buscadores
Pingback:
Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
Tweets that mention Capturar las palabras clave de los buscadores -- Topsy.com
Pingback:
Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
SEO Web
Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
pintor economico 06/03/2010
gracias por la informacion, me viene muy bien
Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
SEO Marketing 06/25/2010
También es muy interesante, una vez hemos visto cómo acceden a nuestra página, contrastar qué búsquedas dejan dinero y cuáles, aunque se reciban muchas visitas, no dejan nada. Esto te puede orientar si lo que buscas es aumentar tus ingresos. Si usas AdSense, Google Analytics tiene una nueva función que te permite combinar toda la información de Analytics con tus propios ingresos de AdSense, y si sabes interpretar todos estos datos, te aseguro que mejorarás tu rendimiento.
Enhorabuena por tu blog, muy interesante! Saludossss!
Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
Javier Elices 06/25/2010
Tienes toda la razón. Sabiendo interpretar los resultados que ves en Google Analytics sobre Adsense puedes mejorar tus ganancias dando una mayor visibilidad a las páginas que ves que te están generando más ingresos. Muchas gracias por tu comentario y espero verte por aquí de nuevo. Un saludo!
Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
crystyta 11/04/2010
Hola que tal? verás soy un poco novata en esto y el segundo códgigo que pones no sé donde tengo que ponerlo. ¿Podrias decirme donde? Es que intente pegarlo en un widget de texto pero no funcionó. ¿Supongo que debo pegarlo en el fichero php que he subido anteriormente por ftp? pero ¿como visualizo despues las palabras clave?
Gracias de antemano
Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
Javier Elices 11/04/2010
Hola Crystyta, el código tienes que pegarlo donde quieres que aparezca la palabra desde la que han llegado del buscador. Este código se trata de un código php, por tanto en principio no se puede poner en ningún widget. Si tu blog lo tienes en wordpress, existe un plugin que te permite insertar php en los widgets, así que con ese podrías hacerlo. Este widget se llama «Executable PHP widget». Las palabras se visualizarán gracias a la línea que ves que pone «print $keys;» .
Si no entiendes bien, o no consigues hacerlo pregúntame otra vez y te ayudaré! Un saludo y gracias por comentar!
Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
crystyta 11/04/2010
hola
instalé el plugin y metí el codigo en un widget y me aparece en el widget esto: getKeywords(); if($keys) print $keys; ?> No sé si es lo que debe aparecer o que.
Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
Javier Elices 11/04/2010
Si te aparece eso es que no te está interpretando el código php ya que te está poniendo directamente el código y no los valores que este debería devolver. Para que veas un ejemplo de lo que debería poner, vete a google y pon las palabras «dinero facil» . Donde veas en los resultados este blog, pulsa sobre él para entrar. Verás una parte nueva en la que pone «Si has llegado a esta página buscando las palabras: dinero facil , te recomiendo… » . Ahí está capturando la palabra «dinero facil» que es la palabra desde la que has encontrado este blog buscando en google. Por tanto eso es lo que te debería salir. Un saludo.
Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
crystyta 11/04/2010
Ok pues entonces yo creo que es fallo del widget o fallo del plugin.
Olvidemonos del plugin. Dime donde podria pegar el el segundo codigo php a ver si así sale.
saludos
Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
Javier Elices 11/04/2010
Pues puedes ponerlo por ejemplo en el archivo index.php y te aparecerá en la pantalla principal de tu blog. Ponlo al final del fichero (antes del simbolo «?>» ) y verás como te sale en la parte de abajo del blog, justo arriba del pie de página (footer).Luego ya lo moverías a la parte que quisieras que apareciera(si quieres te puedo ayudar con eso también) Si quieres que aparezca solo en la página de los artículos, y no en la principal, puedes ponerlo en single.php . Suerte y ya nos cuentas! Un saludo.
Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
crystyta 11/04/2010
Verás. Mi archivo index.php demi theme muestra el siguiente código:
<?php
get_header();
if (have_posts())
{
while (have_posts())
{
art_post();
}
art_page_navi();
} else {
art_post_box(
__('Not Found', 'kubrick'),
'’ . __(‘Sorry, but you are looking for something that isn’t here.’, ‘kubrick’) . »
. «rn» . art_get_search());
}
get_footer();
¿Dónde crees tú que debería pegarlo? Me he sorprendido de que venga tan poco código.
Gracias por tu grandísima ayudaaaaa
Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
Javier Elices 11/05/2010
Hola Crystyta, te he escrito un mail para responderte y seguir ayudándote por ahí! un saludo!