Guía SEO Paso 7: Seguridad — La Base que Google Espera en 2026
Guía SEO Paso 7: Seguridad
Este es el Paso 7 de la Guía SEO de 13 Pasos. La seguridad no solo se trata de proteger a los usuarios: impacta directamente en tus clasificaciones de búsqueda. Google ha utilizado HTTPS como una señal de clasificación desde 2014, y las expectativas solo han aumentado.
La mayoría de los propietarios de sitios piensan en la seguridad como algo binario: "Tenemos SSL, así que estamos seguros". En realidad, Google evalúa docenas de señales de seguridad. Los sitios con encabezados de seguridad adecuados, certificados válidos y sin contenido mixto superan a los sitios que solo tienen un certificado SSL básico, siempre que todo lo demás sea igual.
La buena noticia: la mayoría de las correcciones de seguridad son configuraciones únicas. Configúralas una vez y protegerán tus clasificaciones permanentemente.
Configuración de SSL
SSL (técnicamente TLS) cifra la conexión entre tu servidor y los visitantes. Desde 2014, Google ha confirmado explícitamente HTTPS como una señal de clasificación. En 2026, no tener HTTPS no solo es un problema de clasificación: Chrome marca los sitios HTTP como "No seguros" en la barra de direcciones, destruyendo la confianza del usuario.
Requisitos para un SSL adecuado:
| Requisito | Por qué | Cómo comprobar | |-----------|---------|----------------| | Certificado válido | Vencido = advertencia del navegador = usuarios rebotados | Comprobar fecha de expiración | | Cadena completa | Cadenas incompletas fallan en algunos dispositivos | Prueba de SSL Labs | | TLS 1.2+ | Las versiones anteriores tienen vulnerabilidades conocidas | Prueba de SSL Labs | | Sin SHA-1 | Obsoleto, los navegadores lo rechazan | Detalles del certificado | | Cobertura SAN | www y no-www deben estar cubiertos | Detalles del certificado | | Renovación automática | Previene desastres por expiración | Configuración de Let's Encrypt / proveedor |
Puntuación de SSL:
100% = Certificado válido + Cadena completa + TLS 1.3 + Cifrado fuerte + Renovación automática
0% = Certificado vencido o faltante
Errores comunes de SSL:
- El certificado expira sin aviso — Configura monitoreo (Paso 6) al menos 30 días antes de la expiración
- Cadena de certificados incompleta — El servidor debe enviar certificados intermedios, no solo el leaf
- Contenido mixto — Página HTTPS carga recursos HTTP (imágenes, scripts, hojas de estilo)
- Bucles de redirección — Ciclos HTTP → HTTPS → HTTP causados por CDN/proxy mal configurados
- Desajuste entre no-www y www — El certificado cubre uno pero no el otro
Victoria rápida: Ejecuta tu dominio a través de SSL Labs (ssllabs.com/ssltest). Cualquier cosa por debajo de una calificación "A" tiene problemas que se pueden resolver. La mayoría de los proveedores de hosting corrigen esto con un clic.
Encabezados de Seguridad
Los encabezados de seguridad son encabezados de respuesta HTTP que instruyen a los navegadores sobre cómo comportarse al cargar tu sitio. Previenen categorías enteras de ataques — y los rastreadores de Google los verifican.
Los encabezados de seguridad esenciales:
Content-Security-Policy (CSP)
CSP es el encabezado de seguridad más poderoso. Indica a los navegadores exactamente qué recursos (scripts, estilos, imágenes, fuentes) están permitidos para cargar en tus páginas.
Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' https://fonts.gstatic.com; connect-src 'self' https://api.example.com; frame-ancestors 'none';
Lo que CSP previene:
- Ataques de scripting entre sitios (XSS)
- Ataques de inyección de datos
- Clickjacking (a través de
frame-ancestors) - Ejecución no autorizada de scripts (mineros de criptomonedas, inyectores de anuncios)
Estrategia de implementación de CSP:
- Comienza con
Content-Security-Policy-Report-Only(registra violaciones sin bloquear) - Monitorea informes durante 1-2 semanas
- Lista en blanco fuentes legítimas
- Cambia a modo de aplicación
- Agrega
report-urioreport-topara el registro continuo de violaciones
X-Frame-Options
Evita que tu sitio sea incrustado en iframes en otros dominios (protección contra clickjacking).
X-Frame-Options: DENY
O si necesitas permitir el enmarcado de la misma origen:
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options
Evita que los navegadores realicen sniffing del tipo MIME (interpretando archivos como diferentes tipos de los declarados).
X-Content-Type-Options: nosniff
Esta línea previene ataques donde un archivo .jpg contiene JavaScript oculto que el navegador podría ejecutar.
Referrer-Policy
Controla cuánta información del referente se envía cuando los usuarios hacen clic en enlaces de tu sitio.
Referrer-Policy: strict-origin-when-cross-origin
Esto envía la URL completa para solicitudes del mismo origen, pero solo el origen (dominio) para solicitudes de diferentes orígenes. Equilibra las necesidades de análisis con la privacidad.
Permissions-Policy
Controla qué características del navegador (cámara, micrófono, geolocalización, etc.) pueden ser utilizadas en tu sitio.
Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()
Deshabilitar funciones que no usas previene que scripts de terceros las abusen.
Ejemplo de implementación de encabezados (Next.js):
// next.config.js
module.exports = {
async headers() {
return [{
source: '/(.*)',
headers: [
{ key: 'X-Content-Type-Options', value: 'nosniff' },
{ key: 'X-Frame-Options', value: 'SAMEORIGIN' },
{ key: 'Referrer-Policy', value: 'strict-origin-when-cross-origin' },
{ key: 'Permissions-Policy', value: 'camera=(), microphone=(), geolocation=()' },
{ key: 'Strict-Transport-Security', value: 'max-age=31536000; includeSubDomains; preload' },
]
}]
}
}
Implementación de encabezados (Apache .htaccess):
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Implementación de encabezados (Nginx):
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
Victoria rápida: Agrega los 5 encabezados mencionados a tu configuración de servidor. Esto toma 5 minutos y mejora inmediatamente tu postura de seguridad en cualquier herramienta de escaneo.
HSTS Preload
HTTP Strict Transport Security (HSTS) indica a los navegadores que siempre usen HTTPS para tu dominio — incluso antes de la primera solicitud. Sin HSTS, la primera visita a tu sitio puede usar HTTP (vulnerable a interceptaciones) antes de que se realice la redirección a HTTPS.
Encabezado HSTS:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Las tres directivas:
| Directiva | Significado | |-----------|-------------| | max-age=31536000 | Recuerda esto por 1 año (en segundos) | | includeSubDomains | Aplica a todos los subdominios también | | preload | Solicita inclusión en listas de precarga de navegadores |
Lista de precarga HSTS:
La máxima protección HSTS. Los navegadores vienen con una lista integrada de dominios que deben usar HTTPS. Enviar tu dominio a hstspreload.org significa:
- Los visitantes de primera vez obtienen HTTPS inmediatamente (sin redirección HTTP → HTTPS)
- Imposible para los atacantes degradar las conexiones
- Permanente (difícil de eliminar una vez enviado)
Requisitos para HSTS preload:
- Certificado HTTPS válido
- Redirigir todo HTTP a HTTPS (incluidos subdominios)
- Encabezado HSTS con
max-age>= 31536000 - El encabezado HSTS incluye
includeSubDomains - El encabezado HSTS incluye
preload - Todos los subdominios deben soportar HTTPS
Advertencia: Solo envía a preload si TODOS tus subdominios soportan HTTPS. La directiva includeSubDomains significa que cualquier subdominio solo HTTP se volverá inaccesible.
Victoria rápida: Si ya tienes HTTPS en todos los subdominios, agrega el encabezado HSTS completo y envíalo a hstspreload.org. El procesamiento toma unas semanas, pero la protección es permanente.
Escaneo de Vulnerabilidades
El escaneo automatizado de vulnerabilidades identifica problemas de seguridad conocidos en tu pila antes de que los atacantes los exploten.
Lo que verifica el escaneo de vulnerabilidades:
- Software desactualizado: WordPress, plugins, bibliotecas de JavaScript con CVEs conocidos
- Archivos expuestos:
.env,.git,wp-config.php, volcados de base de datos - Fugas de información: Encabezados de versión del servidor, modo de depuración, trazas de pila
- Credenciales predeterminadas: Páginas de administrador sin autenticación, contraseñas predeterminadas
- Puertos/servicios abiertos: Servicios innecesarios expuestos a internet
- Puntos de inyección: Formularios sin protección CSRF, entradas no validadas
Vulnerabilidades comunes por plataforma:
| Plataforma | Principal Vulnerabilidad | Solución | |------------|-------------------------|----------| | WordPress | Plugins desactualizados | Actualización automática + WAF | | Shopify | Permisos de aplicaciones de terceros | Auditoría trimestral de la lista de aplicaciones | | Next.js | Rutas API expuestas | Middleware de autenticación + limitación de tasa | | Sitios estáticos | Configuración incorrecta de CDN | Revisar reglas de caché | | Personalizado | Inyección SQL | Consultas parametrizadas |
Frecuencia de escaneo:
- Diariamente: Escaneo superficial automatizado (SSL, encabezados, archivos expuestos)
- Semanalmente: Verificación de vulnerabilidades de dependencias (npm audit, escáner de plugins de WordPress)
- Mensualmente: Escaneo profundo con pruebas autenticadas
- Después de cada despliegue: Verificación de regresión
Victoria rápida: Ejecuta npm audit (Node.js) o revisa la lista de plugins de tu CMS para componentes desactualizados. Corrige inmediatamente los problemas de alta/crítica severidad.
Contenido Mixto
El contenido mixto ocurre cuando una página HTTPS carga recursos (imágenes, scripts, hojas de estilo, iframes) a través de HTTP. Esto rompe parcialmente el cifrado y activa advertencias en el navegador.
Tipos de contenido mixto:
| Tipo | Severidad | Ejemplo | Comportamiento del Navegador | |---------|-----------|-----------------------|-------------------------------| | Activo | Alto | Script HTTP, iframe, CSS | Bloqueado por defecto | | Pasivo | Medio | Imagen HTTP, video, audio | Cargado con advertencia |
El contenido mixto activo es bloqueado por navegadores modernos, lo que significa que tus scripts y estilos simplemente no se cargarán. El contenido mixto pasivo se carga pero muestra advertencias de seguridad.
Encontrar contenido mixto:
- Abre las Herramientas de Desarrollo de Chrome → Consola
- Busca advertencias de "Contenido Mixto"
- Alternativamente, escanea con un rastreador (Screaming Frog, LANGR)
Fuentes comunes de contenido mixto:
- URLs
http://codificadas en el contenido (publicaciones del blog, descripciones de productos) - Widgets de terceros que cargan recursos HTTP
- Contenido incrustado (embeds antiguos de YouTube, widgets de redes sociales)
- CSS
background-imagecon URLs HTTP - Fuentes cargadas a través de HTTP
Corriendo contenido mixto:
<!-- Malo -->
<img src="http://example.com/image.jpg" />
<!-- Bueno -->
<img src="https://example.com/image.jpg" />
<!-- Mejor (relativo al protocolo, se adapta al protocolo de la página) -->
<img src="//example.com/image.jpg" />
Corrección de base de datos (WordPress):
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://tudominio.com', 'https://tudominio.com');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://tudominio.com', 'https://tudominio.com');
Victoria rápida: Abre tu página de inicio en Chrome, presiona F12, verifica la pestaña de Consola en busca de advertencias de contenido mixto. Corrige cualquier que aparezca: estas son directamente visibles para Google.
Riesgos de Scripts de Terceros
Cada script externo que cargas es un potencial pasivo de seguridad (y rendimiento). Los scripts de terceros pueden:
- Ser comprometidos (ataques de cadena de suministro)
- Rastrear a tus usuarios sin consentimiento (violación del GDPR)
- Lentificar tu sitio (bloqueo de renderizado, latencia de red)
- Romper funcionalidad (actualizaciones de versión, caídas)
- Inyectar contenido no deseado (scripts publicitarios fallidos)
Audita tus scripts de terceros:
| Script | ¿Necesario? | Nivel de Riesgo | Alternativa | |----------------------|-------------|-----------------|-------------------------| | Google Analytics | A menudo sí | Bajo | Seguimiento del lado del servidor | | Widgets de chat | Quizás | Medio | Soluciones autoalbergadas | | Botones de compartir en redes sociales | Rara vez | Medio | Enlaces de compartir estáticos | | Pruebas A/B | A veces | Alto | Pruebas del lado del servidor | | Píxeles de reorientación | Decisión comercial | Alto | Datos de primera parte | | CDN de fuentes | Conveniente | Bajo | Fuentes autoalbergadas |
Mitigación de riesgos para scripts de terceros esenciales:
- Integridad de Subrecursos (SRI): La verificación de hash evita que scripts manipulados se carguen
<script src="https://cdn.example.com/lib.js"
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
crossorigin="anonymous"></script>
- Restricciones CSP: Permitir solo scripts de dominios conocidos
- Iframes aislados: Aislar widgets de terceros
- Auditorías regulares: Revisión trimestral de todos los recursos externos
- Monitoreo: Alerta sobre nuevos dominios externos que aparecen en tus páginas
Victoria rápida: Enumera cada etiqueta en tu HTML que carga desde un dominio externo. Elimina cualquier que no reconozcas o que ya no necesites. Cada eliminación mejora tanto la seguridad como la velocidad de la página.
Detección de Malware y Navegación Segura de Google
Google mantiene una lista de Navegación Segura de sitios conocidos por distribuir malware o albergar contenido de phishing. Ser listado aquí es catastrófico para el SEO: Google muestra una advertencia de página completa antes de permitir que los usuarios visiten tu sitio.
Cómo los sitios son marcados:
- Sitio comprometido distribuyendo malware (WordPress hackeado, etc.)
- Scripts inyectados redirigiendo a sitios maliciosos
- Páginas de phishing alojadas en tu dominio
- Contenido generado por usuarios que vincula a malware
- Archivos alojados marcados como peligrosos
Verificando tu estado de Navegación Segura:
https://transparencyreport.google.com/safe-browsing/search?url=tudominio.com
O en Google Search Console: sección de Problemas de Seguridad.
Prevención:
- Mantén todo el software actualizado (CMS, plugins, bibliotecas)
- Usa contraseñas de administrador fuertes y únicas + 2FA
- Monitorea la integridad de los archivos (detecta cambios no autorizados)
- Escanea el contenido subido por los usuarios
- Elimina plugins/temas no utilizados
- Revisa usuarios administrativos regularmente
Si te marcan:
- Identifica y elimina contenido de malware/phishing
- Actualiza todo el software y cambia todas las contraseñas
- Solicita una revisión en Google Search Console
- Las revisiones normalmente tardan de 1 a 3 días
- Monitorea de cerca durante 30 días (la reinfección es común)
Victoria rápida: Verifica tu sitio en transparencyreport.google.com. Si está limpio, asegúrate de que tu CMS y todos los plugins estén actualizados para mantenerlo así.
Lista de Comprobación de Seguridad SEO
- [ ] Certificado SSL válido con renovación automática configurada
- [ ] Redirección de HTTP → HTTPS en todas las páginas (301, no 302)
- [ ] Encabezado HSTS con max-age >= 31536000
- [ ] Encabezado Content-Security-Policy configurado
- [ ] X-Content-Type-Options: nosniff
- [ ] X-Frame-Options: DENY o SAMEORIGIN
- [ ] Referrer-Policy: strict-origin-when-cross-origin
- [ ] Permissions-Policy deshabilitando funciones no utilizadas
- [ ] No hay contenido mixto (recursos HTTP en páginas HTTPS)
- [ ] No hay archivos sensibles expuestos (.env, .git, archivos de configuración)
- [ ] Encabezados de versión del servidor eliminados o genéricos
- [ ] Todo el software/plugins están actualizados
- [ ] Estado de Navegación Segura de Google: limpio
- [ ] Scripts de terceros auditados y minimizados
- [ ] Hashes SRI en scripts externos críticos
Errores de Seguridad Comunes (Clasificados por Impacto SEO)
- Certificado SSL vencido — Caída inmediata en clasificaciones + aviso del navegador
- Contenido mixto — Degrada señales de confianza, cifrado parcial inútil
- Sin HSTS — Primera solicitud vulnerable, señales una postura de seguridad débil
- Falta CSP — Permite que cualquier script se ejecute (vector XSS)
- Archivos sensibles expuestos —
.envcon claves API,.gitcon código fuente - CMS/plugins desactualizados — Explotaciones conocidas, eventual compromiso
- Sin encabezados de seguridad en absoluto — Señales de que no has considerado la seguridad
- Scripts de terceros excesivamente permisivos — Huecos de seguridad que no puedes controlar
¿Qué Sigue?
Paso 8: Visibilidad AI — La frontera avanzada del SEO en 2026. Cómo optimizar para la Visión General de Google AI, citas de ChatGPT, referencias de Perplexity y Gemini — el canal de descubrimiento de más rápido crecimiento que la mayoría de los competidores ni siquiera han considerado.
Esta guía es parte de la serie de 13 pasos de SEO de LANGR. Realiza una auditoría gratuita para ver cómo se encuentra tu sitio en todas las 13 disciplinas.