Quitar extensiones en la URL
¿Se pueden quitar las extensiones de URL por una cuestión estética? ¿Afectan a SEO?

- Autor:
-
Carlos Sánchez
- Fecha de publicación:
- 2022-03-20
- Última revisión:
- 2026-03-02
¿Afectan las extensiones de mi URL en el SEO
Algo que se ve muy habitual en webs como prestashop que arroja .php o webs por defecto hechas en Astro que se ven con el .html,
Esta es una de las preguntas que más me hacen en consultorías y en los office hours. Y tiene sentido: cuando ves URLs como ejemplo.com/contacto.php o ejemplo.com/servicios.html, parece que estás viendo una web de los años 2000. ¿Penaliza Google esto? ¿Deberías invertir tiempo en cambiarlo?
La respuesta corta: no afecta al posicionamiento, solo a la imagen de marca.
Pero como siempre en SEO, hay matices. Vamos a verlo en detalle.
Lo que dice Google oficialmente
John Mueller, el portavoz más visible de Google en temas de Search, ha respondido a esta pregunta tantas veces que Barry Schwartz (Search Engine Roundtable) dice que ha perdido la cuenta.
La confirmación más reciente es de octubre de 2025, cuando Mueller respondió en Reddit:
"Doesn't matter. Also, no extension is fine. (The whole thing is historical, very few people host with static files nowadays.)"
Y en un vídeo oficial de Google Search Central de 2017 (que sigue siendo válido):
"Whether your URLs end with .html, .php, .asp, or just have words in them, doesn't really matter to Google. All of these URLs can show up in search in the same way."
Esto significa que estas URLs son equivalentes para Google:
ejemplo.com/contactoejemplo.com/contacto.htmlejemplo.com/contacto.phpejemplo.com/contacto.asp
¿Por qué entonces la gente quiere quitarlas?
Si no afecta al SEO, ¿por qué tantos clientes me preguntan por esto? Por varias razones legítimas:
Imagen de marca
Una URL como tuempresa.com/servicios transmite modernidad y limpieza. Una URL como tuempresa.com/servicios.asp puede transmitir (injustamente) que la web está desactualizada o que la empresa no invierte en tecnología.
URLs más cortas y memorizables
Sin extensión, las URLs son más fáciles de dictar por teléfono, escribir en tarjetas de visita o recordar. Cada carácter cuenta.
Flexibilidad tecnológica
Si cambias de tecnología (de PHP a Node.js, por ejemplo), tus URLs no delatan qué hay detrás. Esto es más una cuestión de arquitectura que de SEO.
Consistencia
Muchos CMS modernos como WordPress ya generan URLs sin extensión por defecto. Si tienes una web híbrida con algunas páginas .html y otras sin extensión, puede quedar inconsistente.
¿Cuándo NO deberías hacer el cambio?
Aquí viene lo importante. Mueller también advierte:
"If you need to change your URLs [...] keep in mind that this change would be a restructuring of your website. You would need to redirect the old URLs to the new ones. This kind of change can take quite a bit of time to be reprocessed."
Es decir, quitar las extensiones implica:
- Redirecciones 301 de todas las URLs antiguas a las nuevas.
- Tiempo de reprocesamiento por parte de Google (semanas o meses).
- Posible pérdida temporal de tráfico mientras Google entiende el cambio.
- Riesgo de errores si las redirecciones no están bien configuradas.
Mi recomendación: si tu web lleva años funcionando bien con extensiones .php o .html, y no tienes una razón de peso (rebranding, cambio de tecnología), déjalo como está. El coste-beneficio no compensa.
¿Cuándo SÍ tiene sentido hacer el cambio?
Hay escenarios donde sí vale la pena:
- Web nueva: Si estás empezando de cero, configura las URLs sin extensión desde el principio.
- Migración de CMS: Si vas a cambiar de tecnología de todas formas, aprovecha para limpiar las URLs.
- Rebranding completo: Si vas a cambiar dominio o hacer una reestructuración grande, incluye esto en el paquete.
- Pocas URLs: Si tienes 20 páginas, el riesgo es bajo. Si tienes 20.000, piénsalo dos veces.
Cómo quitar extensiones de archivo correctamente
Si decides hacer el cambio, aquí tienes las configuraciones. Importante: prueba siempre en un entorno de prueba antes de tocar producción.
En Apache (htaccess)
Para quitar la extensión .php:
RewriteEngine On
# Redirige URLs con .php a sin extensión (301)
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=301,L]
# Internamente sirve el archivo .php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]
Para .html, cambia las referencias de .php por .html.
Si quieres manejar múltiples extensiones a la vez:
RewriteEngine On
# Redirige .php y .html a URLs limpias
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.(php|html) [NC]
RewriteRule ^ %1 [R=301,L]
# Primero intenta .php, luego .html
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html [L]
En NGINX
En NGINX la configuración es diferente y, como siempre, depende un poco de tu setup específico:
server {
index index.html index.php;
# Redirige URLs con extensión a URLs limpias
location ~ ^(.+)\.(php|html)$ {
return 301 $1;
}
# Intenta servir archivo, directorio, o con extensión
location / {
try_files $uri $uri/ $uri.html $uri.php?$query_string;
}
# Procesa PHP (ajusta según tu configuración de PHP-FPM)
location ~ \.php$ {
internal;
fastcgi_pass unix:/var/run/php/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Verificar que las redirecciones funcionan
Después de implementar, verifica:
- Que
/pagina.phpredirige 301 a/pagina - Que
/paginadevuelve 200 y muestra el contenido correcto - Que no hay bucles de redirección
- Que los enlaces internos siguen funcionando
Puedes usar las herramientas de desarrollador del navegador o curl para verificar los códigos de respuesta.
El único caso donde la extensión SÍ puede afectar
Mueller mencionó una excepción interesante:
"The only SEO effect I can think of is accidental file extensions that confuse things. Eg a web page that ends in '.gif' probably will have trouble being picked up for web-search."
Es decir, si por algún error de configuración tu página PHP tiene extensión .gif o .jpg, Google podría confundirse y tratarla como imagen en lugar de página web. Es un caso extremo, pero ilustra que la coherencia importa.
Lo que SÍ importa en las URLs
Ya que estamos hablando de URLs, aprovecho para recordar qué factores sí tienen impacto real en SEO:
- HTTPS: Es factor de ranking confirmado. Si aún usas HTTP, eso sí es urgente.
- Estructura lógica: URLs como
/categoria/subcategoria/productoayudan a Google a entender tu arquitectura. - Keywords en la URL: Incluir la palabra clave principal ayuda (sin pasarse).
- Guiones vs guiones bajos: Google recomienda guiones (-) porque los interpreta como espacios.
- Longitud: URLs cortas y descriptivas funcionan mejor que URLs de 200 caracteres.
- Evitar parámetros innecesarios:
?id=123&cat=456complica el crawling.
Para profundizar en todos estos aspectos, tengo un artículo completo sobre sintaxis de URLs y su impacto en SEO.
Resumen
- Las extensiones .php, .html, .asp no afectan al ranking.
- Quitarlas es una cuestión de imagen de marca y preferencia, no de SEO.
- Si decides quitarlas, implementa redirecciones 301 y espera tiempo de reprocesamiento.
- En webs establecidas con buen tráfico, el riesgo puede no compensar.
- En webs nuevas, configura URLs limpias desde el principio.
Fuentes
- Google's John Mueller Says File Extensions in URLs Do Not Matter - SEJ
- Google Reconfirms: URL Extensions Still Don't Matter for SEO (2025)
- When File Extensions Can Confuse Google Search - Search Engine Roundtable
- URL Structure Best Practices - Google Search Central
- URLs en el SEO
- Apache y htaccess para SEO
Te falta mi máster. Accede a una formación avanzada que te permitirá aplicar e implementar SEO en cualquier tipo de WEB
¡Accede al Máster de SEO Técnico!