Cómo crear un acortador de URLs en PHP 8.2 (forma moderna y sencilla)

- 👤 Andrés Cruz

Cómo crear un acortador de URLs en PHP 8.2 (forma moderna y sencilla)

Durante años utilicé servicios como adf.ly y shorte.st para acortar enlaces desde PHP. En su momento eran una solución rápida: ofrecían APIs, monetización y bastaba con hacer una petición HTTP usando cURL para obtener una URL corta. Sin embargo, con el paso del tiempo, estas plataformas han quedado obsoletas o directamente han dejado de ser una opción fiable.

Hoy en día, si trabajas con PHP 8.2, la mejor alternativa es crear tu propio acortador de URLs, algo mucho más sencillo de lo que parece y totalmente bajo tu control.

En este artículo te explico cómo hacerlo paso a paso, de forma moderna y sin depender de terceros.

Por qué los acortadores clásicos ya no son una buena opción

Qué ofrecían servicios como adf.ly y shorte.st

En mis artículos antiguos explicaba cómo:

  • Registrarse en la plataforma.
  • Obtener un token de API.
  • Enviar una petición HTTP con cURL.
  • Recibir una URL corta lista para compartir.

Era práctico, y además prometía ingresos extra por publicidad. De hecho, bastaba con una función PHP bien armada para automatizar el proceso.

Problemas actuales: APIs caídas y falta de control

Con el tiempo empecé a notar varios problemas claros:

  • APIs que cambian o desaparecen sin previo aviso.
  • URLs llenas de publicidad agresiva.
  • Pérdida total de control sobre los enlaces.
  • Riesgos de seguridad y mala experiencia de usuario.

Por eso hoy recomiendo otra aproximación: un acortador propio, simple y estable.

Qué necesitamos hoy para crear un acortador de enlaces en PHP

PHP 8.2 y un servidor web

No necesitas frameworks ni librerías externas. Con:

  • PHP 8.2
  • Apache o Nginx
  • Acceso a .htaccess o a un archivo PHP frontal

es más que suficiente.

Concepto básico: generar un código corto y redirigir

Un acortador no es más que esto:

  1. Asignar un código corto a una URL larga.
  2. Cuando alguien accede a ese código, hacer un redirect 301 a la URL original.

Nada de APIs externas, nada de cURL innecesario.

Estructura básica de un acortador de URLs moderno

Cómo funciona un redirect 301 en PHP

El corazón del sistema es una redirección HTTP:

header("Location: https://ejemplo.com", true, 301); exit;

Esto le dice al navegador (y a Google) que el contenido se ha movido de forma permanente, algo clave si vienes de artículos antiguos.

Dónde guardar las URLs

Para un ejemplo sencillo puedes usar:

  • Un array en PHP.
  • Un archivo JSON.
  • Una base de datos (si el proyecto crece).

Aquí vamos a empezar por lo más simple.

Ejemplo práctico: acortador de URLs sencillo en PHP 8.2

Generando el enlace corto

Supongamos que tienes este array de enlaces:

$links = [
    'php82' => 'https://www.php.net/releases/8.2/en.php',
    'old-shorte' => '/articulos/acortar-enlaces-con-shorte-st',
    'old-adfly' => '/articulos/acortar-enlaces-con-adfly'
];

El valor php82 sería tu URL corta: https://tusitio.com/php82

Redirigiendo correctamente al destino

En tu index.php principal:

<?php
declare(strict_types=1);

$links = [
    'php82' => 'https://www.php.net/releases/8.2/en.php',
    'old-shorte' => '/articulos/acortar-enlaces-con-shorte-st',
    'old-adfly' => '/articulos/acortar-enlaces-con-adfly'
];

$code = trim($_SERVER['REQUEST_URI'], '/');

if (isset($links[$code])) {
    header("Location: {$links[$code]}", true, 301);
    exit;
}

http_response_code(404);
echo 'Enlace no encontrado';

Este enfoque es:

  • Claro
  • Compatible con PHP 8.2
  • Fácil de mantener
  • Mucho más rápido que depender de APIs externas

Acepto recibir anuncios de interes sobre este Blog.

Crea tu propio acortador de enlaces en PHP 8.2 con redirects 301, sin APIs externas y optimizado para SEO.

| 👤 Andrés Cruz