Resultados de las elecciones municipales de Santa Cruz: nuevo proceso de preparación electoral
Objetivo
Santa Cruz Local muestra los resultados electorales la noche de las elecciones y durante los meses siguientes. Los resultados se extraen de la página web de Elecciones del Condado de Santa Cruz y se muestran mediante fragmentos de código y códigos cortos de WordPress.
En este documento se explica cómo preparar la página de resultados para unas nuevas elecciones, conservar los datos de las elecciones anteriores como archivo estático, probar el rastreador y supervisar la página la noche de las elecciones.
Proceso principal
1. Congelar y archivar la página de la elección anterior
Importante: hazlo antes de que el condado actualice su página de resultados en tiempo real para las próximas elecciones. Es posible que el condado actualice la página uno o dos días antes de la jornada electoral, sin previo aviso. Una vez que eso ocurra, es posible que ya no se pueda recuperar el código abreviado de la elección anterior de la fuente del condado.
- Copia la página de resultados de las elecciones anteriores y guárdala como página estática o de archivo.
- Sustituye los códigos cortos de los resultados electorales por el código HTML o los resultados finales tal y como se muestran.
- Confirma que la página archivada ya no depende de los datos actuales del condado.
- Actualiza el título, la URL, el texto de introducción y los enlaces internos de la página de archivo.
- Comprueba que la página archivada siga teniendo un aspecto claro y comprensible.
Métodos prácticos:
- Se recomienda: ver el código fuente de la página pública generada y copiar el código que la enmarca
<div>para los resultados de las elecciones, y pega ese código HTML estático en la página de archivo en lugar del código corto. - Alternativa: copia y pega los resultados visibles del navegador en un bloque de texto de Avada/WordPress y, a continuación, comprueba el formato.
Actualiza también el elemento de la biblioteca de Avada que muestra las páginas electorales archivadas:
https://santacruzlocal.org/wp-admin/post.php?post=18113&action=edit
Añade la página electoral recién archivada y comprueba que el enlace al archivo público funciona.
2. Identificar la nueva configuración electoral
Anota la información necesaria para configurar el sitio:
- Nombre de la elección.
- Fecha de las elecciones.
- Fecha y hora de cierre de las urnas.
- URL de la fuente de los resultados del condado.
- Se esperan elecciones locales, referendos, elecciones municipales, elecciones a la Junta de Supervisores y elecciones en todo el condado.
- Carreras que Santa Cruz Local quiere destacar.
- Carreras que deben ocultarse en la visualización de resultados completos.
- Cualquier cambio conocido o presunto en el formato del condado.
Santa Cruz Local suele retransmitir carreras locales seleccionadas, no todas las carreras del condado.
3. Crear una copia de trabajo de la página de las elecciones en directo
La página de resultados electorales pública utiliza una URL reutilizable/permanente. Prepara las próximas elecciones en una copia de trabajo antes de modificar la página en producción.
- Copia la página actual de resultados electorales en directo o crea un borrador o una maqueta.
- No incluyas la página de trabajo en la navegación pública.
- Comprueba que utilice el sistema de códigos cortos actual.
- Asegúrate de que se pueda editar sin problemas y sin que ello afecte a la página pública activa.
Es probable que el método de puesta en marcha consista en copiar el contenido de la página de prueba a la página definitiva, pero esto deberá confirmarse durante la próxima configuración.
4. Configurar razas y razas ocultas
- Añade códigos cortos para las carreras destacadas.
- Añade códigos abreviados de medida, ciudad o supervisor según sea necesario.
- Actualización
remove-races.txtpara las carreras que no deben aparecer en la pantalla de resultados completos. - Comprueba que la coincidencia de razas basada en expresiones regulares funcione con los nombres reales de las razas del condado.
- Actualiza el texto explicativo, los títulos, las etiquetas y los enlaces a las fuentes.
remove-races.txt ruta:
/var/www/vhosts/santacruzlocal.org/httpdocs/scrape/remove-races.txt
5. Configurar el comportamiento de mostrar u ocultar la fecha y la hora
Uso [ElectionLiveResults] y la lógica de renderizado de Avada para controlar lo que aparece antes y después de que los resultados se publiquen.
- Añadir o actualizar
[ElectionLiveResults]con la fecha y la hora correctas del cierre de las urnas. - Asegúrate de que el código abreviado aparezca antes de cualquier lógica de renderizado de Avada que dependa de él.
- Configura la sección de resultados preliminares para que se muestre antes de que los resultados sean definitivos.
- Configura la sección de resultados en directo para que se muestre una vez que los resultados estén disponibles.
- Prueba ambos estados de forma deliberada.
Ejemplo de formato de cierre de las urnas:
[ElectionLiveResults pollsClose="6/2/2026 8:00:00PM"]
6. Prueba con el sitio web del condado
Aproximadamente dos semanas antes de la jornada electoral, empieza a realizar pruebas con la página de resultados del condado.
- Comprueba que la página de origen del condado esté disponible.
- Comprueba que el rastreador pueda leer el formato de datos actual del condado.
- Prueba el código abreviado de resultados completos.
- Comprueba cada código abreviado de «race», «city», «supervisor» y «measure» que se utilice en la página.
- Uso
cache="no"cuando es necesario realizar un raspado directo para realizar pruebas. - Compara los resultados manualmente con la página del condado.
La página de resultados del condado suele estar disponible de forma permanente. Uno o dos días antes de la jornada electoral, el condado suele actualizarla para mostrar las nuevas candidaturas con cero votos. Esa actualización constituye, en la práctica, datos en tiempo real y debería dar lugar a la realización de las pruebas finales.
Comprueba:
- La URL de origen no ha cambiado.
- Los nombres de las carreras coinciden con los patrones de los códigos cortos.
- La marca de tiempo del condado se interpreta correctamente.
- El orden de la carrera, los nombres, los totales, los porcentajes y las marcas de tiempo se muestran correctamente.
- Se aceptan tanto pantallas de ordenador como de dispositivos móviles.
- La página funciona tanto después de borrar las cachés como con el almacenamiento en caché normal activado.
7. Publicar la página de trabajo
- Traslada el contenido preparado a la página de resultados electorales en directo reutilizada o permanente.
- Comprueba que los enlaces de navegación públicos dirijan a la página correcta.
- Comprueba que las páginas de elecciones anteriores funcionen como archivos estáticos.
- Borra las cachés pertinentes.
- Prueba la página pública como visitante anónimo en un navegador privado o de incógnito.
8. Seguir de cerca la noche electoral
Antes del cierre de las urnas:
- Comprueba que la página se carga correctamente.
- Comprueba que el mensaje de resultados preliminares esté visible.
- Comprueba que la sección de resultados en directo esté oculta.
- Asegúrate de que Cloudflare no esté mostrando una página antigua.
- Evita realizar modificaciones arriesgadas cerca de las 20:00, a menos que la página no funcione correctamente.
En el momento del cierre de las urnas o poco después:
- Esté atento tanto a la página web de resultados del condado como a la página de Santa Cruz Local.
- Comprueba que la lógica de mostrar/ocultar de Avada funcione correctamente.
- Comprueba que la sección de resultados en directo se muestre cuando sea necesario.
- Comprueba que la fecha y hora de actualización del condado se muestren correctamente.
- Compara manualmente al menos una carrera importante con la página web del condado.
- Presta atención a cachés obsoletos, coincidencias de carreras erróneas, carreras que faltan o problemas de diseño.
Si la página se ve desactualizada, borra las cachés en este orden:
- Caché de códigos cortos/scrapers.
- Caché de WordPress/plugins.
- Caché de Avada.
- Caché de Cloudflare.
- Caché del navegador.
Estas instrucciones deberían poder ser utilizadas por otra persona que no sea Will. Kara sería la persona encargada de sustituirlo en caso de que Will no estuviera disponible.
9. Mantener la página actualizada tras la noche electoral
- Mantén abierta la página de resultados en directo mientras se siguen actualizando los resultados.
- Los resultados pueden tardar semanas en ser definitivos.
- Añade la indicación «certificado» o «resultados definitivos» cuando sea pertinente.
- Sigue atento hasta que el condado deje de publicar actualizaciones.
- Anota cualquier problema relacionado con los rastreadores, los códigos cortos, la caché o las fuentes de los condados.
- Antes del próximo ciclo electoral, congela o archiva la página antes de que la fuente del condado vuelva a cambiar.
Referencia de códigos cortos
El sistema de resultados electorales se ha implementado mediante fragmentos de código PHP que se muestran como códigos cortos de WordPress. El sitio web funciona con WordPress y utiliza el tema Avada.
Códigos cortos principales:
[ElectionResults]— muestra los resultados electorales del condado.[ElectionRace]— muestra una o varias carreras mediante una coincidencia con expresiones regulares.[ElectionSupervisor]— muestra una contienda por un puesto de supervisor de distrito.[ElectionCity]— muestra las elecciones al ayuntamiento.[ElectionMeasure]— muestra una medida.[ElectionCurrentTime]— muestra la hora actual, no la hora en que se actualizan los resultados del condado.[ElectionLiveResults]— conjuntos$_GET['SCL_Election_Live_Results']para controlar la lógica de mostrar y ocultar de Avada.
Notas importantes:
- Los parámetros de los códigos cortos no distinguen entre mayúsculas y minúsculas, salvo en el caso de
[yes,no]valores. - WordPress convierte los nombres de los atributos de los códigos cortos a minúsculas antes de que lleguen a PHP.
- Los ejemplos son en tiempo real y dependen de los datos actuales del condado.
- Páginas de documentación que contienen
$_GETpuede activar las reglas automáticas del cortafuegos de Jetpack. Desactiva temporalmente Jetpack → Cortafuegos → Reglas automáticas solo si es necesario y, a continuación, vuelve a activarlas después de guardar los cambios.
Referencia del rascador
El rastreador es práctico, pero poco robusto. Depende de que el condado mantenga la misma URL, estructura HTML, nombres de clases CSS y patrones de texto. No existe una API del condado, un esquema formal ni un feed de resultados documentado.
Antes de cada elección, comprueba que el rastreador funciona correctamente con la página actual del condado. No des por sentado que seguirá funcionando solo porque lo hiciera en elecciones anteriores.
Directorio de rastreo:
/var/www/vhosts/santacruzlocal.org/httpdocs/scrape/
URL de los resultados del condado, codificada de forma fija en el fragmento de código:
https://sccounty01.co.santa-cruz.ca.us/ElectionSites/ElectionResults/Results
Archivos utilizados por el código abreviado «full-results»:
strInArray.phpsimple_html_dom.phpremove-races.txtreplacements_universal2.phpcache-county.txt
Comportamiento de la caché:
- Los resultados completos generados se almacenan en caché en
cache-county.txt. - Si el archivo de caché tiene menos de dos minutos, el código corto devuelve el HTML almacenado en caché en lugar de volver a extraer los datos del sitio web del condado.
- Uso
cache="no"al probar directamente el código fuente actual de County.
Dependencias de la página del condado:
div.electionTimeStamp— Es hora de las noticias del condado.div.mb-4— bloques de carrera.div.card-header— Título de la carrera y texto informativo..prec-num— Texto informativo/del distrito electoral.div.header-row div.col-head— encabezados de tabla.div.content-row div.elec-col— filas de candidatos/opciones.
Si se produce algún cambio en alguno de estos aspectos, es posible que haya que modificar el fragmento de código antes de la noche de las elecciones.
Solución de problemas
No se muestran resultados
Comprueba:
- Se ha modificado la página de origen del condado.
- Los resultados del condado aún no están disponibles.
- El valor de «cierre de las urnas» es incorrecto.
- La caché del scraper está desactualizada.
- La caché de Cloudflare, WordPress, Avada o el navegador está obsoleta.
- La carrera está siendo eliminada por
remove-races.txt. - El patrón de expresión regular no coincide con el título de la carrera actual.
Falta una carrera concreta
Comprueba:
- La página del condado incluye la carrera.
- El nombre de la carrera coincide con la expresión regular del código abreviado.
- La normalización del título del fragmento no modificó la cadena de coincidencia.
remove-races.txtno descarta participar en la carrera.- Se han vaciado las cachés.
Los contenedores «activos/inactivos» son incorrectos
Comprueba:
[ElectionLiveResults]aparece antes de la lógica de renderizado de Avada que depende de él.pollsClosees correcto.- El formato de fecha y hora es válido.
- El nombre de la variable GET es correcto.
- Avada está probando lo esperado
YESoNOvalor. - La caché de páginas no está conservando un estado incorrecto.
No se puede guardar la página de documentación
Posible causa: las reglas automáticas del cortafuegos de Jetpack están tratando $_GET como un intento de inyección PHP.
Solución:
- Desactiva temporalmente las reglas automáticas del cortafuegos de Jetpack.
- Guarda la página.
- Vuelve a activar las reglas automáticas del cortafuegos de Jetpack.
El modo privado/de incógnito funciona de forma diferente
Posible causa: la caché del navegador o redireccionamientos/páginas almacenados en la caché del navegador habitual.
Solución:
- Borra la caché del navegador.
- Prueba en modo privado/incógnito.
- Borra las cachés de Cloudflare y WordPress.
- Utiliza la recarga forzada cuando sea necesario.
Campos que hay que rellenar
- Nombres de fragmentos en WordPress.
- Si las reglas de página o de caché de Cloudflare se aplican a las páginas de resultados electorales.
- Si Avada u otro plugin almacena en caché el resultado de los códigos cortos dinámicos.
- URL exacta de la página de resultados electorales en directo de Santa Cruz Local.
- URL exacta de la página de trabajo o borrador.
- Método exacto de puesta en marcha: copiar el contenido de la página de trabajo a la página definitiva, publicar el borrador, redirigir o cualquier otro método.
- Texto exacto para indicar el estado de los resultados (no oficiales o certificados).
- Procedimiento de supervisión durante la noche electoral y de copia de seguridad con borrado de la caché para Kara.
- Si Kara dispone de los permisos necesarios para acceder a WordPress, Avada, Cloudflare y al servidor/caché para llevar a cabo el proceso en caso de que Will no esté disponible.
