Cómo configurar el archivo .htaccess de PrestaShop para SEO
¿Por qué es tan importante el archivo .htaccess en PrestaShop?
Piensa en el archivo .htaccess como el directorio de tráfico de tu tienda online. Es un archivo de configuración que le dice a tu servidor web (Apache) cómo manejar las solicitudes de los visitantes. Para el SEO PrestaShop, este archivo es una pieza fundamental, ya que controla tres aspectos clave: las URLs amigables de PrestaShop, las redirecciones 301 y la cache de navegación.
Sin un .htaccess bien configurado, tu tienda podría tener problemas de páginas duplicadas, URLs largas y confusas, o incluso errores 404 que dañan tu posicionamiento en Google. Pero no te preocupes, porque en esta guía te voy a explicar, paso a paso y sin tecnicismos, cómo configurarlo para sacarle el máximo partido a tu tienda.
¿Qué es exactamente el archivo .htaccess de PrestaShop?
El archivo .htaccess es un archivo de texto oculto que se encuentra en la raíz de tu instalación de PrestaShop. Su nombre empieza con un punto, por lo que en muchos administradores de archivos no se ve a simple vista. Este archivo contiene un conjunto de directivas (reglas) que se aplican a todo tu sitio web.
En el contexto de SEO PrestaShop, este archivo es tu mejor aliado. Gracias a él, PrestaShop puede transformar URLs feas como http://tutienda.com/index.php?id_product=12 en URLs limpias y descriptivas como http://tutienda.com/zapatillas-de-running. Esto es lo que se conoce como URLs amigables PrestaShop, y es un factor crucial para mejorar la experiencia del usuario y el posicionamiento en buscadores.
Primer paso: Activar las URLs amigables en PrestaShop
Antes de tocar el archivo .htaccess manualmente, PrestaShop tiene una opción en su panel de administración que genera este archivo automáticamente. Te recomiendo que empieces por aquí, ya que es la forma más segura y sencilla.
Cómo activar la opción en el Back Office
- Accede a tu panel de administración de PrestaShop.
- Ve al menú "Configuración de la tienda" → "Tráfico y SEO".
- En la pestaña "SEO y URLs", busca la opción "URLs amigables".
- Activa la opción "Sí" (si no está activada).
- Haz clic en el botón "Guardar".
Al guardar, PrestaShop generará automáticamente un archivo .htaccess con las reglas básicas para las URLs amigables. En la parte superior de esa misma página, verás un botón que dice "Guardar y regenerar el archivo .htaccess". Es recomendable que hagas clic en él después de cualquier cambio en la configuración de URLs.
¿Qué hacer si no se genera el archivo?
A veces, por permisos del servidor o configuraciones especiales, PrestaShop no puede escribir el archivo automáticamente. Si ves un mensaje de error, no te preocupes. Tienes dos opciones:
- Opción A: Crear un archivo en blanco llamado
.htaccessen la raíz de tu tienda (donde están las carpetasadmin,config,img, etc.) y darle permisos de escritura (por ejemplo, 644). Luego, vuelve a intentar el guardado desde el Back Office. - Opción B: Generar el contenido manualmente. Puedes copiar el contenido que PrestaShop te muestra en la sección "Reglas de reescritura" y pegarlo en tu archivo
.htaccessusando un editor de texto como el Bloc de notas o, mejor aún, un editor de código como Visual Studio Code.
Configuración manual del .htaccess: Redirecciones 301 y más
Una vez que tienes las URLs amigables funcionando, es hora de afinar el archivo manualmente. Aquí es donde entran en juego las redirecciones 301, que son esenciales para el SEO PrestaShop.
Una redirección 301 es una instrucción que le dice a los buscadores y a los usuarios que una página se ha movido de forma permanente a una nueva dirección. Esto es vital cuando cambias la estructura de tus URLs o cuando tienes versiones antiguas de páginas (por ejemplo, con index.php).
Redirigir de HTTP a HTTPS (Fuerza bruta)
Si ya tienes un certificado SSL instalado (algo imprescindible hoy en día), debes asegurarte de que todo tu sitio se sirva a través de https://. Para ello, puedes añadir este bloque al principio de tu .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Pero ojo: PrestaShop ya incluye una redirección similar en su archivo generado. Si la añades duplicada, podrías crear un bucle infinito. Te recomiendo que primero revises si ya existe una regla similar en tu archivo. Si no estás seguro, puedes probar a añadirla y luego verificar que tu tienda carga correctamente.
Redirigir las URLs antiguas con index.php
Cuando activas las URLs amigables, las URLs antiguas con index.php pueden seguir siendo accesibles, lo que genera contenido duplicado. Para solucionarlo, PrestaShop añade una regla que redirige estas URLs a sus versiones limpias. Si no la tienes, puedes añadir esta:
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . - [L]
Pero la regla más efectiva para eliminar el duplicado es esta:
RewriteCond %{THE_REQUEST} ^.*index\.php
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]
Esta regla toma cualquier URL que contenga index.php y la redirige a la misma URL sin index.php, devolviendo un código de estado 301. Es una de las redirecciones 301 más importantes para el SEO de una tienda PrestaShop.
Añadir cabeceras de cache para mejorar la velocidad
La velocidad de carga es un factor de posicionamiento clave. Puedes aprovechar el .htaccess para indicar a los navegadores que guarden ciertos recursos (como imágenes, CSS y JavaScript) en su caché local. Esto hará que las visitas posteriores sean mucho más rápidas. Añade este bloque:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType application/x-font-ttf "access plus 1 year"
ExpiresByType font/opentype "access plus 1 year"
ExpiresByType application/x-font-woff "access plus 1 year"
ExpiresByType application/x-font-woff2 "access plus 1 year"
</IfModule>
Comprimir archivos con GZIP
Otra forma de acelerar tu tienda es comprimir los archivos antes de enviarlos al navegador. Esto se conoce como compresión GZIP y puede reducir el peso de las páginas hasta en un 70%. Añade este código:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>
Cómo gestionar el .htaccess si usas un panel de control como Syspanel
Si tu hosting utiliza un panel de control como Syspanel (recuerda que el puerto de acceso es el 2106), el proceso es ligeramente diferente, pero igual de sencillo.
Acceso al administrador de archivos
- Abre tu navegador y escribe la dirección de tu servidor seguida de dos puntos y el puerto 2106. Por ejemplo:
http://tudominio.com:2106. - Inicia sesión con tus credenciales de administrador.
- Busca la sección "Administrador de archivos" o "Gestor de archivos".
Localizar y editar el archivo
- Navega hasta la carpeta raíz de tu dominio (normalmente se llama
public_htmlowww). - Activa la opción de "Mostrar archivos ocultos" si no ves el archivo
.htaccess. - Haz clic derecho sobre el archivo
.htaccessy selecciona "Editar". - Añade o modifica las reglas que necesites y guarda los cambios.
[!TIP]
Antes de editar cualquier archivo de configuración, especialmente el.htaccess, haz siempre una copia de seguridad. Puedes descargarlo a tu ordenador o renombrarlo a.htaccess.bak. Así, si algo sale mal, podrás restaurarlo fácilmente.
Errores comunes y cómo solucionarlos
A veces, después de modificar el .htaccess, puedes encontrarte con un error 500 (Error interno del servidor). No te asustes, es un problema común y tiene solución.
Error 500 al guardar el archivo
La causa más frecuente es una sintaxis incorrecta en una de las directivas. Una sola línea mal escrita puede tumbar toda la configuración.
Solución:
- Accede a tu servidor por FTP o mediante el administrador de archivos de Syspanel.
- Renombra el archivo
.htaccessa.htaccess.bak. Esto hará que la tienda vuelva a funcionar sin las reglas personalizadas. - Revisa el archivo de copia con un editor de código que resalte la sintaxis. Busca errores como espacios en lugares indebidos o directivas mal escritas.
- Corrige el error y vuelve a subir el archivo como
.htaccess.
Las redirecciones 301 no funcionan
Si las redirecciones no se ejecutan, puede ser que el módulo mod_rewrite de Apache no esté activado en tu servidor.
Solución:
- Si usas Syspanel, busca la sección de "Servicios" o "Apache".
- Asegúrate de que el módulo
mod_rewriteestá habilitado. Si no sabes cómo hacerlo, contacta con el soporte de tu hosting.
Bucle de redireccionamiento (ERR_TOO_MANY_REDIRECTS)
Esto suele ocurrir cuando tienes varias reglas de redirección que se contradicen, por ejemplo, una que redirige de HTTP a HTTPS y otra que hace lo contrario.
Solución:
Revisa tu .htaccess y elimina cualquier regla duplicada o conflictiva. Deja solo la redirección que PrestaShop genera por defecto, que suele ser la más óptima.
Preguntas frecuentes (FAQ) sobre el .htaccess de PrestaShop
¿Necesito ser un experto en programación para hacer esto?
No. Con seguir esta guía y entender los conceptos básicos de qué hace cada bloque, podrás configurarlo sin problemas. Siempre puedes empezar con lo que genera PrestaShop automáticamente y añadir mejoras poco a poco.
¿Puedo romper mi tienda si toco el .htaccess?
Sí, existe el riesgo. Pero la solución es sencilla: si tienes una copia de seguridad, puedes restaurarla en segundos. Por eso es tan importante hacer una copia antes de empezar.
¿Cuál es la diferencia entre una redirección 301 y una 302?
Una 301 es permanente y transfiere todo el "jugo" SEO (autoridad de la página) a la nueva URL. Una 302 es temporal y no transfiere la autoridad. Para el SEO, siempre debes usar la 301 cuando muevas una página de forma definitiva.
¿Dónde puedo ver si mi .htaccess está funcionando correctamente?
Puedes usar la herramienta "Inspeccionar" de tu navegador (clic derecho sobre la página) y ver la pestaña "Red". Fíjate en los códigos de estado de las respuestas. Deberías ver códigos 200 (OK) para las páginas normales y 301 para las redirecciones.
Conclusión: Domina el .htaccess y mejora tu SEO
Configurar correctamente el archivo .htaccess de PrestaShop es una de las tareas más gratificantes para el SEO PrestaShop. No solo mejoras la estructura de tus URLs amigables PrestaShop, sino que también controlas las redirecciones 301 y optimizas la velocidad de carga, todo desde un solo archivo.
No tengas miedo de experimentar, pero siempre con precaución y con una copia de seguridad a mano. Una vez que le cojas el truco, verás cómo tu tienda no solo es más fácil de navegar para tus clientes, sino que también sube posiciones en los resultados de búsqueda.
Si tu hosting usa Syspanel, recuerda que el acceso es a través del puerto 2106, y que desde su administrador de archivos puedes gestionar este archivo de forma muy visual. Con un poco de práctica, este archivo se convertirá en una de tus herramientas más poderosas para el éxito de tu tienda online.
