Translate

viernes, 24 de febrero de 2017

Hacer una auditoria SEO técnica

Desde hace tiempo llevo queriendo remodelar mi página web. La verdad es que empecé la casa por la ventana:Test A/B, pero bueno la cosa era probar algunos test antes de redisenarla.

Por otro lado sigo investigando en encontrar mi informe SEO ideal, que "fit" conmigo como un guante y me haga andarme poco por las ramas investigando nuevas cosas. Y teniendo un blog, lo mejor que casa conmmigo es dedicarle tiempo al contenido.

Pero no fue hasta hace unas semanas que no caí en la cuenta de que está muy bien mirarse el ombligo, estudiar las keywords,revisar el GWT y Google Analytics y tener un ojo en los competidores, pero que en realidad tener limpica a nivel tecnico nuestra web también es importante, porque los post que creamos van a más y ya no se ni de cuantas páginas web cuenta mi blog.

Echando cuenta hará unos 9 meses que no reviso demasiado a fondo a nivel tecnico mis URLs, ni los enlaces salientes ni internos que tengo. Y lo peor de todo es que una de mis funciones en la empresa donde trabajo es reportar esta serie de errores. Si es que en casa del herrero...  Además a Google ultimamente le ha dado por cambiarme las metatags, incluso incluyendo enlaces internos de otras web, algo que me tiene completamente anonadada (ó WTF, como diríán por aquí), pero me dá una idea de que Google no piensa que sean las mejores.

Volviendo al título de este post.
Voy a ir desgranando en que me voy a fijar para , en mi caso, hacer una auditoria técnica SEO.
A modo de índice:
- Google webmaster tools
- ScreamingFrog (vaya nombrecico)
-Pagespeed de Google (en la sección de developer)

Antes de nada voy a pasarme por GWT, sin duda una de mis herramientas favoritas, aunque muchos webmaster la tengan bastante infravalorada. hey chicos que por mucho Semrush, Moz o lo que queráis mirar, el que mejor conoce Google y su funcionamiento es el mismo Google.Haced caso al Papá.

Google Webmaster Tool

En este caso voy a mirar si tengo indexadas todas las página que quiero y bueno, como esto lo llevo un poco a raja table tampoco hay muchas sorpresa.




Contenido bloqueado

Otra herramienta incluida en GWT que tambien sirve para ilustrar esto es Fetch as Google. Si alguna página te da algún error raro puedes verla con esta herramienta. Además si le tienes carinno a alguna landing page ( o página de aterrizaje) en particular no dudes en revisarla. El blog de Google Webmaster explica un poco mejor que significa todo como renderizar páginas en este post de Mayo de 2014

Screaming Frog

Una de las últimas herramientas que he conocido y que parece que tiene mil usos y es muy rápida (en menos 5 minutos puedes tener tu web). He de decir que hace dos meses me daba bastante fallos de estabilidad, pero ha mejorado muy mucho en esto.

*Tienes que descargarla porque es una herramienta de escritorio http://www.screamingfrog.co.uk/seo-spider/ (con versión gratuita y de pago)


Más vale echarle miles de horas a todo lo que podemos sacar de aquí y lo mejor de todo es que también podemos tener acceso a a información de las páginas de nuestros competidores.Asi que hazte un café y manos a la auditoria.
Para empezar tienes que poner tu web en  "Enter url to spider" y darle a start, esperar unos minutos. Et voilá!


Esto ya depende de cuanto tiempo le quieras dedicar a a web. En mi caso, y para este tipo de auditoria voy a dedicarle especial tiempo a los responses codes, y a external ya que quiero saber si enlazo a enlaces roto, ya que esto puede ser frustrante para mis usuarios e irse a buscar lo que quieren a otro sitio.

Más tarde me meteré un poco más en profundidad en la parte de Internal. Para ello exporto todo a csv y me lo llevo a excel para manejarlo.

Responses codes

Si aparece un 200, hey todo va bien. Sin embargo si lo que obtienes es un 30X ya puedes ir mirando si estás haciendo lo que realmente quieres. Si lo que encuentras en un 500 algo falla con el servidor. Pero de todas formas en este artículo de la wikipedia tienes los códigos explicados (he enlazado a la página en castellano).

Pagespeed de Google

También vale la pena mirar un poco  la velocidad. Para ello Google nos ha hecho esta aplicación, donde además podemos ver nuestra web móvil.También dá ejemplo de cosas a mejorar en tu web, así que a mejorar se ha dicho.
https://developers.google.com/speed/pagespeed/insights/

La parte de móvil tenla en especial interés, ya que hoy en día todos usamos móviles para visitar la web. Así que según cómo tengas configurado este tema te encontrarás con diferentees dficultades.

Y asi he realizado yo la auditoria para mi web.(este post se irá actualizando conforme vaya descubriendo información relevante.



sábado, 21 de enero de 2017

Errores que pueden darse al analizar datos de forma visual

En el curso sobre Data Visualization and Communication with Tableau ya vamos por la semana tres y cada vez se pone más interesante sobre todo en lo que aplicación práctica se refiere. Sin duda, uno de los mejores cursos que me he encontrado últimamente ya que va más allá de Tableau y explica todo un framework a tener en cuenta para explicar los resultados obtenidos.

Esta semana además aparecen en los vídeos personal de AirBnB dando ejemplos reales de los problemas que pueden darse al analizar los datos.

Errores que se pueden dar al analizar datos de forma visual 

La generalizacion y el sesgo muestral (Overgeneralization ands sample bias)


Este error se refiere al problema que genera elegir un dataset que está demasiado lejos de la realizad por ser una muestra demasiada o pequeña y dar por real algo que no lo es. Igualmente podemos tener un dataset enorme pero que no se ajuste a la realidad. Por ejemplo The Guardian intentó analizar donde eran peores las consecuencias de los efectos del Huracán Sandy según el ruido que se formaba en twitter. En realidad como la población no está igualmente distribuida, habia más tweets desde las ciudades más pobladas. Así que si se hubieran quedado con ese dataset no hubiera servido para nada y los resultados no hubieran servido para nada.

Así que deberíamos tener más cuidado con la calidad de los datos.

Mala interpretación debido a la falta de controles


Cada vez que analizamos algo puede ser debido a diversas causas, no sólo a lo que nosotros pensamos que puede ser. Como ejemplo se da un análisis de una acción de email marketing que supuestamente hacer que aumente la compra de una bebida en una determinada fecha. Más allá de ello nos encontramos que en realidad el aumento de la compra de la bebida se dá, no sólo en nuestra empresa sino también en los mayores competidores. ¿Qué ha podido pasar? Justamente por esa fecha un actor sale en las revistas bebiendo ese tipo de bebida y todos los vendedores salen fortalecidos.

Por ello siempre debe hacerse un grupo de control para ver si el resultado de la acción se debe a alho intrínseco.


Correlación no implica causalidad


Esto siempre es debatido en el análisis. Dos variable que parecen que tienen correlación (por ejemplo cuando una aumenta la otra también) en realidad  pueden no tener relación. Por ejemplo google estuvo haciendo un estudio y dando los resultados sobre la gripe. Así podía predecir los brotes que se daban por zona geográfica. Aunque en un principio parecía correcto, llegó un momento en que dejo de serlo. Quizás había alguna variable que no se haya tenido en cuenta o que entra en juego a lo largo del tiempo, por ejemplo un cambio en Google suggest
A ese tipo de relación que gráficamente parece existir pero que no tiene lógica se le llama relación espurea. Y se pueden a modo de friki-chiste relaciones espureas en esta página web.

Recomendación para evitar estos errores en el análisis

¿Y qué podemos hacer para intentar cometer el mínimo de errores posible y que se vaya todo el trabajo al garete?

1. Podemos crear un grupo de control, al modo A/B testing.

2. Si no es posible, podemos estudiar otras variables relacionadas que podrían esta interfiriendo en el análisis.

3. Hay que tener en cuenta que cuanto más grande es un dataset, más probabilidad hay de que aparezca una variable durante un periodo de tiempo  que haga que la nuestra correlación no sea cierta.(por ejemplo para el caso de Google flu, un cambio en su algoritmo con Google suggest donde sugería a los usuarios términos a buscar ) Así que si queremos basarnos en las correlaciones primero debemos saber que estamos haciendo e investir tiempo y esfuerzo en ello.

Más allá de todo esto aquí dejo un artículo de Wired sobre lo que podemos aprender del fallo de Google Flu Trends (muy muy interesante)

domingo, 24 de julio de 2016

England,UK,Great Britain or United Kingdom?

Después de leer un artículo de broma sobre la dificultad de "ser británico" en 2014 con el típico humor britanico, he caído en la cuenta de que yo también me enfrento a algunas de las situaciones que describen.
Una de ella es cuándo hay que buscar por país en una empresa de aerolineas o cualquier tipo de transporte. Estará por UK, England, Reino Unido,...? Siempre me lleva unos segundos de más. Parecido a cuándo no sabes si buscar por Spain o por Espana.

Para ver cómo buscan los mismo británicos por su país y cómo lo buscan en otros países de habla ingresa me he ido a Google trends a ver si ha ido cambiando.

Google Trends

Cómo se escribe Reino Unido en el mundo inglés

Los resultados han sido los siguientes:
  Al final he decidido annadir London para ver si es más importante que el propio país. Y bueno, parece que tanto en USA como en Canadá, Londres como concepto de busqueda es tan importante como el país en sí. La verdad es que si una empresa decide hacer una página web internacional le puedes servir muy bien investigar en Google Trends sobre este aspecto, sobre todo y mmientras Google Hummingbird, el algoritmo de Google, sigue aprendiendo cómo buscan los usuarios en Internet. Yo aún me enfrento a ello cuando voy a Espanna de vacaciones y me preguntan "qué tal por Londres "(a 3-4 horas de Leeds, dónde me encuentro). Igualmente a un amigo le pasa lo mismo cuándo le preguntan por Inglaterra y él está viviendo en Gales. Y es que no sólo en Espanna existe esa diferencianción por la "comunidad" dónde vivimos o hemos nacido y el país en sí...

Keywords para SEO y SEM

Asi que si decides hacer una keyword research para otros países (tanto en SEO cómo en SEM), deberíás tener todas estas cosas en cuenta, pero todos estos detalles pueden que te permitan crear una entrada de tráfico para long keywords por ejemplo que tu competencia aún no haya minado. Así que todavía queda mucho trabajo por hacer :)

martes, 17 de mayo de 2016

Principios básicos para realizar test a/b

Jelo People,hacía que no escribía una barbaridad (pero una barbaridad de verdad).

Unfortunatelly he terminado la temporada 3 de House of Cards  y la 4 aún no está en Netflix (la vida es así de dura, pero hay que convivir con ello) Pero bueno,he cogido mi lista de cosas por hacer y me he encontrado el curso de A/B testing  que dejé a medias hace unos meses. Os hago aquí un resumen por si os interesa.

Así que he estado mirando unos videos de la friki-pandi de CRO de Google y os resumo en estos vídeos de ejemplos y de un minuto aproximadamente. El tipo de preguntas que se puede hacer y que no se puede hacer en a/b testing. Cuando hacemos a/b testing nos interesa poder medir algo básico, mutuamente excluyente y que podamos saber que es aleatorio porque si no, nosotros estamos influenciando los resultados y claro, eso no vale  porque es una técnica cuantitativa y los números sólo dicen sí o no.

When can you use a/b testing
https://www.youtube.com/watch?v=EwV5Vs2m33w


Otro ejemplo
https://www.youtube.com/watch?v=tlSe7H9BDy8


Información sobre a/b testing en castellano

Y si pasáis del inglés. Este hombre con gorro lo explica bastante y en castellano (da el pego con el titulo en inglés pero está en castellano)
http://www.slideshare.net/joanby/how-to-properly-analyze-an-ab-test?ref=http://juangabrielgomila.com/como-analizar-correctamente-un-test-ab/

Seguiremos informando

miércoles, 2 de marzo de 2016

Jugando con Tableau y los datos del banco Mundial

He estado jugando con Tableau y echándole un ojo a los datos de Banco Mundial.Total, que me he acordado del marido de una amiga que conocí en Leeds que es de Pakistan. Bueno, de él no, es que durante una cena nos contó que Pakistan era uno de los países más poblados del Mundo. Fijate tú, que en España, o al menos por las zonas que yo he vivido nunca había oído hablar de este país. Qué  si, que intuía que estaba por dónde todos los países que terminan en nosequéTAN y cerca del país de Borat. Y dicho sea de paso a mi me sirvió este conocimiento  para ganar un quesito en el trivial...

Total, que una cosa llevó a la otra y me he puesto a juguetear con los datos. Estaba interesada principalmente en los países más poblados,pero como la cabra siempre tira al monte he acabado creando un dashboard con datos de acceso a Internet y de mortalidad infantil.

La verdad es que ha quedado muy bonito y muy fácil de revisar el treemap más el mapa y el diagrama de cajas y bigotes que es cómo lo llamaba una profe mía en la Universidad (boxplot para los amigos), Yo siempre me imaginaba una caja llena de bigotes de los de Movember y eso que se puede decir que es mi gráfico favoito,.. En fin, mejor me acuesto





Lo he puesto para que filtre por el treemap y eso, muy chulo y útil.Desde luego Tableau nos das los gráficos mascaicos y sólo hay que ocuparse de encontrarle sentido a los datos Otra cosa son las métrica que he cogido...jeje Estaba pensando en intentar hacer una correlación de número de hijos y países más poblados. ¿Eso tiene que ser significativo no? ¿Y mortalidad infantil con estas dos? Pues eso, que más para otro día. Pero si andas interesado en saber como crear un Dashboard con Tableau este video lo explica rápidico rapidico.


miércoles, 3 de febrero de 2016

Segmentando con el modelo RFM con SQL : Recency, Frequency & Monetary value

Si contamos con una base de datos de clientes podemos aplicar un modelo bastante fácil y que ya lleva bastante rodaje en el Marketing Directo:el modelo RFM.

¿Qué es RFM?

El fin de este modelo es poder segmentar a nuestros clientes para saber cuales son los que mayor beneficio nos puede aportar. Así a esos clientes podemos mandarles códigos promocionales, por poner un ejemplo.

Descuartizando el modelo RFM

¿Qué significan cada una de esas letras?
  • Recency: que podríamos describir como recencia.
  • ¿Hace cuánto que compró el cliente? Si el cliente hace mucho que no ha comprado puede ser que se haya ido a la competencia.
  • Frecuency: Frecuencia
  • ¿Con qué frecuencia suele comprar?
  • Monetary Value: valor monetario
Cantidad de dinero que ha gastado de media. Si un cliente suele gastar más será más valioso que otro que suele hacer una compra pequeña.

Cómo definimos RFM en una sentencia de SQL

  • La recencia ("recency") viene definida por el día de la última compra: MIN(dias_desde_la_ultima_compra).
  • La frecuencia ("frequency") viene definida por el total de veces que el cliente ha comprado.
  • El valor monetario ("monetary value"), en este caso, lo vamos a definir como la media de la cantidad comprada de cada uno de los clientes.
Imaginando un CRM con un id por cliente podríamos definir la query como: SELECT cliente_id,
MIN(dias_desde_ultima_compra) AS 'recencia',
COUNT(*) AS 'frecuencia',
AVG(cantidad_comprada) AS 'valor monetario'
FROM data GROUP BY 1")
Al ser en SQL la podríamos usar tanto R como en Python, o cualquier otro lenguaje de programación.

domingo, 24 de enero de 2016

Shiny: Crear mini aplicaciones con R -Studio

Mirando ofertas de trabajo he visto que pedían para un par de ellas saber usar Shiny. Así que tras una búsqueda en Internet me he puesto manos a la obra para ver de que se trataba.Y me he llevado una grata sorpresa.

RStudio sigue pensando en como hacer la vida más fácil a los no programadores y ahora nos permite crear aplicaciones al más puro estilo servlet de java con, con su interfaz gráfica para poder jugar con ella sin tener que programar. De esta forma cualquier programa que hagamos en R lo podemos subir a Internet y hacer que un usuario pueda jugar con él. Este post explica muy bien de que va en un lenguaje muy llano y en castellano.

Así como un poco de magía.

via GIPHY

Disclaimer: Este artículo fue escrito en 2016! He actualizado (Abril 2020) el post con información ya que había links rotos. Espero que sirva de ayuda.

Cómo se ve un programa en Shiny


Para poder ponernos con Shiny, lo primero que tenemos que hacer es instalarlo, aunque si tenemos una de las últimas versiones de Rstudio ya nos vendrá integrado.

Instalar shiny en R

Para los anticuados:
> install.packages("shiny")


 Para los más modernos
Directamente pasamos a Rstudio
 

Cómo funciona un programa en Shiny

Cualquier proyecto shiny lo vamos a ver como un directorio formado por varios archivos.Debido a que el programa va a correr en un servidor (aunque sea en localhost)  y que tiene interfaz gráfica vamos a necesitar al menos un script para el servidor y otro script para nuestro GUI.

Archivo ui.R

Este archivo va a tener todo lo que necesitamos para la interfaz gráfica.La ventanita, los títulos, etc etc. Para hacer todavía más fácil la creación de la aplicación si decidimos publicarla en una web por defecto Shiny la creadará con el framework Bootstrap que es ampliamente utilizado hoy en día y usa HTML5. ¿Qué más se puede pedir?

Código ui.R

 This is the user-interface definition of a Shiny web application.
# You can find out more about building applications with Shiny here:
#
# http://shiny.rstudio.com
#

library(shiny)

shinyUI(fluidPage(

  # Application title
  titlePanel("Old Faithful Geyser Data"),

  # Sidebar with a slider input for number of bins
  sidebarLayout(
    sidebarPanel(
      sliderInput("bins",
                  "Number of bins:",
                  min = 1,
                  max = 50,
                  value = 30)
    ),

    # Show a plot of the generated distribution
    mainPanel(
      plotOutput("distPlot")
    )
  )
))

Archivo server.R 


Este archivo es el del servidor.

Código server.R


# This is the server logic for a Shiny web application.
# You can find out more about building applications with Shiny here:
#
# http://shiny.rstudio.com
#

library(shiny)

shinyServer(function(input, output) {

  output$distPlot <- renderPlot({

    # generate bins based on input$bins from ui.R
    x    <- faithful[, 2]
    bins <- seq(min(x), max(x), length.out = input$bins + 1)

    # draw the histogram with the specified number of bins
    hist(x, breaks = bins, col = 'darkgray', border = 'white')

  })

})

Crear un proyecto en Shiny



Esto va a hacer que tengamos un directorio con estos dos archivos en RStudio tal que así en nuestro nuevo directorio/proyecto


Una vez creado el nuevo proyecto podemos ver aplicaciones preinstaladas para empezar a toquetearlas. Para ello sólo hace falta llamarlas desde la línea de comandos y correr la aplicación de esta forma
> library(shiny)
> runApp("my_app")
Shiny nos los pone fácil y nos tiene preparadas algunas aplicaciones preinstaladas. Así que podemos llamarlas y ver lo que es capaz de hacer. Aquí los ejemplos que podemos encontrar:

runExample("01_hello") # a histogram
runExample("02_text") # tables and data frames
runExample("03_reactivity") # a reactive expression
runExample("04_mpg") # global variables
runExample("05_sliders") # slider bars
runExample("06_tabsets") # tabbed panels
runExample("07_widgets") # help text and submit buttons
runExample("08_html") # Shiny app built from HTML
runExample("09_upload") # file upload wizard
runExample("10_download") # file download wizard
runExample("11_timer") # an automated timer
También puedes ver diferentes ejemplos para estudiar y trabajar sobre el código.
En mi caso he re-creado una app que lee archivos en txt y los muestra en una nube de palabras (wordcloud). Quiero que me ayude a entender de una forma fácil y visual cuales son los términos que más se repiten en los artículos de mi web. La app todavía necesita varias vueltas como por ejemplo crear stop-word o cambiar el tipo de codificación de caracteres. Pero bueno, se vería así.

Ejemplos de R con código

La página principal donde encontré los ejemplos ha desaparecido pero aún queda en pie los enlaces a los ejemplos.

Los 108 ejemplos con código puedes encontrarlos en el siguiente fork en github. En mi caso usé código del ejemplo de 002-text y wordcloud ( http://gallery.shinyapps.io/082-word-cloud )

 He puesto el código y el enlace a su página en el siguiente documento para que sea más fácil de encontrar
https://docs.google.com/spreadsheets/d/1dJMZkdVHxk-mjta5eAfavCeQGLjEk6gACEZ_GkLaWAo/edit?usp=sharing

En github puedes encontrar el código de cuando cree el post (gracias Maria del pasado por hacer un fork).

*Yo actualizando los enlaces a este post que escribí en 2016, tras pasarme a Python.


Referencia de la imagen- 9gag.com/

Documentación e información sobre Rstudio Shiny