21 octubre, 2024
Urls amigables con PHP
Las urls amigables o friendly URL son direcciones web fáciles de recordar para el usuario que visita un sitio, se usa para optimizar el posicionamiento web. Las URLs amigables son fundamentales para mejorar la experiencia del usuario y optimizar el SEO de un sitio web

Suscríbete a nuestro canal en Youtube
SuscríbirseEs habitual encontrarnos en Internet noticias sobre posicionamiento web donde se habla de la importancia del uso de URLs amigables (o friendly URL), un término muy utilizado pero que a muchos les puede sonar extraño.
- Crean direcciones sencillas de recordar y con información descriptiva del contenido para los visitantes.
- Muestran la estructura del sitio. Por ejemplo http://www.miempresaweb.com/tecnologia/computadoras
- Suelen tratarse de direcciones relativamente cortas que pueden ser transmitidas de forma verbal o por teléfono sin dar a equívocos.
- Fáciles de escribir, ya que este tipo de direcciones están formadas por palabras comunes, dejando de lado otros signos como interrogaciones, signo del igual…
- Evitan los espacios en blanco en los nombres de archivos y carpetas. Por ejemplo, un nombre de archivo como “caracteristicas del hotel.html” crearía una URL como “caracteristicas%20del%20hotel.html”, cuando mediante el uso de url amigables podríamos obtener una url sin espacios en blanco como “caracteristicas-del-hotel.html”.
- Al estar formadas con palabras claves, los buscadores pueden llegar a interpretarlas y determinar su contenido, favoreciendo su posicionamiento.
- Oculta la forma en la que está programada la página web además de no mostrar los parámetros que les llegan. Esto impedirá mostrar información a posibles hackers que intenten entrar en nuestra web.
- Ofrece un aspecto más limpio y profesional, ayudando a mejora la estética del portal
Configurar el Archivo htaccess
Comenzaremos creando o editando el archivo htaccess
en el directorio raíz de nuestra aplicación web. Este archivo le indica al servidor cómo manejar las URLs.
Aquí tienes un ejemplo básico de configuración para reescribir URLs:
apache
RewriteEngine On
# Redirigir URLs amigables
RewriteRule ^producto/([0-9]+)$ producto.php?id=$1 [L,QSA]
RewriteRule ^categoria/([a-zA-Z0-9-]+)$ categoria.php?nombre=$1 [L,QSA]
RewriteRule ^contacto$ contacto.php [L,QSA]
Explicación de las Reglas
RewriteEngine On
: Activa el motor de reescritura.RewriteRule
: Define las reglas de reescritura para las URLs amigables:^producto/([0-9]+)$
: Coincide con URLs del tipoproducto/123
, donde123
es el ID del producto.^categoria/([a-zA-Z0-9-]+)$
: Coincide con URLs del tipocategoria/nombre-categoria
.^contacto$
: Coincide con la URLcontacto
y redirige acontacto.php
.
Crear la Función para Generar Slugs
Ahora, implementaremos la función url_amigables
que convertirá cadenas en slugs amigables para las URLs.
php
function url_amigables($string) {
// Convertir a minúsculas
$string = strtolower($string);
// Definir un array de caracteres especiales y sus reemplazos
$reemplazos = [
'á' => 'a', 'é' => 'e', 'í' => 'i', 'ó' => 'o', 'ú' => 'u',
'ñ' => 'n', 'ü' => 'u', // Puedes añadir más si es necesario
'Á' => 'a', 'É' => 'e', 'Í' => 'i', 'Ó' => 'o', 'Ú' => 'u',
'Ñ' => 'n', 'Ü' => 'u'
];
// Reemplazar caracteres especiales
$string = strtr($string, $reemplazos);
// Eliminar caracteres no alfanuméricos y reemplazar espacios con guiones
$string = preg_replace('~[^a-z0-9]+~', '-', $string);
$string = trim($string, '-'); // Eliminar guiones al principio y al final
return $string;
}
// Ejemplo de uso
$cadena = "Hola, ¿cómo estás? ¡Bienvenido a la programación en PHP!";
$slug = url_amigables($cadena);
echo $slug; // Salida: hola-como-estas-bienvenido-a-la-programacion-en-php
Ejemplo de Uso de la Función
Puedes utilizar la función url_amigables
para generar slugs a partir de títulos de publicaciones o categorías. Por ejemplo:
php
$titulo = "Aprender PHP y Laravel: Guía Completa";
$slug = url_amigables($titulo);
echo $slug; // Salida: aprender-php-y-laravel-guia-completa
Implementar en Archivos PHP
Con las URLs amigables y los slugs generados, puedes crear los archivos PHP que manejarán las solicitudes.
producto.php
php
<?php
$id = $_GET['id'];
echo "Mostrando detalles del producto con ID: " . htmlspecialchars($id);
?>
categoria.php
php
<?php
$nombre = $_GET['nombre'];
echo "Mostrando productos de la categoría: " . htmlspecialchars($nombre);
?>
contacto.php
php
<?php
echo "Página de contacto";
?>
Probar las URLs Amigables
Ahora, puedes probar tus URLs amigables en el navegador:
http://tu-dominio.com/producto/123
mostrará los detalles del producto con ID 123.http://tu-dominio.com/categoria/electrodomesticos
mostrará los productos de la categoría "electrodomesticos".http://tu-dominio.com/contacto
mostrará la página de contacto.
Ventajas de Usar URLs Amigables y Slugs
- Mejora el SEO: Las URLs limpias y descriptivas son más amigables para los motores de búsqueda.
- Facilita la Navegación: Los usuarios pueden entender mejor el contenido de una página solo con mirar la URL.
- Aumenta la Confianza del Usuario: URLs claras pueden aumentar la confianza del usuario en tu sitio.
Leido 9941 veces | 3 usuarios
Descarga del código fuente PHP de Urls amigables con PHP
Accede al código fuente esencial de nuestra aplicación en formato ZIP ó TXT. Ideal para desarrolladores que desean personalizar o integrar nuestra solución.
Opciones de descarga
- Usuarios Registrados: Inicia sesión para descarga inmediata.
- Nuevos Usuarios: Regístrate y descarga.