Inicio » Blog » PHP

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

Urls amigables con PHP

Suscríbete a nuestro canal en Youtube

Suscríbirse

Es 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 tipo producto/123, donde 123 es el ID del producto.
    • ^categoria/([a-zA-Z0-9-]+)$: Coincide con URLs del tipo categoria/nombre-categoria.
    • ^contacto$: Coincide con la URL contacto y redirige a contacto.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 7134 veces | 1 usuarios

Descarga del código fuente PHP de Urls amigables con PHP

205 descargas

Para descargar el código crea una cuenta

Crear cuenta

Compartir link del tutorial con tus amigos


MVC PHP y MySql Página Web

USD 10.00

Descarga del código fuente

MVC PHP y MySql Página Web

Más tutoriales de PHP

Codea Applications

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024