Ayer tenía que ir al Hospital, que está en la otra punta de la urbe, por lo que tardo 45 minutos en llegar o bien más, depende del tráfico. Como no tengo ni idea puse el GPS para ir de copiloto controlando la ruta y observé que cada pocos kilómetros la App tenía que “recalcular” la senda y si la aplicación se actualiza periódicamente como es de esperar, las rutas sugeridas deberían ser las buenas…
Hablemos de Redirecciones en .htaccess para PrestaShop que nos ayuden a administrar fallos 404, corregir cambios de dominios y reconducir urls viejas a urls nuevas.
¿Que pasa si tenias una Tienda en PrestaShop con el dominio comidadeperros.es y pasaste a llamarla dcdistribuciones.es por cuestiones comerciales? puesto que si hiciste bien las cosas y aplicaste las redirecciones 301 correctamente, ahora los visitantes de tu tienda deben poder llegar a los productos que tenias indizados en Google (y demás buscadores web) y así evitar los temidos errores 404en PrestaShop.
Las redirecciones, tan importantes y tan ignoradas muchas veces por los usuarios que cambian de dominio, de CMS, que eliminan categorías o las fusionan, que aprenden posicionamiento web en buscadores on-page a trompicones y van advirtiendo los “gazapos” que han ido dejando por el camino. ¡Es hora de ponerse manos a la obra y hacer bien las redirecciones!, Google, Bing, tus compradores y tu posicionamiento lo agradecerán ¿nos ponemos a ello?
Si aún no tienes claro que es una redirección,donde te lo explico para que lo refresques en tu memoria y puedas comprender mejor lo que se trata en este nuevo artículo.
1) ¿Qué contiene un fichero .htaccess de PrestaShop por defecto?
Cuando instalas PrestaShop 1.6.x en un Hosting, se produce un archivo .htaccessque por defecto contiene determinada información para que la web funcione correctamente.
A partir de este punto y dependiendo de tu instalación, el fichero puede contener más o bien menos instrucciones.
Si tienes las URLs amigables habilitadas en Preferencias, SEO y URLs, en el apartado Configuración de los enlacesy el archivo .htaccess no existe, te encontrarás con un error cuatrocientos cuatro al tratar de cargar la página web.
Not Found
The requested URL /es/ was not found on this server.
Additionally, a 404 Not Found fallo was encountered while trying to use an ErrorDocument to handle the request.
Esto suele suceder cuando se traslada una web de Alojamiento web y no se ha habilitado anteriormente la vista de ficheros ocultos, lo que provoca que nos dejemos el fichero .htaccess por el camino en el proceso de traslado de la web, ya sea desde una instalación local (tu PC) o de un servidor diferente del presente.
Si deseas saber como evitar dejarte los archivos ocultos para atrás por no verlos, consulta el artículo del blog
2) Algunas redirecciones en PrestaShop usando .htaccess
Una de las primeras redirecciones que debes tener incluidas en tu fichero .htaccesses la redirección del dominio sin alias wwwal dominio con alias “www” o bien al contrario, en dependencia de si quieres ver la web con o bien sin alias www.
Nota Por defecto PrestaShop (tampoco otros Content Management System) realizan este tipo de redirecciones de forma automática a menos que se indique.
3) ¿Donde colocar las redirecciones en .htaccess para PrestaShop?
El fichero .htaccess es un archivo dinámicoque se produce y regenera conforme realizamos cambios en Preferencias, SEO y URLS, por lo que cambios aplicados en este apartado pueden alterar el contenido de .htaccess sin que te des cuenta de ello a menos que observes o revises dicho archivo.
Importante La recomendación siempre y en todo momento es la de hacer una copia de respaldo de tal fichero antes de regenerar urls.
Por defecto PrestaShop añade en la primera línea del fichero .htaccess lo siguiente:
Y debajo pone todo lo relacionado con mod_rewrite, Domain, Images, Dispatcher, mod_expires, mod_headersy otros códigos, cerrando el archivo con la próxima línea:
Las redirecciones en este archivo lo ideal es añadirlas ya antes de la primera línea citada:
4) Mi tienda está en otra carpeta…
Algo bastante habitual es que una instalación de PrestaShop no esté necesariamente en la carpeta principal del Alojamiento, que en paneles de Alojamiento basados en cPanel es public_html.
Si en tu Alojamiento tienes varias webs, sean todas y cada una instalaciones de PrestaShop o bien una mezcla de varios gestores de contenidos (WP, Joomla, etc. es bastante probable que tengas las instalaciones en carpetitas separadas, incluida la instalación del dominio principal.
En casos así lo conveniente es que las redirecciones estén en el archivo .htaccess de la carpetita principal del Alojamiento web, en un caso así /public_html donde la primera cosa que debe figurar son los códigos necesarios para redireccionar el dominio principal a una carpeta y debajo todas las redirecciones trescientos uno que por razones diferentes debas aplicar para que tu web funcione con corrección y no pierdas visitas por fallos cuatrocientos cuatro, etc.
En este caso el fichero .htaccess de /public_html contendrá un código similar al siguiente:
Es este ejemplo se ilustra una clásica tienda que no se aloja en la carpeta principal del Alojamiento web sino en una subcarpeta y que además tiene que realizar numerosas redirecciones trescientos uno para corregir urls viejas a urls nuevas.
Como la web en un caso así está en una subcarpeta, en este ejemplo está en /public_html/cilene2observarás que entre las líneas 1 y ocho se reconduce el dominio primordial a la carpeta donde esta la tienda instalada y a partir de la línea 11 se aplican redirecciones trescientos uno para corregir problemas de links no alcanzados detectados mediante Google Search Console.
El fichero .htaccess de la carpeta donde está la instalación, para este caso de ejemplo se encuentra localizado en /public_html/cilene2/contendrá aquellos códigos que por defecto establece PrestaShop cuando se instala o bien se regenera dicho archivo, más añadidos que se hayan efectuado más tarde para gestionar por servirnos de un ejemplo tiempos de expiración de caché de imágenes y otros, pero no aparecerá ninguna redirección trescientos uno ya que se declararon en el fichero .htaccess de la carpetita primordial del Alojamiento web.
5) Redireccionar una url vieja a una url nueva
Es el caso más habitual que pueden encontrarte en PrestaShop cuando has alterado la página web de dominio, has movido la instalación de una subcarpeta a la carpetita principal y antes tenías una ruta auxiliar en el dominio para acceder a la página web, por ejemplo:
Y ahora ha pasado a llamarse:
Para estos casos es muy importante que primero analices en Google Search Console, en el apartado Errores de rastreosi existen fallos 404 derivados del cambio de urls.
Si aparece tal como te ilustro en la captura ¡perfecto!no hay nada de qué preocuparte. Si por contra tienes fallos, tendrás que comprobar y anotar todos y cada uno de los fallos para transformarlos en redirecciones en el caso de tratarse de fallos relacionados con urls no alcanzadas pues hubo cambios en las URIs.
Para estos casos es esencial que empieces a trazar un plan de acción para reducir lo antes posible el impacto negativo que estos fallos pueden causar sobre tu posicionamiento en caso de ser un tanto dejado en estas cuestiones y dejarlo correr. Te aseguro que por sí solo no se marcha arreglar por más que lo mires si no actúas.
Empieza despacio, prueba primero con la primera url errónea que Google canta, anótala, cópiala y trata de abrirla en otra pestaña de tu navegador, si devuelve un 404 bien sabes, no existe, la borraste o ahora tiene por nombre de otra forma.
Abre tu fichero .htaccess (ya antes haz un backup del mismo por seguridad) y en la primera línea haz un espacio (Intro) y escribe más o bien menos con esta sintaxis (amoldando la url vieja y nueva a tu caso) añade lo siguiente:
Redirect 301/antigua-página /nueva-pagina
Guarda los cambios en el fichero .htaccess y prueba nuevamente a cargar la “vieja” y errónea url perjudicada actualmente por un error 404
Si lo hiciste bien deberías estar aterrizando en la url nueva de forma transparente, lo que daría por solucionado el problema. Ufff que alivio verdad!
¿Que tienes ciento cincuenta y seis urls con errores 404?paciencia y buenos comestibles que diría mi abuela, y empieza a añadir con la citada sintaxis cada una de las urls “viejas” (erróneas) y ve reconduciéndolas a la url “nueva” para reducir fallos.
¿Que una url “vieja” ahora no lleva a contenidos porque no los usas?tampoco pasa nada, hazme caso, es mejor llevar las urls huérfanas a la url principal de la Tienda, que no llevarlas a parte alguna. Una solución puede ser para estos casos:
De forma que lo que ya no existe y no enlaza con nada al menos aterrice en la página principal de tu Tienda, a menos que desees crear una página CMSpara explicar que tal o bien como servicio, producto o lo que sea ya no existe o bien no se ofrece. Eso es ya cosa tuya.
6) Los idiomas en PrestaShop, un problema de indizado a solucionar
Si en tu Tienda de PrestaShop trabajas con múltiples idiomas, debes prestar atención a cómo se indexan las urls que se producen para cada idioma, pues en caso contrario posiblemente Google y otros buscadores te indexen los mismos contenidos para diferentes idiomas.
Esto es especialmente problemático si charlamos de productosindexados, en tanto que por defecto se indexará exactamente el mismo producto para cada idioma diferente que tengas activo en la tienda.
La redirección que puedes aplicar para redireccionar al idioma deseado por defecto es:
De esta forma le señalas a PrestaShop, mediante esta redirección aplicada en .htaccess que redireccione todas y cada una de las páginas de idioma Español a las correspondientes pero en Catalán.
Si lo que deseas por poner un ejemplo es suprimir el idioma Español y que se sostenga por defecto el Catalán, la forma conveniente sería eliminando el idioma que no quieres enseñar en tu .htaccess:
Si suprimes varios idiomas de la tienda Prestashop y pasas a tener un solo idioma, PrestaShop eliminará el idioma de la URL.
Luego tendrás que crear redirecciones de cada idioma eliminado al idioma por defecto, en este ejemplo: Español.
Obviamente previamente debe existir una redirección del dominio sin alias wwwal dominio con alias www.
7) Redireccionar urls ya indexadas no afables a urls amigables
Es posible que tu tienda lleve ya un tiempo en Internet, se haya indexado incontables veces y Google y otros buscadores web ya tengan estas urls indexadas, algo que puedes revisar desde tu navegador rápidamente ejecutando la siguiente consulta en el buscador de Google:
Ejemplo:
7.1) URLs amigables:
Las urls afables asisten a los usuarios a interpretarlas mejor, a los bots tampoco les da igual interpretar una url no afable en frente de otra que si lo sea. Si deseas que tus urls sean más inteligibles revisa que en Preferencias, SEO y URLsestén bien configuradas.
Marca los botones de radio URLs amigablesy y el próximo para redirigir automáticamente a la URL canónica. Guarda los cambios. Si el mod_rewriteestá activo en tu servidor (en CITIFACE lo está) deberías poder ver las urls de tus páginas de la Tienda PrestaShop con un formato más amigable.
Ejemplo de url no amigable:
Ejemplo de url amigable:
¿Cómo redirigir una url no afable ya indizada a una más afable desde .htaccess?, fácil, utilizando esta sintáis:
Nota Si tienes doscientos urls no amigableslamento decirte que sí, que tendrás que hacerlo a mano, sin comodines, incorporando una redirección para cada url afectada.
De ahí la importancia que tiene el prestar atención a estas cuestiones de posicionamiento web on-page ya antes de poner la Tienda en manos de los motores de búsqueda.
8) ¿Cuando puedo prescindir de las redirecciones 301 en .htaccess para PrestaShop?
Google, y otros motores de búsqueda, a medida que van indexando contenidos estas urls pasan a quedar fijadas en los registros de indizado del sitio perjudicado de forma que transcurrido el tiempo, si no se generan cambios en estas urls, los enlaces pasan a ser permanentes y no precisas seguir reflejando la redirección en .htaccess.
Por un lado es bueno, pasado un periodo de tiempo prudencial, que puede ser de 1 año por poner un ejemplo, el revisar en Google Search Consoleque no hay fallos 404 para urls redireccionadas en tu archivo .htaccess y previa backup de tal fichero puedes eliminar estas redireccionespara sanear el citado archivo.
Imagino un usuario que tiene 200 redirecciones de urls no afables a urls afables, o de categorías antiguas de productos a nuevas categorías, lo importante que puede resultarle el limpiar (vaciar) de estas redirecciones el fichero .htaccess para mantenerlo más ligero y saneado.
Es importante, tras quitar redirecciones 301 del archivo .htaccess comprobar a lo largo de un período de 4 o siete días después de aplicar el cambio, que en Google Search Consoleno aparecen fallos cuatrocientos cuatro que hagan referencia a estas redirecciones, en tanto que si aparecen será señal de que no ha transcurrido el tiempo preciso y que deberás añadirlas de nuevo y aguardar un tiempo más larga a fin de que queden establecidas como urls terminantes o permanentes.
Esta cuestión está más a cargo de los motores de búsqueda que indexan tus páginas que de ti, por lo que la verificación, la paciencia y el sentido común, son esenciales para evitar caer nuevamente en los fallos cuatrocientos cuatro.
9) Un módulo para hacerte más fácil el añadir redirecciones en .htaccess
De la correcta gestión de las redirecciones 301 en el archivo .htaccess va a depender que tus visitas lleguen al link adecuado sin perderse por el camino, ayudándote a reducir los errores cuatrocientos cuatro para eludir penalizar tu posicionamiento.
En PrestaShop existe un módulo gratuito llamado .htaccess Editorque te deja editar el archivo .htaccess en uso en tu instalación de PrestaShop para poder añadir redirecciones 301, regenerarlo y tener un mantenimiento del mismo.
Haz click en la imagen para ir a la descarga del módulo.
Este módulo tiene ciertas características avanzadas para la edición de ficheros .htaccess que otros módulos no tienen.
Tiene incorporado un editor que proporciona una vista de los números de línea e incluso la comprobación de sintaxis y el destacado de código.
El módulo también deja añadir directivas tanto en la parte superior como en la parte inferior del fichero .htaccess, de esa manera puedes conseguir que tus redirecciones funcionen perfectamente con tu tienda.
Importante Este módulo requiere la desactivación del Purificador HTMLen PrestaShop.
¿Dónde desactivar el Purificador HTMLen PrestaShop?
Una vez deshabilitado podrás hacer uso del módulo .htaccess Editor.
Si por poner un ejemplo añades algunas redirecciones y guardas los cambios.
Una vez guardados los cambios, si editas desde tu panel de Alojamiento (cPanel) o por FTP el archivo .htaccess verás al comienzo del fichero las redirecciones ya añadidas.
Estas redirecciones se ciñen entre las líneas:
Siendo el resultado en htaccess:
Cómo has podido observar, este método es más fácil para manipular el fichero .htaccess sin salir del backoffice y sin perturbar otros códigos que contenga, los cuales no se verán perjudicados por lo que añadas desde el módulo toda vez que tenga la sintaxis correcta.
Repasemos este proceso en el siguiente vídeo:
A partir de ahora, cuando precises aplicar redirecciones trescientos uno en PrestaShop, si le tienes un poco de respeto al ‘Editor de Código’ o a manipular el archivo .htaccess desde tu cPanel o bien por FTP, acuérdate que el módulo .htaccess Editorte va a facilitar mucho la labor.
Al final las redirecciones trescientos uno en PrestaShopson como el GPS y su aviso preferido …recalculando ruta, que dejan redireccionar a los usuarios a los lugares adecuados para que no se pierdan y de paso estar informados de los radares que puedan hacernos caer en infracciones y penalizarlos ¡vamos, lo que hace Google si administramos mal las urls!jeje 😛
Back to top