entradas archivadas bajo el epígrafe "seo"

El blog de KOALAB, año cero

Publicado por Pablo Deeleman el 05/01/2009 de enero del 2009 a las 20:27

Mes y medio. Eso es lo que hemos necesitado para volver a la conversación con nuestra audiencia, aunque esto no es exactamente así: No hemos parado de conversar, de interactuar, de discutir y de intercambiar impresiones, pero hemos necesitado hacerlo mediante otras herramientas (Twitter, IM) así como espacios (fotos, comunidades virtuales, otros blogs, etc.).

Y es que el 2008, ahora difuminado en la resaca del año nuevo, nos ha enseñado muchas cosas, al tiempo que nos ha mostrado el camino a seguir, a través de nuestros aciertos, y más aún si cabe, de nuestros errores.

Por estas mismas fechas iniciamos el año pasado el blog “Bajo el Foco”, en donde pretendíamos sobre todo emerger del perfil bajo que habíamos ostentado desde el nacimiento de nuestra agencia y generar un cierto buzz alrededor de nuestra marca, empleando como arma la exposición de nuestros trabajos y el Know-How adquirido a través de ellos y de nuestra experiencia acumulada. Y dio resultado, aunque no exactamente como esperábamos.

Por un lado, los artículos publicados, que seguían una línea editorial un tanto “experimental”, concentrándonos originalmente en temas concernientes a las TIC aplicadas al mundo del turismo (aunque luego abriríamos nuestro abanico a entradas más técnicas), lograron disparar nuestro posicionamiento orgánico en búsquedas relacionadas con términos como “marketing turístico en Internet” o “diseño web turístico”. De un PR de 3 pasamos a un PR de 7 en apenas tres Google Dances.

Por otro lado, logramos un crecimiento espectacular en visitas hacia nuestra web, así como un repunte inusitado de nuestro PageRank. Sin embargo, dichas cifras, que arrojaban asimismo un incremento de la notoriedad de nuestra marca bastante apreciable en foros y bitácoras afines, no venían acompañadas de un crecimiento de la discusión de los hilos de comentarios de cada entrada. En ese sentido, el visitante se comportaba de forma pasiva: Llegaba a nuestro blog, examinaba los contenidos y lo abandonaba.

A la vista concienzuda de las estadísticas de visita, no resultó difícil determinar el por qué de este comportamiento. La temática de nuestros artículos había atraído dos grupos de usuarios bien diferenciados: Por un lado, aquellos que deseaban profundizar en aspectos puramente técnicos y poco documentados de la Red en castellano como ExtJS, pasarelas de pago XML o ASP.NET MVC. Por otro, kamikazes surfistas de Internet que buscaban, entre otras cosas, referencias de los hoteles de nuestros clientes, y que en alguna ocasión mencionamos en nuestro blog. Los primeros llegaban a nuestra bitácora, examinaban la información que les interesaba, descargaban los códigos de programación publicados, y se marchaban por alguno de los enlaces disponibles. Los segundos, directamente se marchaban. En ninguno de los dos casos, y salvo las excepciones de nuestra audiencia más fiel, nadie mostraba la voluntad de quedarse a discutir, generando un nivel de feedback muy bajo.

En ese sentido, habíamos logrado cubrir nuestros objetivos SEO originales, pero no lograr el nivel de conexión esperado con nuestra audiencia. De hecho, sólo habíamos logrado capturar la facción de nuestra audiencia más geek, tradicionalmente menos proclive a la participación en conversaciones.

Ante ello, ¿qué panorama nos quedaba? Reflexionamos mucho al respecto y nos tomamos un tiempo de respiro para evaluar cómo, tras dejar el blog a la deriva, respondía nuestra audiencia y qué elementos seguían suscitando interés en el devenir del tiempo. Finalmente, y tal como esperábamos, nuestra audiencia más fiel ha seguido siendo nuestro público más techie.
Con todo, hemos tomado las decisión final de dar por terminado este blog, y transformarlo en un magazine online con entidad propia, y una línea editorial que apueste fuertemente por la comunidad de desarrolladores que demandan contenidos relacionados con el comercio electrónico, la programación web cliente-servidor, la estrategia SEO/SEM y la experiencia de usuario. Durante este tiempo, y al hilo de otros proyectos propios, hemos confeccionado un nuevo e-zine tomando como base el estupendo trabajo realizado en la distribución Coltrane de Wordpress, el cual estamos en estos momentos sometiendo al Q&A final previo al release del mismo, que tendrá lugar antes de que finalice enero, con dominio y sitio propios independientes de éste.

Nuestro sitio web quedará desprovisto así de blog, pero ello no significa que abandonemos la conversación corporativa con nuestra audiencia. Todo lo contrario, en tanto mantenemos nuestra línea de comunicación en Twitter al tiempo que reforzaremos nuestra newsletter a lo largo de 2009. Y ello no es todo: Seguiremos informando de nuestros nuevos proyectos y noticias bajando directamente a la arena de las redes sociales (Facebook, Online Marketing Latam, Turismo2.0, etc.), en vez de intentar realizar un esfuerzo “pull” de discutible eficacia corporativa y social. Al fin y al cabo, la máxima más importante a la hora de seleccionar la participación en redes sociales es seleccionar aquellas que entroncan directamente con el estilo comunicacional de la organización, llevando el mensaje directamente a las plazas en las que su audiencia se reúne, conversa y establece relaciones.

Como nota final, señalar que dejaremos el blog disponible para consulta durante uno o dos meses, para ir acomodando redirecciones 301 hacia nuevas ubicaciones de las entradas, bien en nuestro nuevo e-zine o bien en otros sitios en donde colaboramos. La finalización del blog coincidirá, por cierto, con la publicación de nuestra nueva web (de la que hablaremos en nuestra próxima –y última- entrada).

Nos vemos en la Red.

Archivado bajo , , ,


La estrategia SEO, más fácil de lo que piensas

Publicado por Pablo Deeleman el 22/10/2008 de octubre del 2008 a las 10:36

En más de una ocasión hemos hablado, en este y otros blogs, de estrategias SEO aconsejables. Hoy, sin embargo, me gustaría efectuar un ejercicio de simplificación. Recientemente, Isaac Vidal se hizo eco en su blog de una entrada ya publicada en el pasado en los foros de Turismo 2.0, en la que discutíamos cuál era el perfil ideal de un consultor SEO. Dicha entrada tenía como objetivo consensuar unas pautas que nos permitieran identificar al asesor más idóneo a la hora de externalizar la gestión de la estrategia SEO. Y, en ambos sitios, el flujo de discusión fue bastante amplio.

Sin embargo, en la entrada de Isaac Vidal me llamó la atención como algunos participantes, llevados por el entusiasmo, señalaban la necesidad de infundir la estrategia SEO en torno a un equipo multidisciplinar compuesto por profesionales de diverso pelaje: Sociólogos turísticos, psicopedagogos, lingüistas, expertos en explotación hotelera, consultores de marketing especializados en segmentación de mercados... Y así hasta cubrir todo el espectro de profesiones del abanico profesional actual.

A través de mi experiencia, nunca he visto nada así, y confío en no verlo jamás: Reunir un equipo de tales características y confiarle una estrategia SEO sería tan poco productivo como entregar 7 caramelos a 100 niños e indicarles que s elos repartieran, al encontrarnos de pronto con un equipo multidisciplinar que sólo vería los arboles pero nunca el bosque, intentando arrastrar la metodología de acción hacia su campo de experiencia particular.

Y ello redunda en el objeto de esta entrada: La gestión SEO no es tan complicada, ni exige tantos recursos y conocimientos. Si decidimos externalizar nuestra estrategia SEO, lo conveniente es encontrar un perfil que aúne conocimientos técnicos, comerciales y métricos, sólo o en equipo. Pero, lo más importante, ¿y si decidimos gestionar la estrategia SEO a un nivel autónomo, al interno de nuestra organización? Pues entonces, en vez de abrumarnos con estrategias horizontales, debemos concentrar nuestro foco en lo más importante:

  1. El contenido: Si construimos un discurso en Internet interesante, denso pero jugoso en contenidos, habremos cubierto la mitad del camino: Los algoritmos de búsqueda y el link-baiting generado por terceros ya se encargará de proporcionarnos la indexación necesaria así como un amplio abanico de seguidores.
  2. La accesibilidad: No bastan con lanzar buenos contenidos a la Red, hay que hacerlos accesible. Y dicha accesibilidad debe tener en cuenta que Googlebot es un conjunto de algoritmos de rastreo, y no percibe nuestras páginas como nosotros. El uso de código de marcado accesible y semántico, que permita a los motores de búsqueda discernir qué es lo importante (titulares, resaltados, énfasis) de toda la sopa de código HTML que conforma nuestras páginas, ayudará al robot a seleccionar las palabras clave con las que asociar nuestro contenido. Y todo ello, siendo controlable por nosotros, debe hacerse de forma realista: Sólo un 4% de las páginas web en Internet cumplen con los estándares. Por esa razón, Google es tan flexible. De no serlo, no devolvería apenas resultados.

Y eso es todo. Ya está, no hay más: Contenido y accesibilidad. Si tuviera que añadir un factor adicional seleccionaría sin duda la construcción de una estructura de URL con amplia capacidad descriptiva y densidad de palabras clave, así como una coherente selección de títulos de página, ricos asimismo en palabras clave. Pero lo más importante, por encima de todo, es lo citado anteriormente: Contenido sabroso y accesible, ni más ni menos.

Y para muestra un ejemplo: Nuestra propia web recibe una cantidad ingente de tráfico, proveniente en su mayor parte de buscadores, disponiendo actualmente de un índice relativamente bajo de inbound links. Después del último Google Dance, nuestra web goza de un PageRank de 7/10, probablemente el más alto en una empresa de la zona, e indudablemente más alto que cualquier otra agencia interactiva de Alicante que conozcamos. Y todo ello, teniendo en cuenta lo siguiente:

  • No disponemos de robots.txt
  • No disponemos de sitemap.xml ni de yahooURL.
  • Replicamos títulos y metas en muchas de nuestras páginas.
  • Nuestra web está construida en ASP.NET, con las deficiencias en la renderización de código HTML estándar que ello supone.
  • No incorporamos demasiados microformatos en nuestro marcado.
  • Etc.

Y a pesar de ello gozamos de buenos rankings en los principales motores de búsqueda y un PR de 7. ¿Nuestro secreto? Buenos contenidos, seleccionados cuidadosamente, y abierta accesibilidad para todos.

A modo de cierre: Si el contenido es, en definitiva, lo más importante, y dicho contenido emana de la organización, es la propia organización y sus integrantes, los responsables SEO, y ello pone la capacidad de la gestión de dicha estrategia al alcance de cualquiera. Pero esta idea, que también merece un debate adicional, la abordaremos más adelante.

Archivado bajo ,


Google como buscador social, aspectos positivos y negativos.

Publicado por Pablo Deeleman el 18/07/2008 de julio del 2008 a las 20:48

TechCrunch ha dedicado un vídeo a describir visualmente las nuevas funcionalidades de votación social de los SERPs de Google. Aunque a primera vista parece un importante paso a favor de una web más social y democrática, con unos resultados influenciados por el criterio y sentido común, como ya vemos en aplicaciones de agregado social de éxito como Digg o Newsvine, no puedo por menos que imaginarme dos escenarios a considerar, ciertamente contrapuestos:

  1. En positivo, eso pondría en serias dificultades a aquellos sitios que se sustentan en una estrategia SEO radicada exclusivamente en tácticas de generación de enlaces con palabras clave, sustitución de texto, inyección de contenido únciamente concebido para los buscadores, manipulación de títulos, etc. Y ello por no decir la aplicación directa de prácticas calificadas como “Black Hat SEO”. No hay nada que me reviente más que esas páginas en las que se hace patente que están ideadas para los buscadores, y no para los usuarios humanos. El contenido es lo importante, y el contenido de interés y calidad debe prevalecer por encima de toda consideración SEO (sin por ello restar importancia a que toda web merece un esfuerzo para hacerla más accesible a los buscadores). Con índices influenciados por la votación social, mucha basura desaparecería de Internet, afortunadamente.
  2. En negativo, la democracia puede llegar a ser peligrosa. Recordemos los infames casos de “Google bombing” que se han producido, de forma justificada o no, desde la incepción de los modernos motores de búsqueda. La inclusión del componente social podría abrir la puerta a resultados excesivamente subjetivos en ocasiones, teniendo como único campo de batalla el propio buscador, y no necesitando ya para ello el desarrollo de extensos y complejos esquemas de enlaces en sitios de terceros para “forzar” el ascenso de bizarras asociaciones entre palabras clave denigrantes y páginas web. En cualquier caso, vivimos en un mundo polar y plural, por lo que este escenario no tendría una fácil plasmación.

Para más información:

Archivado bajo ,


SEO con Flash CS3 (II): Deep-linking con flashVars y reescritura REST de URLs

Publicado por Pablo Deeleman el 13/07/2008 de julio del 2008 a las 13:00

En nuestra anterior entrada sobre el tema introducíamos el concepto de ancla en Flash CS3 como vía de acceder directamente a los contenidos de la línea de tiempo de nuestra película, reforzando la accesibilidad de la misma.

Sin embargo, esto no generaba una mayor apertura de la misma a los buscadores, dado que dicha solución no es aplicable para la creación de URLs REST a través de reescritura. Como hemos dicho, lo ideal sería disponer de URLs del tipo “/mi-web/contenido” y que, estando dirigidas todas a la página que alberga nuestra película flash, permitieran que, dependiendo de una URL u otra, se cargara automáticamente el frame o clip que nos interese, favoreciendo la accesibilidad directa a los contenidos que requiera el usuario.

En esta parte de nuestro viaje SEO para flash introducimos otro concepto ya antiguo, al que se suma uno nuevo: Estoy hablando de las FlashVars, ya existentes en versiones anteriores de AS, y de la nueva clase loaderInfo de Actionscript 3.0, disponible para Flash y Flex.

Primero debemos realizar una leve adaptación en nuestra película flash, si está ya cuenta con contenidos, o bien generar un clip nuevo que nos sirva de controlador. Lo bueno de esta solución es que se puede implementar aplicando toda la lógica de negocio en un Display Object particular en cualquier lugar de la jerarquía de la película.

En nuestro clip que hará de controlador, definimos una serie de fotogramas clave a los que asignamos un nombre (constituido por una sola palabra identificadora sin espacios). Dentro de cada uno, podemos colocar o bien una instancia de un objeto con el contenido que deseemos, o bien código AS que se encargue (empleando la clase Loader o similar) de cargar y mostrar en la escena el objeto que se correspondería con el contenido indicado en el nombre del fotograma clave. En aras de la brevedad, no detallaremos más esta parte, dejando al albedrío del lector su vía de implementación preferida.

Lo importante es la filosofía de esta implementación: Cada fotograma clave “disparará” un contenido concreto de la película global, manteniéndose la posibilidad de cargar la película sin solicitar contenido alguno, lo que la hará mostrarse desde el principio. Para ello, situamos en una capa superior el siguiente código Actionscript 3.0: 

stop();
var seoContent:String = root.loaderInfo.parameters.page;
if(seoContent != null)
gotoAndStop(seoContent)


Y eso es todo. Estamos indicando a la película flash que, al cargar, se detenga y examine si se le ha pasado algún parámetro flashVars llamado “page” invocando directamente la colección de parámetros parameters de la instancia loaderInfo del objeto root perteneciente al clip creado. Si existe algún valor para el parámetro “page” (lo que le hace distinto de null), desplazamos el cursor en la línea de tiempo flash al fotograma clave del mismo nombre. ¿Y como pasamos estos parámetros a la película Flash desde nuestra página? Pues a través de la instancia del objeto en nuestro código HTML:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="550" height="400" id="seo"
    <param name="movie" value="seo.swf" />
    <param name="quality" value="high" />   
    <param name="flashvars" value="page=reservas" />
    <embed src="seo.swf" flashvars="page=reservas" quality="high" width="550" height="400" name="seo" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

El ejemplo anterior cargará la película Flash y desplazará directamente el cursor al fotograma clave “reservas”, mostrando directamente su contenido. En caso de no indicar ningún valor, o uno que no tenga correspondencia con los nombres de los fotogramas, la película flash se cargará desde el principio.

¡Ya casi estamos! Ahora sólo nos faltaría hacer que la introducción de los parámetros se realizara de forma dinámica examinando parámetros en la URL, como:

/mi-web/?pagina=mi-contenido

Para ello, modificamos levemente el código de nuestra página para que capture dicho valor. En ASP:

<param name="flashvars" value="page=<%=Request.QueryString["pagina"] %>" />
<embed src="seo.swf" flashvars="page=<%=Request.QueryString["pagina"] %>"


O en PHP:

<param name="flashvars" value="page=<?=$_GET[“pagina”] ?>" />
<embed src="seo.swf" flashvars="page=<?=$_GET[“pagina”] ?>"

A partir de este momento, cuando solicitemos la página que alberga nuestra película flash pasándole el parámetro “pagina”, el contenido deseado de nuestra película se cargará automáticamente.

Sin embargo no hemos acabado. Las URL resultantes no resultan muy bonitas ni intuitivas, al tiempo que algunos buscadores tienden a penalizar las URLs con parámetros. Lo que debemos hacer, para favorecer el deep-link de nuestra película, es generar URLs REST, para lo cual emplearemos soluciones de reescritura, como ISAPI Rewrite Lite (si tenemos nuestra web en un servidor Windows con IIS), o mod_rewrite si albergamos nuestra web en un servidor Apache, siendo ambas soluciones gratuitas. Para la instalación del módulo de su elección remítase a la documentación existente en la web del proveedor correspondiente. Lo que si haremos aquí es indicar la configuración a seguir, siguiendo con nuestro ejemplo. En el archivo de configuración del reescritor, introducimos las siguientes reglas:

RewriteEngine On
RewriteRule ^nuestros-servicios default.aspx?pagina=acerca[L,NC]
RewriteRule ^nuestros-servicios/equipamiento default.aspx?pagina=equipamiento[L,NC]
RewriteRule ^nuestros-servicios/fotos default.aspx?pagina=fotos[L,NC]
RewriteRule ^rservas-online default.aspx?pagina=reservas[L,NC]

Del ejemplo anterior, modifique la referencia a default.aspx por la que se corresponda con la página dinámica y extensión que alberga su película flash.

¡Y ya hemos acabado! Con esta configuración, podemos ofrecer públicamente las siguientes URLs REST de entrada para los contenidos de nuestra web en Flash, empleando para ello una única película flash y una única página dinámica contenedora:

http://mi-hotel.com/nuestros-servicios
http://mi-hotel.com/nuestros-servicios/equipamiento
http://mi-hotel.com/nuestros-servicios/fotos
http://mi-hotel.com/reservas-online

Para rematar convenientemente nuestra tarea SEO, es preciso tener en cuenta los siguientes requerimientos adicionales:

  • Empleando las capacidades del lenguaje de servidor de nuestra elección, debemos incorporar programación orientada a actualizar tanto el título de la página como la información META de título, keywords y descripción para asegurarnos de que los buscadores indexan cada URL con el perfil necesario dentro de su índice, muestra luego los resultados convenientemente en las descripciones de los SERPS, así como (y esto es muy importante), evitamos que el buscador considere que estamos duplicando contenidos, algo que penalizaría nuestra indexación.
  • Es preciso “instruir” a los motores de búsqueda de que dichas URLs REST de entrada existen, para lo cual debemos completar nuestro sitio web con una página HTML de mapa del sitio en donde estén disponibles los enlaces en HTML accesible. Dicha página debe ser accesible mediante un enlace HTML desde la página que alberga nuestra película flash.
  • Podemos reforzar lo anterior situando un sitemap y un urlList.txt a disposición de Google y Yahoo! respectivamente, para ayudar a su indexación. En el caso de Google, podemos incluso automatizar su actualización.

Y con este artículo esperamos haber desvelado sólo algunas de las muchas posibilidades existentes a nuestra disposición para optimizar la indexación de nuestros contenidos en flash.

Archivado bajo , , , ,


SEO con Flash CS3 (I): Anclas

Publicado por Pablo Deeleman el 08/07/2008 de julio del 2008 a las 18:25

A la hora de hablar de SEO, Flash no suele salir bien parado, pero cierto es que la inmensa mayoría de comentarios que se suscitan hacia la poca idoneidad del entorno multimedia de Adobe suelen estar sustentados en una base errónea y, sobre todo, en un profundo desconocimiento de la tecnología que incorpora.

Sí, los objetos Flash son “casi” una caja negra opaca para los motores de búsqueda (aunque Yahoo! y Google anunciaran hace poco sus esfuerzos por mejorar su capacidad de indexación), pero no lo es sin embargo para la propia página HTML que los alberga, con la que  pueden intercambiar información mediante Javascript o bien empleando FlashVars a la hora de definir el código de embebido. Es a través de esta capacidad mediante la cual podemos aprovechar y crear toda una suerte de definiciones de URLs con contenido indexable que indiquen al clip flash presente en la página qué contenido debe mostrar. De hecho, en ocasiones ni siquiera necesitamos plantear esa “capa Proxy” de interconexión. Veamos un ejemplo:

Supongamos que hemos confeccionado una película flash para, por ejemplo, un hotel. En dicha película flash mostramos, con animaciones y elementos multimedia, contenido distribuido en 4 secciones: acerca del hotel, equipamiento, fotos e información de reservas. En una página HTML normal desearíamos que dichos contenidos pudieran ser indexables mediante URLs REST como:

/acerca-del-hotel
/equipamiento-del-hotel
/fotos-del-hotel-y-del-destino
/reservas-hoteleras

Pero la películas Flash en cuestión se carga en una única página y ya nos proporciona todos los contenidos sin tener que saltar de página a página. ¿Cómo lo implementamos?

Flash CS3 incorpora una funcionalidad que son los anclajes, consistentes en la capacidad de introducir anclas con nombre en diversos keyframes a las que se dirigirá el reproductor de forma inmediata tras cargar la película. Son algo así como la tradicional etiqueta <a name=”XXXX”> de HTML. La manera de introducirlas es muy similar al modo en que se introducen nombres para los keyframes: Se introduce el nombre del anclaje en el campo “Fotograma” de la persiana de propiedades y se define como “Anclaje” en el campo desplegable “Tipo de Etiqueta”. Para ello, se recomienda embutir todo este contenido en una capa específica, en la raíz de la película flash. Como en el ejemplo inferior:

Tras ello, podemos incorporar en cada frame señalado con un anclaje los elementos multimedia correspondientes a la sección o bien código Actionscript que se encargue de gestionar la petición de contenido concreta, cargando en el lienzo los clips secundarios correspondientes. En aras de la brevedad no incluiremos código Actionscript para ello: Que cada cual se lo cocine como quiera, desde un simple gotoAndPlay() hasta una instancia de la clase Loader que cargue la subpelícula Flash que interese mostrar.

Examinando el código anterior, observaremos que nuestra (única) página cargará el contenido de cada anclaje con sólo invocar las siguientes URL:

/default.html#acerca
/default.html#equipamiento
/default.html#fotos
/default.html#reservas

Sin embargo, esas URLs no son muy REST-ful que digamos. Nos gustaría tener una estructura de directorio que fuera:

/nuestros-servicios
/nuestros-servicios/equipamiento
/nuestros-servicios/fotos
/reservas-online

Para ello, precisamos una solución más refinada, involucrando algo de programación servidor (ASP.NET, PHP, etc.), que comentaremos a lo largo de esta semana en nuestra próxima entrega de esta serie, abordando también como educar al motor de búsqueda para que "encuentre" esas URLs y las incorpore en su indice.

Archivado bajo , , , , ,