Custom Search Google API para PHP (paso a paso)

Custom Search Google Api es un servicio que nos presta Google, para obtener resultados de una búsqueda.
Uno de sus usos es para obtener un control de nuestras palabras clave en nuestras páginas web.

Te enseño paso a paso como usar la Custom Search Google API.
Necesitas un Apikey, un MotorId, y un poco de paciencia si nunca lo has hecho.
Con los datos obtenidos y algún pequeño programa o script, pódrás tener tu propia estadística del posicionamiento de tus keywords.
Y al final de todo te regalo una aplicación propia escrita para PHP.

La intención de la “Custom search google API” es la de obtener de forma automática el ranking de “keywords” o nuestras palabras clave.

Requisitos para usar la custom search google Api

  • Una cuenta en Google Master Tools
  • Crear o disponer de un Proyecto (Cloud resource manager)
  • Añadir a nuestro proyecto el servicio “Custom Search”
  • Añadir al proyecto por lo menos un ApiKey
  • Disponer de un Id de motor de búsquedas

Todos estos pasos requieren un pequeño esfuerzo de comprensión o sencillamente seguir los pasos que voy a indicar.
No requiere la contratación de ningún servicio de pago.

Creamos un proyecto en el cloud resource manager

Vamos a https://console.developers.google.com/cloud-resource-manager

Esto es la administración de proyectos.
Verás algo así:
Custom Search Google Api - google cloud resource manager

Es la lista de proyectos, que es como la agrupación de apis y servicios, con configuraciones, permisos y demás.
Si no tenemos ninguno, necesitamos crear uno.

Damos de alta el servicio Custom Search

Ahora vamos al panel de control de Apis de Google
https://console.developers.google.com/apis/dashboard

Veremos lo siguiente:
Custom Search Google Api - google custom search api

Yo ya tengo ahí una Api creada.
Primero tenemos que seleccionar el proyecto que hemos creado, donde he pintado el rectángulo rojo.
En teoría, si hemos creado nuestro primer proyecto, ya debería aparece seleccionado.

Pulsamos en Habilitar Apis y Servicios. Y seleccionamos el “Custom Search Api”
Custom Search Google Api - google habilitar apis y servicios

Hecho esto, aparecerá en la lista como tengo yo en mi panel de control.

Creamos el ApiKey

Hacemos click en Credenciales, y en la vista de credenciales clicamos en Crear.
Es un proceso sumamente corto y básico, simplemente introducimos un nombre y se crea la clave de ApiKey.
Podemos crear varias, pero esto no supone poder usar varias veces la limitación del servicio Custom Search.

Custom Search Google Api - google credenciales apikeys

Cada Apikey contiene una configuración y reglas para estar protegido de usos maliciosos de otros usuarios.
Los triángulos amarillos que salen en el screenshot, me indica precisamente eso, que mis Apis keys no tienen restricciones.
Donde pone “Clave”, copiamos su valor, este será nuestro ApiKey

Obtener el Id de motor de búsqueda

Vamos a https://cse.google.es/cse/all

Botón añadir, y nos pedirá un nombre.
En el dialogo de crear motor de búsqueda, pocas opciones que tocar.
Curiosamente ya creado el registro, al editar sí vemos varias opciones.
Custom Search Google Api - google crear cse

Debemos habilitar “Busqueda de imágenes” si tenemos pensado usar el google search images.
Cuidado con la opción “Sitios en los que buscar”, porque por el valor por defecto es “Buscar sólo en sitios incluidos”, y eso supone un filtro donde descarta todos los sitios que no son tuyos.
Esta edición es obligatoria, porque además de cambiar cosas y guardar cambios, picaremos al botón “Id de motor de búsqueda”
Hacemos click en “Id de motor de búsqueda” y copiamos su valor, este será nuestro motor id (cx)

Al final tendremos una vista tal que así:
Custom Search Google Api - google cse

Probando el custom search google api

Estando en la última pantalla, escribimos en la url
https://cse.google.es/cse/publicurl?cx=
(Después del igual ponemos nuestra CX)
Google nos dejará en manos de un simulador de búsqueda.
Veremos que en la misma hay un paginador hasta la página 10 (que es el límite de la api).
Y los resultados de esas búsquedas, serán los resultados que nos de la API.
Podremos comprobar que difiere bastante con nuestro navegador local, porque él está condicionado por cookies y la geolocalización y algunos datos sobre nuestro perfil.

Algunos peros

¿Te ha gustado el meneito?
Pues todo esto del Custom Search Google Api es para poder hacer sólo 100 consultas diarias.
Y más limitado todavía, porque cada consulta está limitada a 10 filas, 10×10 = 100
Osea, que no podemos coger la consulta de una keyword del tirón, si no que la limitación también se nos da paginada.
Así que, si queremos ver la posición de 3 palabras claves, en un rango de 3 páginas:
3 páginas * 10 filas = 30 consultas para una keyword
Para obtener esto en 3 keywords, ya se nos van 90 consultas…
Solución, entre comillas, hacer el seguimiento de cada palabra limitándonos a la primera página, o las 2 primeras, tendremos algo más de chancha.
Al fin y al cabo, que nos importa la posición 100.
Hay un dicho popular muy bueno, que dice… “El mejor lugar para esconder un cadaver, es la 2ª página de Google”

Juntamos las piezas y hacemos la prueba

Probamos la consulta con los datos del Custom Search Google Api!!!!
Ahora con los 2 valores que hemos copiado, ya podemos hacer las consultas.

https://www.googleapis.com/customsearch/v1q=<span style="color: #ff0000;">KEYWORD</span>&amp;key=<span style="color: #ff0000;">APIKEY</span>&amp;cx=<span style="color: #ff0000;">MOTORID</span>&amp;gl=<span style="color: #ff0000;">ES</span>&amp;start=<span style="color: #ff0000;">START</span>&amp;fields=items

Los rojos son los valores que debemos cambiar nosotros.
El KEYWORD es la palabra o frase de búsqueda.
El APIKEY y MOTORID es lo que dije en rojo que debemos copiar, lo ponemos aquí.
El START es a partir de que fila pedimos la búsqueda.
El fields=items lo pongo yo para que la estructura de datos sea más apropiado para ser procesado en la programación.

Si probamos esto tal cual en el navegador, con los valores apropiados, nos dará una pantalla con datos, que corresponde a lo que el buscador recoge en su consulta.

Para el Google images la url es exactamente igual, pero añadimos “searchType=image”

Paginación de los resultados

La variable START, en principio son los valores de la paginación, en lugar de ser un valor de página, es un valor de registro.. 0, 10, 20, y así consecutivamente de 10 en 10. (puestos que las páginas son de 10 filas)
Esto es así en teoría, pero he visto que no siempre es así, a veces es más, a veces menos, el menos parece que lo hacen por el espacio que ocupan los anuncios.
Si creamos una aplicación o script, deberíamos de contabilizar las urls obtenidas, y a partir de ahí calcular este valor de paso.

Te ofrezco una pequeña aplicación para nuestro keywords ranks

Te ofrezco una pequeña aplicación para hacer nuestro propio seguimiento de nuestras palabras clave.
Espero que te guste.

Mi aplicación para el seguimiento de mis keywords

Sobre nosotros Pedro Reina

Más de 12 años de experiencia en programación PHP+Mysql+Html. Webmaster aprendiendo SEO. Entusiasta de la informática y la electrónica, pequeño emprendedor y fabricante de ideas.

Deja un comentario