{"id":1386,"date":"2026-03-01T19:00:00","date_gmt":"2026-03-01T18:00:00","guid":{"rendered":"https:\/\/darioiannascoli.it\/blog\/wordpress-7-beta-novita-sviluppatori-performance-aggiornamento\/"},"modified":"2026-03-01T19:00:00","modified_gmt":"2026-03-01T18:00:00","slug":"wordpress-7-beta-novita-sviluppatori-performance-aggiornamento","status":"publish","type":"post","link":"https:\/\/darioiannascoli.it\/blog\/wordpress-7-beta-novita-sviluppatori-performance-aggiornamento\/","title":{"rendered":"WordPress 7.0 Beta: Tutte le Novit\u00e0 per Sviluppatori e Performance che Devi Conoscere Prima dell&#8217;Aggiornamento"},"content":{"rendered":"<p>In queste ultime settimane ho seguito con grande attenzione il ciclo di sviluppo di <strong>WordPress 7.0<\/strong>, e devo dire che questa release mi sta entusiasmando come poche altre negli ultimi anni. Dopo un 2025 turbolento \u2014 tra dispute legali e rallentamenti nello sviluppo \u2014 la community WordPress \u00e8 tornata in carreggiata con quella che \u00e8 probabilmente la versione pi\u00f9 ambiziosa dai tempi dell&#8217;introduzione di Gutenberg nel 2018. Ho gi\u00e0 scritto un articolo su <a href=\"https:\/\/darioiannascoli.it\/blog\/aggiornamento-wordpress-7-checklist-compatibilita-abilities-api\/\">come prepararsi all&#8217;aggiornamento a WordPress 7.0<\/a> con la checklist di compatibilit\u00e0, ma oggi voglio approfondire gli aspetti pi\u00f9 tecnici che ogni sviluppatore e sysadmin dovrebbe conoscere.<\/p>\n<p>La <strong>Beta 1<\/strong> \u00e8 uscita il 20 febbraio 2026, seguita dalla <strong>Beta 2<\/strong> il 26 febbraio con oltre 70 fix e aggiornamenti. La data di rilascio finale \u00e8 fissata per il <strong>9 aprile 2026<\/strong>, in concomitanza con il WordCamp Asia. Vi mostro in dettaglio le novit\u00e0 pi\u00f9 importanti: <em>Post Editor Iframed<\/em>, <em>Block Visibility<\/em> basata sul viewport, <em>CSS custom per singolo blocco<\/em>, gli strumenti AI integrati nel core e molto altro.<\/p>\n<h2>Post Editor Sempre Iframed: Cosa Cambia per gli Sviluppatori WordPress 7.0<\/h2>\n<p>Questa \u00e8 una delle novit\u00e0 pi\u00f9 impattanti dal punto di vista tecnico. Nella mia esperienza con temi e plugin custom, l&#8217;isolamento degli stili \u00e8 sempre stato un problema. In WordPress 7.0, il <strong>post editor sar\u00e0 sempre eseguito all&#8217;interno di un iframe<\/strong>, indipendentemente dalla versione API dei blocchi utilizzati. Fino a WordPress 6.9, l&#8217;iframe veniva applicato solo se <em>tutti<\/em> i blocchi registrati usavano l&#8217;API versione 3 o superiore. Ora il comportamento \u00e8 cambiato: WordPress controlla solo i blocchi effettivamente inseriti nel post.<\/p>\n<p>I vantaggi tecnici dell&#8217;editor iframed sono significativi:<\/p>\n<ul>\n<li><strong>Isolamento degli stili<\/strong>: gli stili CSS dell&#8217;admin non influenzano pi\u00f9 il contenuto dell&#8217;editor e viceversa<\/li>\n<li><strong>Unit\u00e0 viewport corrette<\/strong>: le unit\u00e0 CSS come <em>vw<\/em> e <em>vh<\/em> funzionano correttamente, riferendosi alle dimensioni dell&#8217;editor e non dell&#8217;intera pagina admin<\/li>\n<li><strong>Media queries native<\/strong>: niente pi\u00f9 workaround fragili per il responsive nell&#8217;editor<\/li>\n<li><strong>Parit\u00e0 visiva<\/strong>: quello che vedi nell&#8217;editor corrisponde a ci\u00f2 che vedrai nel frontend<\/li>\n<\/ul>\n<p>All&#8217;inizio, durante i miei test, non funzionava correttamente perch\u00e9 alcuni blocchi di un plugin che uso facevano riferimento al <code>document<\/code> globale tramite JavaScript. In un editor iframed, il <em>document<\/em> e il <em>window<\/em> dell&#8217;iframe sono diversi da quelli della pagina admin principale. La soluzione \u00e8 creare un <em>ref<\/em> per accedere al <code>ownerDocument<\/code> o <code>defaultView<\/code> relativi. Se avete blocchi custom, vi consiglio di verificare subito la compatibilit\u00e0 aggiornando all&#8217;API versione 3.<\/p>\n<h2>Block Visibility: Controlli Responsive per Viewport<\/h2>\n<p>Questa \u00e8 una funzionalit\u00e0 che aspettavo da tempo. La <strong>Block Visibility<\/strong> era arrivata in WordPress 6.9 con la possibilit\u00e0 di nascondere un blocco dal frontend. In WordPress 7.0 si fa un salto di qualit\u00e0: arrivano i <strong>controlli di visibilit\u00e0 basati sul viewport<\/strong>.<\/p>\n<p>In pratica, potete decidere se mostrare o nascondere specifici blocchi in base alla dimensione dello schermo \u2014 <em>mobile<\/em>, <em>tablet<\/em> o <em>desktop<\/em> \u2014 direttamente dall&#8217;editor. Nella mia esperienza, fino ad ora ho sempre gestito questa cosa con CSS custom e classi nascoste, oppure con plugin dedicati. Avere questa funzionalit\u00e0 nel core rende il design responsive molto pi\u00f9 accessibile e pulito.<\/p>\n<p>Per chi gestisce siti WordPress per clienti, come faccio io quotidianamente, questa \u00e8 una svolta: meno plugin di terze parti, meno codice custom, e un&#8217;esperienza utente pi\u00f9 intuitiva per chi lavora con l&#8217;editor a blocchi.<\/p>\n<h2>CSS Custom per Singolo Blocco: Potente ma da Usare con Cautela<\/h2>\n<p>Una novit\u00e0 introdotta tramite Gutenberg 22.5 e che arriva in WordPress 7.0 \u00e8 il supporto al <strong>CSS custom per singola istanza di blocco<\/strong>. Nella sidebar delle impostazioni del blocco, sotto <em>Avanzate \u2192 Additional CSS<\/em>, potete ora scrivere CSS specifico per quella singola istanza.<\/p>\n<p>Quando un blocco ha CSS custom associato, viene aggiunta dinamicamente la classe <code>.has-custom-css<\/code> sia nell&#8217;editor che nel frontend. Questo \u00e8 utile per modifiche one-off \u2014 ad esempio aggiungere un&#8217;ombra a un singolo bottone \u2014 senza dover creare child theme o scrivere selettori CSS complessi.<\/p>\n<p>Detto questo, ho configurato ambienti dove l&#8217;uso eccessivo di CSS inline sui blocchi ha creato problemi di manutenibilit\u00e0. Vi consiglio di usare questa funzionalit\u00e0 con parsimonia: nella maggior parte dei casi, \u00e8 meglio mantenere gli stili a livello globale tramite <em>theme.json<\/em> o usare le <em>Block Style Variations<\/em> per un codebase pi\u00f9 pulito. Se vi interessa approfondire l&#8217;ottimizzazione delle performance lato CSS, ho scritto anche su come <a href=\"https:\/\/darioiannascoli.it\/blog\/compressione-brotli-nginx-performance-server\/\">abilitare la compressione Brotli su Nginx<\/a> per velocizzare il caricamento degli asset.<\/p>\n<h2>WP AI Client e Connectors: L&#8217;Infrastruttura AI nel Core di WordPress<\/h2>\n<p>Qui si entra nel territorio pi\u00f9 innovativo di WordPress 7.0. Il <strong>WP AI Client<\/strong> porta nel core un layer che permette a plugin e temi di interfacciarsi con modelli AI di qualsiasi provider \u2014 OpenAI, Anthropic, Google \u2014 attraverso un&#8217;interfaccia standardizzata e <em>provider-agnostic<\/em>.<\/p>\n<p>Non troverete un &#8220;AI writer&#8221; integrato nel CMS: si tratta delle fondamenta su cui i plugin potranno costruire. L&#8217;approccio \u00e8 &#8220;infrastruttura prima, prodotto dopo&#8221;. Nella Beta 2 \u00e8 stata introdotta una novit\u00e0 significativa: la pagina <strong>Connectors<\/strong> nel dashboard, accessibile da <em>Settings \u2192 Connectors<\/em>. Da qui potete gestire le connessioni AI esterne in modo centralizzato \u2014 aggiungere, eliminare, aggiornare le credenziali dei provider.<\/p>\n<p>L&#8217;architettura \u00e8 estensibile e basata su route, con plugin e temi che possono agganciarsi alla pagina tramite hook come <code>connections-wp-admin-init<\/code> e le nuove API di registrazione. Se avete gi\u00e0 letto il mio articolo sul <a href=\"https:\/\/darioiannascoli.it\/blog\/model-context-protocol-mcp-configurazione-server-guida\/\">Model Context Protocol (MCP)<\/a>, saprete che questo standard sta diventando fondamentale per connettere l&#8217;AI ai servizi. WordPress 7.0 integra un <strong>MCP Adapter<\/strong> ufficiale che traduce le Abilities API nel formato MCP, permettendo ad agenti AI come Claude Desktop o Cursor di scoprire e invocare le funzionalit\u00e0 di WordPress programmaticamente.<\/p>\n<h3>Abilities API e MCP Adapter: Come Funzionano Insieme<\/h3>\n<p>L&#8217;<strong>Abilities API<\/strong>, introdotta in WordPress 6.9, crea un registro centrale di capacit\u00e0, rendendo le funzionalit\u00e0 WordPress scopribili e accessibili ad agenti AI, strumenti di automazione e sviluppatori. L&#8217;MCP Adapter si posiziona sopra le Abilities e converte automaticamente le <em>abilities<\/em> registrate in <em>tools<\/em>, <em>resources<\/em> e <em>prompts<\/em> MCP.<\/p>\n<p>Il risultato \u00e8 una comunicazione AI bidirezionale: WordPress pu\u00f2 chiamare l&#8217;AI (tramite WP AI Client) e l&#8217;AI pu\u00f2 chiamare WordPress (tramite MCP Adapter). Questo trasforma WordPress da CMS &#8220;AI-compatible&#8221; a piattaforma &#8220;AI-native&#8221;. Per approfondire come l&#8217;AI agentica stia evolvendo, vi rimando al mio articolo sull&#8217;<a href=\"https:\/\/darioiannascoli.it\/blog\/agentic-ai-sistemi-multi-agente-automazione-workflow-strumenti-2026\/\">Agentic AI e i sistemi multi-agente<\/a>.<\/p>\n<h2>Collaborazione in Tempo Reale: La Fase 3 di Gutenberg<\/h2>\n<p>WordPress 7.0 segna l&#8217;ingresso ufficiale nella <strong>Fase 3 del progetto Gutenberg: la Collaborazione<\/strong>. Pi\u00f9 utenti possono ora modificare lo stesso post o pagina simultaneamente, con sincronizzazione dei dati e note in tempo reale. Durante il periodo beta, la collaborazione real-time \u00e8 opt-in per raccogliere feedback pi\u00f9 ampi.<\/p>\n<p>Le <strong>Notes<\/strong>, introdotte in 6.9, ricevono miglioramenti significativi: sincronizzazione in tempo reale, shortcut da tastiera, targeting di frammenti specifici di testo, menzioni @utente con notifiche, e risposte annidate. Per il periodo beta, WordPress utilizza un provider di sincronizzazione basato su <em>HTTP polling<\/em>, con opzioni per plugin o hosting provider di implementare il supporto WebSocket.<\/p>\n<h2>Nuovi Blocchi, Design Tools e Altre Novit\u00e0<\/h2>\n<p>Oltre alle novit\u00e0 principali, WordPress 7.0 porta con s\u00e9 una serie di miglioramenti che nella mia esperienza quotidiana fanno la differenza:<\/p>\n<ul>\n<li><strong>Nuovi blocchi core<\/strong>: Icon Block, Breadcrumbs Block, Grid Block stabilizzato per la produzione<\/li>\n<li><strong>Cover Block con video embed<\/strong>: sfondi video nelle sezioni, finalmente nativi<\/li>\n<li><strong>Navigation Block migliorato<\/strong>: gestione menu pi\u00f9 intuitiva con meno passaggi<\/li>\n<li><strong>Font Library per tutti i temi<\/strong>: gestione font installati abilitata universalmente<\/li>\n<li><strong>Client-side media processing<\/strong>: il ridimensionamento e la compressione delle immagini avvengono nel browser prima dell&#8217;upload<\/li>\n<li><strong>View Transitions nell&#8217;admin<\/strong>: transizioni fluide tra le schermate del pannello di amministrazione<\/li>\n<li><strong>React 19 upgrade<\/strong>: miglioramenti di performance per l&#8217;editor a blocchi<\/li>\n<li><strong>Spotlight Mode e Isolated Editor Mode<\/strong>: isolamento del contenuto per pattern e template parts<\/li>\n<li><strong>PHP-only block registration<\/strong>: blocchi generati server-side con auto-registrazione all&#8217;API dei blocchi<\/li>\n<\/ul>\n<p>Se gestite siti con molte immagini, la combinazione del client-side media processing con le tecniche che ho descritto nel mio articolo su come <a href=\"https:\/\/darioiannascoli.it\/blog\/ottimizzare-immagini-wordpress-webp-avif-lazy-load-plugin\/\">ottimizzare le immagini su WordPress con WebP, AVIF e Lazy Load<\/a> vi dar\u00e0 un boost significativo nelle performance.<\/p>\n<h2>Requisiti Minimi e Come Testare WordPress 7.0 Beta<\/h2>\n<p>Prima di aggiornare, verificate i requisiti:<\/p>\n<ul>\n<li><strong>PHP minimo 7.4<\/strong>: il supporto per PHP 7.2 e 7.3 viene ufficialmente eliminato. Il team raccomanda PHP 8.3 o superiore per le migliori performance<\/li>\n<li><strong>Ambiente di test<\/strong>: <em>mai<\/em> installare la beta su un sito di produzione<\/li>\n<\/ul>\n<p>Per testare la Beta 2, avete diverse opzioni:<\/p>\n<ol>\n<li><strong>WordPress Beta Tester plugin<\/strong>: installate il plugin, selezionate il canale &#8220;Bleeding edge&#8221; e lo stream &#8220;Beta\/RC Only&#8221;<\/li>\n<li><strong>WP-CLI<\/strong>: eseguite <code>wp core update --version=7.0-beta2<\/code><\/li>\n<li><strong>WordPress Playground<\/strong>: testate direttamente nel browser senza alcun setup<\/li>\n<\/ol>\n<p>Nella mia esperienza, la cosa migliore \u00e8 creare un ambiente di staging dedicato. Se usate Plesk, ho configurato ambienti di test in pochi minuti seguendo la procedura che descrivo nell&#8217;articolo su come <a href=\"https:\/\/darioiannascoli.it\/blog\/ottimizzare-php-fpm-opcache-plesk\/\">ottimizzare PHP-FPM e OPcache su Plesk<\/a>. Vi consiglio anche di fare prima un <a href=\"https:\/\/darioiannascoli.it\/blog\/audit-plugin-wordpress-vulnerabilita-sicurezza\/\">audit completo dei plugin<\/a> per verificare la compatibilit\u00e0 con la nuova versione.<\/p>\n<h2>FAQ<\/h2>\n<h3>Quando esce WordPress 7.0 in versione stabile?<\/h3>\n<p>La data di rilascio ufficiale di WordPress 7.0 \u00e8 il <strong>9 aprile 2026<\/strong>, in concomitanza con il WordCamp Asia. Prima di quella data ci saranno ulteriori beta e almeno una Release Candidate (RC1 prevista per il 19 marzo). Non installate le versioni beta o RC su siti di produzione.<\/p>\n<h3>I miei plugin e temi funzioneranno con WordPress 7.0?<\/h3>\n<p>Dipende. Il cambiamento pi\u00f9 impattante \u00e8 l&#8217;editor post sempre iframed: se i vostri blocchi custom fanno riferimento al <code>document<\/code> o <code>window<\/code> globale, potrebbero richiedere aggiornamenti. Controllate che tutti i blocchi usino la API versione 3 e testate su un ambiente di staging prima dell&#8217;aggiornamento. Anche il requisito minimo di PHP 7.4 potrebbe escludere siti su hosting datati.<\/p>\n<h3>Posso usare le funzionalit\u00e0 AI di WordPress 7.0 subito?<\/h3>\n<p>Il WP AI Client e la pagina Connectors forniscono l&#8217;infrastruttura, non funzionalit\u00e0 AI pronte all&#8217;uso. Dovrete comunque configurare le credenziali di un provider AI (OpenAI, Anthropic, Google) e utilizzare plugin che sfruttano queste API. L&#8217;AI Experiments plugin \u00e8 un buon punto di partenza per esplorare le possibilit\u00e0.<\/p>\n<h3>Qual \u00e8 la versione PHP consigliata per WordPress 7.0?<\/h3>\n<p>Il minimo \u00e8 PHP 7.4, ma il core team raccomanda fortemente <strong>PHP 8.3 o superiore<\/strong>. Il salto di performance tra PHP 7.4 e 8.3 \u00e8 notevole su ogni caricamento di pagina. Se state aggiornando PHP per la compatibilit\u00e0 con 7.0, non fermatevi al minimo: puntate almeno a PHP 8.1 o superiore.<\/p>\n<h3>La Block Visibility sostituisce i plugin responsive come Block Visibility for Gutenberg?<\/h3>\n<p>La funzionalit\u00e0 core copre i controlli base di visibilit\u00e0 per viewport (mostra\/nascondi per mobile, tablet, desktop). I plugin dedicati offrono tipicamente condizioni pi\u00f9 avanzate (ruoli utente, orari, geolocalizzazione). Per la maggior parte degli usi, la funzionalit\u00e0 nativa sar\u00e0 sufficiente e vi permetter\u00e0 di eliminare un plugin.<\/p>\n<h2>Conclusione: Prepararsi a WordPress 7.0 Beta e al Rilascio<\/h2>\n<p><strong>WordPress 7.0<\/strong> \u00e8 davvero una release che cambia le carte in tavola. Le novit\u00e0 per sviluppatori \u2014 dal post editor iframed alla Block Visibility, dal CSS custom per blocco all&#8217;infrastruttura AI con WP AI Client e MCP Adapter \u2014 segnano un passo avanti significativo per la piattaforma. Nella mia esperienza, ogni major release richiede preparazione, e questa non fa eccezione.<\/p>\n<p>Il mio consiglio \u00e8 semplice: create un ambiente di staging, installate la Beta 2, testate i vostri temi e plugin, verificate la versione PHP del server e riportate eventuali bug. Il periodo tra ora e il rilascio del 9 aprile \u00e8 cruciale per la stabilit\u00e0 della versione finale. Se avete dubbi sulla procedura di migrazione o aggiornamento, vi rimando alla mia guida su <a href=\"https:\/\/darioiannascoli.it\/blog\/migrare-sito-hosting-senza-downtime\/\">come migrare un sito senza downtime<\/a>.<\/p>\n<p>Avete gi\u00e0 testato la beta? Quali novit\u00e0 vi interessano di pi\u00f9? Fatemelo sapere nei commenti \u2014 sono curioso di sapere come sta andando nei vostri ambienti di test.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress 7.0 Beta porta editor iframed, Block Visibility, CSS per blocco e AI tools nel core. Ecco tutte le novit\u00e0 per sviluppatori prima del rilascio del 9 aprile 2026.<\/p>\n","protected":false},"author":1,"featured_media":1387,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"WordPress 7.0 Beta: Novit\u00e0 Sviluppatori e Performance | Guida","_seopress_titles_desc":"WordPress 7.0 Beta: editor iframed, Block Visibility, CSS per blocco, WP AI Client e MCP Adapter. Scopri tutte le novit\u00e0 e prepara il tuo sito.","_seopress_robots_index":"","footnotes":""},"categories":[2],"tags":[336,335,292,337,338,339],"class_list":["post-1386","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-block-editor","tag-gutenberg","tag-wordpress-7-0","tag-wordpress-ai","tag-wordpress-performance","tag-wordpress-sviluppo"],"_links":{"self":[{"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/posts\/1386","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/comments?post=1386"}],"version-history":[{"count":0,"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/posts\/1386\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/media\/1387"}],"wp:attachment":[{"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/media?parent=1386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/categories?post=1386"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/tags?post=1386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}