La schermata di verifica dell'email dell'amministratore integrata in WordPress — mostrata ogni pochi mesi dalla versione 5.3 — interrompe l'automazione Playwright che aggiorna i plugin su siti senza accesso SSH. Il passaggio extra costringe gli script ad attendere un pulsante che non appare mai, causando timeout e blocchi nelle procedure di deployment.
Cosa causa il blocco
Quando uno script Playwright effettua l'accesso a wp-admin, si aspetta che la dashboard venga caricata immediatamente. Invece, WordPress a volte reindirizza a una pagina il cui URL contiene adminhash=. La pagina chiede: "È ancora questo il tuo indirizzo?" con due pulsanti: Sì, questo è il mio indirizzo e Aspetterò. Un essere umano clicca su "Aspetterò" e procede in un secondo momento; uno script non supervisionato continua a cercare gli elementi della dashboard, non li trova mai e alla fine va in timeout.
Perché esiste questo avviso
WordPress ha aggiunto questo avviso per confermare che l'indirizzo email dell'amministratore sia ancora raggiungibile. Appare circa ogni pochi mesi, indipendentemente dall'attività del sito, ed è inteso come un controllo di sicurezza per i proprietari del sito che potrebbero aver perso l'accesso all'indirizzo.
Chi è interessato
- Sviluppatori che si affidano a Playwright per inviare aggiornamenti di plugin, eseguire test UI o eseguire attività amministrative di massa.
- Fornitori di hosting che limitano l'accesso SSH, costringendo gli utenti ad automatizzare tramite il browser.
- Proprietari del sito che riscontrano ritardi negli aggiornamenti perché l'automazione non raggiunge mai la schermata di aggiornamento.
Il costo non è solo di pochi secondi sprecati; i fallimenti ripetuti possono interrompere le finestre di manutenzione pianificate e richiedere un intervento manuale.
Come rilevare la schermata indesiderata
La presenza di adminhash= nell'URL corrente è un indicatore affidabile. La stringa appare solo sulla pagina di verifica dell'email, non sulla dashboard regolare o su qualsiasi altra schermata di amministrazione.
Un semplice bypass
Inserisci un controllo subito dopo il passaggio di login. Se l'URL contiene adminhash=, clicca sul pulsante "Aspetterò" e attendi che la pagina si stabilizzi prima di continuare.
def ensure_past_email_check(page):
if "adminhash=" in page.url:
page.click("text=I'll wait")
page.wait_for_load_state("networkidle")
Chiama ensure_past_email_check(page) immediatamente dopo ogni login riuscito. La funzione non fa nulla quando la schermata di verifica non appare, mantenendo lo script veloce e deterministico.
Quando utilizzare il bypass
Per i flussi di lavoro automatizzati che devono essere eseguiti senza supervisione umana — come gli aggiornamenti notturni dei plugin o i test UI di integrazione continua — il bypass è pratico. Tratta il passaggio di verifica come una deviazione prevedibile piuttosto che come un errore casuale.
Controargomentazione
Alcuni amministratori sostengono che ignorare automaticamente l'avviso potrebbe mascherare un reale problema di consegna delle email. Se l'email dell'amministratore diventa effettivamente irraggiungibile, il sito potrebbe perdere notifiche critiche. In tali casi, un approccio più sfumato — come registrare l'evento, inviare un avviso o mettere in pausa l'automazione — potrebbe essere preferibile.
Cosa monitorare in futuro
- WordPress potrebbe cambiare il pattern dell'URL o aggiungere ulteriori passaggi di verifica, il che interromperebbe il controllo
adminhash=. Tieni d'occhio le note di rilascio del core. - Il motore di selezione di Playwright evolve; assicurati che il selettore di testo
"text=I'll wait"continui a corrispondere al pulsante dopo qualsiasi riprogettazione dell'interfaccia utente. - Se gestisci molti siti, considera di centralizzare la logica di bypass in una libreria condivisa per evitare la duplicazione del codice.
Gestendo esplicitamente la pagina di conferma dell'email dell'amministratore, gli sviluppatori trasformano un timeout occasionale in una parte di routine dei loro script Playwright, mantenendo l'automazione di WordPress affidabile anche quando la piattaforma presenta un avviso di sicurezza inaspettato.
