Hoy vamos a aprender cómo podemos crear un acortador de enlaces para nuestro back con un simple script PHP.

Vamos a crear nuestro acortador, podemos llamarlo link.php
<?php
// Cabecera
header("Access-Control-Allow-Origin: *");
date_default_timezone_set("Europe/Madrid");
//Anti Bots
if (preg_match('/bot|crawl|spider|preview/i', $userAgent)) {
// No registrar bots
header("Location: $target", true, 302);
exit;
}
// Recoger slug
$slug = $_GET['slug'] ?? null;
$url= $_GET['url'] ?? null;
$links = [
'custom_link_1' => 'https://www.google.es',
'custom_link_2' => 'https://www.yahoo.com',
'url' => urldecode($url)
];
if (!$slug || !isset($links[$slug])) {
http_response_code(404);
echo "Enlace no encontrado";
exit;
}
$target = $links[$slug];
// Datos básicos del clic
$referer = $_SERVER['HTTP_REFERER'] ?? 'Directo';
$userAgent = $_SERVER['HTTP_USER_AGENT'] ?? 'Desconocido';
$ip = $_SERVER['REMOTE_ADDR'] ?? '0.0.0.0';
$timestamp = date('Y-m-d H:i:s');
// Registrar clic (modo simple: archivo log)
$log = sprintf("[%s] %s | %s | %s | %s\n", $timestamp, $slug, $ip, $referer, $userAgent);
file_put_contents('clicks.log', $log, FILE_APPEND);
// Redirigir al destino
header("Location: $target", true, 302);
exit;
Con esto lo que haremos es lo siguiente:
- Podemos crear links acortados (custom_link_1, custom_link_2).
- Podemos filtrar los links que van dentro de url.
- Guardar en logs los accesos al link.
- Filtrar si le pulsan bots.
Para utilizarlo:
https://tudominio.com/link?tag=custom_link_1 https://tudominio.com/link?tag=url&url=https://custom_url.com

Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.