Las URLs amigables son direcciones web diseñadas para ser fáciles de leer y entender tanto por humanos como por motores de búsqueda. Estas URLs no solo mejoran la experiencia del usuario sino que también pueden influir positivamente en el posicionamiento SEO de un sitio web. En este artículo, exploraremos qué son las URLs amigables, su importancia y cómo configurarlas mediante el archivo .htaccess
en un servidor Apache.
¿Qué son las URLs Amigables?
Una URL amigable es una dirección web que es simple y significativa. En lugar de ver una URL como:
http://www.ejemplo.com/index.php?page=productos&id=15
Una URL amigable se vería así:
http://www.ejemplo.com/productos/15
Importancia de las URLs Amigables
Mejor experiencia de usuario: Son fáciles de leer y recordar.
Mejor SEO: Los motores de búsqueda prefieren URLs claras y descriptivas.
Mayor compartibilidad: Son más fáciles de compartir en redes sociales y otros medios.
Configuración del Archivo .htaccess
El archivo .htaccess
es un archivo de configuración utilizado por servidores web Apache para gestionar diversas directivas, incluida la reescritura de URLs. Para habilitar las URLs amigables, necesitamos utilizar el módulo mod_rewrite
de Apache.
Habilitar mod_rewrite
Primero, asegúrate de que el módulo mod_rewrite
está habilitado en tu servidor Apache. Esto normalmente se hace en la configuración del servidor global, pero si tienes acceso limitado, puedes solicitar a tu proveedor de hosting que lo habilite.
Ejemplos de Configuración
A continuación, se presentan algunos ejemplos de cómo configurar redirecciones en el archivo .htaccess
para transformar URLs tradicionales en URLs amigables.
Ejemplo 1: URL amigable en página de productos
URL Tradicional:
http://www.ejemplo.com/index.php?page=productos&id=15
URL Amigable:
http://www.ejemplo.com/productos/15
Configuración .htaccess para conseguir la url amigable:
RewriteEngine On<br>RewriteRule ^productos/([0-9]+)$ index.php?page=productos&id=$1 [L]
En este ejemplo, la expresión regular ^productos/([0-9]+)$
captura cualquier número ([0-9]+
) después del string productos/
y lo pasa como el parámetro id
a index.php
.
Con [L] detenemos el proceso si se cumple la condición, de esta manera ahorramos recursos.
Ejemplo 2: URL amigable en páginas de Categoría
URL Tradicional:
http://www.ejemplo.com/index.php?page=categoria&nombre=electronica
URL Amigable:
http://www.ejemplo.com/categoria/electronica
Configuración .htaccess:
RewriteEngine On<br>RewriteRule ^categoria/([a-zA-Z0-9_-]+)$ index.php?page=categoria&nombre=$1 [L]
En este caso, la expresión regular ^categoria/([a-zA-Z0-9_-]+)$
captura cualquier cadena alfanumérica, guiones o guiones bajos después de categoria/
y lo pasa como el parámetro nombre
a index.php
.
Ejemplo 3: URL amigable en artículos de un Blog
URL Tradicional:
http://www.ejemplo.com/index.php?page=articulo&id=42&titulo=como-configurar-urls-amigables
URL Amigable:
http://www.ejemplo.com/blog/42/como-configurar-urls-amigables
Configuración .htaccess:
RewriteEngine On<br>RewriteRule ^blog/([0-9]+)/([a-zA-Z0-9_-]+)$ index.php?page=articulo&id=$1&titulo=$2 [L]
Aquí, la expresión regular ^blog/([0-9]+)/([a-zA-Z0-9_-]+)$
captura el número (id
) y el texto (titulo
) después de blog/
, y los pasa como parámetros a index.php
.
Ejemplo 4: Archivo PHP y .htaccess parar probar
Los archivos deben ponerse dentro de una carpeta urlamigable, en el directorio raíz de nuestro servidor web:
micategoria.php
<?php //ejemplo de recepción de parámetro de la URL $param = $_GET['id']; echo "recibo el id $param";
.htacess
RewriteEngine on RewriteRule ^micategoria/(.*)$ /urlamigable/micategoria.php?id=$1 [L]
otra forma de .htaccess
RewriteEngine on RewriteRule ^micategoria/(.*)$ micategoria.php?id=$1 [L]
Como hemos visto, configurar URLs amigables mediante el archivo .htaccess
no solo mejora la usabilidad y el SEO de tu sitio web, sino que también hace que tus URLs sean más limpias y profesionales.
Utilizando el módulo mod_rewrite
de Apache, puedes redirigir fácilmente las URLs tradicionales a formatos más amigables y significativos. Con los ejemplos proporcionados, deberías estar bien encaminado para implementar tus propias URLs amigables y mejorar la estructura de tu sitio web.