Reglas de reescritura para antiguas mobile URL

Dudas sobre Instalación y Configuración sobre este nuevo sistema de modulos osc.
raiwa
Mensajes: 33
Registrado: hace 6 years
URL de la tienda: www.sarplataygemas.com
Version oscommerce: 2.3.4 BS
Servidor: Linux
Contactar:

Reglas de reescritura para antiguas mobile URL

Mensaje por raiwa » hace 2 years

Hola,

a petición de @reflex_ocasion aquí las reglas de reescritura para los que usaban iosc mobile y han actualizado a bootstrap.

En el .htaccess de raíz del sitio añadir justo al principio de los rewrite rules:
Los que usan SEO URLs amigables:

Código: Seleccionar todo

RewriteEngine On 
RewriteBase /
RewriteRule ^mobile/(.*)$ /$1 [R=301,NC,L]
RewriteRule ^(.*?)mobile/([a-z0-9/-]+)-mc-([0-9_]+).html$ index.php?cPath=$3 [R=301,NC]
RewriteRule ^(.*?)mobile/([a-z0-9/-]+)-mm-([0-9_]+).html$ index.php?manufacturers_id=$3 [R=301,NC]
RewriteRule ^(.*?)mobile/([a-z0-9/-]+)-mp-([0-9]+).html$ product_info.php?products_id=$3 [R=301,NC]
RewriteRule ^(.*?)mobile/([a-z0-9/-]+)-mpr-([0-9]+).html$ product_reviews.php?products_id=$3 [R=301,NC]
RewriteRule ^(.*?)mobile/([a-z0-9/-]+)-mpri-([0-9]+).html$ product_reviews_info.php?products_id=$3 [R=301,NC]
RewriteRule ^(.*?)mobile/catalog_mb.php$ index.php [R=301,NC,L]
RewriteRule ^(.*?)mobile/about.php$ index.php [R=301,NC,L]
RewriteRule ^(.*?)mobile/search.php$ index.php [R=301,NC,L]
Los que usan URLs normales:

Código: Seleccionar todo

RewriteEngine On 
RewriteBase /
RewriteRule ^mobile/(.*)$ /$1 [R=301,NC,L]
RewriteRule ^(.*?)mobile/catalog_mb.php$ index.php [R=301,NC,L]
RewriteRule ^(.*?)mobile/about.php$ index.php [R=301,NC,L]
RewriteRule ^(.*?)mobile/search.php$ index.php [R=301,NC,L]
Esto es solo de referencia, no repetir:

Código: Seleccionar todo

RewriteEngine On 
RewriteBase /

Esto vale para instalaciones en subdirectorio /mobile/. Los que lo tenían debajo de un subdominio, necesitan adaptar las reglas.

Un saludo
Rainer

reflex_ocasion
Mensajes: 693
Registrado: hace 8 years
URL de la tienda: https://www.reflex-ocasion.com.es
Version oscommerce: 2.3.4 BootStrap EDGE
Servidor: Linux
Ubicación: Mijas Costa (Málaga)
Contactar:

Re: Reglas de reescritura para antiguas mobile URL

Mensaje por reflex_ocasion » hace 2 years

Gracias por el aporte, Rainer, seguro que a mas de uno le va a ser muy útil, a mi el primero! :alabanza:

Parece que no es necesario pero si lo es y mas de lo que uno pueda pensar

Recientemente he cambiado de 2.3.4 a BootStrap y de casualidad he visto en whos online del admin a un usuario que buscaba un producto, copie la url porque me extrañó que fuera la carpeta mobile, la pegué en una nueva ventana del navegador y me dió error 404

BootStrap es responsive, se adapta automáticamente a la resolución de pantalla del dispositivo por lo que la versión móvil ya no es necesaria pero ¿que ocurre? que nuestra web está indexada por google tanto en versión normal como en versión móvil y si tratan de acceder desde un móvil da error 404 porque esa url ya no existe

Para explicarlo mejor pongo un ejemplo

Tenemos dominio.com/producto_de_ejemplo-p-123.html en la versión normal o versión PC y tenemos dominio.com/mobile/producto_de_ejemplo-mp-123.html en la versión móvil

Tanto si vas del PC al móvil como si vas del móvil al PC la url cambia automáticamente y nosotros no notamos la diferencia a menos que miremos en la barra de navegación del navegador, de -p-123.html cambia a -mp-123.html y viceversa, ademas de la evidente carpeta mobile que aparece y desaparece según en que versión estemos

En BS eso ya no es así por lo que si queremos acceder a -mp-123.html nos dará error 404 porque ya no existe, no se cambia automáticamente a -p-123.html

Dentro de lo que cabe que nos de error 404 es lo de menos, lo malo es que el cliente no va a encontrar el producto que estaba buscando y perderemos una posible venta con el consiguiente malestar del cliente por el error

Y lo peor es que google nos tiene indexado de las dos maneras y si continuamente da error 404 en la versión móvil perderemos posiciones y nos relegará a varias páginas mas atrás de la que solemos salir perdiendo así mas posibles ventas. Eso si no nos penaliza ya que últimamente te penalizan por todo

En definitiva, que el redirect es muy necesario y hay que mantenerlo al menos un año según los expertos, personalmente recomiendo dos años como minimo, y si pueden ser mas pues mejor. Por el 2008 eliminé una página que había creado cuando empecé a usar la recien salida al mercado version 2.2rc2a de osC y hace unos seis meses google seguía buscando dicha página. Dejó de hacerlo cuando la bloqueé con el archivo robot.txt. Con esto quiero decir que pueden pasar años hasta que google se entere de que algo ya no existe, por eso mi recomendación es dejar los redirect todo el tiempo que se pueda

Gracias de nuevo por el aporte, Rainer, y gracias también por todos los addons que estás publicando, gracias a ellos podemos demostrar que osCommerce no ha muerto como muchos quieren hacer creer a los demás y que es mas rápido cargando que Prestashop

figue
Mensajes: 875
Registrado: hace 8 years
URL de la tienda: www.mueblesdeforja.es
Version oscommerce: 2.3.3
Servidor: Linux
Ubicación: Córdoba
Contactar:

Re: Reglas de reescritura para antiguas mobile URL

Mensaje por figue » hace 2 years

Hola a los dos, a ver si podeis ayudarme.
Estoy probando esto y no me funciona.
Lo único que hace es eliminar de la ruta: mobile/

Aqui dejo como lo tengo ahora:

Código: Seleccionar todo

# Begin Ultimate SEO V2.2d 
Options +FollowSymLinks
RewriteEngine On 

  # RewriteBase instructions 
  # Change RewriteBase dependent on how your shop is accessed as below. 
  # http://www.mysite.com = RewriteBase / 
  # http://www.mysite.com/catalog/ = RewriteBase /catalog/  
  # http://www.mysite.com/catalog/shop/ = RewriteBase /catalog/shop/ 

  # Change the following line using the instructions above  
  
RewriteBase /

# Reglas de reescritura para antiguas mobile URL
RewriteRule ^mobile/(.*)$ /$1 [R=301,NC,L]
RewriteRule ^(.*?)mobile/([a-z0-9/-]+)-mc-([0-9_]+).html$ index.php?cPath=$3 [R=301,NC]
RewriteRule ^(.*?)mobile/([a-z0-9/-]+)-mm-([0-9_]+).html$ index.php?manufacturers_id=$3 [R=301,NC]
RewriteRule ^(.*?)mobile/([a-z0-9/-]+)-mp-([0-9]+).html$ product_info.php?products_id=$3 [R=301,NC]
RewriteRule ^(.*?)mobile/([a-z0-9/-]+)-mpr-([0-9]+).html$ product_reviews.php?products_id=$3 [R=301,NC]
RewriteRule ^(.*?)mobile/([a-z0-9/-]+)-mpri-([0-9]+).html$ product_reviews_info.php?products_id=$3 [R=301,NC]
RewriteRule ^(.*?)mobile/catalog_mb.php$ index.php [R=301,NC,L]
RewriteRule ^(.*?)mobile/about.php$ index.php [R=301,NC,L]
RewriteRule ^(.*?)mobile/search.php$ index.php [R=301,NC,L]
# Fin Reglas de reescritura para antiguas mobile URL

RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-c-(.*).html$ index.php?cPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-m-(.*).html$ index.php?manufacturers_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pi-(.*).html$ popup_image.php?pID=$2&%{QUERY_STRING}
RewriteRule ^(.*)-by-(.*).html$ all-products.php?fl=$2&%{QUERY_STRING}
RewriteRule ^(.*)-t-(.*).html$ articles.php?tPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-a-(.*).html$ article_info.php?articles_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-au-(.*).html$ articles.php?authors_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pr-(.*).html$ product_reviews.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pri-(.*).html$ product_reviews_info.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-f-(.*).html$ faqdesk_info.php?faqdesk_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-fc-(.*).html$ faqdesk_index.php?faqPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-fri-(.*).html$ faqdesk_reviews_info.php?faqdesk_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-fra-(.*).html$ faqdesk_reviews_article.php?faqdesk_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-i-(.*).html$ information.php?info_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-links-(.*).html$ links.php?lPath=$2&%{QUERY_STRING}
#RewriteRule ^(.*)-pm-([0-9]+).html$ info_pages.php?pages_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pm-([0-9]+).html$ extra_info_pages.php?pages_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-n-(.*).html$ newsdesk_info.php?newsdesk_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-nc-(.*).html$ newsdesk_index.php?newsPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-nri-(.*).html$ newsdesk_reviews_info.php?newsdesk_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-nra-(.*).html$ newsdesk_reviews_article.php?newsdesk_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-po-([0-9]+).html$ pollbooth.php?pollid=$2&%{QUERY_STRING}
# End Ultimate SEO V2.2d

reflex_ocasion
Mensajes: 693
Registrado: hace 8 years
URL de la tienda: https://www.reflex-ocasion.com.es
Version oscommerce: 2.3.4 BootStrap EDGE
Servidor: Linux
Ubicación: Mijas Costa (Málaga)
Contactar:

Re: Reglas de reescritura para antiguas mobile URL

Mensaje por reflex_ocasion » hace 2 years

Has probado a vaciar la caché del SEO? algunas veces eso funciona incluso con las miniaturas cuando cambias una imagen por otra. Cuando la cambias, no cuando añades alguna imagen nueva

figue
Mensajes: 875
Registrado: hace 8 years
URL de la tienda: www.mueblesdeforja.es
Version oscommerce: 2.3.3
Servidor: Linux
Ubicación: Córdoba
Contactar:

Re: Reglas de reescritura para antiguas mobile URL

Mensaje por figue » hace 2 years

Lo acabo de probar y sigue igual.

Yo creo que es algo que no esta bien en la rdireccion.
Solo quita el directorio mobile, pero el resto lo deja igual.

reflex_ocasion
Mensajes: 693
Registrado: hace 8 years
URL de la tienda: https://www.reflex-ocasion.com.es
Version oscommerce: 2.3.4 BootStrap EDGE
Servidor: Linux
Ubicación: Mijas Costa (Málaga)
Contactar:

Re: Reglas de reescritura para antiguas mobile URL

Mensaje por reflex_ocasion » hace 2 years

Si, tienes razón, lo acabo de probar y me ocurre lo mismo, no funciona bien del todo

Probando probando ya he encontrado la solución, tienes que quitar el nombre de la carpeta mobile para que redirija al producto / marca

El codigo lo primero que dice es que de la carpeta mobile redirija a raiz, lo siguiente que dice es que el producto ubicado en la carpeta mobile lo redirija a raiz lo cual es una contradicción ya que si desde un principio te dice que vayas a raiz el producto ubicado en dicha carpeta no lo va a encontrar porque no puede acceder ¿entiendes?

Corregido quedaría así

Código: Seleccionar todo

RewriteEngine On
RewriteBase /
RewriteRule ^mobile/(.*)$ /$1 [R=301,NC,L]
RewriteRule ^(.*?)([a-z0-9/-]+)-mc-([0-9_]+).html$ index.php?cPath=$3 [R=301,NC]
RewriteRule ^(.*?)([a-z0-9/-]+)-mm-([0-9_]+).html$ index.php?manufacturers_id=$3 [R=301,NC]
RewriteRule ^(.*?)([a-z0-9/-]+)-mp-([0-9]+).html$ product_info.php?products_id=$3 [R=301,NC]
RewriteRule ^(.*?)([a-z0-9/-]+)-mpr-([0-9]+).html$ product_reviews.php?products_id=$3 [R=301,NC]
RewriteRule ^(.*?)([a-z0-9/-]+)-mpri-([0-9]+).html$ product_reviews_info.php?products_id=$3 [R=301,NC]
RewriteRule ^(.*?)catalog_mb.php$ index.php [R=301,NC,L]
RewriteRule ^(.*?)about.php$ index.php [R=301,NC,L]
RewriteRule ^(.*?)search.php$ index.php [R=301,NC,L]
Ahora así si me funciona correctamente, pruebalo tu y me dices

figue
Mensajes: 875
Registrado: hace 8 years
URL de la tienda: www.mueblesdeforja.es
Version oscommerce: 2.3.3
Servidor: Linux
Ubicación: Córdoba
Contactar:

Re: Reglas de reescritura para antiguas mobile URL

Mensaje por figue » hace 2 years

Lo he probado y ahora ya funciona.

Ahora te redirige por ejemplo a esto:
de:
/mobile/nombredeproducto-mp-480.html
A:
/product_info.php?products_id=480

Y para que redirija con la url amigable, hay que activar en el SEO Url esto:
Enable automatic redirects? true

Lo doy por solucionado.
Gracias.

reflex_ocasion
Mensajes: 693
Registrado: hace 8 years
URL de la tienda: https://www.reflex-ocasion.com.es
Version oscommerce: 2.3.4 BootStrap EDGE
Servidor: Linux
Ubicación: Mijas Costa (Málaga)
Contactar:

Re: Reglas de reescritura para antiguas mobile URL

Mensaje por reflex_ocasion » hace 2 years

Pues si no llega a ser por ti yo ni me entero de que me da el mismo error asi que gracias a ti por avisar

Saludos

reflex_ocasion
Mensajes: 693
Registrado: hace 8 years
URL de la tienda: https://www.reflex-ocasion.com.es
Version oscommerce: 2.3.4 BootStrap EDGE
Servidor: Linux
Ubicación: Mijas Costa (Málaga)
Contactar:

Re: Reglas de reescritura para antiguas mobile URL

Mensaje por reflex_ocasion » hace 2 years

Acabo de comprobar en google webmaster tools una serie de errores referentes a las versiones móviles que hay que solucionar

Antes de nada voy a aclarar mi situación ya que puede afectar a algunos pero no a todos

En su día instalé una versión móvil que incluía en raiz una serie de archivos que empezaban por mobile_nombre_archivo.php. Esto es lo que hay que solucionar. Si no instalaste esta versión tan antigua de la versión móvil porque instalastes una mas moderna (siguiente punto) este paso no es necesario realizarlo

Al cambiar de version de osC también cambié de versión móvil a una mas actual, con las urls amigables se cambia automáticamente de producto-m-1234.html a producto-mp-1234.html. Esto ya está solucionado en este mismo hilo, lee un poco mas arriba

Si has instalado la versión antigua de la versión móvil hay que editar el archivo .htaccess y añadir

Código: Seleccionar todo

Redirect 301 /mobile_product_info.php http://www.tudominio.com/product_info.php
¿Donde? no creo que tenga mucha importancia pero por si acaso yo lo tengo puesto antes del código antes citado (mas arriba)

Repito que es un error de urls detectado en google webmaster tools, antes de hacer nada comprueba en tu cuenta si tambien los tienes

Saludos

figue
Mensajes: 875
Registrado: hace 8 years
URL de la tienda: www.mueblesdeforja.es
Version oscommerce: 2.3.3
Servidor: Linux
Ubicación: Córdoba
Contactar:

Re: Reglas de reescritura para antiguas mobile URL

Mensaje por figue » hace 2 years

Tambien puedes poner la regla de redireccion modificando el archivo antiguo, con lo que tambien evitas los errores 404.
Algo así:

Código: Seleccionar todo

<?php
/*
  $Id$ mobile_product_info.php - redireccion 301

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2010 osCommerce

  Released under the GNU General Public License
*/

header("HTTP/1.1 301 Moved Permanently");
header("Location: product_info.php"); 
?>

Responder

Volver a “Dudas sobre Instalación y Configuración”