Un certificado cubre el sitio entero, así que un candado que desaparece en una sola página nunca es el certificado. Esa página está cargando al menos una cosa por http pelado, y por eso el navegador degrada el indicador.
Encuéntrelo en un solo sitio
Abra la consola en esa página. El aviso de contenido mixto nombra la URL exacta. Ese es todo el diagnóstico: lo demás es decidir de dónde salió esa URL.
O encuéntrelo desde el servidor
curl -sS https://yourdomain.com/that-page | grep -oE 'http://[^"[:space:]]+' | sort -u | head -20
De dónde suele venir
- Una imagen o un incrustado pegados en el contenido hace años con una dirección http completa.
- Un tema o un plugin que construye una URL absoluta a partir de una opción guardada.
- Un ajuste de dirección del sitio todavía registrado como http.
- Un widget ajeno -un mapa, una caja de chat, una fuente- servido por http.
SELECT ID, post_title FROM wp_posts
WHERE post_content LIKE '%http://yourdomain.com%' LIMIT 20;
SELECT option_name FROM wp_options WHERE option_value LIKE '%http://yourdomain.com%';
Arregle el contenido, no el síntoma
Reescriba los enlaces http guardados a https, o mejor, a una ruta sin anfitrión alguno, para que el mismo contenido funcione en pruebas y en producción.
UPDATE wp_posts
SET post_content = REPLACE(post_content, 'http://yourdomain.com', 'https://yourdomain.com')
WHERE post_content LIKE '%http://yourdomain.com%';
Haga copia de la base antes de ese UPDATE, y ejecute primero el SELECT para saber cuántas filas deberían cambiar. Un REPLACE que toca diez veces más filas de las previstas es un patrón que era demasiado ancho.
El cuadro completo, con redirecciones y cabeceras, está en Contenido mixto tras pasar a HTTPS.