Rescaté el SEO técnico para Expreso (WordPress + CloudPanel + NGINX + S3/CloudFront)

Cliente
Expreso.press
Tech Stack

El problema típico en un medio grande: volumen + legado

En Expreso aparecían los frentes clásicos de un sitio con años de contenido:

  • 404 y otros 4XX por URLs viejas, inventadas por bots o generadas por patrones incorrectos.
  • Imágenes rotas (assets perdidos) que detonaban “Broken images” y “Page has broken image”.
  • Mixed content (páginas HTTPS con recursos HTTP).
  • Meta duplicada (multiple meta description) por componentes que se enciman.
  • Sitemaps intermitentes (503 ocasionales por carga/proxy/cache).
  • Links externos con redirección (http → https / acortadores).

En un medio, estos detalles se multiplican rápido: si no hay un sistema de mantenimiento, el sitio puede seguir publicando sin parar… pero cada semana el “ruido” crece y los reportes se ponen más difíciles de controlar.

Estrategia: atacar en capas (servidor → CDN → WordPress)

La lógica fue simple: en lugar de perseguir errores uno por uno, se construyó un sistema de limpieza y prevención.

1) NGINX: higiene global para reducir ruido y proteger recursos

La primera capa fue filtrar lo que llega al sitio:

  • Requests típicos de scanners (.env, wp-config.php, admin.php, shells, rutas falsas).
  • Rutas repetitivas que inflan logs y auditorías (ej. variantes de mraid.js, pagespeed, etc.).
  • Comportamiento “higiénico” para 4XX sin romper endpoints legítimos.

Se organizó en snippets para no arriesgar el vhost y se aplicaron respuestas apropiadas:

  • 444 / 410 / 204 dependiendo del caso, evitando pasar tráfico basura a PHP.
  • Excepciones claras donde sí debe responder el sitio (ej. .well-known válido o rutas reales).

Impacto: menos carga inútil, menos errores falsos y una base más estable para rastreo.

2) CDN (S3/CloudFront): resolver “Broken images” de forma masiva

Aquí estaba el volumen real.

En un medio, muchas imágenes históricas se pierden o se borran con el tiempo. Recuperarlas es inviable, pero sí se puede evitar que:

  • el usuario vea imágenes rotas,
  • los crawlers encuentren miles de 404,
  • el sitio se “ensucie” eternamente en auditorías.

Solución práctica aplicada en Expreso: placeholders en S3 + invalidation en CloudFront.

Flujo:

  1. Extraer del reporte (CSV) las URLs de imágenes con 4XX en cdn.expreso.press.
  2. Subir un placeholder mínimo (1px o imagen ligera) con content-type correcto.
  3. Invalidar CloudFront para limpiar 404 cacheados.

Aprendizaje clave: el enfoque “naive” de AWS CLI (head-object por URL) se puede volver lentísimo o colgarse en listas grandes. Para Expreso se migró a un método “FAST” con boto3 (SDK) + paralelismo + timeouts, con progreso visible en logs.

Detalle importante:

  • Algunos reportes traen rutas ya con wp-content/uploads/…, así que el sistema debe evitar duplicar keys como wp-content/uploads/wp-content/uploads/….

3) Mixed content: cortar el “HTTP dentro de HTTPS”

Mixed content no siempre rompe la página, pero sí deja:

  • alertas de seguridad
  • reportes negativos
  • inconsistencias técnicas

Se trabajó para estandarizar:

  • recursos y embeds en HTTPS
  • corrección de patrones legacy (http://…) cuando aplicaba
  • regla operativa: nada “inseguro” en recursos pegados

4) Enlaces externos con redirección (External 3XX)

En auditorías, es común encontrar:

  • links externos en http:// que redirigen a https://
  • acortadores (bit.ly, tinyl…) que añaden saltos
  • dominios que cambiaron canonical o redirigen a rutas extrañas

En Expreso se separó el trabajo en:

  • Auto: mismo host (normalización segura http→https / www→no-www).
  • Review: shorteners, cadenas raras, redirects a login/paywall, etc.

Esto permite arreglar en lote lo seguro y dejar el resto para revisión sin riesgo.

Resultado: pasar de “apagar incendios” a operar con control

Una vez aplicadas las capas (servidor + CDN + normalización), el sitio queda:

  • más limpio para crawlers,
  • con menos roturas visibles,
  • y con una rutina clara de mantenimiento para que no se vuelva a acumular.

Operación futura (lo que mantiene a Expreso sano)

Reglas técnicas simples para capturistas (sin meterse al contenido)

  • Pegar enlaces siempre en https
  • Evitar acortadores: pegar la URL final
  • Imágenes solo desde Media Library (no hotlink)
  • Embeds/iframes siempre en https

Rutina semanal para admins (20–30 minutos)

  • Correr auditoría (Ahrefs o similar) y atender en orden:
    1. Broken images
    2. Links a páginas rotas
    3. Mixed content
    4. Multiple meta description
    5. Timeouts / 5XX
  • Ejecutar fixes por lotes (scripts + invalidation) cuando aplique.
  • Validar sitemaps (si hay intermitencia, se atiende por performance/proxy/cache, no por “contenido”).

Conclusión

En un medio como Expreso, el SEO técnico no se resuelve con un ajuste aislado: se resuelve con sistema + rutina.

Cuando se controla el ruido, se estabiliza la entrega y se corrigen assets rotos a escala, el sitio se vuelve más rastreable, más confiable y mucho más fácil de mantener semana con semana.

Comparte esta publicación

Publicaciones recientes

Proyectos

Rescaté el SEO técnico de Expreso.press

Rescate de SEO técnico en un WordPress de alto volumen con CloudPanel/NGINX...

Foto

Canon M200 para viajes ligeros

Recientemente, tuve la oportunidad de probar la Canon M200, una cámara que...

Proyectos

Bienvenido Transpais 3.0

En este proyecto, como Chido Digital Collective, hemos reunido mentes brillantes y...