Cómo consumir la API de indexación de Google para reindexar URLs

Author
Por Darío Rivera
Publicado el en SEO

Google ofrece una API de reindexación que permite a los desarrolladores solicitar a Google que indexe sus sitios web. Esto puede ser útil cuando se realizan cambios significativos en el sitio y se desea que los cambios se reflejen rápidamente en los resultados de búsqueda de Google. En este artículo, se describirán los pasos necesarios para consumir la API de reindexación de Google.

Requisitos para consumir la API

Antes de empezar a consumir la API necesitaremos o siguiente:

- Un proyecto en la Consola de Google Cloud
- Habilitar la API de Google Search console
- Crear una Cuenta de Servicio
- Crer un par de claves para la Cuenta de Servicio
- Verificar la Propiedad de tu sitio
- Otorgar el estado de propietario a tu cuenta de servicio

Creación de un proyecto en la consola de Google Cloud

Lo primero que debes hacer es crear un proyecto de Google Cloud. Si ya tienes un proyecto, puedes saltar este paso. Puedes verificar si ya tienes un proyecto en

- Ve a la Consola de Google Cloud.
- En la barra de navegación superior, selecciona el proyecto actual y haz clic en "Crear proyecto".
- Ingresa un nombre para el proyecto y haz clic en "Crear".

Habilitar la API de Google Search console

Una vez que hayas creado el proyecto de Google Cloud, debes habilitar la API de Google Search Console. Esta API te permitirá solicitar la reindexación de tu sitio web.

- En la Consola de Google Cloud, selecciona el proyecto que acabas de crear.
- Haz clic en "Navegador de APIs y servicios".
- Haz clic en "Habilitar APIs y servicios".
- Busca "Google Search Console API" y selecciónala.
- Haz clic en "Habilitar".

Crear una Cuenta de Servicio

Una cuenta de servicio es necesaria para autenticarte con la API de Google Search Console. Puedes crear una cuenta de servicio siguiendo estos pasos:

- En la Consola de Google Cloud, selecciona el proyecto sobe el cual eseas crear la cuenta de servicio.
- Haz clic en "Navegador de APIs y servicios".
- Haz clic en "Cuentas de servicio"

También puedes entrar directamente a Cuentas de Servicio y seleccionar el proyecto en el control de selección del nivel superior de la página o en las tarjetas de selección del contenido.

Listado de cuentas de servicio en la consola de Google Cloud

- Haz clic en "Crear cuenta de servicio".
- En "Detalles de la Cuenta de Servicio" ingresa un nombre y una descripción para la cuenta de servicio y haz clic en "Crear y Continuar".
- En "Otorga a esta cuenta de servicio acceso a proyecto" debes asignar el rol "Propietario" o "Editor" y dar clic en "Continuar".

Selección del rol para otorgar permisos a la cuenta de servicio al proyecto

- Para terminar das click en "Listo"

Crear una par de Claves para la Cuenta de Servicio

En este paso deberás crear un par de llaves como manera de autenticarte ante la API de google y poder generar posteriormente el token que después utilizarás para utilizar cada recurso.

- En la sección de Cuentas de Servicio selecciona el proyecto en cuestión.
- En la cuenta de servicio creada haz clic en los tres puntos para desplegar el menú y selecciona "Administrar Claves".

Opción para administrar claves en una cuenta de servicio de google search console

- Una vez en la pantalla de administración de la cuenta de servicio haz clic en "Agregar Clave" y selecciona la opcion "Crear Clave Nueva".
- Aparecerá un modal para seleccionar entre los formatos JSON y P12. Debes seleccionar JSON. Guarda muy bien el archivo generado ya que solo se generará una vez.

Verificar la Propiedad de tu sitio

Verificar la propiedad del sitio no debería ser un problema si tienes acceso al servidor en donde se aloja la página o puedes editar el HTML para agregar alguna etiqueta que Google te solicite. Este tópico no está contemplado en el presente artículo pero puedes seguir el siguiente enlace:

Verificar que eres el propietario de un sitio web

Otorgar el estado de propietario a tu cuenta de servicio

- Abre la Central para webmasters.
- Haz clic en la propiedad que verificaste como propia.
- En la lista Propietario verificado, haz clic en la opción para agregar un propietario.
- Proporciona el correo electrónico de la cuenta de servicio como propietario delegado. Puedes encontrarlo en dos lugares:
* El campo client_email de la clave privada de JSON que descargaste cuando creaste el proyecto
* La columna ID de cuenta de servicio de la vista cuentas de servicio de Developers Console

La dirección de correo electrónico tiene un formato como el siguiente:
my-service-account@project-name.google.com.iam.gserviceaccount.com
.



Consumir el API

Una vez se tiene toda la configuración y herramientas necesarias consumir la API es relativamente sencillo. Dependiendo del lenguaje de Programación que utilices deberás utilizar una u otra librería. Es altamente recomendable utilizar una de estas librerías ya que el código necesario para conectarse utilizando las llaves privadas puede ser algo complejo y todos estos casos de uso ya han sido abordados por las librerías de Google.

Básicamente las librerías de Google de cada lenguaje te ayudarán a autenticarte obteniendo el Auth Token que necesitas para consumir los servicios. En este artículo mostraremos un ejemplo de cómo conectarse y consumir la API con PHP.

Instalación de la librería de autenticación

Para instalar la librería de autenticación de Google puedes utilizar composer.

composer require google/apiclient

Uso de la librería de autenticación

En cualquier parte que lo utilices si tienes cargado el autoloader de composer podrás usar la librería.

$client = new Google_Client();

// service_account_file.json is the private key that you created for your service account.
$client->setAuthConfig('service_account_file.json');
$client->addScope('https://www.googleapis.com/auth/indexing');

// Get a Guzzle HTTP Client
$httpClient = $client->authorize();
$endpoint = 'https://indexing.googleapis.com/v3/urlNotifications:publish';

// Define contents here. The structure of the content is described in the next step.
$content = '{
  "url": "http://example.com/article/how-to-xxx",
  "type": "URL_UPDATED"
}';

$response = $httpClient->post($endpoint, [ 'body' => $content ]);
$status_code = $response->getStatusCode();

En donde:

service_account_file.json

Es el archivo que generaste cuando creaste el par de llaves.

http://example.com/article/how-to-xxx

Es la URL de tu sitio que ha sido actualizada y necesita reindexarse.


Acerca de Darío Rivera

Author

Application Architect at Elentra Corp . Quality developer and passionate learner with 10+ years of experience in web technologies. Creator of EasyHttp , an standard way to consume HTTP Clients.

LinkedIn Twitter Instagram

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.