Un spinner permanent significa que el frontal no ha assolit l’estat de finalització esperat. Potser la petició no ha sortit del navegador, Cloudflare l’ha bloquejat, PHP ha fallat o espera un servei lent de correu o CAPTCHA.
No premis diverses vegades: pots crear leads duplicats encara que la pantalla continuï bloquejada.
Reprodueix una vegada amb referència única
Utilitza una sessió privada sense login, un valor de prova innocu i les eines del navegador obertes abans d’enviar.
Registra URL, hora, navegador, consentiment, CAPTCHA i si en recarregar apareix una entrada. Prova altres dispositius només després d’entendre un recorregut.
Revisa la Consola
Cerca excepcions JavaScript abans i després del clic. Conserva el primer error, fitxer i stack, no la cascada posterior.
Els responsables habituals són l’optimització, formulari, tema, consentiment, CAPTCHA i scripts externs. Desactiva una sola optimització sospitosa a staging, no tot JavaScript a producció.
Inspecciona la petició
A Xarxa, localitza el POST, AJAX o REST:
sense petició -> ha fallat el clic o la validació
pending -> espera xarxa, servidor o servei extern
403 -> nonce, WAF, CAPTCHA o seguretat
404 -> endpoint, domini o enllaços
500 -> error fatal PHP
200 amb cos invàlid -> memòria cau, proxy o connector
Desa l’estat i un extracte sense dades personals ni tokens.
Relaciona servidor i WordPress
Creua l’hora o request ID amb logs web, PHP i entrades del formulari. Un stack de 500 pot assenyalar el callback, memòria o timeout.
Activa diagnòstics sense mostrar errors públicament. No registris noms, correus, missatges o fitxers complets. Si existeix l’entrada, el servidor ha processat almenys una part.
Prova si el correu bloqueja la resposta
Alguns connectors envien de manera síncrona abans de respondre. Una connexió SMTP lenta, DNS o timeout del proveïdor deixa el navegador esperant.
Revisa els logs i compara a staging amb notificacions desactivades però desant l’entrada. Si respon ràpid, repara SMTP o desacobla el temps de notificació amb el mètode compatible.
No deixis els avisos desactivats a producció sense un flux alternatiu.
Compara també la durada amb els timeouts de CDN, servidor web, PHP i SMTP. Si el proxy abandona als 100 segons però PHP continua, el visitant veurà un error mentre el servidor encara pot desar o enviar. Afegeix identificadors idempotents per evitar una altra entrada en reintentar.
Comprova la seguretat i la CDN
Cloudflare, ModSecurity i els límits poden bloquejar cossos POST, endpoints o adjunts. Cerca l’ID exacte de l’esdeveniment.
Crea una excepció limitada a la regla i endpoint comprovats, no a tots els POST. Purga memòria cau només si confirmes un script o nonce antic. Els endpoints de formularis no s’han d’emmagatzemar com a contingut estàtic.
Verifica la interfície i el resultat
Després de reparar, envia una vegada. Confirma que el spinner acaba, apareix un missatge accessible i veraç, es desa una única entrada i arriba una sola notificació.
Prova validació, consentiment, CAPTCHA, adjunts i teclat mòbil. L’analítica ha de registrar la conversió després de la confirmació del servidor.
Evita leads duplicats o abandonats
Comprova si cada clic ha creat una altra entrada abans de repetir. El botó es pot desactivar mentre hi ha una petició, però s’ha de reactivar després d’un error real.
No amaguis el spinner amb un temporitzador que mostri èxit. La interfície ha d’obeir la resposta real. Davant d’un error, conserva els camps segurs i ofereix reintent sense revelar rutes PHP o regles.
Si les consultes són urgents, publica un canal alternatiu monitoritzat fins a estabilitzar l’enviament.
Quan cal demanar reparació
Demana ajuda si el spinner produeix entrades desconegudes o duplicades, si l’endpoint retorna 403/500 o SMTP bloqueja la resposta. Facilita URL, hora, estat i error de Consola redactat.
La reparació ha de corregir la petició i el feedback, no només ocultar l’animació.