2010-02-13 13 views
13

Saludos,¿Cómo determinar el usuario de reenvío de consultas de búsqueda a mi sitio web?

Estoy tratando de averiguar qué consulta se está utilizando para reenviar personas a mi sitio web. Apreciaría que alguien pudiera decirme qué API debo buscar. Estoy seguro de que esto es posible tanto con javascript como con ruby ​​y php, por lo que cualquier tecnología está bien.

sólo por el bien de aprendizaje no me importa lo que sé que debería usar para los tres :)

Respuesta

26

Después de haber trabajado con los motores de búsqueda durante más de 5 años, puedo decir que no hay una forma estándar de recuperar el valor de la consulta.

Como ya le han dicho otras respuestas, el primer paso es inspeccionar el encabezado HTTP_REFERER. Suponiendo que está utilizando rieles, se puede obtener de la solicitud

request.referrer 

De lo contrario, es necesario extraerlo de las cabeceras de solicitud en una otra manera.

Una vez que tenga la URL de referencia, entonces usted está frente a 3 posibilidades principales:

  1. variable está vacía. Lo sentimos, no se puede hacer nada
  2. variable no está vacía, es un motor de búsqueda
  3. variable no está vacío, no es un motor de búsqueda

La primera opción es simple. Lo que quieres saber es si el referente es un motor de búsqueda. Si es así, entonces necesita extraer la consulta.

La forma más común de hacerlo es usando una lista de verificación. La lista de verificación suele ser una lista de clave/valor donde la clave es el dominio del motor de búsqueda y el valor del nombre del parámetro de cadena de consulta que contiene el valor de la consulta.

google.com,q 
yahoo.com,p 
... 

Este es el mismo enfoque utilizado por Google Analytics.Desde el archivo ga.js

g.T=l("daum:q,eniro:search_word,naver:query,images.google:q,google:q,yahoo:p,msn:q,bing:q,aol:query,aol:encquery,lycos:query,ask:q,altavista:q,netscape:query,cnn:query,about:terms,mamma:query,alltheweb:q,voila:rdata,virgilio:qs,live:q,baidu:wd,alice:qs,yandex:text,najdi:q,aol:q,mama:query,seznam:q,search:q,wp:szukaj,onet:qt,szukacz:q,yam:k,pchome:q,kvasir:q,sesam:q,ozu:q,terra:query,mynet:q,ekolay:q,rambler:words"); 

primer host coincide tanto clave y el valor, primero gana.

1

Trate Google Analytics. Le dará los motores de búsqueda, los términos de búsqueda y los sitios de referencia con mucho detalle.

+0

que ya utilizan paquetes de Estadísticas. Desea incorporar una mejor experiencia de uso basada en aquello para lo que están allí. – Steve

6

Compruebe el encabezado de solicitud HTTP Referer de sus visitantes ($_SERVER['HTTP_REFERER'] en PHP). En el 90% de los casos, esto le dará la página de donde proviene su visitante. Si se trata de una página de motor de búsqueda, debe decodificar la cadena de consulta del refereador y analizar los datos (tenga en cuenta que el formato de la cadena de consulta puede cambiar).

Es más trabajo que Google Analytics, y el simple ejemplo que brindé no le proporciona tantos datos; pero podría hacerse si no está cómodo con Google haciendo la recopilación de datos por usted.

3

En Ruby, puede obtener la URL de referencia haciendo

request.referrer 

La solicitud params están disponibles en sus vistas y controladores. Si desea ver otras opciones disponibles en request continuación, sólo tiene que añadir

<%= request.inspect %> 

en uno de sus puntos de vista y acceder a la página de verlos.

Cuestiones relacionadas