lunes, 29 de septiembre de 2014

Migrando tienda de Magento a Prestashop

Aunque sea a título principalmente formativo, estoy llevando un par de tiendas, una en Magento y otra en Prestashop con la idea de conocer más o menos bien ambas herramientas.

Magento

Hasta hace sólo unas semanas estaba trabajando para Animalling (grupo Hobby Zoo), comercio Magento, realizando algunas rutinas y módulos, lo cual, verdaderamente me llegaba a desesperar por su complejidad.
Si bien es cierto que llegué a hacer algunas cosas, el uso que hace Magento de las bases de datos es verdaderamente penoso.
El caso es que BioSanex también es una tienda Magento que quiero migrar a Prestashop, pues la verdad, es que cuando hemos tratado de controlar el stock con Magento, hemos tenido verdaderos problemas.

Prestashop

Prestashop me parece mucho más sencillo a la hora de mantener y sobre todo si se desean hacer desarrollos propios. He creado ya una versión paralela de BioSanex en Prestashop que estoy configurando para que el cambio sea sólo una cuestión de aspecto, pero en la medida de lo posible, no suponga una pérdida de funcionalidades ni de posicionamiento. Esta misma semana espero haber cambiado el producto.

Migración

Hay algunos problemas que aún no he resuelto y que posiblemente, los considere perdidos:

Migración de clientes

Respecto a los clientes, he realizado la exportación de Magento y la importación a Prestashop, pero claro, las contraseñas no son recuperables.
No es un problema mayor, pues es relativamente fácil informar al cliente que establezca una nueva, acompañada de un cupón de descuento, tal vez.

Documentos

Los documentos (pedidos, facturas, etc) sí que los doy por perdido, aunque se podría intentar la migración, casi prefiero empezar de cero.
NOTA: Claro que dichos documentos están registrados en la gestión comercial, o sea que no es información realmente perdida.

Funcionalidades

Existen varias funcionalidades que desarrollé en Magento, que ahora tengo que migrar a Prestashop, como por ejemplo la gestión de etiquetas que ahora sustuyo por una especie de Wiki donde explicar las utilidades de cada ingrediente, sus usos y sus contraindicaciones. Me está resultado relativamente fácil hacerlo con Prestashop.

Posicionamiento y SEO

Esta es la parte que creo que puede resultar de mayor interés y que puede aplicarse a cualquier tipo de migración de página web, bien por cambio de dominio, aplicación, etc.
Las URL de la nueva tienda no coinciden con la de la antigua. Existen algunas que pueden hacerse coincidir, pero por ejemplo, si nos centramos en los artículos, ambas aplicaciones disponen de un campo para poner una URL amigable (friendly), pero luego la forman de forma diferente. Pongamos por ejemplo el "Café verde de Obire" en dos tiendas distintas donde se ha configurado de la misma forma (o casi):
El primer ejemplo se corresponde con Magento, que coloca exáctamente el nombre que hemos detallado: "obire-cafe-verde-200-extracto-seco-45-60.html".
En el segundo ejemplo en cambio, podemos comprobar que Prestashop usa una plantilla en la que forzosamente tenemos que incluir el id del producto (ver Preferencias / SEO - URL): "{category:/}{id}-{rewrite}.html". En este caso, {rewrite} sería el texto que hemos establecido en el producto: "obire-cafe-verde-200-mg-extracto-seco-45-".
Prestashop no obliga a que todos los datos se rellenen, lo cual puede parecer extraño, pero en realidad localiza el producto por el id, por lo que cualquier cosa que se cambie si no se toca el id, nos llevaría a la ficha del producto.

Redirección 301

Lo bueno es que cuando hace la redirección, podemos hacer que retorne un código HTTP 301 para que quién envía la página (por ejemplo, si viene de Google, Google), sepa que la dirección ha cambiado y lo arregle.
Algunas páginas que han cambiado de ubicación, modificando el archivo .htaccess he podido hacer que redirija a la nueva, pero para éstas que no incluyen el id, es bastante más complicado, así que he hecho lo siguiente:
  • He creado una tabla en prestashop con 2 campos "antigua" y "nueva".
  • He modificado el .htaccess para lo que pueda redirigir con él.
  • He sobreescrito (override) el dispatcher para que antes que nada compruebe si se le ha pasado una de estas URL antiguas, en cuyo caso, realizo una redirección 301 a la nueva.
La verdad es que mientras siga desempleado, lo único que se me ocurre es formarme en este tipo de cosas y complementarlas con mi nueva faceta de amo de casa.
Espero que os sirva de ayuda.

domingo, 14 de septiembre de 2014

Nuevo rumbo, la historia se repite.

Finalizada mi etapa en Animalling hace ya unos meses, me veo en la necesidad de empezar un nuevo proyecto. Mi experiencia como analista y programador se encuentra muy alejada de la programación web, y la verdad es que cambia mucho de lo que he conocido anteriormente.
Sea como fuere, uno no desea quedarse por el camino y prefiere tomar las riendas de un nuevo futuro. Lo primero es tratar de manejarse en la maraña de conceptos nuevos. No se trata de ser experto en todo, pero sí tener el suficiente conocimiento como para encarar un proyecto.
No he tenido la suerte de trabajar en una empresa de programación web donde me fuesen instruyendo y recomendando herramientas y formas de trabajo que me sirviesen como base, así que me toca luchar sólo.

Versión 1.0

La versión 1.0 de mi proyecto de reciclaje pasaba por enterarme bien del funcionamiento de HTML, PHP y MySQL para tener una base sólida sobre la que asentarme. El problema está en que cuanto más rasca uno en la superficie de estas herramientas, más se da cuenta de lo que ya hay hecho y de cómo puede ayudarte (o no) a realizar mejores trabajos y más eficientes.
En un principio diría que esto es bueno. No tengo que construir una aplicación de cero. Puedo usar un framework como CodeIgniter que ya me soluciona mucho de los problemas que me he encontrado y seguramente con otros que me vaya a encontrar.
Estuve mirando varios frameworks para PHP y al final me decidí por CI porque su comunidad es sólida y me parece más sencillo que otros que también me gustaron.
He creado algunas bases de datos más o menos complicadas, las he poblado y he visualizado los resultados, pero me doy cuenta de que con las 3 herramientas que he estudiado no es suficiente.
Necesito tener un mayor conocimiento sobre CSS, Javascript, servicios web, etc. Cada vez que se busca información sobre alguno de estos temas aparecen nuevas librerías, nuevos frameworks,… ¿Terminará algún día esta historia?

Versión 2.0

Sin entrar mucho en profundidad, sólo rascando en la superficie y dedicando muchas horas a obtener y descifrar información (casi toda en inglés), llega uno a nombres como Bootstrap y AngularJS.
Por el camino he ido dejando otros que aunque asentados, crees que pueden perder terreno ante los nuevos competidores (como el caso del omnipresente jQuery, que puede ser sustituído por AngularJS). Tantos nombres, tantas opciones que casi he olvidado sus nombres.

Conclusiones

En estos momentos estoy empezando a tener una visión más o menos clara de lo que busco y de cómo puedo obtenerlo, pero sigue habiendo cosas que no termino de comprender por completo.
Voy a centrarme en profundizar sobre las herramientas citadas, no con cierta preocupación sobre cuales son los problemas que algunas de ellas pueden generar con los buscadores (como es el caso de AngularJS, cuyas páginas son procesadas por Javascript una vez cargadas).

Comercio electrónico

Respecto a las opciones de comercio electrónico. Magento ha sido para mí una gran decepción y una fuente continua de problemas. Prestashop me parece cuanto menos más fácil de programar, modificar y complementar; amén de ser más rápido en su funcionamiento.
Así pues, desde la más completa ignorancia, agradecería cualquier tipo de orientación y consejo sobre cómo voy orientando mi futuro.
Confío en ir trabajando en futuras entradas en estas herramientas y ayudar a quién se encuentre tan perdido como yo. También estoy intentando encontrar trabajo, pero por desgracia, hoy día se piden perfiles muy sobredimensionados y prefieren a gente con poca experiencia; así que por lo que estoy pudiendo comprobar, sólo me va a quedar la opción de hacer emprendedor más allá de los 45.

viernes, 7 de febrero de 2014

Introducción a Google Analytics

Google Analytics es una herramienta de Google que nos permite analizar el tráfico que recibe nuestra página web.

Gracias a esta herramienta, podremos saber el tipo de visitas que recibimos y desde dónde, el tiempo que se llevan conectado los usuarios, cuantas páginas visitan, cómo han llegado a nuestra página, etc.

Creando una cuenta en Google Analytics

Para crear una cuenta en Google Analytics habrá que acceder a la siguiente dirección:

http://www.google.es/intl/es/analytics/ (desde fuera de España, http://www.google.com/analytics/)

Google necesita que tengas creada una cuenta, si no es así, te invitará a hacerlo. Una vez hecho e identificados con nuestra cuenta, aparecerá un botón "Regístrese". Al pulsarlo nos llevará a la pantalla de alta de la cuenta de Analytics, donde tendremos que dar nombre a la cuenta, indicar la URL del sitio web del que queremos llevar el seguimiento (se podrá agregar más de uno), y los datos del mismo. Por ejemplo, en mi caso:
  • Nombre de la cuenta: rsanjoseo
  • Nombre del sitio web: Blog rsanjoseo
  • URL del sitio web: rsanjoseo.blogspot.com.es
  • Categoría del sector:  Internet y telecomunicaciones
  • Zona horaria de informes: España - (GTM +01:00 Madrid)
  • Opciones de compartir datos, al gusto de cada uno ;)
Una vez que hayamos introducido los datos y opciones que se nos han solicitado, le daremos al botón "Obtener ID de seguimiento", momento en el que si falta algún dato se nos indicará cual y si todo está bien, aparecerá una pantalla con los "Términos del contrato" que tendremos que "Aceptar" para poder usar el servicio.

Una vez aceptado, se nos asignará una ID de seguimiento y un fragmento de código que tendremos que agregar en nuestra web para que Google pueda recopilar los datos.

En la mayoría de los casos, nuestra aplicación tendrá algún punto en la configuración para poner directamente el ID de seguimiento sin necesidad de agregar el código.

Ya tenemos nuestra cuenta lista para analizar todo el tráfico que recibamos en nuestra página. Aunque los datos no pueden ser 100% fiables, debido a que hay cosas imposibles de determinar, espero que os sea de utilidad.