02/03/2021
PHP: Enviando URLs con API de Bing

Primero voy a explicar brevemente lo que significa la API de envío de URL que provee Microsoft como parte de las herramientas de trabajo disponibles para los programadores web y webmaster.
La API de envío de URL de Bing nos permite de manera rápida y fácil enviar las URLs de nuestro sitio web para notificar al buscador cada vez que creamos un nuevo contenido o actualizamos algún otro. Esta utilidad permite de manera eficiente que el rastreo, la indexación y el descubrimiento del contenido sea constante sin tener que esperar que bingbot rastree nuestro sitio web.
Puede encontrar más información al respecto a través de la API de envío de contenido y URL de Bing.
Nota: Si este recurso te ha servido de ayuda recuerda que puedes apoyar mi trabajo realizando una contribución voluntaria a través de mi perfil de usuario de la página y/o puedes enviar tus comentarios a través del sistema de contacto.
Comenzar a enviar URLs a Bing desde PHP
Si aún no lo hemos hecho, lo primero que debemos hacer es configurar nuestra cuenta de Bing Webmaster Tools para posteriormente comenzar a enviar nuestras URLs a través de la API de Bing.Pasos para usar la API de Bing
Crear una cuenta de Microsoft o iniciar sesión con una cuenta de Microsoft, Google o Facebook si ya la posee a través de Bing Webmaster Tools.
Una vez iniciado sesión en Bing Webmaster Tools deberá agregar su sitio web y verificar su propiedad siguiendo uno de los métodos ofrecidos para ello, bien sea manualmente o importando los datos desde Google Search Console. Solo debe seguir los lineamiento ofrecidos por Bing.
Ahora vaya a la configuración de la cuenta ingresando a través de Configuración -> Acceso API/Administrar credenciales -> Clave de API. Copie la clave y guárdela en un lugar seguro si lo desea (tendrá que usarla) pero no la comparta con nadie más.
Debe adjuntar la clave API a la siguiente URL de Bing
La URL de Bing a donde se realiza la petición POST es:
https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=MiClaveAPI
NOTA: Bing no informa si una URL se agregó o no correctamente a la lista de direcciones enviadas mediante la API. Pero de haber un error en la URL de Bing que describimos arriba, entonces la función PHP informará de un error.
Recurso PHP que permitirá el envío de las URLs
Una vez que tenemos nuestra cuenta de Bing Webmaster Tools bien configurada, procedemos a poner en práctica la siguiente función creada en PHP para enviar las URLs de nuestro sitio web al motor de búsqueda de Microsoft.
Para comprender el código es necesario conocer lo siguiente:
- Se requieren conocimientos básicos de HTML y php.
- El código implementado fue probado en la versión 7.3 o superior de php y un entorno de prueba de Apache
- La función php ha sido nombra como «send_urls_bing_API»
Para hacer uso de la función PHP debe tener instalado el módulo «curl». Puede verificar la versión actual del módulo escribiendo curl --version a través del terminal de su distribución de Linux; para Ubuntu o Debian ejecutar el comando sudo apt-get install php7.3-curl (dependiendo de la versión de php que tenga en su entorno, ej: php5.3-curl, php7.3-curl, php8.2-curl, etc).
<?php
/**
* Función PHP para enviar URLs a Bing con API
* @function send_urls_bing_API
* @resume cURL se requiere instalar módulo "curl" para PHP, ej: "sudo apt-get install php7.3-curl"
* En su distribución linux para verificar la versión actual de curl escriba en el terminal: "curl --version"
* @param $url
* @return JSON $response
*/
function send_urls_bing_API( $url ) {
// La "apikey" requerida no se debe compartir con nadie
// En su cuenta de Webmaster Tools de Microsoft Bing encontrará la "apikey" de la propiedad del dominio
// Ingrese en Configuración -> Acceso API/Administrar credenciales -> Clave de API
// La clave de API es un identificador único que se usa para autenticar solicitudes de la API.
// Copie la clave y adjúntelo en el parámetro (?apikey=) de la variable $urlBing
// Reemplace "sampleapikeyEDECC1EA4AE341CC8B6" por su clave de API
$urlBing = 'https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=sampleapikeyEDECC1EA4AE341CC8B6';
// Reemplace el valor de "siteUrl" por el dominio de la propiedad
$json = '{
"siteUrl" : "https://example.com",
"urlList" : ["'.$url.'"]
}';
// Crear un nuevo recurso cURL
$ch = curl_init( $urlBing );
// Añadir la cadena del objeto JSON a los campos POST de la solicitud
curl_setopt( $ch, CURLOPT_POSTFIELDS, $json );
// Especifique el tipo de contenido del encabezado a application/json
curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Content-Type:application/json' ) );
// Devolver el resultado de la transferencia como string en lugar de mostrarlo directamente.
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
// Ejecuta la solicitud POST
$result = curl_exec( $ch );
// Cierra el recurso cURL
curl_close( $ch );
// Recibir una respuesta tras la solicitud POST
$response = json_decode( $result );
// Objeto JSON de respuesta de Bing
/*
{
"d":null
}
*/
return ( isset( $response ) && $response->{'d'} === null )
? '{"Response":"true"}'
: '{"Response":"false"}';
}
?>
/**
* Función PHP para enviar URLs a Bing con API
* @function send_urls_bing_API
* @resume cURL se requiere instalar módulo "curl" para PHP, ej: "sudo apt-get install php7.3-curl"
* En su distribución linux para verificar la versión actual de curl escriba en el terminal: "curl --version"
* @param $url
* @return JSON $response
*/
function send_urls_bing_API( $url ) {
// La "apikey" requerida no se debe compartir con nadie
// En su cuenta de Webmaster Tools de Microsoft Bing encontrará la "apikey" de la propiedad del dominio
// Ingrese en Configuración -> Acceso API/Administrar credenciales -> Clave de API
// La clave de API es un identificador único que se usa para autenticar solicitudes de la API.
// Copie la clave y adjúntelo en el parámetro (?apikey=) de la variable $urlBing
// Reemplace "sampleapikeyEDECC1EA4AE341CC8B6" por su clave de API
$urlBing = 'https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=sampleapikeyEDECC1EA4AE341CC8B6';
// Reemplace el valor de "siteUrl" por el dominio de la propiedad
$json = '{
"siteUrl" : "https://example.com",
"urlList" : ["'.$url.'"]
}';
// Crear un nuevo recurso cURL
$ch = curl_init( $urlBing );
// Añadir la cadena del objeto JSON a los campos POST de la solicitud
curl_setopt( $ch, CURLOPT_POSTFIELDS, $json );
// Especifique el tipo de contenido del encabezado a application/json
curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Content-Type:application/json' ) );
// Devolver el resultado de la transferencia como string en lugar de mostrarlo directamente.
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
// Ejecuta la solicitud POST
$result = curl_exec( $ch );
// Cierra el recurso cURL
curl_close( $ch );
// Recibir una respuesta tras la solicitud POST
$response = json_decode( $result );
// Objeto JSON de respuesta de Bing
/*
{
"d":null
}
*/
return ( isset( $response ) && $response->{'d'} === null )
? '{"Response":"true"}'
: '{"Response":"false"}';
}
?>
Trabajando con el recurso PHP
// Invocando la función "send_urls_bing_API"
echo send_urls_bing_API( $_REQUEST('url') );
echo send_urls_bing_API( $_REQUEST('url') );
Respuesta de la petición
Si el resultado es satisfactorio la función imprime {"Response":"true"}, en caso contrario imprimirá {"Response":"false"}.
Consulta Lo+ Top de Lenguajes De Programación