viernes, 22 de noviembre de 2013

Iconos de frutas y vegetales Icons

Fruit and Vegetable Icons es un set gratuito de íconos en formas de frutas y vegetales, ideales para un blog o web sobre cocina.

CARACTERÍSTICAS

Pack de 9 íconos de frutas y vegetales.
Autor : bingxueling
Formato: PNG.
Tamaños: 256x256 px.

Descargar

viernes, 15 de noviembre de 2013

Twitter Buttons Icons

Twitter Buttons Icons es un set gratuito de íconos de Twitter, muy elegantes, ideales para un sitio web o blog.

CARACTERÍSTICAS

Pack de 4 íconos Twitter con el pajarito característico.
Autor : Graphic Leftovers
Formato: PNG.
Tamaños: 128x128, 256x256 px.

Descargar

viernes, 1 de noviembre de 2013

Efecto humo en el cursor

Para los cursores ya habíamos visto algunos tutoriales para darles efectos(estrellas que caen, burbujas que suben y explosión de estrellas).

Hoy vamos a ver otro efecto, ideal para blogs de cocina, de cafés o de estilo dark, que podemos agregarle a nuestro cursor. Se trata de un efecto que hace que cuando hacemos clic en cualquier parte de nuestro blog salga humo del cursor.

( Ver DEMO)

Para agregar el efecto sigue estos sencillos pasos:

1.§ Vamos a Plantilla - Editar HTML.

2.§ Damos un clic dentro del código, en la casilla search buscaremos </head> y justo antes de éste, pegaremos el siguiente script:


3.§ Si queremos, podemos cambiar la cantidad y la densidad del humo.

4.§ Damos clic a guardar y listo.

jueves, 24 de octubre de 2013

Tu cliente es el cliente de tu cliente

Tu cliente es el cliente de tu cliente es una frase que suelo emplear para hacer entender mi punto de vista sobre como deben de plantearse cualquier acción en Internet relacionadas con marcas y empresas.

Pecamos de intentar trasladar o adaptar las acciones que se realizan en el mundo offline al online, y no contemplamos la realidad del medio donde nos movemos. Hablamos de comunicación, conversación, bidirreccionalidad pero al ejecutar las acciones seguimos usando técnicas del offline, unidireccionales e intrusivas.

En la red lo realmente importante es el usuario, eso lo decimos todos pero ¿lo tenemos en cuenta? sinceramente creo que cada vez menos. ¿Nos hemos parado a analizarlo? ¿Lo vemos como lo que realmente es? ¿Miramos hacia él?

Por deformación profesional uno mira hacia los intereses de su cliente y desde ese planteamiento realiza las acciones en la red y para mi eso es un error estratégico grave, si lo que queremos es alcanzar nuestros objetivos de negocio de forma rápida y directa mostramos un profundo desconocimiento del mismo.

Volvamos al principio del todo, en la red hay millones de usuarios y no deben verse como clientes, si no como lo que son, usuarios. ¿Y esos usuarios por que están en la red? ¿Que buscan en ella? ¿Que les gusta?

Esas son las preguntas que debemos de responder, debemos de dejar de mirar hacia nuestro cliente, mirar hacia los usuarios, analizarlos como tales y sacar conclusiones. La principal conclusión que uno puede sacar de ese análisis y experiencias personales es que entre otras muchas, buscan valor.

Y la clave es esa en darle respuesta a su búsqueda de valor y te identifiquen con el, y añado algo mas, de manera indirecta. Cualquier presencia en Internet que busque conseguir objetivos de negocio debe plantearse desde un objetivo primario enfocado a los intereses de los usuarios, la propuesta de valor de los usuarios.

Siempre uso el mismo ejemplo (bueno uso otro también pero se podría malinterpretar) para que se me entienda "si soy una tienda de zapatos y mi objetivo de negocio es vender zapatos ¿me presento así en la red?" Yo digo que no... Debes presentarte como un usuario mas (es importante que te identifiquen como un usuario mas y no como una marca) y ofrecer al resto de usuarios de la red tu propuesta de valor que perfectamente podría ser "experto en zapatos", pero claro no vale (muchos lo hacen) presentarte como tal, no hace falta decir que lo eres debes demostrarlo, participando como un usuario mas, los usuarios no somos tontos y sabemos distinguir quien nos aporta valor y quien pretende solo vender. Si vienes a mí de manera directa es muy complicado que me alcances pero si me aportas valor probablemente seré yo el que te siga. Tus acciones deben servir para que el resto de usuarios te identifiquen como una propuesta de valor para ellos, eso te generara una comunidad relacionada con tus intereses, con usuarios comprometidos que te recomendaran a otros usuarios y te seguirán. Los usuarios somos agradecidos con lo que nos aporta valor.

Y una vez implantada esa propuesta de valor en la memoria colectiva de los usuarios ¿no creéis que será más fácil alcanzar los objetivos de negocios? ¿nuestras acciones no tendrán más éxito?

Lo realmente importante en la red son los usuarios, mirando sus intereses conseguiremos los intereses de nuestro cliente. A todo esto yo le llamo posicionamiento web, otros lo llaman acciones de marketing ¿que más da?

Lo importante es conocer el medio y desgraciadamente no se esta teniendo en cuenta...


lunes, 21 de octubre de 2013

Botón de llamada a la acción animado solo con CSS


He realizado un botón de call-to-action animado solo con CSS, simple pero que permite llamar la atención del visitante hacia el. La animación es permanente y se detiene al pasar el ratón sobre ella.

Contáctame
Este es el CSS (igual tenéis que ajustar algo los margenes según vuestros sitios)
.contacta a {
float:left;
font-size: 18px;
font-style: italic;
margin: 40px;
padding: 60px 30px;
border: 3px solid #e1e1e1;
background: red;
border-radius: 80px;
color: #fff;
box-shadow: 4px 4px 6px rgba(0,0,0,0.30);
filter: progid:DXImageTransform.Microsoft.Shadow(color='#e1e1e1', Direction=145, Strength=5);
animation: pulso 4s ease-out;
animation-iteration-count: infinite;
-ms-animation: pulso 4s ease-out;
-ms-animation-iteration-count: infinite;
-webkit-animation: pulso 4s ease-out;
-webkit-animation-iteration-count: infinite;
opacity: 0.0;
}
@-webkit-keyframes pulso {
0% {-webkit-transform: scale(0.1, 0.1); opacity: 0.0;}
50% {opacity: 1.0;}
100% {-webkit-transform: scale(1.2, 1.2); opacity: 0.0;}
}
@keyframes pulso {
50% {opacity: 1.0;}
100% {transform: scale(1.2, 1.2); opacity: 0.0;}
0% {-ms-transform: scale(0.1, 0.1); opacity: 0.0;}
50% {opacity: 1.0;}
100% {-ms-transform: scale(1.2, 1.2); opacity: 0.0;}
0% {transform: scale(0.1, 0.1); opacity: 0.0;}
}
.contacta a:hover {
animation-play-state:paused;
-webkit-animation-play-state:paused;
-ms-animation-play-state:paused;
background: green;
}

El HTML es el básico de un enlace pero en un div
<div class="contacta">
<a href="http://consejosblogge.blogspot.com/">Contáctame</a>
</div>

Se le pueden dar otros uso pero yo lo he hecho para el botón de contacto del footer...

martes, 8 de octubre de 2013

Somicro Social Icons

Somicro Social Icons es un set gratuito de íconos de redes sociales sencillos,pero muy elegantes en forma de círculos, ideales para un sitio web o blog.

CARACTERÍSTICAS

Pack de 40 íconos de las principales redes sociales: AddThis, App.net, Behance, Blogger, DeviantART, Digg, Dribbble, Email, Facebook, Flickr, Forrst, Foursquare, GitHub , Google+, Indiegogo, Instagram, Kickstarter, Last.fm, Linkedin, Livejournal, Messenger, MySpace, Orkut, Paypal, Picasa, Pinterest, Reddit, RSS, ShareThis, Skype, Soundcloud, Spotify, StackOverflow, StumbleUpon, Tumblr, Twitter, Vimeo, WordPress, Yelp, Youtube.
Autor : Veodesign
Formato: PNG.
Tamaño: 35x32 px.

Descargar

lunes, 7 de octubre de 2013

Reputación online o valor digital


Hablamos mucho de reputación digital, sobre cómo alcanzarla, cuidarla, mimarla y los efectos positivos que nos puede traer en nuestro entorno profesional pero ese concepto ¿nos diferencia de los demás?

Siempre he considerado que uno debe diferenciarse de lo que el resto de tus competidores hacen y eso en una red tan masificada donde es difícil separar el grano de la paja se hace indispensable, la diferenciación es una de las claves de la presencia en red y el posicionamiento web. Sin embargo el trabajar una buena reputación digital no nos hace diferenciarnos, es relativamente sencillo conseguir una buena e-reputación, cierta o no pero no es complicado. Por eso yo prefiero el término valor digital.

Nuestra huella digital, queramos o no queramos, ya forma parte de nuestra vida cotidiana y conforme mas avance la era digital, mas importancia tendrá. El discurso de reputación digital, en mi opinión, se queda corto, lo que se consigue son clones, con particularidades intrínsecas, pero clones al fin y al cabo. Muchos no se dan cuenta de que sus logros en la red son consecuencia de ese valor digital que inconscientemente han logrado, buscando reputación digital logran valor digital.

¿Y que es el valor digital?

Es un paso más allá de la reputación digital y que a diferencia de esta última, podemos controlar y gestionar. Es el aporte de diferenciación con respecto a los demás teniendo en cuenta a los usuarios que hace que te conviertas en referencia. Los usuarios son el FACTOR en la era digital, todo lo que no este basado en esa idea es complicado que salga adelante, si el concepto es alcanzar visibilidad, viralidad y conversión de manera directa, nos equivocamos. Ante todo debemos conocer a los usuarios de la red, olvidarnos de publico objetivo y clientes, esos los alcanzaras cuando realmente conozcas las preferencias de un usuario tipo de Internet. Y sobre ese usuario tipo, si tengo claro una única cosa, no le gusta un alcance directo en su ir y venir por redes, en muchos casos lo considera una intromisión, y en este punto quiero recordar un riesgo que se esta corriendo ¿recuerdan la ceguera a los banners?, pues cada día estoy mas convencido de que se esta generando una ceguera a campañas.

La búsqueda de la empatía del usuario debe ser el objetivo principal de cualquier marca o profesional pero yo añado siempre algo mas, "de manera indirecta".

El valor digital debe plantearse como ¿que puedo aportar a los demás? ¿cuál es mi propuesta de valor? Una propuesta de valor que no necesariamente debe estar alineada con el objetivo directo de marca sino pensada en los usuarios. Si esa propuesta de valor es válida, nos encontraremos que son los propios usuarios los que nos buscan, nos dará un valor digital que es el que realmente permite conseguir objetivos.

Más que reputación online... busquemos valor digital



martes, 1 de octubre de 2013

Slider para Blogger

Si hay una cosa que recriminar a Blogger es lo difícil que resulta configurar su página de inicio de una forma diferente, por su propia estructura estamos abocados a mostrar una cantidad de post, resumidos o no, junto con una sidebar y alguna otra configuración horizontal con widget. Wordpress es mucho más manejable en ese sentido, permite crear páginas de inicio mucho más atractivas visualmente.

Con los cambios que últimamente estoy realizando, me propuse modificar esto y hacer que los posts de la página de inicio no fueran como una lista interminable y aparecieran en un slider.



Como siempre pensé en utilizar jQuery para ello y encontré un pequeño plugin que hacia la función que quería. Para conseguirlo deberéis bajaros este fichero e insertar antes de </body> lo siguiente
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<style>
#Blog1 {
margin:10px auto 40px;
width:95%;
height:230px;
overflow:hidden;
}
.blog-posts.hfeed div{
width:340px;
height:230px;
position:relative;
float:left;
margin: 10px;
padding: 0 5px;
}
.next {
background: #fff url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiNe7JdaEmExE8FG700xiERPfpKiP0nYN0wdNkYZ73fKu0mwTIfhV9rASV0ZURyk4CYUPb-WM_v65gB0Ee1wU1gZBN6LmnZW_cve0DPTwNh6ghDd0Wj0LFOY_Lcm7Ka5mjXQuCnu3ioG0/s1600/prev.png) center left no-repeat;
margin-top: -210px;
width: 40px;
height: 230px;
position: absolute;
opacity: 0.7;
}
.prev {
background: #fff url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAziOxh9T9g1_etVXzXqiQzIb5Tn5soWhAFGPbPdcfZk0vfHleGVK07zEpPZbCOnPE9T0Ny_TR3jCl3eVdMcrdgl1CqhJgu7UbBOYJqyznEeXtmpyxgEEKfJXFLV1_ILpSh3jNTHRiOu0/s1600/next.png) center no-repeat;
margin-top: -210px;
width: 40px;
height: 230px;
position: absolute;
opacity: 0.7;
right: 10px;
}
</style>
<script src='URL DE ALOJAMIENTO DEL FICHERO JS'/>

</b:if>

Varias consideraciones a tener en cuenta:

.- No recomiendo que se instale a usuarios pocos avanzados en la codificación Blogger, no me hago responsable de lo que pueda pasar. El código se proporciona tal cual.

.- Hay que tener la librería jQuery implementada.

.- Las entradas en el home deben tener el formato resumido, ya sea usando el formato snippet que proporciona Blogger (recomiendo esta opción para entradas resumidas) o cualquier otra forma.

.- Las dos imágenes de la flechas que se usan en el slider copiarlas y subirlas a vuestro propio alojamiento, no garantizo mantenerlas.

.- El código CSS proporcionado es solo indicativo, deberá ajustarse según vuestras preferencias.

.- El fichero js, dependiendo de las dimensiones de vuestro blog también debe ajustarse, editándolo veréis $('.blog-posts.hfeed').animate({marginLeft:'-=1120'},1000,function(){ ... y $('.blog-posts.hfeed').animate({marginLeft:'+=1120'},1000,function(){ . Las dos cifras en rojo indican el desplazamiento hacia la derecha y la izquierda. Ahí podéis ajustar ese desplazamiento para que quede bien. Subirlo a vuestra web de alojamiento e insertarlo donde pone URL DE ALOJAMIENTO DEL FICHERO JS

.- El número de entadas a mostrar se ajusta editando el widget Blog1 en el diseño de plantilla.

Creo que no se me olvidado nada, con este slider se nos abre la posibilidad de mejorar mucho el diseño de nuestras paginas de inicio...

domingo, 29 de septiembre de 2013

Google Hummingbird respuestas en lugar de resultados

Respuestas en lugar de resultados sea quizás la mejor manera de resumir al nuevo motor de búsqueda de Google, Hummingbird o Colibrí, ya adelante mis primeras impresiones sobre el pero quiero profundizar un poco mas sobre lo que puede llegar a significar.

Nos centraremos mucho en el nuevo motor pero hay algo que quiero resaltar y creo que es aun mas importante y puede resultar clave para el posicionamiento, los hábitos de búsqueda de los usuarios. Estoy convencido de que, si este nuevo algoritmo Hummingbird o Colibrí cumple las expectativas, los usuarios cambiaran su manera de realizar las búsquedas.

Ahí radicara las claves del posicionamiento web, conocer como serán las nuevas cadenas de búsquedas. Actualmente un usuario medio realiza búsquedas por palabras "sueltas", en la mayoría de los casos se obvian artículos, preposiciones, etc. Ahora con la mejora de la búsqueda por voz, las cadenas de búsqueda serán mas largas y naturales y si a eso le añadimos que, supuestamente, este nuevo algoritmo es capaz de entender que buscamos y presentarnos respuestas. Ahora analiza toda la búsqueda en conjunto, todas las palabras y su relación entre ellas para comprender la intención de búsqueda.

¿Alguna vez os habéis imaginado un resultado del buscador que no incluya ni una sola palabra de la búsqueda? Mirad esta imagen...


El contexto y la sinonimia también adquieren relevancia, incluso hace pocos días Google solicito una patente al respecto. La mejora del algoritmo junto a la notable mejora de la búsqueda por voz, la otra gran clave, serán los culpables de estos cambios de hábitos de búsqueda y las claves para posicionar.

Lo que yo denomino SEO antiguo, basado en enlaces y palabras claves, debe quedar afectado con estos cambios. Partiendo de la premisa de que seguiremos viendo resultados manipulados en nuestras consultas, eso es inevitable por el momento y debemos esperar a ver la evolución de este nuevo motor, y de que los factores de posicionamiento siguen vigentes en mayor o menor medida, unos habrán ganado peso y otros lo habrán perdido, considero que debemos focalizarnos en los siguientes aspectos básicos para posicionar convenientemente:

.- Centrarnos en adecuar los sitios a dispositivos móviles, y cuando digo adecuar no me refiero a adaptar, sino asegurarnos de que el acceso a través de esos dispositivos proporcionen muy buenas experiencias de usuarios. Quizás debamos dejar de lado el diseño responsive que no ofrece soluciones plenamente satisfactorias e inclinarnos por soluciones especificas según software de dispositivos, Android, IOs...

.- Los fragmentos enriquecidos adquieren aun mas relevancia, si logramos que Google nos los muestre, nos habremos diferenciado de la competencia, probad las búsqueda de voz donde aparezca algún fragmento enriquecido, Google no solo nos los muestra incluso nos los lee.

.- Teniendo en cuenta dos elementos claves como la búsqueda local y los resultados personalizados, la geolocalización, el uso de Google Local, Google Maps, las redes sociales y la redacción de contenidos acordes a estos elementos adquiere aun más importancia.

.- El uso de palabras claves debe dejar paso a long tail incluso más largos de los que ya se usan, adecuarlos al nuevo sistema de búsqueda y encontrar las cadenas de búsquedas adecuadas será otra clave. Ahí entra de lleno la redacción de contenidos de manera natural y no forzados, incluso pienso que su redacción por "no profesionales" puede ser más adecuada. Estos usuarios no están contaminados por prácticas SEOs...

.- El uso de sinonimias y la redacción de contenidos que en su conjunto aporten información, nada nuevo, pero pienso que serán mejor considerados a la hora de posicionar.

.- Y por supuesto, un potente SEO Onpage...

El SEO que habitualmente vemos, basado en compra de enlaces, pirámides, Bey stuffing, keywords, iframes, etc, deberá dejar paso a un SEO mucho más técnico, mas evolucionado, a ver si de una vez acabamos con esas practicas y esos "profesionales". No olvidemos una cosa, el propio Google ha comentado que afectará al 90% de las búsquedas y eso no es un cambio, es una revolución.

El SEO no muere pero evoluciona, aunque muchos no quieran que lo haga... ahora Google no quiere ofrecer resultados si no respuestas a nuestras consultas de búsquedas.

viernes, 27 de septiembre de 2013

Primera impresiones sobre el nuevo algoritmo de Google Hummingbird o Colibrí

El nuevo cambio en el algoritmo de Google, llamado Hummingbird o Colibrí en castellano, nos ha pillado a todos un poco por sorpresa, sobre todo al saber que lleva entre nosotros cerca de un mes y pese a que parece afectar al 90% de las búsquedas, pocos son los que han notado algo.

Para que todos nos entendamos, Google le ha cambiado el motor a su buscador, no es una actualización como podamos entender, es un verdadero cambio, de ahí ese 90% del que hablan.

Aunque Google no ha dado mayores detalles todo parece indicar que ahora es capaz de "entender" y "relacionar" búsquedas mas complejas, es decir lo que antes era un motor en las que las palabras claves eran fundamentales y analizaba palabra a palabra ahora es capaz de entender de manera mas rápida preguntas completas y presentar resultados acordes a esas búsquedas. Google esta intentando a través de tu búsqueda entender realmente lo que buscas y presentarte los resultados adecuados. Esa famosa web semántica de que tanto se ha hablado parece dar sus primeros pasos...

Donde mas podremos apreciar esos cambios será en la búsqueda por voz, las pruebas que he realizado me han mostrado que ha mejorado mucho el sistema, aun se le nota fallos importantes, como no entender algunas palabras si seseamos o ceceamos, los anglicismos tampoco parecen andar bien, pero en general el cambio, para mi es notable.

¿Y eso a nivel SEO como nos afecta?

Pues yo diría que para los profesionales que han evolucionado con los cambios de estos años poco les va a afectar, otros sin embargo deberán reciclarse completamente. Las palabras claves individuales adquieren menor importancia frente a Long Tail más largos y coloquiales según vaya evolucionando y aumentando el uso de las búsquedas por voz. Sin olvidarnos de que ya no podemos pensar en el acceso web tradicional si no móvil, ahí esta la clave.

Si pensamos en posicionamiento para dispositivos móviles, posicionaremos de manera natural en los resultados para todos los dispositivos. Lo que hasta ahora era "adecuo mi sitio para dispositivos móviles" es "mi sitio es para dispositivos móviles y lo adecuo para ordenadores".

¿Por que debe ser así?

Básicamente por que desde los dispositivos móviles aumentara exponencialmente la búsqueda por voz, los accesos serán mucho mayores de lo que ya son desde ellos. La principal dificultad que muchos encontramos al usar esos dispositivos, el teclear con ellos, se va a acabar con esas mejoras, el Siri por ejemplo, fue de las primeras mejoras en aparecer.

Claro que para que eso ocurriera el algoritmo debía cambiar y es lo que Google ha hecho.

Por supuesto que si hablamos de dispositivos móviles, lo Local adquiere aun mayor relevancia de la que ya tiene y algo que tal vez ha pasado desapercibido por el anuncio del Hummingbird, el nuevo sistema de Notificaciones Push. Podrás decirle a Google tengo que comprar patatas en tu casa y te lo recordara ¿cuando estés cerca de una tienda que venda patatas? ¿al entrar en ella? Luego muchos dirán que con esto ha muerto el SEO y yo creo que con esto lo que va a resultar es en mas trabajo para todos.

Los fragmentos enriquecidos, el Knowledge Graph, Maps, Local, etc, todos esos servicios que hay que implementar adquieren mucha mas relevancia a partir de hoy...

martes, 24 de septiembre de 2013

Título de tu blog en movimiento

Hoy veremos cómo agregarle movimiento o desplazamiento al título de nuestro blog. Este efecto de movimiento se verá en tres zonas: la barra de título de la página, la pestaña del navegador y abajo en la pestaña de la barra de herramientas.

( Ver DEMO)
Agregar este efecto es bastante sencillo, sólo necesitamos agregar este script a la plantilla de nuestro blog siguiendo estos pasos:

1.§ Vamos a Plantilla - Editar HTML.

2.§ Damos un clic dentro del código de la plantilla, presionamos CTRL+F y buscaremos la etiqueta <head>.

3.§ Debajo de <head> pegaremos el siguiente script:
<script>
//<![CDATA[
var txt="Aquí-Título-de-tu-blog-o-texto";
var espera=95;
var refresco=null;
function rotulo_title() {
document.title=txt;
txt=txt.substring(1,txt.length)+txt.charAt(0);
refresco=setTimeout("rotulo_title()",espera);}
rotulo_title();
//]]>
</script>

4.§ Reemplazamos o destacado en cursiva por el título de nuestro blog u otro texto y damos clic en Guardar plantilla.

lunes, 16 de septiembre de 2013

El SEO no es posicionar es convertir


Cuando hablamos de SEO, cada día mas vilipendiado pero cada día mas necesario, debemos tener en cuenta muchos factores y variantes pero hay algo sobre lo que quiero hacer hincapié, el SEO (a nivel profesional) no consiste en posicionar sino en convertir.

Esa palabra que tanto se usa actualmente, todos hablamos de conversión, yo la interpreto como los objetivos que quiere tu cliente al contratar tus servicios. Esos objetivos, en la mayoría de los casos, nunca son aparecer posicionado en primeras posiciones de los buscadores, si no conseguir resultados en el mundo offline.

Por eso el discurso de "posicionar" esta agotado, seguir hablando de posicionar x palabras claves, de las miles de búsquedas que existen sobre esas palabras claves, de la competencia, etc, no es hablar de la realidad de un SEO profesional. Un SEO debe convertir, es decir debe llevar usuarios al mundo offline del cliente, para ello, claro esta, debe realizar todas las acciones necesarias que se llevan a cabo a la hora de posicionar un sitio en los buscadores.

Por eso dejan de tener importancia "posicionar en x números de palabras claves o longtail", hay que posicionarse en los buscadores y punto. Si necesitas estar en tres palabras claves pues esas serán pero si necesitas estar en 100, también deberás estar en esas 100, repito, hay que posicionarse. Eso depende del nicho y depende del negocio offline de tu cliente, y no tanto de la competencia.

Y ¿por que el número de búsquedas mensuales sobre determinadas palabras tampoco es tan importante?

Pues a esa pregunta os contesto con otra pregunta ¿estas seguro que esos usuarios son tu publico objetivo? Es decir, ¿es el usuario que busca tu cliente para conseguir objetivos? Por eso muchas veces intento explicar que esto del SEO no es cuestión de volumen, si no de calidad. De encontrar al cliente de tu cliente, ese es para el que debemos trabajar y asegurarnos que lo alcanzamos. El que realmente convierte tus esfuerzos de posicionamiento web.

Muchas veces se desprecia posicionar en ciertas búsquedas por que aparentemente su número de búsquedas mensuales es muy bajo y vuelvo a preguntar ¿estas seguro que no debes estar ahí? La única cosa que debemos aceptar para tomar una decisión de ese tipo son los datos analíticos. Estos son los que realmente te van a mostrar si estas logrando los objetivos de tus clientes, llevarle clientes a su mundo offline.

Preferimos aparecer en primeras posiciones donde hay miles y millones de búsquedas, sin saber si realmente ese es nuestro público objetivo, yo, además, prefiero aparecer en primeras posiciones con muchas menos búsquedas pero que entre ellos estén el mayor número de posible de público objetivo, esa es la diferencia.

Y otro día hablaremos de algo fundamental que muchos obvian, el Click-Through Rate (CTR), que no vale solo con aparecer en primeras posiciones, que hay que conseguir que hagan click en tu resultado de búsqueda y llevarlos al sitio web y ahí, entonces, convertir....

viernes, 13 de septiembre de 2013

Botón para agrandar o achicar el tamaño de letra del blog con jQuery

En un post anterior habíamos visto cómo agregar los botones para agrandar o achicar los textos usando un script muy sencillo. Hoy haremos algo similar, pero usando la librería jQuery, que le dará un efecto deslizante al momento de pasar de un tamaño de fuente a otro.

( Ver DEMO)

1.§ Vamos a Plantilla - Editar HTML.

2.§ Ahora lo que haremos será agregar la libreria jQuery, claro que si ya la tenemos en nuestra plantilla no será necesario agregarla nuevamente y de ser así podemos pasar al paso número 5.§ .

3.§ Damos un clic dentro del código de la plantilla, presionamos CTRL+F y buscaremos la etiqueta </head>.

4.§ Encima de </head> pegaremos lo siguiente:
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js' type='text/javascript'/>

5.§ Ahora agregaremos el siguiente script debajo de la librería jQuery que agregamos en el paso anterior.
<script type='text/javascript'>
$(function(){
$('input').click(function(){
var ourText = $('body');
var currFontSize = ourText.css('fontSize');
var finalNum = parseFloat(currFontSize, 10);
var stringEnding = currFontSize.slice(-2);
if(this.id == 'agrandar') {
finalNum *= 1.1;
}
else if (this.id == 'achicar'){
finalNum /=1.1;
}
else if (this.id == 'normal'){
finalNum =13;
}
ourText.animate({fontSize: finalNum + stringEnding},500);
});
});
</script>

6.§ Damos click a guardar.

7.§ Ahora, vamos a Diseño - Añadir un gadget y escogemos HTML/Javascript. En el nuevo elemento pegaremos el siguiente código:
<input id="agrandar" title="Agrandar texto" type="button" value="T+" />
<input id="normal" title="Texto normal" type="button" value="T" />
<input id="achicar" title="Achicar texto" type="button" value="T-" />

8.§ Damos clic a guardar.

PASO OPCIONAL

Este es un paso alternativo, para agregar estilo a los botones, como borde, cambiar el color del botón y de la fuente, etc.

1.§ Nuevamente vamos a Plantilla - Editar HTML. Damos un clic dentro del código de la plantilla, presionamos CTRL+F y buscaremos la etiqueta ]]></b:skin> y antes de éste, pegamos los siguientes estilos CSS:
#agrandar, #normal, #achicar{
width: 35px;
height: 35px;
color: #fff;
font-weight: bold;
background: #e2e2e2;
border: 2px solid #fc98bb;
-webkit-border-radius: 40px 40px 40px 40px;
-moz-border-radius: 40px 40px 40px 40px;
border-radius: 40px 40px 40px 40px;
cursor: pointer;
}

Podemos modificar los estilos a nuestro gusto o incluso separar un estilo distinto para cada botón.

Ley de cookies, aclarando conceptos

La ley de Cookies en España esta siendo tema de debate en la red, he leído muchas cosas sobre ella y he mirado como otros la implementaban, y la verdad es que todo lo que veía me generaba grandes dudas y no me acababa de convencer.

Como casi cualquier ley que se genera en este país, todo esta sujeto a interpretaciones y en este caso cada uno la interpretan de una manera diferente y pueden llevar a confundir a la mayoría de usuarios, que como yo, somos lego en materia jurídica pero que el asunto nos afecta directamente, personalmente o profesionalmente.

Ayer mantuvimos un hangout sobre el tema, ya sabéis se celebran todos los jueves en la comunidad de SEO y Marketing a la que pertenezco, y tuvimos como invitado, entre otros, a Nicolás Marchal, abogado y familiarizado con todo el tema de Internet. Su intervención me aclaro muchas dudas que tenia y sobre todo, se alineo con lo que pienso sobre el asunto, "mejor prevenir que curar", "mejor dejarse de interpretaciones y no cargar ningún tipo de cookies que tome datos personales sin pedir consentimiento expreso o explicito" (estas dos palabras son las que están generando todo el lío).

Las conclusiones que saque después de su intervención fueron:

.- Actualmente la mayoría de sitios que aparentemente te informan sobre el uso de cookies no cumplen con la ley. Ese cartel de que "si sigues navegando..." no sirve para nada si ya estas cargando las cookies de analytics por ejemplo.

.- Dejar claro que existen diferentes tipos de cookies, unas si se pueden cargar, las técnicas o las que permiten visionar el sitio, por ejemplo, si pueden cargarse. Otras como las analíticas, no se pueden cargar sin el consentimiento expreso o explicito del usuario (y dale con las palabritas)

.- Que consentimiento expreso o explicito indica que el usuario debe ejecutar una acción de forma voluntaria antes de cargar ese tipo de cookies. Vamos que lo mejor es que pulse un botoncito de aceptación.

.- Que estamos sujetos a esta ley cualquier español que realice una actividad económica con su web o ofrezca servicios e incluso cualquier bloguero que tenga publicidad en su sitio.

.- Que los cartelitos que estamos mostrando no son suficientes. Es mas debemos tener una pagina independiente sobre Política de Cookies, donde expliquemos claramente que son las cookies, para que sirven, que cookies cargamos en nuestros sitios y la finalidad de cada una de ellas. Eso de mostrarlo en la pagina de Política de Privacidad, mejor que no.

.- Y por ultimo y no menos importantes, lastima que la conexión de Jesús Pérez Serna fuera mala, que no solo deberíamos de preocuparnos por la Ley de Cookies si no por cumplir la LOPD, que tampoco se cumple.

Mejor que mis conclusiones os dejo el video del hangout para que podáis sacar las vuestras y repito, yo soy de la opinión de que mejor prevenir que curar.


*Como ya advertí en mi anterior post sobre esta ley, lo vertido en este post es mi opinión y solo eso, no soy experto en leyes y como tal debe considerarse.


martes, 3 de septiembre de 2013

Ley de cookies. Como no cargar las cookies de analytics

A raíz de un articulo de Pablo Burgueño donde informaba sobre la notificación de un proceso sancionador a una empresa por no cumplir la Ley de Cookies, y como es un tema que desde hace tiempo me lleva preocupando por que nadie lo tiene claro, me puse a investigar como cumplirla.

Por lo que he podido averiguar (que alguien mas versado que yo me corrija si me equivoco), aquí en España se ha rizado el rizo, cuando la Ley Europea solo obliga a informar, aquí se obliga a no cargar absolutamente ninguna cookies, se debe pedir el consentimiento explicito del usuario antes de cargarlas.

Estudie el problema de carga de cookies para Wordpress y la forma de evitar esa carga, en la red se ofrecen plugins gratuitos para ello, pero realmente no impiden la carga de cookies antes de la aceptación por parte del usuario, cumplen la europea pero no la española. Una vez probados y descartados los plugins mas populares pensé en usar jQuery para cumplir con la Ley de Cookies y encontré de casualidad un plugin de pago que aparentemente, en su descripción cumplía con el requisito de no cargar las cookies, que además ofrecía una versión en GitHub que uno podía usar e implementar directamente en los sitios.

Como en el sitio elegido para las pruebas cargaba, entre otras; las cookies de Google Analytics, precisamente las que han originado el proceso sancionador, me centre en evitar su carga y realmente es posible hacerlo tanto en Wordpress como en Blogger.

Para ello debemos descargarnos estos ficheros con los dos plugins de jQuery necesarios. Una vez descargados, debéis editar jquery.cookiecuttr.js y donde pone AQUI LA URL DE TU PAGINA DE POLITICA DE PRIVACIDAD le insertáis la url completa de esa pagina en vuestros sitio. Guardáis los cambios y subís ambos ficheros a vuestro alojamiento. Ahora solo deberéis incluir en vuestro footer o plantilla lo siguiente (deberás modificar lo que esta en negrita):

<script src="URL ALOJAMIENTO/jquery.cookie.js"></script>
<script src="URL ALOJAMIENTO/jquery.cookiecuttr.js"></script>


<script>

$(document).ready(function () {
// activate cookie cutter
$.cookieCuttr({
cookieDeclineButton: true,
cookieAnalyticsMessage: "(NOMBRE DEL SITIO) solicita su permiso para obtener datos estadísticos anónimos de su navegación en esta web, en cumplimiento del Real Decreto-ley 13/2012. "
});
});

if (jQuery.cookie('cc_cookie_accept') == "cc_cookie_accept") {
AQUI CODIGO DE ANALYTICS QUE TE PROPORCIONA GOOGLE
}

</script>

Esto evita la carga de las cookies de Analytics y hace aparecer una barra superior donde se pide el consentimiento expreso del usuario para su carga.

Os añado el CSS necesario para darle formato al aviso:

.cc-cookies { position:fixed; width: 90%; left: 0; top: 0; padding: 0.5em 5%; background: #565656; background: rgba(86,86,86,0.95); color: #fff; font-size: 13px; font-weight: 700; text-shadow: 0 -1px 0 rgba(0,0,0,0.35); z-index: 99999; text-align: center; color: #fff; }
.cc-cookies a, .cc-cookies a:hover { color: #fff; text-decoration: underline; }
.cc-cookies a:hover { text-decoration: none; }
.cc-overlay { height: 100%; padding-top: 25%; }
.cc-cookies-error { float: left; width: 90%; text-align: center; margin: 1em 0 2em 0; background: #fff; padding: 2em 5%; border: 1px solid #ccc; font-size: 18px; color: #333; }
.cc-cookies a.cc-cookie-accept, .cc-cookies-error a.cc-cookie-accept, .cc-cookies a.cc-cookie-decline, .cc-cookies-error a.cc-cookie-decline, .cc-cookies a.cc-cookie-reset { display: inline-block; color: #fff; text-decoration: none; background: #7DAF3B; padding: 0.5em 0.75em; border-radius: 3px; box-shadow: 0 0 2px rgba(0,0,0,0.25); text-shadow: 0 -1px 0 rgba(0,0,0,0.35); -o-transition: background 0.5s ease-in; -webkit-transition: background 0.25s ease-in; -moz-transition: background 0.25s ease-in; }
.cc-cookies a.cc-cookie-decline, .cc-cookies-error a.cc-cookie-decline { background: #af3b3b; margin-left: 0.5em; }
.cc-cookies a.cc-cookie-reset { background: #f15b00; }
.cc-cookies a:hover.cc-cookie-accept, .cc-cookies-error a:hover.cc-cookie-accept, .cc-cookies a:hover.cc-cookie-decline, .cc-cookies-error a:hover.cc-cookie-decline, .cc-cookies a:hover.cc-cookie-reset { background: #000; -o-transition: background 0.5s ease-in; -webkit-transition: background 0.25s ease-in; -moz-transition: background 0.25s ease-in; }
.cc-cookies-error a.cc-cookie-accept, .cc-cookies-error a.cc-cookie-decline { display: block; margin-top: 1em; }
.cc-cookies.cc-discreet { width: auto; padding: 0.5em 1em; left: auto; top: auto; }
.cc-cookies.cc-discreet a.cc-cookie-reset { background: none; text-shadow: none; padding: 0; text-decoration: underline; }
.cc-cookies.cc-discreet a:hover.cc-cookie-reset { text-decoration: none; }

@media screen and (max-width: 768px) {
.cc-cookies a.cc-cookie-accept, .cc-cookies a.cc-cookie-decline, .cc-cookies a.cc-cookie-reset { display: block; margin: 1em 0; }
}

@media screen and (max-width: 480px) {
.cc-cookies { position: relative; float: left; }
}

Creo que esto puede seguir de guía para evitar otras cargas de cookies como las de Adsense por ejemplo, pero ahora vamos con otros problemas. La implantación de este sistema hace que los usuarios, que en su mayoría desconocen el tema cookies pulse NO y tus datos analíticos sufran una brutal caída, así que o te arriesgas a una sanción o te quedas sin medir. Asimismo si el usuario pulsa NO, se carga una cookie por parte del plugin para recordar la elección del usuario, no toma ningún otro dato.

Además de las cookies de Analytics se cargan otras, en este sitio donde esta implantado, cargaba una cookie de sesión de Wordpress por la que hubo que tocar el fichero php.ini, un fichero al que no se suele tener acceso y hay que recurrir a los administradores de vuestros servidores para modificarlo.

Incluso usaba el plugin de ShareThis para mostrar los botones sociales, que también cargaban una cookies, hubo que modificar el código para evitar su carga.

Estos son solo algunos ejemplos con los que os quiero mostrar que hay que revisar cada página para ver que cookies se cargan y encontrar una solución independiente para cada una de ellas.

Al menos a las causantes del proceso sancionador, las de Analytics, las podemos controlar....

*Nota: No me hago responsable del uso que se haga de los códigos aquí expuestos.

viernes, 30 de agosto de 2013

Pokemon Social Icons

Pokemon Social Icons es un set gratuito de íconos de redes sociales basados en este popular anime que puedes utilizar en su sitio web, blog o en algún proyecto.

CARACTERÍSTICAS

Pack de 5 íconos en forma de pokemones de las principales redes sociales: Squirtle Facebook, Pidgey Twitter, Chansey Dribbble, Bulbasaur Spotify y Charmander Instagram.
Autor : Jaws Martin
Formato: PNG.
Tamaños: 200x200 px.

Descargar

lunes, 26 de agosto de 2013

Cómo hacer que Aparezcan los Seguidores en el Gadget de "Seguidores de Google+"

¡Hola qué tal!. Es un placer saludarte después de varios días sin publicar, y es que estaba disfrutando de mis vacaciones, entre otras cosas. Aprovecho para enviarte un cordial saludo, esperando que todo marche de maravilla en tu blog y por supuesto en todo lo demás :)



Bueno, pues ya son varias las personas que me han comentado que al agregar el gadget de seguidores de Google+, no aparecen los avatares de los seguidores, y en su lugar, aparece un texto que dice que "la lista de seguidores es privada", ésto, cuando han asociado a su blog el perfil de Google+. El widget se ve más o menos así:




Widget de seguidores de Google+


Imagen del Widget que muestra mi nombre del perfil



Ésto se debe a que has configurado en tu perfil, que no se muestren las personas que te han agregado a un círculo, o en otras palabras, a las personas que te siguen.



Hacer que aparezcan los seguidores es sencillo, simplemente hay que tener visible públicamente a la gente que te ha agregado a un círculo en tu perfil de Google+.



Para que sea muy fácil de entender y hacerlo, he decidido hacer un breve tutorial paso a paso para que puedas lograrlo, si es que estás batallando con ésto ;)




Cambiar la visibilidad de las personas que te han agregado a un círculo en Google+ (seguidores)







  1. Accede a tu perfil, por medio de este enlace directo*http://www.google.com/profiles/me/ e inicia sesión si no lo has hecho.

  2. Una vez que estés en tu perfil, haz click en la pestaña "Información", situada en la barra superior, arriba de la foto de portada,

  3. Luego, desplaza la página hacia abajo y ubícate en la sección que dice "Personas", después,  haz click en "Modificar".

  4. Hecho lo anterior, se abrirá un cuadro con las opciones de configuración del perfil, y en este caso, aparecerá la opción de "Personas" inicialmente, por ser la sección que seleccionaste. Activa la casilla que dice:  Mostrar las personas que te han agregado a círculostal y como se muestra en la siguiente imagen:




    Configuración Perfil



    Tip: Otra forma de acceder a la opciones de configuración del perfil es agregar "/edit" (barra diagonal, edit) tal y como te lo he puesto resaltado de azul, al final de la dirección web que aparece en la barra de direcciones de tu navegador, teniendo seleccionada la pestaña "Información" de tu perfil y luego pulsar EnterPara despejar dudas, la dirección se vería mas o menos así, claro, con el ID propio (los números diferentes)

    https://plus.google.com/10217466893342908519/about/edit




  5. Una vez que hayas seleccionado la casilla, haz click en Guardar y ¡listo!, ahora el gadget de Seguidores de Google+ mostrará tus seguidores  ;)



Así de fácil y rápido ;)



Referencias:

*Acceso y privacidad del perfil de Google+: https://support.google.com/accounts/answer/112783?hl=es

Acerca de los perfiles de Google+: https://support.google.com/accounts/answer/1355890?hl=es


martes, 20 de agosto de 2013

Eliminar subrayado de los enlaces en las nuevas plantillas

Hoy veremos cómo eliminar el subrayado de los enlaces o links en la plantillas de diseño. Si usas las plantillas antiguas o clásicas, puedes ver este tutorial.

Para esto, haremos lo siguiente:

1.§ Vamos a Plantilla - Editar HTML.

2.§ Damos un clic dentro del código de la plantilla, presionamos CTRL+F y buscaremos lo siguiente:
<Variable name="link.hover.decoration" description="Link Hover Decoration" type="string" default="underline" value="underline"/>

3.§ Cambiamos los dos underline por none

4.§ Ahora para quitar el subrayado del título de los post que aparece cuando acercamos el cursor sobre el mismo, haremos lo siguiente. Nuevamente,damos un clic dentro del código de la plantilla, presionamos CTRL+F y buscaremos esto:

h3.post-title a:hover {
color: $(link.hover.color);
text-decoration: underline;
}

Es probable que en tu plantilla el contenido aparezca diferente, puedes guiarte por la primera línea de código.

5.§ Ahora sustituímos text-decoration: underline; por text-decoration: none;

6.§ Damos clic a Guardar y listo.

lunes, 12 de agosto de 2013

Plugin configurable para obtener las entradas desde Json para Blogger

Este liviano script, se encarga de mostrar sus entradas (O bien las entradas de otros blogs) en alguna parte de su sitio, es algo muy similar a lo que funciona en la plantilla GeekLines en el slider de entradas.

Blogger, Json


El uso de este script va a depender de lo que ustedes quieran hacer con él, ya que se puede configurar fácilmente para cosas como:

  • Configurar para sliders dinámicos mediante una estructura personalizada.
  • Insertar dentro de una página estática un sitemap.
  • Mostrar entradas relacionadas al pie de una entrada.
  • Crear un gadget de últimas entradas personalizado.
  • Crear un índice de blog personalizado.
  • Traer las entradas del blog al azar.
  • Otros posibles usos que puedas darle.

Cómo añadir el plugin en Blogger:

Para poder incluir el script en tu blog, símplemente deberás pegar el siguiente código donde desees que se ubiquen los artículos:
<script type="text/javascript" src="https://dl.dropboxusercontent.com/u/69931585/Ayuda%20Bloggers%202013/Desarrollo/ayudabloggers-obtener-feed.js"></script>
<script type"text/javascript">
var cantidad_posts = 10; // Cantidad de posts que se mostrarán
var caracteres_resumen = 100; // Cantidad de carácteres del resúmen
var tamano_imagen = 100; // Tamaño imagen en píxeles
var url_imagen_no_disponible = "URL IMAGEN NO DISPONIBLE"; // URL de la URL si no existe una imagen
var id_contenedor = "ID_CSS"; // Identificador CSS del contenedor de todos los elementos
var html_personalizado = false; // Usar estructura personalizada, útil si necesitas configurar un slider en particular o algún sistema de terceros

<script src="http://www.ayuda-bloggers.info/feeds/posts/default?orderby=published&amp;alt=json-in-script&amp;callback=obtener_feeds&amp;max-results=999999"></script>

En donde deberás reemplazar http://www.ayuda-bloggers.info por la URL de tu blog.

Si necesitas crear una estructura personalizada, omite el código anterior y añade el siguiente código antes de </head>:
<script>
// Obtener posts a partir de las feeds de Blogger
// Por Víctor Calderón Oyarce
// Para Ayuda Bloggers
// http://www.ayuda-bloggers.info

// CONFIGURACIONES INICIALES
var cantidad_posts = 10; // Cantidad de posts que se mostrarán
var caracteres_resumen = 100; // Cantidad de carácteres del resúmen
var tamano_imagen = 100; // Tamaño imagen en píxeles
var url_imagen_no_disponible = "URL IMAGEN NO DISPONIBLE"; // URL de la URL si no existe una imagen
var id_contenedor = "ID_CSS"; // Identificador CSS del contenedor de todos los elementos
var html_personalizado = false; // Usar estructura personalizada, útil si necesitas configurar un slider en particular o algún sistema de terceros

function obtener_feeds(json) {
var posts_obtenidos = json.feed.openSearch$totalResults.$t;
var crear_arreglo = new Array();

document.write('<div id="'+ id_contenedor+'">
');

for(var i= 0; i < cantidad_posts; ++i) {

// ELEMENTOS DE CADA POST
var titulo_post = json.feed.entry[i].title.$t; // Título entrada
var miniatura = json.feed.entry[i].media$thumbnail.url; // Thumbnail entrada
var url_post = json.feed.entry[i].link[1].href; // URL entrada
var url_post = url_post.replace('#comment-form', '');


var miniatura = miniatura.replace('s72-c', 's'+ tamano_imagen +'-c' ); // Miniatura
if (miniatura.length == 0) { // Si la entrada no contiene imagen...
miniatura = url_imagen_no_disponible;
}


if ("content" in json.feed.entry[i]) { // Si "content" se encuentra dentro del artículo (Para full feeds)
var resumen = json.feed.entry[i].content.$t
}
else if ("summary" in json.feed.entry[i]) { // Si "summary" se encuentra dentro del artículo (Para feeds resumidas)
var resumen = json.feed.entry[i].summary.$t
}

var strip = /<\S[^>]*>/g;
resumen = resumen.replace(strip, ""); // Eliminamos las etiquetas HTML de nuestros resúmenes

if(resumen.length > caracteres_resumen) { // Si el artículo es superior a la cantidad de carácteres límite, resumimos.
resumen = resumen.substring(0,caracteres_resumen)+ '...';
}
crear_arreglo[i] = i; // Almacenamos el índice del arreglo actual


if(html_personalizado == false) { // Si no hemos habilitado html_personalizado...
document.write('

<div class="ab-json-post">
');
document.write('

<div class="ab-post-title">
<a href="http://www.blogger.com/%27+%20url_post%20+%27">' + titulo_post + '</a></div>
');
document.write('<img alt="titulo_post" class="ab-thumbnail" src="' + miniatura + '" />');
document.write('

<div class="ab-post-summary">
'+resumen+'</div>
');
document.write('</div>
');
} else { // Escribe aquí tu propio código utilizando las variables y el ejemplo de arriba

document.write('Empieza a escribir tu código HTML, este es el post índice '+i +'');

}

}
document.write('

<div class="clearfix clear">
</div>
</div>
');
}
</script>

Y en donde desees incluir las entradas, deberás añadir lo siguiente:
<script src="http://www.ayuda-bloggers.info/feeds/posts/default?orderby=published&amp;alt=json-in-script&amp;callback=obtener_feeds&amp;max-results=999999"></script>
En donde deberás reemplazar http://www.ayuda-bloggers.info por la URL de tu blog.

Guarda los cambios y empieza a configurar mediante los siguientes pasos:

Configurar el plugin:

Dentro del script se pueden configurar los siguientes parámetros:
// CONFIGURACIONES INICIALES
var cantidad_posts = 10; // Cantidad de posts que se mostrarán
var caracteres_resumen = 100; // Cantidad de carácteres del resúmen
var tamano_imagen = 100; // Tamaño imagen en píxeles
var url_imagen_no_disponible = "URL IMAGEN NO DISPONIBLE"; // URL de la URL si no existe una imagen
var id_contenedor = "ID_CSS"; // Identificador CSS del contenedor de todos los elementos
var html_personalizado = false; // Usar estructura personalizada, útil si necesitas configurar un slider en particular o algún sistema de terceros
Estas variables permiten alterar un poco el comportamiento del script, si deseas hacer cambios a la estructura que éste devuelva, entonces deberás buscar el siguiente código:

document.write('Empieza a escribir tu código HTML, este es el post índice '+i +'');


Y empezar a escribir el nuevo código guiándote con el código que se encuentra arriba de éste. Esto es muy útil si necesitas adaptar un slider para que muestre las últimas entradas de tu blog, por ejemplo.

Importante: Recuerda cambiar por true la variable html_personalizado o de lo contrario no funcionará.

Configurar mediante CSS:

El identificador que asignes en la variable id_contenedor, deberás utilizarlo para enlazar atributos. El resultado del script es el siguiente:
<div id="ID_CSS">
<div class="ab-json-post">
<div class="ab-post-title"><a href="URL-POST-1">Título entrada 1</a></div>
<img class="ab-thumbnail" src="URL-IMAGEN-MINIATURA" alt="Título entrada 1" />
<div class="ab-post-summary">Resúmen de la entrada</div>
</div>


<div class="ab-json-post">
<div class="ab-post-title"><a href="URL-POST-2">Título entrada 2</a></div>
<img class="ab-thumbnail" src="URL-IMAGEN-MINIATURA" alt="Título entrada 2" />
<div class="ab-post-summary">Resúmen de la entrada</div>
</div>


...


<div class="ab-json-post">
<div class="ab-post-title"><a href="URL-POST-N">Título entrada N</a></div>
<img class="ab-thumbnail" src="URL-IMAGEN-MINIATURA" alt="Título entrada N" />
<div class="ab-post-summary">Resúmen de la entrada</div>
</div>
<div class="clearfix clear"></div>
</div>


Estas son las reglas CSS que deberás modificar:
#ID_CSS { /* Reemplazar por el ID que hayas seleccionado */

}

.ab-json-post {
}

.ab-post-title {
}

.ab-post-thumbnail {

}

.ab-post-summary {

}

.clearfix {
clear:both;
}

Un ejemplo, utilizando el sistema para mostrar las entradas relacionadas en Blogger:
#posts-relacionados { /*Identificador asignado por mí*/
background:#EFEFEF;
border:1px solid #DDD;
padding:15px 15px 0;
color:#666;
}

#posts-relacionados:before {
content:"Otros artículos interesantes:";
font-size:large;
display:block;
margin-bottom:15px;

}

.ab-json-post {
width:31%;
float:left;
margin:0 0 15px 0;
height:235px;
}

.ab-json-post:nth-child(3n+2) {
margin:0 3.5% 15px;
}

.ab-post-title {
white-space:nowrap;
text-overflow:ellipsis;
overflow:hidden;
}

.ab-post-thumbnail {
max-width:100%;
}


Conjuntamente, para que se encuentren los artículos relacionados según coincidencias de etiquetas, utilizar el siguiente código:
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.isLast != "true"'>

<script src="https://dl.dropboxusercontent.com/u/69931585/Ayuda%20Bloggers%202013/Desarrollo/ayudabloggers-obtener-feed.js" type="text/javascript"></script>
<script>
var cantidad_posts = 6; // Cantidad de posts que se mostrarán
var caracteres_resumen = 50; // Cantidad de carácteres del resúmen
var tamano_imagen = 200; // Tamaño imagen en píxeles
var url_imagen_no_disponible = "URL IMAGEN NO DISPONIBLE"; // URL de la URL si no existe una imagen
var id_contenedor = "posts-relacionados";
var html_personalizado = false;
</script>

<script expr:src='"http://www.ayuda-bloggers.info/feeds/posts/default/-/" + data:label.name + "?alt=json-in-script&callback=obtener_feeds&max-results=99999"' type='text/javascript'/>

</b:if>
</b:loop>

El resultado de esto:



Configuraciones opcionales:

Si deseas que el script se encargue de devolverte la entrada completa (Incluyendo las etiquetas de formateo HTML), deberás eliminar estas líneas:
var strip = /<\S[^>]*>/g;
resumen = resumen.replace(strip, ""); // Eliminamos las etiquetas HTML de nuestros resúmenes

if(resumen.length > caracteres_resumen) { // Si el artículo es superior a la cantidad de carácteres límite, resumimos.
resumen = resumen.substring(0,caracteres_resumen)+ '...';
}

Recuerda, que si deseas hacer cualquier cambio al script o si bien lo deseas utilizar como base para un script mejor, puedes tomarlo y modificarlo a tu antojo.

Ver el código fuente del script en GitHub Gist.

sábado, 10 de agosto de 2013

E-mail temporal para evitar spam

En ocasiones nos encontramos con páginas que nos piden crear una cuenta para acceder a algún servicio (por ejemplo, descargar archivos). En estas ocasiones usamos generalmente nuestro correo electrónico para crear la cuenta. Pero luego vemos que nos van llegando mensajes spam de estas páginas.

Para evitar esto, una solución práctica es crear un e-mail que funciona de forma temporal o "descartable": estos correos, al cerrar la página que los proveen, se borran de forma automática.

Hoy vamos a ver cuatro sitios que nos ofrecen crear un correo temporal:

EMAIL TEMPORAL GRATIS
Esta página nos ofrece un dirección de correo aleatoria (también podemos editar una). Esta dirección la copiamos el el formulario donde nos pidan nuestro correo y listo. Cuando ya no la necesitemos, simplemente cerramos la página.

email_temporal
» Enlace: EmailTemporalGratis

YOPMAIL
Otro sitio que nos ofrece el mismo servicio. En la casilla que dice "Elija una Correo Electrónico Temporal" escribimos cualquier dirección de correo . Esa será nuestra dirección temporal. Para leer los mensajes temporales, damos clic en "Revisa el correo".

yopmail
» Enlace: YopMail

MAIL CATCH
Sitio similar a los anteriores que tampoco requiere registrarse y es totalmente gratis.

mailcatch
» Enlace: MailCatch

AIR MAIL
Página que nos ofrece el mismo servicio de correo temporal. Para usarlo, damos clic en el botón "Obtener dirección temporal".

getairmail
» Enlace: AirMail

Estos son algunos de los sitios que nos ayudarán a evitar el molesto spam en nuestras bandejas de correo a la vez que las mantiene seguras.

miércoles, 24 de julio de 2013

Normas básicas del análisis Social Media. Modelo Standards

analítica redes sociales
Venimos viendo como el uso de las redes sociales se ha generalizado ya no solo a nivel personal sino también a nivel empresarial. Hoy en día toda empresa es consciente de que hay que estar presente por una razón muy simple: sus clientes están allí, una oportunidad que no pueden perder. Por ello, la necesidad de medir toda la actividad que se produce en las redes sociales de nuestra empresa se ha convertido en imprescindible y gracias a una colaboración de diferentes empresas involucradas en la materia, hace apenas un mes veíamos que ya salía a relucir la publicación definitiva de las normas básicas del análisis Social Media recomendadas por #SMMStandards.

Dicho esto, digamos que aún nos encontramos en ese momento de aprendizaje en el que empezamos a convivir con estas herramientas que Internet nos deja al alcance de nuestras manos. No podemos tener una actividad Social Media sin plantearnos un análisis de los resultados que se están dando con aquello que publicamos. Y es que otro de los grandes retos en Internet, es recopilar todos los datos que recibimos de manera eficiente y no ahogarnos en el intento. Por ello, las medidas planteadas, intentan simplificar y unificar la medición en las redes sociales, como su propio nombre indica a través de Standards o modelos de referencia.

La publicación divide en cinco grupos las medidas a tener en cuenta que a continuación se presentan:

1.Fuentes y métodos de transparencia

La primera medida es crear una tabla de contenido que recoja la información sobre las fuentes de contenido de Social Media y los métodos que se utilizan para su recogida y análisis, para proporcionar una total transparencia y facilitar la comparación. Su utilidad reside en que existen parámetros que se miden a través de diferentes herramientas que pueden usar metodologías diferentes, por ello, es muy importante utilizar la tabla para identificar nuestras fuentes de información.

2.Alcance e impresiones

El objetivo de este apartado es ofrecer cuatro indicadores específicos para poder medir el alcance y las impresiones de las publicaciones. Actualmente, la medición de la actividad de Social Media de las marcas, depende directamente de las metodologías de las herramientas digitales y, por ello, se toman como indicadores fundamentales a ITEM, MENTION, IMPRESSION y REACH:

  • Un ITEM de contenido se refiere a un post, micro-post, artículo que se publica por primera vez en un medio digital, es decir, a la totalidad del elemento que puede ser comentado, recomendado y todos sus derivados de interacción. Los likes, comentarios, RT, no deben ser tomados como ITEM sino como derivados adicionales de éstos
  • Una MENCIÓN es aquella que se refiere a la marca que se está analizando, típicamente definidas en Social Media como aquellas veces que aparece el nombre de la marca en las búsquedas.
  • Una IMPRESIÓN representa el número de veces que un ítem tiene la oportunidad de ser visto y de llegar a las personas, basado en la audiencia que ha tenido la oportunidad de verlo, independientemente de que lo vieran o no de dispositivos diferentes.
  • El ALCANCE o REACH es el número total de individuos únicos que tuvieron la oportunidad de ver un ITEM. REACH es el indicador que está basado en el número de impresiones, redefinida para eliminar la duplicación de individuos que han tenido la oportunidad de verlo varias veces por diferentes canales, es decir, potenciales oportunidades para ser visto.

3.Engagement y Conversación

ENGAGEMENT: Se trata de la acción que existe más allá de la exposición e implica una interacción entre dos o más personas. Es la participación que se produce en respuesta al contenido publicado, es decir, cuando alguien participa CON NOSOTROS.

Se sugiere que el ENGAGEMENT debe medirse como :
  • Nº total de interacciones dentro de cada canal
  • Porcentaje de participación de su público al día/semana/mes
  • Porcentaje de participación por cada ITEM


CONVERSACIÓN
: Se define como la discusión que se mantiene tanto online como offline sobre la marca, ya sea en los canales de la marca o en el de terceros. Cuando alguien habla DE NOSOTROS.

Las medidas que se sugieren para la CONVERSACIÓN:
  • Nº total de ITEMS que nombran a la marca, empresa o tema en cuestión.
  • Nºtotal de MENCIONES sobre cada ITEM
  • Nºtotal de oportunidades de que se vea cada ITEM, calculado por el número de lectores que hay en el momento de la publicación.

4.Influencia y Relevancia

En este caso, la influencia no puede ser definida bajo una única puntuación o algoritmo concreto ya que depende de varias variables como el engagement, el alcance o la relevancia de un tema entre otras cosas. Por ello se definen cuatro conceptos:

  • INFLUENCE: se trata de la Habilidad de causar o contribuir un cambio en la opinión de un cliente
  • KEY INFLUENCER: la persona o grupo de personas que poseen el potencial medio para influir debido a una serie de atributos, como la frecuencia de comunicación que tienen por ejemplo.
  • INFLUENCEES(INFLUENCIADOS): Con aquellos que interactúan los key influencer. Se trata de la persona o grupo de personas que cambian su opinión o comportamiento como resultado de estar expuestos a una información.
  • INFLUENCER MARKETING: El acto de un vendedor o comunicador que hace participar a los KEY INFLUENCER para que a su vez actúen sobre los influencees.


Cabe destacar que las investigaciones demuestran que un vendedor es más eficaz cuando concentra los recursos a los factores más importantes para influenciar a aquellos que mayor potencial tienen de ser influenciados

5.Sentimiento, Opinión y Defensa

Ser capaz de medir el sentimiento, la opinión y la defensa de los usuarios hacia una marca es verdaderamente un reto, por ello, siempre viene bien definir los conceptos para después identificar el tipo de análisis que podríamos realizar.

  • SENTIMENT: Es el componente de opinión y promoción que el autor trata de transmitir sobre la marca o empresa.
  • OPINION: es un punto de vista o juicio sobre algo, no necesariamente basado en hechos o conocimientos.
  • ADVOCACY o DEFENSA: se refiere al apoyo/recomendación que públicamente recibe la marca en un nivel superior a los likes y follows; es aquella actividad por parte de los usuarios que influencia a otras personas.


6.Impacto y Valor

Representan el último resultado de una acción en las redes sociales, se definen por y dependiendo de los objetivos marcados por la empresa. Muchas veces se confunde con el término ROI, pero está lejos de ser el único impacto o valor atribuible a las redes sociales.

  • IMPACTO: Se trata del efecto que provoca una campaña de social media, un plan o esfuerzo en una audiencia determinada.
  • VALOR: La importancia, el valor o utilidad de algo. El valor puede ser descrito en términos financieros o no.


Cualquier medida referente al impacto y el valor, deben estar asociadas a los objetivos de negocio de la empresa. Tal y como muestra el informe, evaluar el valor e impacto de una campaña es un proceso complejo y entran en juego numerosas variables. En ningún caso se puede reducir a una fórmula generalizada que se aplique a todas las organizaciones. El valor depende de la estrategia de negocio.

El hecho de que se hayan puesto en común conceptos tan importantes a nivel de analítica en Social Media, es una gran iniciativa para unificar criterios de medición que utilizamos para argumentar la presencia en redes sociales. De esta manera, la base de todo estudio se podrá plantear de manera unitaria y con una base teórica contrastada.

PDF original de Normas básicas del análisis Social Media.

Autora: Naike Calvo. Comunicación y Marketing Digital. Especializada en Big Data. Apasionada de las posibilidades que nos brinda la red.. Puedes encontrarla en y Twitter

martes, 23 de julio de 2013

Vídeotutorial: Crear plantilla para Blogger: Introducción a los códigos esenciales de Blogger

html5 blogger, blogspot, ayudabloggers

Tal como lo mencioné en una entrada anterior, he creado un breve vídeotutorial en el que se muestra cómo construir una plantilla HTML5 para Blogger, corresponde al primer artículo de tantos que comenzaré a realizar para el blog.



Pido disculpas si no se entiende o si cometo muchos errores, es mi primer vídeotutorial hablado y soy pésimo explicando a voz. Si tienen algunas dudas pueden preguntar directamente en el vídeo o en esta entrada.

Les agradecería que se suscribieran a mi youtube canal de Youtube, en donde comenzaré a publicar artículos relacionados a Blogger.


Tipos de Widgets:

Esta lista permite tener acceso a los distintos gadgets para así agregarlos a una plantilla, algunos como el gadget HTML o el de encuesta requieren una previa configuración.


Type="Blog"Permite mostrar las entradas del blog, en el tutorial es el que se trabaja desde cero.
Type="PlusOne"Nos permite mostrar el botón +1 dentro de alguna sección.
Type="PlusFollowers"Muestra tus seguidores en Google+.
Type="PlusBadge"Muestra una insignia de perfil de Google+.
Type="Translate"El traductor por defecto en Blogger (de Google).
Type="FollowByEmail"Permite a los usuarios seguirte mediante FeedBurner.
Type="PopularPosts"Muestra los posts populares del blog.
Type="Stats"Permite ver las estadísticas (Básicas) de las visitas del blog.
Type="PageList"Muestra una lista de las páginas estáticas del blog.
Type="AdSense"Muestra anuncios de Google AdSense.
Type="CustomSearch"Buscador personalizado de Google.
Type="HTML"Permite insertar código HTML.
Type="Text"Permite insertar texto en el blog.
Type="Image"Muestra una imagen en una sección.
Type="Slideshow"Muestra un SlideShow de fotografías.
Type="VideoBar"Muestra una insignia de perfil de Google+.
Type="Poll"Muestra una insignia de perfil de Google+.
Type="LinkList"Lista simple de enlaces personalizados.
Type="TextList"Lista simple de elementos personalizados.
Type="Feed"Enlaces que direccionan a las feeds.
Type="NewsBar"Muestra las últimas noticias de Google Noticias.
Type="Label"Muestra las etiquetas del blog, en lista o nube.
Type="Subscribe"Enlaces de suscripción al blog.
Type="BloggerButton"Botón de Blogger para el blog.
Type="Profile"Información del autor o lista a los perfiles de cada uno.
Type="BlogArchive"Archivo del Blog.
Type="Header"Logo/Nombre y descripción del blog.
Type="Wikipedia"Buscador Wikipedia.
Type="ContactForm"Formulario de Contacto.
Type="Followers"Seguidores en Google.


Variables Data:

Las variables data, en Blogger son objetos que almacenan alguna información, nos otorgan con facilidad determinados elementos con la simple acción de mencionarlas.

En Blogger, poseemos una basta cantidad de estos elementos, para evitar la sobrecarga de información utilizaremos los más importantes.

Estos datos se pueden utilizar de la siguiente forma:

De manera inline: Nos permiten utilizar los objetos como atributos, por ejemplo:
<div expr:id='"post"+ data:post.id'>
Lo que resulta en:
<div id='post30422323223'>
Mediante etiquetas: Permiten incluirlas en cualquier parte válida, por ejemplo:
<div class="titulo-entrada"><data:post.title/></div>
Resultando:
<div class="titulo-entrada">Título de la entrada</div>

Locales: 

Requieren alguna ubicación concreta, o ciclo para poder funcionar (Ej: data:post.title requiere estar dentro del ciclo de las entradas), de lo contrario no se encuentran inicializadas y por lo tanto no arrojarán resultados o bien se mostrará una alerta en la plantilla.

Dentro del ciclo de entradas:

<data:post.url/>Devuelve la URL de la entrada.
<data:post.title/>Devuelve el título de la entrada.
<data:post.snippet/>Devuelve un resúmen de la entrada.
<data:post.thumbnailUrl/>Devuelve la primera imagen del post, cortada a 72px, cuadrada (Requiere imagen subida a Picasa/Blogger).
<data:post.firstImageUrl/> Devuelve la primera imagen detectada en el post sin alterar.
<data:post.dateHeader/> Devuelve un rango de fechas para organizar las entradas.
<data:post.timestamp/> Devuelve la hora de una entrada.
<data:post.author/>Devuelve el nombre del autor que escribió la entrada.
<data:post.authorProfileUrl/>Devuelve la URL del perfil del autor de la entrada.
<data:post.id/>Devuelve el identificador numérico de la entrada.
<data:post.canonicalUrl/>Devuelve la URL canónica de la entrada.
<data:post.timestampISO8601/>Devuelve la fecha de la entrada según la ISO8601.
<data:post.emailPostUrl/>Enlace para enviar entrada por Email.
<data:post.location.mapsUrl/>Devuelve la URL de la geoubicación de la entrada (Requiere incluir al crear la entrada).
<data:post.location.name/>Devuelve el nombre de la geoubicación de la entrada (Requiere incluir al crear entrada).
<data:post.editUrl/>Devuelve la URL para editar rápidamente la entrada.

Dentro del gadget type="Blog":

<data:newerPageUrl/>Devuelve URL "Entradas recientes" o "Entrada siguiente" dependiendo el caso.
<data:newerPageTitle/>Devuelve nombre "Entradas recientes" o "Entrada siguiente".
<data:olderPageUrl/>Devuelve URL "Entradas antiguas" o "Entrada anterior" dependiendo el caso.
<data:olderPageTitle/>Devuelve nombre "Entradas antiguas" o "Entrada anterior".
<data:homeMsg/>Devuelve mensaje "Página principal".

Dentro del ciclo de etiquetas (Dentro de entrada):

<data:post.label/>Devuelve la(s) etiqueta(s) dentro de la entrada, requiere ciclo post.labels.
<data:label.url/>Devuelve la URl de cada etiqueta, requiere ciclo post.labels.

Globales: 

Pueden ser utilizadas dentro de cualquier elemento y a diferencia de las locales, es que no requieren ninguna dependencia para funcionar:

<data:blog.pageType/>Devuelve el tipo de página actual (index,static_page,item,error_page,archive).
<data:blog.pageUrl/>Devuelve la URL actual (Ej: http://wwww.blog.blogspot.com/p/pag-actual.html).
<data:blog.pageTitle/>Arroja el título de la página actual (Ej: Blog : Título entrada).
<data:blog.blogId/>Devuelve el ID de tu blog (Ej: 6894142822305456206).
<data:blog.metaDescription/>Devuelve la meta descripción del blog.
<data:blog.canonicalUrl/>Devuelve la URL canónica del blog.
<data:blog.homepageUrl/>Devuelve la página principal del blog.

Ciclos/Iteraciones:

Traemos contenido almacenado dentro de una matriz en Blogger, a diferencia de otros lenguajes sólamente definimos el ciclo, no lo programamos.

Existen varios bucles en Blogger, como por ejemplo en el gadget del tipo BlogList, pero tampoco los mencionaremos para que cada uno se encargue de buscarlos dentro de cada gadget que haya agregado.

Estructura:

<b:loop values="data:elementos" var="elemento">
<!--Contenido iterado-->
</b:loop>

Ciclo de etiquetas (Para mostrar las etiquetas dentro de una entrada):

<b:loop values='data:post.labels' var='label'>
        <!--Traer las etiquetas de una entrada, requiere estar dentro del ciclo de las entradas y para mostrar cada etiqueta se requiere data:post.label-->
</b:loop>

Ciclo de etiquetas (Todas las etiquetas):

<b:loop values='data:labels' var='label'>
       <!--Permite mostrar todas las etiquetas del blog, requiere estar dentro de un gadget de tipo Label-->
</b:loop>

¿Sencillo no? Puedes de esta forma generar el contenido de tu blog.

Condicionales/Bifurcaciones:

Estructura simple (If):

Esta estructura nos permite condicionar si la condición es true, o false, pero no ambas.
<b:if cond='Si esto es == true'>

       <!--Se mostrará este contenido en el blog-->

</b:if>

Estructura compuesta (If/Else):

Esta sentencia nos permite condicionar para ambos casos, si se cumple se ejecuta, y si no, se ejecuta lo que se encuentre debajo de <b:else/>.
<b:if cond='Si esto es == true'>
       <!--Se mostrará este contenido si la condición se cumple-->
<b:else/>
       <!--Se mostrará este contenido si la condición NO se cumple.-->
</b:if>

Algunos ejemplos con distintas formas de uso:

<b:if cond='data:blog.pageType == "index"'>

       <!--Mostrar esto en el índice del blog-->

<b:else/>

      <!--Mostrar esto en el resto de elementos, como páginas y entradas-->

</b:if>

<b:if cond='data:post.thumbnailUrl'>
       <!-- Este ejemplo, a diferencia del anterior, bifurca cuando la variable data existe-->
</b:if>


<b:if cond='data:post.thumbnailUrl == "URL_DE_LA_MINIATURA"'>
       <!-- Un ejemplo con la misma variable anterior, que indica que si el texto de la derecha es la URL de la miniatura, se mostrará algún código-->
</b:if>

<b:if cond='data:post.author= "Víctor Calderón"'> 

      <!-- En este ejemplo, preguntamos si el que escribió este artículo es Victor Calderón, se mostrará un fragmento que nosotros escojamos-->

</b:if>

<b:if cond='data:postNum == 2'>

      <!-- El post es el 3ero en la página principal, en él se mostrará algo, requiere que en el ciclo de entradas agreguemos el atributo index='postNum'-->

</b:if>


Includable/Include:

Esta maravillosa función, que muy poco mencioné en el vídeotutorial nos permite crear zonas de código reutilizables, o bien para mantener el código mucho más organizado.

La forma de uso se basa, en construir un elemento <b:includable> y en él añadir el código que queramos, debe llevar un identificador y la variable en donde se aplica.

Un ejemplo para el gadget de entradas:
<b:includable id="estructuraentradasindice" var="post">
      <div class="post_indice">

          <div class="titulo_entrada"><a expr:href="data:post.url"><data:post.title/></a></div>
          <div class="resumen_entrada"><data:post.snippet/></div>
          <div class="miniatura"><data:post.thumbnailUrl/></div>
      </div>
</b:includable>
Y para utilizarlo dentro de un ciclo:
<b:loop values="data:posts" var="post">
      <b:include name="estructuraentradasindice"/>
</b:loop>

Nota: Existe en el widget de entradas, el <b:includable> que tiene como valor var="top", quiere decir que dentro de este se encuentran todos los demás.

Enlace del vídeo:

http://youtu.be/6xcPf0YEi4g

Información: Esta entrada se irá actualizando debido a que faltan una inmensidad de códigos, pero estos son los que más necesitan.

Actualización: Código fuente del vídeotutorial:

Código fuente del primer vídeotutorial para crear plantillas para Blogger. GitHub Gist