modern seo
Escribe slugs de URL limpios y legibles
MetricSpot revisa el slug por longitud, separadores y si lee como palabras reales. Los slugs limpios (/guia-seo) baten a los IDs (/page?id=123) en clics e indexación.
Qué comprueba esta auditoría
Parsea la URL de la página auditada e inspecciona el último segmento del path (el “slug”). La comprobación falla cuando el slug es:
- Un ID numérico o hasheado —
/posts/47391,/p?id=a8f3e2b0. - Demasiado largo — más de 60 caracteres.
- Rellenado con guiones bajos en vez de guiones —
/guia_seo_para_2026_completa. - Mayormente stop words —
/cual-es-la-mejor-manera-de-hacer-x. - Todo mayúsculas o mixed case —
/SEO-Guide,/seoGuide. - Contiene espacios o caracteres especiales —
/SEO Guide.html,/SEO%20Guide.
Por qué importa
Los slugs limpios no son solo estéticos: afectan al click-through, al ranking y a la shareability de forma medible.
- Click-through. Los estudios encuentran consistentemente que las URLs descriptivas en los resultados reciben un 10–30 % más de clics que los IDs. El slug aparece junto al title en cada SERP: forma parte de tu titular.
- Señal de ranking. Google ha confirmado que el slug es un factor de ranking (menor). Las palabras del slug que coinciden con la consulta del usuario salen en negrita, igual que en title y description.
- Shareability. Una URL que alguien puede leer es una URL que puede recordar y contarle a un colega.
metricspot.com/docs/activar-hsts/es compartible;metricspot.com/docs/?id=42891no. - Extracción por IA. ChatGPT, Perplexity y Google AI Overviews citan slugs en sus referencias. Un slug limpio lee como una fuente real; un ID lee como algo generado por máquina.
Cómo solucionarlo
Usa slugs en minúsculas, separados por guiones, ricos en palabras clave y por debajo de ~60 caracteres.
Bien:
/docs/activar-hsts/
/blog/como-funciona-https/
/precios/
/productos/auriculares-inalambricos-pro/
Mal:
/docs/47391/ (ID, sin sentido)
/Docs/Activar_HSTS/ (mayúsculas, guiones bajos)
/la-guia-completa-de-2026-para-activar-hsts-en-tu-sitio-paso-a-paso/ (demasiado largo)
/docs/?id=hsts&v=2&from=blog (query params para URLs de contenido)
Reglas.
- Guiones, no guiones bajos. Google trata los guiones como límites de palabra; los guiones bajos no.
activar-hstsmatchea con “activar HSTS”;activar_hstsse lee como una palabra pegada. - Minúsculas. Algunos servidores tratan
/Docs/Activar-HSTS/como una URL distinta de/docs/activar-hsts/: contenido duplicado, señales divididas. Fuerza todo a minúsculas en la capa de redirecciones. - Quita stop words con criterio.
/como-funciona-https/está bien./la-mejor-manera-de-activar-https-en-nginx-rapido/parece SEO de 2012. - Sin extensiones de archivo.
/about.html,/post.php. Quítalas; redirige las URLs antiguas con extensión a la versión limpia. - URLs estables. Una vez que un slug se publica y se indexa, cambiarlo te cuesta backlinks. Elige bien a la primera. Si tienes que cambiar uno, pon una redirección 301 desde el antiguo.
WordPress — Settings → Permalinks → “Post name” te da slugs limpios por defecto. Por cada post, edita el campo slug en el meta-box de URL antes de publicar. Si cambias un slug ya publicado, instala Redirection para que la URL antigua haga 301 automáticamente.
Astro — el routing por archivos hace los slugs explícitos. Nombra src/pages/docs/activar-hsts.astro y obtienes /docs/activar-hsts/. Hecho.
Next.js — el App Router usa los nombres de carpetas como segmentos. app/docs/activar-hsts/page.tsx → /docs/activar-hsts/. Para rutas dinámicas, genera slugs en tiempo de build desde una fuente de contenido:
// app/blog/[slug]/page.tsx
export async function generateStaticParams() {
const posts = await getPosts();
return posts.map(post => ({ slug: post.slug }));
}
Genera slugs programáticamente:
function slugify(title: string): string {
return title
.toLowerCase()
.normalize("NFD").replace(/[̀-ͯ]/g, "") // quitar acentos
.replace(/[^a-z0-9\s-]/g, "") // descartar puntuación
.trim()
.replace(/\s+/g, "-") // espacios → guiones
.replace(/-+/g, "-") // colapsar guiones repetidos
.slice(0, 60); // limitar longitud
}
slugify("Activar HSTS en nginx & Apache");
// → "activar-hsts-en-nginx-apache"
No cambies slugs publicados. Si te toca (migración de dominio, rebrand), pon una redirección 301 del antiguo al nuevo y añádela a tu sitemap. Mira Mantén cortas las cadenas de redirecciones para que los 301 colapsen en un solo salto.
Preguntas frecuentes
¿Incluyo la fecha en los slugs de los posts del blog?
Opcional. /blog/2026/05/activar-hsts/ hace que el contenido evergreen parezca antiguo cuando un usuario lo clica tres años después. /blog/activar-hsts/ no. Si escribes mucho contenido de actualidad, las fechas ayudan; para guías evergreen, quítalas.
¿Y los slugs en idiomas distintos del inglés?
Para páginas que apuntan a un idioma concreto, usa las palabras de ese idioma. /es/docs/activar-hsts/ posiciona mejor en búsqueda en español que /es/docs/enable-hsts/. Quita los acentos (activar, no activación): Google sigue haciendo match y los caracteres acentuados se rompen en algunos clientes.
¿El slug debe coincidir exactamente con el title?
No: cerca, no idéntico. El title es una frase completa con stop words y puntuación; el slug es el núcleo denso en palabras clave. Title: “Cómo activar HSTS en nginx y Apache (con ejemplos de código)”. Slug: /activar-hsts/ o /activar-hsts-en-nginx-apache/.
Fuentes
Última actualización 2026-05-11