Warning: Undefined array key "typ" in /srv/vhost/diaridigital.net/home/html/sourcecode/main/articles.php on line 18
Acortar URLs programáticamente
Tiempo de lectura: 1 minutos
Hay URLs que no se pueden manejar bien y tampoco contribuyen a mejorar que se comparta contenido en redes sociales u otros medios. Pero se pueden acortar.
Acortar URLs
Si te has encontrado con una URL que ocupa varias líneas seguro que te ha parecido sospechosa. Las URLs largas tiene algunos inconvenientes como que parezcan no fiables, que no quepan en los campos o en Twitter, que desborden en tu página web o, simplemente, que queden muy feas.
Otra característica de los servicios de acortar URLs es que pueden porveer de información analítica para saber cuándo, qué dispositivo y con qué frecuencia se hace clic en el enlace acortado. Esto permite hacer un seguimiento de las veces que se llega a una Landing Page.
Podemos hacer uso de los servicios de acortamiento de URLs desde las páginas interactivas, pero también hay servicios que ofrecen una API.
API
Forma muy sencilla de acortar una url en php es usando la API de Bitly. Lo primero que tenemos que hacer es crearnos una cuenta en Bitly (https://bitly.com/a/sign_up) para obtener la API key.
Una vez eso ya es tan sencillo como esto:
function shortenUrl($url)
{
$user = "USERNAME";
$apikey = "API KEY";
$url = "http://api.bit.ly/v3/shorten";
$params = "?login=".$user."&apiKey=".$apikey."&uri=".$url."&format=txt";
return file_get_contents($url.$params);
} // ejemplo para la URL de esta entrada del blog
echo shortenUrl('https://photoadict.com/sourcecode
/main/articles.php?typ=articles&art=62');
// imprime: https://bit.ly/3S4ZIHT Más acortadores
Hay otros acortadores interesantes como TinyURL o Hyperlink
Las opciones de Google para acortar urls fueron transferidas a Firebase Dynamic Links (FDL), lo explican en el blog de desarrolladores /transitioning-google-url-shortener
- Firebase Dynamic Links
https://firebase.google.com - Bitly
https://bitly.com - TinyURL
https://tinyurl.com - Hyperlink
https://usehyperlink.com