Categorías
google Internet wordpress

Cómo añadir el botón +1 de Google en tu WordPress

En fechas recientes Google ha lanzado el botón +1 en el buscador, como una manera de recomendar sitios a tus amigos y contactos. Al pulsar el botón en la lista de resultados del buscador estamos recomendando ese enlace, de manera que cuando aparezca dicho resultado en la búsqueda de tus amigos, aparecerá un mensaje indicando que lo recomiendas junto a tu foto. Pero el botón no se restringe únicamente a los resultados del buscador. Cómo habrás podido comprobar el botón aparece en multitud de webs, de manera que cuando visitas una página puedas recomendarla directamente. A continuación se detalla el proceso para incluir el botón +1 en tu web:

Cómo conseguir el código del botón

  1. Ir al sitio de Google para Webmasters dónde se configura el botón.
  2. Lo primero que tenemos que especificar es el tamaño del botón (en píxeles) que más se aproxima a las dimensiones que disponemos en nuestra web. También debemos elegir el idioma.
  3. Tras esto hacemos clic en Opciones Avanzadas de modo que se despliegan más opciones de configuración. Aquí podemos desmarcar la casilla «Incluir recuento» en caso de que no deseemos que aparezca el número de veces que se ha pulsado el botón junto al mismo. También tenemos que incluir la dirección URL que queremos recomendar cuando se pulse el botón, que suele ser la url de nuestra página. En caso de que vayamos a incluir el botón en WordPress sería el permalink con la llamada a la función: <?php the_permalink(); ?>.

Con todo esto se generará un código para incluir en nuestras páginas.

<!-- Añade esta etiqueta en la cabecera o delante de la etiqueta body. -->
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
  {lang: 'es'}
</script>

<!-- Añade esta etiqueta donde quieras colocar el botón +1 -->
<g:plusone size="medium" href="<?php the_permalink(); ?>"></g:plusone>

Inserción del código en WordPress

Lo normal es que la primera parte del código, que va entre las etiquetas <script></script> se inserte en la cabecera de la página, justo antes de la etiqueta <body>. Desde el escritorio de WordPress, dentro del menú Apariencia, seleccionamos el menú Editor. Aparecerá entonces una ventana de edición y a la derecha una lista de páginas. Seleccionamos la correspondiente a la cabecera (header.php) para visualizarla en el editor. Copiamos y pegamos la primera parte del código del botón generado dentro de las etiquetas <head></head> justo antes de la etiqueta <body> y pulsamos el botón Actualizar Archivo.

La segunda parte del código debemos insertarla dónde queramos colocar el botón. En mi caso lo incluiré tanto en la página principal como en la página de cada uno de las entradas, así que copio y pego esta segunda parte del código tanto en la página principal (index.php) como en la página de entrada individual (single.php). Pulsamos el botón Actualizar Archivo para cada página y ya tenemos el botón +1 en nuestra web.

Categorías
desarrollo Internet

Nivo Slider, un slideshow con jQuery

Para los que nos dedicamos al desarrollo y diseño de aplicaciones para Internet nos ha sorprendido la rapidez con la que se han propagado los slideshows (también llamados sliders). No hay web actual que se precie que no tenga uno. ¿Y qué es y para qué sirve? Se trata de un componente que presenta una serie de imágenes ordenadas con información seleccionada, que se van presentando una tras otra manteniendo cada una visible un breve periodo de tiempo. Estas imágenes representan una información seleccionada que queremos destacar y pueden incluir un enlace a dicha información ampliada e incluso una etiqueta con una breve descripción. Es muy útil en páginas muy densas con mucha información para, en el mismo espacio, destacar más de un tema.

Existen multitud de estos componentes dependiendo de la funcionalidad que incorporan. En nuestro caso, para una nueva web, el usuario nos pidió incorporar un sencillo slideshow y nos hemos decantado por Nivo Slider. Incorpora 16 efectos de transición, soporta enlaces a imágenes y navegación entre imágenes mediante teclado. Su utilización es sencilla y la versión empaquetada sólo ocupa 15Kb. por lo que se agradece su ligereza. Es un código de libre uso bajo la licencia MIT. Funciona en los siguientes navegadores:

  • Internet Explorer v7+
  • Firefox v3+
  • Google Chrome v4+
  • Safari v4+
  • Opera v10+

Para usarlo en nuestros proyectos necesitamos incluir jQuery, el script de Nivo Slider (jquery.nivo.slider.pack.js) y el CSS de Nivo Slider (nivo-slider.css). Además necesitamos añadir un poco de código HTML  a nuestra página. Suele ser un div con imágenes (images), de hecho, sólo imágenes o imágenes dentro de enlaces están permitidas dentro del div que representa el slider. Cualquier otro código HTML hará que no funcione el control.

<!-- Dentro de la sección <body> de la página --> 
<div id="slider"> 
 <img src="images/slide1.jpg" alt="" /> 
 <a href="http://dev7studios.com">
 <img src="images/slide2.jpg" alt="" title="#htmlcaption"/>
 </a> 
 <img src="images/slide3.jpg" alt="" title="Este es un ejemplo de un caption"/> 
 <img src="images/slide4.jpg" alt="" /> 
</div> 
<div id="htmlcaption" class="nivo-html-caption"> 
 <strong>Esto</strong> es un ejemplo de un caption <em>HTML</em> con <a href="#">un enlace</a>. 
</div> 

Para que el slider se vea correctamente mientras está cargando añadiremos algo de estilos CSS:

#slider { position:relative; width:618px; /* Change this to your images width */ 
 height:246px; /* Change this to your images height */ 
 background:url(images/loading.gif) no-repeat 50% 50%; 
 } 
#slider img { position:absolute; 
 top:0px; left:0px; display:none; 
 } 
#slider a { border:0; display:block; }

Para enlazar la funcionalidad del slider con la capa que hemos cargado previamente cuando cargamos la página, llamamos al método nivoSlider() de la siguiente forma:

<script type="text/javascript"> 
 $(window).load(function() { 
 $('#slider').nivoSlider(); 
 }); 
</script> 

Este método puede invocarse sin parámetros o bien con alguna de las opciones disponibles:

$('#slider').nivoSlider({
 effect:'random', // Efecto de transición: 'fold,fade,sliceDown'
 slices:15, // Para animaciones 'slice'
 boxCols: 8, // Para animaciones 'box'
 boxRows: 4, // Para animaciones 'box'
 animSpeed:500, // Velocidad de la transición
 pauseTime:3000, // Cuánto tiempo en milisegundos se visualiza una imagen
 startSlide:0, // Imagen de comienzo (empezando por cero)
 directionNav:true, // Si queremos que aparezcan controles para siguiente y anterior
 directionNavHide:true, // Sólo cuando el cursor se sitúa sobre el componente
                            se visualizará la navegación
 controlNav:true, // 1,2,3... navegación
 controlNavThumbs:false, // Usar miniaturas para el control de la navegación
 controlNavThumbsFromRel:false, // Usar imagen rel para miniaturas
 controlNavThumbsSearch: '.jpg', // Reemplazar este patrón del nombre de la imagen...
 controlNavThumbsReplace: '_thumb.jpg', // ...con esto para las imágenes miniatura
 keyboardNav:true, // Usar las flechas izquierda y derecha para navegación
 pauseOnHover:true, // Parar navegación al pasar el ratón sobre el componente
 manualAdvance:false, // Forzar transiciones manuales
 captionOpacity:0.8, // Opacidad para los caption o títulos de las imágenes
 prevText: 'Ant', // Texto de navegación hacia la izquierda
 nextText: 'Sig', // Texto de navegación hacia la derecha
 beforeChange: function(){}, // Función que se ejecuta antes de una transición
 afterChange: function(){}, // Función que se ejecuta después de una transición
 slideshowEnd: function(){}, // Función que se ejecuta después de que todas
                                las imágenes se han mostrado
 lastSlide: function(){}, // Función que se ejecuta cuando la última imagen se visualiza
 afterLoad: function(){} // Función que se ejecuta cuando se carga el componente
});

 

Hay gran variedad de efectos para las transiciones. Los valores posibles para la opción effect son: sliceDown, sliceDownLeft, sliceUp, sliceUpLeft, sliceUpDown, sliceUpDownLeft, fold, fade, random, slideInRight, slideInLeft, boxRandom, boxRain, boxRainReverse,boxRainGrow, boxRainGrowReverse. Para un uso avanzado, incluir Nivo Slider en WordPress o el uso de imágenes miniatura, podemos visitar la página oficial http://nivo.dev7studios.com/.

Categorías
Internet

Almacenamiento en la nube. Ubuntu One Vs Dropbox

Por regla general, cualquier persona en su vida cotidiana utiliza más de un ordenador, el de la oficina, el de casa, el portátil o netbook, o incluso puede utilizar varios dispositivos móviles como un tablet o un teléfono móvil. Pero mediante uno o varios dispositivos, siempre querremos poder acceder a la misma información. Si guardo las fotos de mis vacaciones en el ordenador de casa, igual quiero poder enseñarlas en la oficina o enseñarlas a un familiar en mi teléfono móvil. Si edito un documento en el trabajo, igual me interesa terminarlo en casa o revisarlo en mi iPad en el autobús de camino al trabajo. Por todo ello me planteé abrir un espacio de almacenamiento en la nube. Era eso o copiar toda la información a todos los «cacharros» y además sincronizarla a mano. Existen multitud de servicios de almacenamiento web pero aquí voy a hablar de dos: Dropbox y Ubuntu One.

Ubuntu One viene integrado en la distribución Ubuntu desde la versión 9.04. El sistema de ficheros incorpora una carpeta especial, de tal manera que cuando copiamos o movemos algún fichero en la misma, se sube al almacenamiento remoto de manera totalmente transparente. Desde otro ordenador con Ubuntu y la misma configuración de usuario, tendremos acceso al fichero en la misma carpeta. Asímismo desde http://one.ubuntu.com podremos gestionar nuestro espacio. El paquete básico es gratuito con 2Gb de memoria de almacenamiento aunque podemos ampliarlo comprando hasta 20Gb que podemos pagar mensualmente o bien anualmente. Además de ficheros, sincroniza contactos, notas y marcadores e incorpora una tienda de música. No tiene límites en el número de ordenadores conectados a una cuenta. Podemos compartir una o varias carpetas con los demás usuarios.

Por último debemos comentar que Canonical, que es la empresa dueña de la distribución Ubuntu, ofrece un producto para dispositivos móviles (Ubuntu One Mobile) por 4€ al mes que incorpora acceso a los ficheros en red y, lo más novedoso es que puedes acceder en streaming a tus ficheros de música.

Personalmente comencé a usar este servicio pero el ordenador del trabajo tiene instalado WindowsXP y era un engorro sincronizar y subir ficheros por la web, así que decidí instalarme Ubuntu One for Windows (aún en beta). El problema es que el programa se conecta por un puerto diferente del 80, que es el que deja abierto el proxy, por lo que es imposible sincronizar y el programa se queda en segundo plano consumiendo el 40% de CPU. La última información que tengo es que estaban trabajando en solucionar esta incidencia.

Tras estos problemas decidí probar Dropbox. Es exactamente lo mismo, misma carpeta de sincronización (aunque tiene una modalidad de configuración dónde indicas las carpetas a sincronizar), mismo tamaño de almacenamiento gratuito con la opción de comprar más, posibilidad de acceso y gestión por web, incorpora una carpeta para compartir y una para crear galerías de fotos.

El programa se instala perfectamente en Windows y en las principales distribuciones de Linux y al contrario que el programa de Ubuntu One, si tienes un proxy en la red, puedes configurarlo o dejar que lo autodetecte. Además, existe una versión para iOS, por lo que si tienes un iPhone o iPod Touch, puedes acceder a tus ficheros desde donde quieras gracias a su aplicación gratuita.

Considero totalmente normal el miedo de algunas personas a dejar ficheros personales en sistemas de ficheros ajenos sin la custodia de su dueño, pero también creo que debemos sobreponernos y superar dichos miedos. Yo personalmente veo más ventajas que inconvenientes, no sólo por la sincronización y el acceso a los datos desde cualquier parte sino también indirectamenta para realizar backup de dichos datos por si ocurre un accidente con mi portatil, mi memoria USB, etc.

Categorías
google Internet

Posicionamiento Web en Google

Durante las últimas semanas estoy bastante volcado en un tema que trae de cabeza a webmasters de todo el mundo: el posicionamiento web en buscadores, y más concretamente el posicionamiento web en Google. Tenemos que tener en cuenta que Google es el más utilizado y responde a más del 60% de las búsquedas en la Web. Conseguir un buen posicionamiento en el buscador, y aparecer en la primera lista de resultados, es lo que todo el mundo anhela para conseguir más tráfico hacia su sitio en Internet. Conociendo el algoritmo que Google utiliza podemos identificar una serie de técnicas para desarrollar sitios web sencillos, accesibles y fácilmente indexables por parte del buscador, aunque no debemos esperar resultados inmediatos, se trata de un trabajo constante y los resultados son a largo plazo.

Logo Google

Buenos Contenidos

Lo fundamental es tener buenos contenidos que atraigan al mayor número de visitantes. Si los contenidos merecen la pena seguro que tendrás más enlaces de otros sitios web. Google valora positivamente el número de enlaces externos a tu contenido. Además es recomendable actualizar periódicamente los contenidos ya que a Google le gustan los sitios que se renuevan y actualizan sus contenidos y además, el robot ‘Freshbot‘ pasa regularmente por aquellas páginas con los contenidos más frescos y los actualiza en la base de datos de Google en cuestión de horas.

Debes introducir contenidos reservando varias palabras clave (con 2 o 3 serán suficientes) para las cuáles quieres aparecer en las primeras posiciones de Google. Estas palabras clave las debes situar en:

  • TITLE. Es el lugar más importante. Intenta que en el título aparezcan las keywords o palabras clave. Los títulos no deben ser muy largos e intenta no repetir las palabras o Google lo penalizará (lo considera spam).
  • ALT: La etiqueta ALT está dentro del tag de imágenes y es el texto alternativo cuando no es posible cargar las imágenes. Google lo tiene en cuenta cuando es un enlace a otro sitio web.
  • META TAGS: Aunque no se tiene en cuenta es recomendable utilizarlos.
  • URL: Se sospecha que se valora positivamente que la dirección de la página contenga las palabras clave, aunque no le da demasiado peso. Intenta que el nombre de la página tenga las palabras deseadas sin abusar o Google podría penalizar. Separa las palabras con guión alto en vez de guión bajo.

En el resto de la página intenta incluir las palabras clave pensando en la legibilidad de los contenidos para los visitantes y no para los buscadores.  Vigila la ortografía de las palabras clave.  Además Google da mayor relevancia a aquellas palabras que aparecen en títulos (h1, h2,…) en negrita o en cursiva.

Tecnología Web

Para conseguir un buen posicionamiento debes tener buenos conocimientos sobre tecnología web, dominar el lenguaje HTML, conocer el funcionamiento de un servidor web, etc. Es recomendable que tengas tu propio dominio, tener tu sitio web en un portal de sitios gratuitos no da buena imagen.

Intenta utilizar páginas dinámicas generadas en el servidor (CGI, PHP, ASP, JSP, etc.), guardando el contenido en base de datos y no generar las páginas una a una. De igual forma, si un menú se repite en múltiples páginas deberíamos editar el código del menú una vez e incluirlo las veces que haga falta y no repetir el mismo menú en todas las páginas. Google sí indexa las páginas dinámicas pero hemos de intentar no incluir muchos parámetros en la URL o el robot no indexará la página ya que considerará que el contenido no es estable (sobre todo no incluir parámetros del tipo sessId o sessionID o similares).

Sencillez

Es muy importante diseñar páginas web sencillas y claras. A Google le gustan las páginas sin demasiados adornos, como se puede comprobar visitando su web. El robot  de Google fue diseñado para rastrear páginas sencillas y los enlaces a los que apunta, es decir al robot únicamente le interesa el texto y los enlaces a otras páginas, no valora el diseño. Google no reconoce el contenido en los siguientes elementos:

  • JavaScript
  • DHTML
  • Flash
  • Frames
  • Session IDs
  • Applets de Java
  • Imágenes: no insertes textos dentro de ellas

Intenta que tu página web se vea igual con un navegador que con otro, pero sobre todo, que se ‘vea’ con el robot de Google, es decir en modo texto sin imágenes, javascript, flash…

Como recomendación, intenta no incluir páginas muy grandes, con mucho contenido y cuida la usabilidad de las mismas para que los visitantes no se cansen y naveguen a gusto por los contenidos, de manera que vuelvan a menudo a la página.

Alta en Google

Para obtener un buen posicionamiento debemos dar de alta la URL en Google. El método más sencillo es acudir a esta página: http://www.google.com/intl/es/addurl.html aunque no se asegura el tiempo en el que aparecerá en los resultados. Google recibe multitud de sugerencias y su robot no es capaz de rastrearlas todas.

Otra opción es conseguir un enlace en alguna página que ya esté en la lista de resultados. Con esto nos aseguramos que la siguiente vez que pase el robot, indexará el contenido de dicho enlace.

Enlaces

Conseguir Enlaces

Esta es una de las labores más complicadas. En función del número de enlaces que obtengamos tendremos mayor PageRank (valor numérico que inserta Google a cada página web) o popularidad. A mayor PageRank, mayor valoración, pero si el enlace es de un sitio con un PageRank alto, la valoración se multiplica por lo que hay que buscar enlaces de calidad. Hay que tener en cuenta que Googlebot (robot de Google) no indexa los enlaces hechos con javascript. Al insertar enlaces, las palabras clave deben estar dentro de la etiqueta del enlace:
<a href=http://www.dominio.com/page.html>Palabra(s) clave(s)</a>

Por todo lo anterior, nuestra labor se centrará en conseguir el mayor número de enlaces de calidad posible, bien en directorios online o bien en sitios web, sobre todo si son de temática similar. Una práctica extendida es la poner comentarios  (del tipo ‘estoy de acuerdo contigo, buen sitio web’) en otros sitios incluyendo el enlace deseado. Esto, aparte de ser poco ético y conseguir que el webmaster se enfade, se rumorea que está siendo vigilado por Google para penalizar sitios enlazados sin permiso del webmaster, como los libros de firmas. Otras recomendaciones son:

  • Evita enlazar a sitios sospechosos de malas prácticas, ya que si Google les penaliza, también te penalizará a ti.
  • Vigila que no tengas enlaces rotos, puesto que un número excesivo puede penalizar.
  • Evita cobrar por enlazar o pagar por insertar enlaces. Google no consiente el hecho de que el PageRank sea un negocio
  • Si es posible crea un mapa de la web con todos los enlaces de la web. A Google le gustan estos mapas y tú te aseguras que tienes toda la web indexada. Si el número de enlaces es mayor que 100, divide este mapa, puesto que Google lo puede considerar una link farm y penalizarte.
  • Debes darte de alta en otros buscadores, no sólo en Google.
  • Los enlaces internos también son valorados, pero debes tener también enlaces externos, pues Google puede penalizarte.

Evitar Penalizaciones

Para evitar que los usuarios abusen e intenten situar su web en las primeras posiciones, pese a que esos sitios no tienen nada que ver con lo que se ha buscado, Google  puede penalizar dichas webs borrando los resultados, disminuyendo su PageRank o no teniendo en cuenta sus enlaces. Aparte de las penalizaciones comentadas en el punto anterior podemos añadir las siguientes:

  • No utilices la técnica Cloaking. Es la técnica por la que se encubre la página que ven los usuarios con otra que es la que indexa el robot de Google con mayor número de palabras clave.
  • Tampoco se debe redirigir por javascript al usuario hacia una página desde otra en la que hay multitud de palabras clave, pero prácticamente ininteligible que el robot sí que se toma su tiempo en indexar.
  • Texto oculto. Muchos webmaster insertan multitud de palabras clave al final de la página con el mismo color de letra que el fondo. Google es capaz de detectarlo y penalizar dichas web.
  • Del mismo modo ocurre con los enlaces ocultos.
  • No duplicar páginas.

seo

Conclusiones

En la actualidad es imprescindible conocer lo máximo posible sobre el algoritmo utilizado por Google para posicionar nuestra web dentro de la lista de resultados. Cada vez aparecen más SEOs (Search Engine Optimizer), personas o empresas dedicadas a que una web aparezca en las primeras posiciones de la página de resultados, utilizando diversas técnicas de posicionamiento. Para ver más información puedes leer este manual de posicionamiento web en Google.

Categorías
Comunicaciones Internet

Ciberataque al Ministerio de Cultura y a la SGAE

El pasado miércoles 6 de octubre se realizó un ciberataque a la web de la SGAE y a la del Ministerio de Cultura, que es el cliente en el que presto mis servicios profesionales desde hace más de cuatro años, por parte de un grupo organizado de crackers ayudados con toda probabilidad, de una red de botnets u ordenadores zombies. A nuestro equipo de trabajo le afectó por la falta de conectividad de nuestros equipos y el mal funcionamiento del correo electrónico, por lo que a duras penas podíamos trabajar durante la tarde del miércoles y la mañana del jueves.

Distributed denial of service

Independientemente de lo que piense sobre si es reprobable o no, se han levantado en la red opiniones para todos los gustos. Unos ven censurable este ataque, ya que los atacantes se están situando al mismo nivel que la SGAE o Cultura cuando pretenden cerrar webs, y además pueden presentarse ante la opinión pública como víctimas. Del otro lado diversas firmas públicamente en contra del canon y el cierre de webs que enlazan contenidos protegidos por copyright, ven el ataque como legítima defensa cuando una serie de lobbys acosan a los ciudadanos.

Pero ¿en qué consiste un ataque como éste? Un ataque de denegación del servio o DoS (Denial of Service) se basa en dejar un recurso inaccesible a los usuarios. Se genera mediante la saturación de los puertos con flujo de información, haciendo que el servidor se sobrecargue y no pueda seguir prestando servicios, por eso se le dice «denegación», pues hace que el servidor no dé abasto a la cantidad de usuarios. El caso que nos ocupa fue una variante del DoS  llamada DDoS (Distributed Denial of Service) que se basa en generar un flujo de información desde varios puntos de conexión, principalmente a través de una botnet, siendo esta técnica el ciberataque más usual y eficaz.

La forma de controlar este ataque no es fácil una vez que ocurre, pero básicamente se resume en limitar el número de conexiones abiertas desde las diferentes direcciones IP de los ordenadores atacantes, si son direcciones válidas, y realizar un filtrado de las IP de manera que el router únicamente deje pasar paquetes cuya IP origen sea válida.