Los mejores plugins de WordPress para optimizar imágenes en 2025 son ShortPixel Image Optimizer, Optimole, Imagify, EWWW Image Optimizer, Smush y TinyPNG. Todos permiten comprimir imágenes sin perder calidad, convertir a formatos modernos como WebP/AVIF y mejorar la velocidad de carga.
🔧 Comparativa de plugins de optimización de imágenes (2025)
Plugin
Características principales
Ventajas
Ideal para…
ShortPixel Image Optimizer
Compresión avanzada, soporte WebP y AVIF, optimiza biblioteca y carpetas externas
Control detallado, buena relación calidad/tamaño
Sitios con muchas imágenes y galerías
Optimole
Optimización en la nube, entrega vía CDN, conversión automática a WebP
Reduce carga del servidor, muy automatizado
Blogs y webs con tráfico internacional
Imagify
Compresión sin pérdida, conversión a WebP, integración con WP Rocket
Interfaz sencilla, buena integración con caché
Usuarios de WP Rocket y webs medianas
EWWW Image Optimizer
Optimización local o en la nube, conversión a WebP/AVIF, lazy load
Muy flexible, opciones técnicas avanzadas
Desarrolladores y webs con hosting potente
Smush
Compresión en lote, lazy load, detección de imágenes grandes
Fácil de usar, versión gratuita potente
Principiantes y webs pequeñas
TinyPNG (Compress JPEG & PNG)
Compresión con API, soporte WebP, integración sencilla
Excelente calidad de compresión
Webs que priorizan calidad visual
RECOMENDACIONES PRÁCTICAS
Si gestionas muchos dominios y portfolios: te conviene ShortPixel, porque permite optimizar carpetas externas y soporta AVIF, ideal para branding modular.
Si buscas automatización y velocidad global: Optimole es perfecto, ya que usa CDN y reduce carga en tu servidor.
Si quieres algo sencillo y gratuito: Smush ofrece compresión básica y lazy load sin complicaciones.
Plugin Smush
Características principales de Smush
Compresión de imágenes Reduce el tamaño de archivos JPEG, PNG y GIF sin pérdida visible de calidad.
Conversión a formatos modernos Convierte imágenes a WebP y AVIF, mejorando la velocidad de carga y el rendimiento.
Optimización en lote Permite optimizar todas las imágenes de la biblioteca de medios de WordPress de una sola vez.
Lazy Load (carga diferida) Retrasa la carga de imágenes fuera de pantalla hasta que el usuario hace scroll, acelerando la percepción de velocidad.
CDN de imágenes Ofrece un servicio de entrega de imágenes vía CDN para mejorar la distribución global.
Redimensionamiento automático Ajusta las imágenes a dimensiones específicas para evitar que se suban archivos demasiado grandes.
Detección de imágenes grandes Identifica imágenes que superan un tamaño recomendado y sugiere optimización.
Compatibilidad amplia Funciona con la mayoría de temas y constructores visuales, incluido Divi, Elementor y Gutenberg.
Ventajas de usar Smush
Smush es un plugin confiable y fácil de usar que ofrece compresión, conversión a WebP/AVIF, lazy load y CDN, lo que lo convierte en una solución completa para optimizar imágenes en WordPress.
Ventaja
Detalle
Facilidad de uso
Interfaz intuitiva, ideal para principiantes
Versión gratuita potente
Incluye compresión básica y lazy load
Integración con otros plugins
Compatible con WPML, WooCommerce y constructores
Mejora SEO y velocidad
Sitios más rápidos, mejor puntuación en Google PageSpeed
¿Quieres saber cuántas personas leen tus entradas y páginas en WordPress? Con nuestro contador de visitas automático, cada publicación registra en tiempo real las visitas que recibe y las muestra directamente al final del contenido, sin necesidad de shortcodes ni configuraciones complicadas.
Además, el plugin incluye un panel exclusivo en el administrador de WordPress donde podrás consultar un ranking de las entradas y páginas más visitadas. De un vistazo tendrás claro qué contenidos generan más interés en tu audiencia, lo que te ayudará a mejorar tu estrategia y potenciar tus publicaciones.
✨ Características principales
Contador visible automáticamente en todas las entradas y páginas.
Icono de ojo integrado para un diseño moderno y claro.
Ranking en el administrador con las publicaciones más visitadas.
Ligero, simple y adaptado al estilo de tu tema.
Este recurso está disponible en EE3.ES como parte de nuestras utilidades prácticas para desarrolladores y editores digitales.
El Plugin Honeypot es un antispam para WordPress que te permite proteger los formularios de comentarios mediante la técnicas honeypot.
Puedes instalar nuestro Plugin, sin complicaciones y ahorrarte otros métodos antispam, como recaptcha.
El propósito de un honeypot es refinar el sistema de detección de intrusiones (IDS) y la respuesta a amenazas de una organización para que esté en una mejor posición para administrar y prevenir ataques.
Funcionamiento del Plugin
El Honeypot funciona como honeypot es una trampa o una operación engañosa diseñada para atraer y capturar espías o enemigos. La idea es crear un objetivo atractivo que incite a las personas a revelar sus verdaderas intenciones o a participar en actividades que puedan ser monitoreadas o controladas.
Instalación del Plugin
Descarga el Plugin Honeypot.
En WordPress haz clic en añadir nuevo plugin.
Activa el Plugin.
Listo. Tu plugin ya esta operativo.
En el panel de administración de WordPress verás un icono del plugin.
Haz clic en el para ver el número de boots bloqueados.
Mantén a la vista el Reloj Analógico en tu sitio de WordPress, fácil de insertar, y con un potente efecto visual. El Reloj Analógico se adapta a todos los dispositivos.
⏰ Añade un reloj analógico en tu WordPress
¿Quieres mostrar la hora en tu sitio web con un reloj analógico elegante? Aquí tienes un código completo que puedes insertar en el widget de barra lateral de tu WordPress.
RELOJ WEB
Pasos:
Entra en tu panel de administración de WordPress.
Ve a Apariencia > Widgets.
Añade un widget de tipo HTML personalizado en la barra lateral.
Copia y pega el siguiente código completo en el widget:
html
<html>
<head>
<title>RELOJ WEB</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.reloj-container {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
max-width: 420px; /* tamaño máximo */
margin: 0 auto; /* centra horizontalmente */
padding: 10px;
box-sizing: border-box;
}
canvas {
width: 100%;
height: auto;
display: block;
}
</style>
</head>
<body>
<div class="reloj-container">
<canvas id="my_canvas" width="420" height="420"></canvas>
</div>
<script>
var angle_jump=6;
var dt= new Date();
sec = dt.getSeconds()*angle_jump;
var min=dt.getMinutes();
min=min*angle_jump;
min=min + (sec/360)
var hour=dt.getHours();
hour=hour*30;
hour=hour + (min/12);
var ang_second=90-sec;
var ang_minute=90-min;
var ang_hour=90-hour;
var r=100;
var my_canvas=document.getElementById("my_canvas");
var gctx = my_canvas.getContext("2d");
var x=my_canvas.width/2;
var y=my_canvas.height/2;
speed=1000;
arc_angle=10;
my_function=function my_function(){
gctx.clearRect(0, 0, my_canvas.width,my_canvas.height);
// círculo exterior con sombra
gctx.beginPath();
gctx.strokeStyle= '#0B033B';
gctx.lineWidth=10;
gctx.shadowColor = 'rgba(0,0,0,0.5)';
gctx.shadowBlur = 15;
gctx.shadowOffsetX = 5;
gctx.shadowOffsetY = 5;
gctx.arc(x,y,r*1.4,0,2*Math.PI);
gctx.stroke();
// reset sombra
gctx.shadowColor = 'transparent';
gctx.shadowBlur = 0;
gctx.shadowOffsetX = 0;
gctx.shadowOffsetY = 0;
gctx.lineWidth=1;
// números y marcas
var h=2;
gctx.textAlign = "center";
gctx.textBaseline = "middle";
gctx.font = '36px serif';
for(j=0;j<360;j += angle_jump){
j_radian=j*(Math.PI/180);
gctx.beginPath();
gctx.strokeStyle= '#464623';
if((j % (5*angle_jump))==0){
var y1_text=y+ 0.85*r*Math.sin(j_radian);
var x1_text=x+ 0.85*r*Math.cos(j_radian);
if(h<12){ h=h+1; } else { h=1; }
// sombra en números
gctx.shadowColor = 'rgba(0,0,0,0.4)';
gctx.shadowBlur = 6;
gctx.shadowOffsetX = 2;
gctx.shadowOffsetY = 2;
gctx.fillText(h,x1_text,y1_text);
// reset sombra
gctx.shadowColor = 'transparent';
gctx.shadowBlur = 0;
gctx.shadowOffsetX = 0;
gctx.shadowOffsetY = 0;
// rayas largas en todos los números
var y1_out = y + 1.05*r*Math.sin(j_radian);
var x1_out = x + 1.05*r*Math.cos(j_radian);
var y2_out = y + 1.3*r*Math.sin(j_radian);
var x2_out = x + 1.3*r*Math.cos(j_radian);
gctx.moveTo(x1_out,y1_out);
gctx.lineTo(x2_out,y2_out);
gctx.stroke();
} else {
// rayas normales
var y1_out = y + 1.1*r*Math.sin(j_radian);
var x1_out = x + 1.1*r*Math.cos(j_radian);
var y2_out = y + 1.2*r*Math.sin(j_radian);
var x2_out = x + 1.2*r*Math.cos(j_radian);
gctx.moveTo(x1_out,y1_out);
gctx.lineTo(x2_out,y2_out);
gctx.stroke();
}
}
// segundero
gctx.beginPath();
gctx.strokeStyle= '#7CC0F5';
var startAngle=(1/180) * (360-ang_second);
var a_end_ang=(1/180) * (360-(ang_second + 180 -arc_angle));
var a_start_ang=(1/180) *(360-(ang_second + 180 + arc_angle));
var y1=y+ r*Math.sin(startAngle*Math.PI);
var x1=x+ r*Math.cos(startAngle*Math.PI);
gctx.moveTo(x1,y1);
gctx.arc(x,y,0.3*r,a_start_ang*Math.PI,a_end_ang*Math.PI);
gctx.lineTo(x1,y1);
gctx.fillStyle = '#7CC0F5';
gctx.fill();
gctx.stroke();
// minutero
gctx.beginPath();
gctx.strokeStyle= '#181500';
var startAngle=(1/180) * (360-ang_minute);
var a_end_ang=(1/180) * (360-(ang_minute + 180 -arc_angle));
var a_start_ang=(1/180) *(360-(ang_minute + 180 + arc_angle));
var y1=y+ 0.9*r*Math.sin(startAngle*Math.PI);
var x1=x+ 0.9*r*Math.cos(startAngle*Math.PI);
gctx.moveTo(x1,y1);
gctx.arc(x,y,0.3*r,a_start_ang*Math.PI,a_end_ang*Math.PI);
gctx.lineTo(x1,y1);
gctx.fillStyle = '#181500';
gctx.fill();
gctx.stroke();
// horario
gctx.beginPath();
gctx.strokeStyle= '#181500';
var startAngle=(1/180) * (360-ang_hour);
var a_end_ang=(1/180) * (360-(ang_hour + 180 -(arc_angle*2)));
var a_start_ang=(1/180) *(360-(ang_hour + 180 + (arc_angle*2)));
var y1=y+ 0.8*r*Math.sin(startAngle*Math.PI);
var x1=x+ 0.8*r*Math.cos(startAngle*Math.PI);
gctx.moveTo(x1,y1);
gctx.arc(x,y,0.15*r,a_start_ang*Math.PI,a_end_ang*Math.PI);
gctx.lineTo(x1,y1);
gctx.fillStyle = '#181500';
gctx.fill();
gctx.stroke();
// círculo central
gctx.beginPath();
gctx.strokeStyle= '#000000';
gctx.arc(x,y,3,0,2*Math.PI);
gctx.fillStyle = '#282746';
gctx.fill();
gctx.stroke();
my_function2();
}
my_function2=function my_function2(){
if(ang_second > -264){
ang_second=ang_second-angle_jump;
setTimeout('my_function()',speed);
}else{
ang_second=90;
if(ang_minute > -264){
ang_minute=ang_minute - angle_jump;
}else{
ang_minute=90;
ang_hour=ang_hour-angle_jump;
}
setTimeout('my_function()',speed);
}
}
my_function();
</script>
</body>
</html>
3. Guardar y comprobar
Guarda el widget.
Ve a tu sitio y verás el reloj analógico funcionando en la barra lateral.
Resumen de la creación del reloj analógico
Canvas de HTML5
El reloj se dibuja dentro de un elemento <canvas> de HTML.
Este canvas es un área gráfica donde se pueden trazar líneas, círculos y texto con JavaScript.
Contexto gráfico (getContext("2d"))
Se obtiene el contexto 2D del canvas, que permite dibujar formas y aplicar estilos.
Con este contexto (gctx) se trazan los círculos, rayas y números.
Cálculo de ángulos
Cada segundo equivale a 6° (360° / 60).
Cada minuto también equivale a 6°.
Cada hora equivale a 30° (360° / 12).
Se calculan los ángulos de las agujas en función de la hora actual (Date()).
Dibujo de la esfera
Se dibuja un círculo exterior con borde azul oscuro y sombra para dar volumen.
Se añaden las rayas de los minutos y las rayas más largas en las posiciones de las horas.
Los números (1–12) se colocan alrededor del círculo, centrados y con sombra.
Agujas del reloj
Segundero: delgado y de color azul claro.
Minutero: más grueso y oscuro.
Horario: más corto y ancho.
Cada aguja se dibuja como una línea con un pequeño arco en la base para dar efecto.
Centro del reloj
Se dibuja un pequeño círculo en el centro para cubrir las uniones de las agujas.
Animación
Una función (my_function) redibuja el reloj cada segundo.
Se usa setTimeout para actualizar los ángulos y mover las agujas en tiempo real.
Estilos y centrado
El reloj se coloca dentro de un contenedor .reloj-container con CSS flexbox para que quede centrado en ordenador y móvil.
El canvas es responsivo (width:100%) para adaptarse al ancho del widget.
En resumen
El reloj se construye con:
HTML → para definir el canvas.
CSS → para centrarlo y hacerlo responsivo.
JavaScript → para calcular la hora, dibujar la esfera, los números, las rayas y las agujas, y actualizarlo cada segundo.
Esquema visual (imaginado)
Círculo exterior → esfera del reloj.
Rayas cortas → minutos.
Rayas largas + números → horas.
Agujas → hora, minuto y segundo.
Centro → círculo pequeño que une las agujas.
Animación → función que actualiza cada segundo.
En conclusión: el reloj se construye combinando HTML (canvas), CSS (centrado y responsivo) y JavaScript (cálculo de ángulos y animación).
Esquema visual del reloj analógico
1. Esfera del reloj
Un círculo exterior con borde azul oscuro y sombra.
Representa la base del reloj.
Código
●───────────────●
/ \
● ●
\ /
●───────────────●
2. Marcas de minutos y horas
60 rayas alrededor de la esfera.
Las rayas de las horas (1–12) son más largas.
Sirven de guía para colocar los números.
Código
| | | | | | | | | |
3. Números (1–12)
Colocados en posiciones radiales usando trigonometría.
Separados del borde para que no se peguen a las rayas.
Con sombra para dar volumen.
Código
12
11 1
10 2
9 3
6
4. Agujas
Segundero: delgado y azul claro.
Minutero: más largo y oscuro.
Horario: más corto y ancho.
Cada aguja se dibuja según el ángulo calculado con la hora actual.
Código
|
|
----●----
|
5. Centro del reloj
Un pequeño círculo que cubre la unión de las agujas.
Da un acabado limpio y elegante.
6. Animación
Una función en JavaScript (my_function) redibuja el reloj cada segundo.
Se actualizan los ángulos de las agujas con la hora real (Date()).
Se usa setTimeout para que el reloj se mueva en tiempo real.
Gráfico de Visitas (antes Visitas Tracker Simple) es un plugin ligero para WordPress que permite registrar y visualizar las visitas que recibe tu sitio día a día. Su objetivo es ofrecer una referencia clara y sencilla del tráfico sin necesidad de herramientas externas complejas.
🔧 Qué hace
Registra automáticamente cada visita al cargar una página del sitio.
Almacena los datos por fecha en una tabla propia dentro de la base de datos de WordPress.
Muestra métricas agregadas: total general, últimos 7 días y últimos 30 días.
Despliega una tabla diaria con el número de visitas por fecha.
Incluye un gráfico de barras en el área de administración para visualizar la evolución de las visitas de forma clara y rápida.
Para qué sirve
Este plugin es ideal si quieres:
Tener un control básico del tráfico sin depender de servicios externos como Google Analytics.
Visualizar de manera sencilla la tendencia de visitas en tu sitio.
Consultar estadísticas directamente desde el panel de administración de WordPress.
Obtener una referencia general del comportamiento de tus usuarios en periodos cortos (semanales o mensuales).
En resumen: es una herramienta práctica, ligera y fácil de usar para medir y visualizar las visitas de tu webdirectamente en WordPress.
El RSS es un formato basado en XML que permite suscribirse a sitios web para recibir automáticamente sus actualizaciones sin necesidad de visitarlos manualmente.
Definición
RSS significa Really Simple Syndication (Sindicación Realmente Simple).
Es un formato abierto de redifusión web que organiza y distribuye contenido actualizado de manera automática.
También se conoce como Rich Site Summary en algunos contextos.
⚙️ Cómo funciona
Los sitios web generan un feed RSS (archivo .xml) que contiene sus últimas publicaciones.
Los usuarios se suscriben a ese feed mediante un lector o agregador RSS.
Cada vez que el sitio publica algo nuevo, el lector lo muestra automáticamente en la lista de actualizaciones.
Ventajas principales
Centralización de información: puedes seguir varios blogs, periódicos o podcasts desde un único lugar.
Ahorro de tiempo: no necesitas entrar en cada página para comprobar si hay novedades.
Compatibilidad: funciona con noticias, blogs, podcasts y más.
📖 Ejemplo práctico
Imagina que sigues 10 blogs de tecnología. En lugar de abrirlos uno por uno, te suscribes a sus feeds RSS. Tu lector RSS te mostrará en una sola pantalla todas las nuevas publicaciones, ordenadas cronológicamente.
Contexto actual
El RSS fue muy popular en los años 2000 como herramienta para organizar el “caos” de información en internet.
Aunque perdió protagonismo frente a redes sociales y notificaciones push, sigue siendo usado por periodistas, investigadores y usuarios que quieren controlar su flujo de información sin depender de algoritmos.
👉 En resumen: el RSS es como un canal directo entre un sitio web y tu lector de noticias, que te mantiene informado de manera automática y organizada.
Crear un plugin RSS en WordPress
1. Crear la carpeta del plugin
En tu servidor, dentro de la instalación de WordPress:
bash
cd /var/www/tusitio.com/wordpress/wp-content/plugins/
sudo mkdir rss-tusitio
cd rss-tusitio
2. Crear el archivo principal
bash
sudo nano rss-tusitio.php
3. Pegar el código del plugin
php
<?php
/*
Plugin Name: RSS Tusitio
Description: Muestra el feed RSS de tusitio.com en tu web mediante shortcode.
Version: 1.0
Author: Francisco
*/
function rss_tusitio_shortcode() {
include_once(ABSPATH . WPINC . '/feed.php');
$rss = fetch_feed('https://tusitio.com/feed');
if (is_wp_error($rss)) {
$msg = esc_html($rss->get_error_message());
return '<p>No se pudo cargar el feed: ' . $msg . '</p>';
}
$maxitems = $rss->get_item_quantity(5);
$rss_items = $rss->get_items(0, $maxitems);
if ($maxitems === 0) {
return '<p>No hay elementos en el feed.</p>';
}
$output = '<ul class="rss-tusitio-list">';
foreach ($rss_items as $item) {
$title = esc_html($item->get_title());
$link = esc_url($item->get_permalink());
$date = $item->get_date('d/m/Y');
$output .= '<li class="rss-tusitio-item">';
$output .= '<a href="' . $link . '" target="_blank" rel="noopener">' . $title . '</a>';
if ($date) {
$output .= ' <span class="rss-tusitio-date">(' . esc_html($date) . ')</span>';
}
$output .= '</li>';
}
$output .= '</ul>';
return $output;
}
add_shortcode('rss_tusitio', 'rss_tusitio_shortcode');