SEO y Url amigables

URLs limpias y amigables: cómo funcionan de verdad

Soy Juan Luis Mora, ingeniero informático y consultor SEO freelance. Lo que cuento aquí lo aplico cada día con mis clientes. Más información: consultoría SEO freelance sin permanencia.

La URL de una página tiene un valor parecido al del título: si te curras el title y la meta description, no tiene sentido dejar la URL hecha un desastre. Te explico qué hace que una URL sea «amigable» y cómo funciona por dentro, aunque hoy la mayoría de CMS te lo resuelvan solos.

Qué es una URL amigable

Se le llama amigable porque lo es tanto para los buscadores como para cualquier persona que la lea: si está bien construida, cualquiera puede hacerse una idea de en qué parte de la web está solo mirándola.

Ejemplo con un directorio de empresas:

  • URL no amigable: https://ejemplo.es/empresa.php?empresa=embutidos-la-serena
  • URL amigable: https://ejemplo.es/empresa/embutidos-la-serena

En la limpia no aparecen ni el ? ni el =, ni el nombre del fichero PHP. La variable se convierte en una carpeta y su valor en el nombre de la página.

Cómo funciona por dentro: mod_rewrite

Si usas WordPress, PrestaShop, Shopify o cualquier CMS moderno, esto ya está resuelto: activas los «enlaces permanentes» o el ajuste equivalente y listo. Pero por dentro, en un servidor Apache, sigue siendo el módulo mod_rewrite el que hace el trabajo, y entender esto te sirve si alguna vez tienes que tocar una aplicación a medida o depurar un problema de URLs.

Necesitas cuatro cosas:

  1. Un fichero .htaccess en la raíz del servidor.
  2. El módulo mod_rewrite activado (lo compruebas con un phpinfo()).
  3. Las reglas de reescritura, con expresiones regulares.
  4. Actualizar todos los enlaces internos y el sitemap para que apunten a la URL nueva, no a la vieja.

Ejemplo de regla

Para convertir empresa.php?empresa=valor en empresa/valor:

RewriteRule ^empresa/(.*)$ empresa.php?empresa=$1

Un fichero .htaccess completo, con dos reglas:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^empresa/(.*).html$ empresa.php?empresa=$1
RewriteRule ^categoria/(.*).html$ buscar.php?categoria=$1
</IfModule>

Si nunca has mirado cómo se generan las URLs de tu propio CMS, ahora ya sabes qué hay detrás de esa opción de «enlaces permanentes» que activaste una vez y no has vuelto a tocar.

======================================================================

¿Necesitas ayuda con tu proyecto? Trabajo como consultor SEO, SEM y AEO freelance, sin agencia ni intermediarios, para pymes, tiendas online, multinacionales y empresas SaaS. Algunos de mis servicios: consultor SEO WordPress, cómo preparo un presupuesto SEO, consultor SEO local y SEO para equipos de desarrollo. Escríbeme y lo vemos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *