Cómo revisar automáticamente una portada antes de publicar un artículo
Script copiable con Pillow para validar tamaño, formato y proporción de portadas, más una revisión visual y pública indispensable.

Başlıklar
Tu artículo está listo, el texto está bien, pero la portada se sube con proporción equivocada. En móvil el titular queda cortado o la imagen aparece borrosa. Es un fallo pequeño que puede echar a perder una pieza trabajada. Antes de publicar, conviene pasar la imagen por una revisión automática y dejar la evaluación editorial para una persona.
Este control de calidad usa Pillow para abrir y decodificar el archivo, comprobar formato, tamaño y proporción. Está pensado para una portada horizontal cercana a 16:9. Los límites son una política de ejemplo de SoyJB, no una regla universal de Google: mínimo 1200 píxeles de ancho y máximo 5 MB, ajustables al CMS y a tu diseño.
Un script que falla antes de la subida
Instala la dependencia con python -m pip install Pillow. Guarda como qa_portada.py:
from pathlib import Path
from PIL import Image, UnidentifiedImageError
import sys
FORMATOS = {"JPEG", "PNG", "WEBP"}
MIN_ANCHO = 1200
MAX_MB = 5
PROPORCION = 16 / 9
TOLERANCIA = 0.12
def revisar(ruta):
ruta = Path(ruta)
errores = []
if not ruta.is_file():
return ["El archivo no existe"]
if ruta.stat().st_size > MAX_MB * 1024 * 1024:
errores.append(f"Supera {MAX_MB} MB")
try:
with Image.open(ruta) as imagen:
formato = imagen.format
ancho, alto = imagen.size
imagen.verify()
with Image.open(ruta) as imagen:
imagen.load()
except (UnidentifiedImageError, OSError, ValueError) as exc:
return errores + [f"Imagen dañada o no reconocida: {exc}"]
if formato not in FORMATOS:
errores.append(f"Formato no admitido: {formato}")
if ancho < MIN_ANCHO:
errores.append(f"Ancho insuficiente: {ancho}px")
if alto == 0 or abs(ancho / alto - PROPORCION) > TOLERANCIA:
errores.append(f"Proporción fuera de 16:9: {ancho}×{alto}")
print(f"{ruta.name}: {ancho}×{alto}, {formato}")
return errores
if __name__ == "__main__":
fallos = revisar(sys.argv[1])
for fallo in fallos:
print("ERROR:", fallo)
sys.exit(1 if fallos else 0)
Ejecuta python qa_portada.py portada.png. Si devuelve código de salida cero, pasa las comprobaciones técnicas. Si devuelve uno, detén la subida y corrige el archivo. En una automatización puedes llamar el script antes de solicitar la URL firmada del MCP del blog; así evitas crear un borrador que después no podrás publicar con su portada.
Como prueba, pasé este criterio a una de las portadas generadas para esta edición: su ancho supera 1200 píxeles, la relación se aproxima a 16:9, el PNG se decodifica y el archivo pesa menos de 5 MB. Para comprobar el fallo, prueba con una imagen vertical o un archivo de texto renombrado .png; el segundo debe fallar al decodificar. Si tu CMS impone un límite distinto, cambia las constantes del script antes de integrarlo.
La revisión visual que el script no reemplaza
Una imagen de 1600 × 900 puede ser técnicamente perfecta y editorialmente mala. Abre la portada al tamaño aproximado de un móvil: ¿se lee el titular?, ¿describe el tema sin prometer algo que el texto no cumple?, ¿la ilustración inventa una interfaz o una persona real? Si el artículo trata de una marca, comprueba sus colores y el uso correcto de sus recursos oficiales. Si trata de una persona, verifica origen y derechos de una foto real; de otro modo usa una ilustración conceptual claramente distinta de una fotografía.
Luego sube la imagen y confirma dos cosas separadas: que el CMS guardó la URL en header y que la página pública realmente la muestra. Un archivo local, una URL firmada creada pero nunca usada o una publicación que solo tenga imagen en el cuerpo no equivalen a una portada asignada. Esta segunda comprobación evita contar como terminada una pieza incompleta.
Una decisión SEO que suele pasar desapercibida
Google recomienda para la imagen preferida en metadatos una imagen relevante, de alta resolución y sin texto incrustado; también pide nombre de archivo descriptivo y texto alternativo útil. Si quieres una portada con titular para redes, considera una versión visual sin letras como imagen preferida para búsqueda cuando tu sitio permita configurar ambas. Si no lo permite, prioriza que la imagen represente fielmente el artículo y verifica cómo se recorta en la web y al compartirla. No hay un “hack” que convierta un mal artículo en buen resultado por solo cambiar la portada.
Para tu checklist diario: archivo válido, lectura en móvil, tema visible, alt descriptivo, header confirmado y carga pública verificada. El script automatiza la primera casilla; las otras exigen criterio editorial y una comprobación del sitio.
Fuentes: documentación oficial de Pillow y prácticas de imágenes de Google Search Central.
Recibe lo nuevo en tu correo
Workshops gratis, herramientas y novedades de IA aplicadas a negocio, sin humo.