Tutorial: Evitar clic accidental en imágenes en WordPress con Javascript

  • Autor Autor ziney
  • Fecha de inicio Fecha de inicio
Z

ziney

Eta
Programador
Este es un truco basado en Javascript que he ido experimento hace unos tiempos y me ha dado resultado.

El problema:

- En wordpress al insertar una imagen, te genera un enlace hacia el tamaño real de la imagen. Lo que ocasiona que muchos usuarios curiosos y novatos al pasar el mouse sobre la imagen terminan dando click, ya que aparece el cursor en manito, lo cual hace posible que cierren la pestaña de su navegador y no vuelvan al sitio. ( No presionen el botón atrás del navegador )


- Una solución no factible sería romper los vínculos de la imagen desde el editor de entradas, pero esto no sería amigable para el seo ya que es necesario que también nos indexe el tamaño real de la imagen.

Captura de una imagen en un post que redirecciona hacia la imagen original al pulsar en él.


Enlace eliminado
La solución:

Añadiremos un pequeño script en el header o footer de su sitio de al siguiente manera, el script esta basado en jquery; el 90% de los themes wordpress tienen la librería, si no lo tiene es necesario agregarlo.

La funcionalidad del script consiste en evitar el reccionamiento o la acción del link al pulsar sobre todas las imágenes del post con enlaces, y Cambiar el cursor pointer o manito, por el cursor default o flechita, el cual permite simular que no se trata de un enlace cuando en realidad lo es :witless: . Ademas al pulsarlo no manda hacia el vínculo.

Librería jQuery
Añadir en header.php antes del </head> en caso de no tenerlo, para comprobar si lo tiene Presione CTRL +U para ver el código fuente de su blog y CTRL+F para buscar la palabra jquery, si existe dicha palabra entonces ya tiene la librería.

HTML:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

Codigo JS.

HTML:
<script>

$(document).on('ready',initFunctions);
function initFunctions(){    
    $('.post a img').parent().bind('click mouseover', function() {  
      $(this).css('cursor','default');   
 return false;   
 });

}

</script>

Si solo desea que se aplique esta regla solo a las imágenes del single, entonces cambie en el selector por $('.single a img') , esto último funcionará si tiene el body_class activado , en caso de no tenerlo busque la etiqueta <body> en header.php y añada lo siguiente, quedando así.

HTML:
<body <?php body_class(); ?> >

Captura de la imagen luego de aplicarle el script.

Enlace eliminado
Este truco me ha funcionado en algunos blogs logrando porcentajes de hasta 20% y 30% , espero que le sirva a ustedes. Vale la pena arriesgar a probarlo.
 
Última edición:
Tema aprobado y agregado al listado de tutoriales
 
Excelente!Ya lo estoy probandoo!!

Muy buen aporte!

- - - Actualizado - - -

Excelente!Ya lo estoy probandoo!!

Muy buen aporte!
 
De lujo, lo implemento ya mismo.

Muchas Gracias! 🙄
 
Una solución para bajar el % de rebote es poner dos códigos de analytics.
Te lo deja de 2-5% 😉
 
Yo lo que hago, es mejor no incluir imágenes dentro de cada post.
 
Una solución para bajar el % de rebote es poner dos códigos de analytics.
Te lo deja de 2-5% 😉

Hola FMercury, lo que dices es verdad ?... y dime poner el mismo codigo 2 veces ?
saludos
 
Hola FMercury, lo que dices es verdad ?... y dime poner el mismo codigo 2 veces ?
saludos
No es cierto, El rebote se refiere al porcentaje real (Cuantos visitantes se salen del sitio, sin navegar más) , mas no al fallo de un contador que ocasiona al colocar 2 veces el código.
 
No es cierto, El rebote se refiere al porcentaje real (Cuantos visitantes se salen del sitio, sin navegar más) , mas no al fallo de un contador que ocasiona al colocar 2 veces el código.

si tenia entendido eso, me parecia raro y pense que se trataba de algun bug que podria ayudar. Gracias por la aclaracion ziney
 
No es cierto, El rebote se refiere al porcentaje real (Cuantos visitantes se salen del sitio, sin navegar más) , mas no al fallo de un contador que ocasiona al colocar 2 veces el código.

Viviendo una mentira? xd
 
Correcto, sería vivir una mentira al usar 2 veces el código u otro truco inválido.

Lo que tu dices, lo implemente una vez en Blogger, si funciona, al que dice que no agregar imagenes... hombre.
Un blog sin imagenes es como un libro sin fotos (niños) se aburreny se van muchas veces. Para publicidad, tal vez este bien, no en todos los casos.
Creo que en un Blog con Adsense es primordial un buen visitante... eso de los rompe iframes ( Google Images, etc) solo aumenta el rebote...

Salados
 
Gracias por el aporte 😀
 
Gracias por el tutorial pero no he sido capaz de hacerlo funcionar. A ver si me he enterado bien...

- En el header.php hay que poner antes de </head>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>

$(document).on('ready',initFunctions);
function initFunctions(){
$('.post a img').parent().bind('click mouseover', function() {
$(this).css('cursor','default');
return false;
});

}

</script>

No me va. Lo he probado y no funciona. También he probado añadiendo solo la segunda parte y tampoco funciona:
<script>

$(document).on('ready',initFunctions);
function initFunctions(){
$('.post a img').parent().bind('click mouseover', function() {
$(this).css('cursor','default');
return false;
});

}

</script>

¿Alguien sabe qué hago mal? Gracias
 
Una pregunta solo sale un poco del tema pero por ejemplo tengo un sitio bien posicionado con rebote estable de 50% esta bien o se puede todavia mejorar
 
Lo que necesitaba , gracias.
 
Hay una solución más sencilla que hacer este cambio en el código del header.

Al insertar cada imagen en cada entrada, puedes ir a opciones avanzadas y tildar la opción "Abrir imagen en una ventana nueva". Está justo al final de la ventana emergente que se abre, y ya con eso evitas que aumente el rebote porque no se salen de la página en la que estaban cuando pinchen en una imagen.
 
es buena solucion, aunque prefiero utilizar lightbox
 

Temas similares

Atrás
Arriba