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.
Como instalar un servidor de correo en VPS, sin romper los sitios de WordPress.
Sí, puedes instalar un servidor de correo en tu VPS sin afectar tus sitios WordPress si mantienes cada servicio bien aislado y configuras correctamente los puertos, dominios y recursos. Aquí tienes una guía paso a paso para hacerlo de forma segura.
Instalación de servidor de correo en VPS (Postfix + Dovecot)
1. Verifica tu entorno
Tu VPS debe tener Ubuntu/Debian actualizado.
Tus sitios WordPress deben estar funcionando en rutas como /var/www/tusitio.com.
Asegúrate de tener acceso root o sudo.
bash
sudo apt update && sudo apt upgrade -y
2. Instala Postfix (SMTP)
Postfix se encarga de enviar correos.
bash
sudo apt install postfix -y
Elige la opción «Internet Site» durante la instalación.
Introduce tu dominio principal (ej. tusitio.com) cuando lo pida.
Configura Postfix y Dovecot para usar los certificados en /etc/letsencrypt/live/mail.tusitio.com/.
7. Verifica puertos abiertos
Postfix: 25, 587 (SMTP)
Dovecot: 143 (IMAP), 993 (IMAPS)
Usa ufw para permitirlos:
bash
sudo ufw allow 25,587,143,993/tcp
8. No romper WordPress
No toques configuraciones de Apache/Nginx que afecten /var/www.
No uses la misma base de datos ni usuarios que WordPress.
Mantén el servidor de correo en su propio subdominio (mail.tusitio.com) y rutas separadas.
En conclusión
Postfix + Dovecot son seguros y compatibles con WordPress si se instalan en rutas y puertos separados.
No afectan tus sitios WordPress si mantienes aislamiento de servicios.
Puedes añadir Roundcube como webmail más adelante si lo deseas.
¡Perfecto, Francisco! Aquí tienes un script automatizado para instalar un servidor de correo básico (Postfix + Dovecot) en tu VPS sin interferir con tus sitios WordPress. Este script está pensado para Ubuntu/Debian y configura todo en rutas separadas, sin tocar /var/www.
Instala Postfix para enviar correos y Dovecot para recibirlos.
Crea un usuario local (correo1) con buzón Maildir.
Configura puertos sin tocar Apache/Nginx ni tus sitios WordPress.
No modifica /var/www ni las bases de datos de WordPress.
script automatizado para instalar Roundcube en tu VPS y conectarlo al servidor de correo que ya configuramos con Postfix + Dovecot, sin tocar tus sitios WordPress.
🛠️ Script de instalación de Roundcube
bash
#!/bin/bash
# Variables
DOMINIO="correo.tusitio.com"
RUTA="/var/www/roundcube"
# Actualizar sistema
sudo apt update && sudo apt upgrade -y
# Instalar dependencias
sudo apt install apache2 php php-mysql php-intl php-mbstring php-xml composer unzip -y
# Descargar Roundcube
cd /var/www
wget https://github.com/roundcube/roundcubemail/releases/download/1.6.5/roundcubemail-1.6.5-complete.tar.gz
tar -xvzf roundcubemail-1.6.5-complete.tar.gz
mv roundcubemail-1.6.5 roundcube
# Crear base de datos
mysql -u root -p <<EOF
CREATE DATABASE roundcube;
GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcubeuser'@'localhost' IDENTIFIED BY 'tu_clave_segura';
FLUSH PRIVILEGES;
EOF
# Configurar Apache VirtualHost
cat <<EOL | sudo tee /etc/apache2/sites-available/roundcube.conf
<VirtualHost *:80>
ServerName $DOMINIO
DocumentRoot $RUTA
<Directory $RUTA>
AllowOverride All
Require all granted
</Directory>
ErrorLog \${APACHE_LOG_DIR}/roundcube_error.log
CustomLog \${APACHE_LOG_DIR}/roundcube_access.log combined
</VirtualHost>
EOL
# Activar sitio y reiniciar Apache
sudo a2ensite roundcube.conf
sudo systemctl reload apache2
# Configuración inicial de Roundcube
cd $RUTA
composer install --no-dev
echo "✅ Roundcube instalado en http://$DOMINIO"
echo "Accede al instalador en http://$DOMINIO/installer"
echo "Recuerda eliminar la carpeta 'installer' después de la configuración:"
echo "rm -rf $RUTA/installer"
Qué hace este script
Instala Roundcube en /var/www/roundcube.
Crea un VirtualHost en Apache para correo.tusitio.com.
Configura una base de datos independiente para Roundcube.
No toca tus sitios WordPress (que siguen en sus propios VirtualHosts).
Te deja listo el instalador web de Roundcube.
Próximo paso
Accede a http://correo.tusitio.com/installer.
Configura conexión IMAP/SMTP con tu servidor Postfix/Dovecot.
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');
Ayer, 18 de noviembre de 2025, Cloudflare sufrió una caída global provocada por un error interno en su sistema de gestión de bots, lo que dejó sin servicio a plataformas como X (Twitter), ChatGPT, League of Legends, AWS y hasta servicios bancarios y de telecomunicaciones.
Detalles del incidente
Hora del fallo: Comenzó alrededor de las 11:20 UTC (12:20 hora peninsular española).
Causa técnica:
Un cambio en los permisos de una base de datos generó múltiples entradas duplicadas en un archivo de configuración usado por el sistema de gestión de bots.
Ese archivo se duplicó en tamaño y fue propagado a todos los servidores de Cloudflare.
El software encargado de enrutar tráfico no pudo manejar el archivo sobredimensionado, provocando errores masivos en la red.
No fue un ciberataque: Cloudflare confirmó que no se trató de un ataque ni actividad maliciosa, sino de un fallo interno de configuración.
Plataformas afectadas
Redes sociales: X (Twitter), con tiempos de carga lentos y errores.
IA y servicios digitales: ChatGPT, Claude, DeepSeek, Canva, Perplexity, Gemini, Grok.
Videojuegos: League of Legends.
Infraestructura crítica: Amazon Web Services (AWS), bancos como CaixaBank y operadores como Movistar y Vodafone.
Impacto global: Millones de usuarios en todo el mundo reportaron errores 500, páginas que no cargaban y servicios interrumpidos.
Recuperación
Cloudflare informó que hacia las 12:21 hora canaria (13:21 peninsular) los servicios empezaban a restablecerse, aunque con errores intermitentes.
La compañía trabajó durante la tarde para estabilizar la red y normalizar el tráfico.
Contexto
Cloudflare es uno de los mayores proveedores de infraestructura de Internet:
Maneja cerca de un quinto del tráfico mundial.
Funciona como CDN (red de distribución de contenido) y como sistema de seguridad contra ciberataques.
Por eso, una caída en su red tiene un efecto dominó que afecta a miles de servicios en todo el planeta.
En resumen: la caída de Cloudflare fue causada por un error interno en la propagación de archivos de configuración, no por un ataque externo, y afectó a gran parte de Internet durante varias horas.
¿Cuál fue el Error Interno?
El error interno de Cloudflare que provocó la caída global ayer se debió a un problema en su sistema de gestión de bots:
⚙️ Detalle técnico del fallo
Cambio en permisos de base de datos: Se aplicó una modificación en los permisos de una base de datos interna.
Archivo de configuración duplicado: Ese cambio generó múltiples entradas duplicadas en un archivo de configuración crítico que usa el sistema de gestión de bots.
Propagación a toda la red: El archivo duplicado se volvió mucho más grande de lo normal y fue distribuido a todos los servidores de Cloudflare.
Sobrecarga del software: El software encargado de enrutar y filtrar tráfico no pudo manejar el archivo sobredimensionado, lo que provocó errores masivos en la red.
Resultado: Millones de peticiones se tradujeron en errores 500 y desconexiones en servicios que dependen de Cloudflare.
Importante
No fue un ataque: Cloudflare confirmó que no se trató de un ciberataque ni actividad maliciosa.
Error humano/técnico: Fue un fallo interno de configuración que se propagó de forma automática.
Recuperación: Una vez identificado el problema, se corrigió el archivo y se restablecieron los servicios progresivamente.
En resumen: el error fue causado por entradas duplicadas en un archivo de configuración del sistema de bots, que al propagarse saturó el software de Cloudflare y tumbó gran parte de Internet durante horas.
Flujo del fallo de Cloudflare
Cambio en permisos de base de datos ⬇️
Archivo de configuración duplicado
Se generaron entradas repetidas.
El archivo se volvió mucho más grande de lo normal. ⬇️
Propagación global
El archivo duplicado se distribuyó automáticamente a todos los servidores de Cloudflare. ⬇️
Sobrecarga del software de bots
El sistema que gestiona tráfico y seguridad no pudo manejar el archivo sobredimensionado. ⬇️
Errores masivos (500, desconexiones)
Plataformas como X, ChatGPT, AWS, League of Legends, bancos y operadores quedaron afectados.
🌍 Impacto visual (resumen)
Código
[Base de datos] → [Archivo duplicado] → [Propagación global] → [Sobrecarga] → [Caída de servicios]
En resumen: un archivo de configuración duplicado y sobredimensionado se propagó por toda la red de Cloudflare, saturando el sistema y provocando la caída global.
🌍 Impacto Global de la Caída de Cloudflare (18 noviembre 2025)
🔵 Redes Sociales
X (Twitter) → errores de carga y desconexiones.
Reddit, Discord → problemas intermitentes.
🤖 Inteligencia Artificial y servicios digitales
ChatGPT, Claude, Gemini, Perplexity, Grok, DeepSeek → interrupciones en acceso y respuestas.
Canva → fallos en edición y carga de proyectos.
🎮 Videojuegos
League of Legends → servidores caídos en varias regiones.
Otros juegos online → desconexiones masivas.
☁️ Infraestructura tecnológica
Amazon Web Services (AWS) → afectación en servicios alojados.
Microsoft Azure y Google Cloud → incidencias menores por dependencia indirecta.
💳 Bancos y servicios críticos
CaixaBank, BBVA, Santander → problemas en banca online y apps móviles.
Movistar, Vodafone → interrupciones en servicios de telecomunicaciones.
Esquema visual simplificado
Código
[Cloudflare Error Interno]
↓
Propagación global
↓
┌───────────────┬───────────────┬───────────────┐
│ Redes sociales│ IA y servicios│ Infraestructura│
│ (X, Reddit) │ (ChatGPT, etc)│ (AWS, Azure) │
└───────────────┴───────────────┴───────────────┘
↓
Bancos y Telcos
(CaixaBank, Movistar)
En resumen: el fallo de Cloudflare tuvo un efecto dominó que impactó desde redes sociales y videojuegos hasta banca y telecomunicaciones, demostrando lo crítica que es su infraestructura para Internet.
Impacto en BBVA durante la caída de Cloudflare
Funcionamiento de la plataforma:
Lo que se vio afectado fueron principalmente los servicios digitales: la banca online, la app móvil y algunas operaciones en cajeros o webs corporativas.
Los usuarios reportaron errores al intentar iniciar sesión, consultar cuentas o realizar transferencias.
Seguridad bancaria:
La caída no comprometió la seguridad de las cuentas ni los sistemas internos del banco.
Cloudflare actúa como intermediario de tráfico y protección contra ataques DDoS, pero no gestiona directamente las bases de datos ni la información financiera de los clientes.
Cuentas personales:
Los saldos, movimientos y datos de clientes no se vieron alterados.
El problema fue de accesibilidad temporal: los usuarios no podían entrar o las páginas devolvían errores 500.
Duración del impacto:
Fue un fallo intermitente de unas horas.
Una vez Cloudflare corrigió el error de configuración, los servicios bancarios volvieron a la normalidad.
✅ En resumen
En BBVA (y otros bancos como CaixaBank o Santander), la caída de Cloudflare no afectó la seguridad ni las cuentas personales, sino únicamente el funcionamiento de las plataformas digitales. Los clientes no podían acceder a sus servicios online durante el fallo, pero sus datos y dinero estuvieron siempre seguros.