{"id":25865,"date":"2026-08-17T10:00:00","date_gmt":"2026-08-17T08:00:00","guid":{"rendered":"https:\/\/soccorsowp.it\/blog\/?p=25865"},"modified":"2026-08-17T10:00:00","modified_gmt":"2026-08-17T08:00:00","slug":"prefetch-preconnect-preload-velocizzare-wordpress","status":"publish","type":"post","link":"https:\/\/soccorsowp.it\/blog\/prefetch-preconnect-preload-velocizzare-wordpress\/","title":{"rendered":"Come usare prefetch, preconnect e preload per velocizzare WordPress"},"content":{"rendered":"<h1>Come usare prefetch, preconnect e preload per velocizzare WordPress<\/h1>\n<p>Ogni volta che il browser carica una pagina del tuo sito, deve risolvere DNS, stabilire connessioni e scaricare risorse. Queste operazioni richiedono tempo. Con i <strong>resource hints<\/strong> \u2014 prefetch, preconnect e preload \u2014 puoi dire al browser di anticipare queste operazioni, riducendo i tempi di caricamento. In questa guida ti spiego come usarli correttamente in <a href=\"https:\/\/soccorsowp.it\/blog\/blocco-di-contenuti-opt-in-per-wordpress\/\">WordPress<\/a>.<\/p>\n<h2>Cosa sono i resource hints<\/h2>\n<p>I resource hints sono istruzioni che inserisci nell&#8217;<span style=\"font-family: monospace\">&lt;head&gt;<\/span> della pagina per suggerire al browser di preparare risorse in anticipo. Non sono obblighi: il browser pu\u00f2 ignorarli se la rete \u00e8 lenta o la CPU \u00e8 occupata. Esistono tre tipi principali:<\/p>\n<ul>\n<li><strong>dns-prefetch:<\/strong> risolve il DNS di un dominio esterno in anticipo.<\/li>\n<li><strong>preconnect:<\/strong> risolve DNS, stabilisce la connessione TCP e completa l&#8217;handshake TLS con un dominio esterno.<\/li>\n<li><strong>preload:<\/strong> scarica una risorsa specifica con alta priorit\u00e0 prima che il browser la scopra nel CSS o nel JavaScript.<\/li>\n<\/ul>\n<h2>DNS Prefetch: risolvere i domini in anticipo<\/h2>\n<p>Quando il browser incontra una risorsa su un dominio esterno (es. fonts.googleapis.com), deve prima risolvere il DNS. Questa operazione pu\u00f2 richiedere 20-120 millisecondi. Con <span style=\"font-family: monospace\">dns-prefetch<\/span>, il browser risolve il DNS appena trova il hint nell&#8217;head, senza aspettare di incontrare la risorsa.<\/p>\n<pre>&lt;link rel=\"dns-prefetch\" href=\"\/\/fonts.googleapis.com\"&gt;\n&lt;link rel=\"dns-prefetch\" href=\"\/\/www.google-analytics.com\"&gt;\n&lt;link rel=\"dns-prefetch\" href=\"\/\/cdn.jsdelivr.net\"&gt;<\/pre>\n<p>Usa dns-prefetch per tutti i domini esterni da cui il tuo sito carica risorse. Il costo \u00e8 minimo (una singola query DNS) e il beneficio \u00e8 immediato.<\/p>\n<h2>Preconnect: connessione completa anticipata<\/h2>\n<p><span style=\"font-family: monospace\">preconnect<\/span> fa tutto quello che fa dns-prefetch, pi\u00f9 la connessione TCP e l&#8217;handshake TLS. \u00c8 pi\u00f9 costoso ma anche pi\u00f9 efficace, risparmiando fino a 300 ms per connessione su reti lente.<\/p>\n<pre>&lt;link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"&gt;\n&lt;link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin&gt;<\/pre>\n<p>L&#8217;attributo <span style=\"font-family: monospace\">crossorigin<\/span> \u00e8 necessario quando la risorsa viene scaricata in modalit\u00e0 CORS (come i font). Senza questo attributo, il browser potrebbe stabilire due connessioni separate.<\/p>\n<p><strong>Regola pratica:<\/strong> usa preconnect per i 2-3 domini esterni pi\u00f9 importanti (font, CDN principale, analytics). Per gli altri domini, usa dns-prefetch che \u00e8 meno costoso. Troppi preconnect possono essere controproducenti perch\u00e9 saturano le connessioni disponibili.<\/p>\n<h2>Preload: scaricare risorse critiche<\/h2>\n<p><span style=\"font-family: monospace\">preload<\/span> \u00e8 diverso dagli altri due: non anticipa la connessione a un dominio ma scarica una <strong>risorsa specifica<\/strong> con alta priorit\u00e0. \u00c8 utile per risorse che il browser scoprirebbe tardi, come font dichiarati dentro un file CSS o immagini di sfondo.<\/p>\n<pre>&lt;link rel=\"preload\" href=\"\/wp-content\/themes\/mio-tema\/fonts\/mio-font.woff2\" as=\"font\" type=\"font\/woff2\" crossorigin&gt;\n&lt;link rel=\"preload\" href=\"\/wp-content\/themes\/mio-tema\/images\/hero.webp\" as=\"image\"&gt;<\/pre>\n<p>L&#8217;attributo <span style=\"font-family: monospace\">as<\/span> \u00e8 obbligatorio e indica al browser il tipo di risorsa, permettendogli di assegnare la priorit\u00e0 corretta. I valori comuni sono: <span style=\"font-family: monospace\">font<\/span>, <span style=\"font-family: monospace\">image<\/span>, <span style=\"font-family: monospace\">style<\/span>, <span style=\"font-family: monospace\">script<\/span>.<\/p>\n<p><strong>Attenzione:<\/strong> usa preload con moderazione. Precaricare troppe risorse toglie banda alle risorse che il browser scaricherebbe naturalmente. Precarica solo le risorse critiche per il contenuto above the fold.<\/p>\n<h2>Come implementare i resource hints in WordPress<\/h2>\n<p>Ci sono tre modi per aggiungere i resource hints al tuo sito WordPress:<\/p>\n<p><strong>Metodo 1: functions.php<\/strong><\/p>\n<pre>function add_resource_hints() {\n    echo '&lt;link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"&gt;' . \"n\";\n    echo '&lt;link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin&gt;' . \"n\";\n    echo '&lt;link rel=\"dns-prefetch\" href=\"\/\/www.google-analytics.com\"&gt;' . \"n\";\n}\nadd_action('wp_head', 'add_resource_hints', 1);<\/pre>\n<p>La priorit\u00e0 1 nell&#8217;hook <span style=\"font-family: monospace\">wp_head<\/span> assicura che i resource hints vengano inseriti il prima possibile nell&#8217;head.<\/p>\n<p><strong>Metodo 2: plugin di caching<\/strong><\/p>\n<p>Plugin come <strong>WP Rocket<\/strong>, <strong>FlyingPress<\/strong> e <strong>Perfmatters<\/strong> hanno opzioni dedicate per aggiungere preconnect e dns-prefetch. Vai nelle impostazioni del plugin, nella sezione dedicata alle ottimizzazioni e aggiungi i domini.<\/p>\n<p><strong>Metodo 3: filtro wp_resource_hints<\/strong><\/p>\n<p>WordPress ha un filtro nativo per i resource hints:<\/p>\n<pre>function custom_resource_hints($hints, $relation_type) {\n    if ('preconnect' === $relation_type) {\n        $hints[] = array(\n            'href' =&gt; 'https:\/\/fonts.gstatic.com',\n            'crossorigin' =&gt; 'anonymous',\n        );\n    }\n    if ('dns-prefetch' === $relation_type) {\n        $hints[] = '\/\/www.google-analytics.com';\n    }\n    return $hints;\n}\nadd_filter('wp_resource_hints', 'custom_resource_hints', 10, 2);<\/pre>\n<h2>Prefetch: precaricare la prossima pagina<\/h2>\n<p>Un quarto tipo di resource hint \u00e8 <span style=\"font-family: monospace\">prefetch<\/span>, che scarica in background una risorsa che potrebbe servire nella navigazione successiva. Ad esempio, se sai che la maggior parte dei visitatori dalla homepage va alla pagina &#8220;Servizi&#8221;, puoi precaricarla:<\/p>\n<pre>&lt;link rel=\"prefetch\" href=\"\/servizi\/\"&gt;<\/pre>\n<p>Il browser scarica la pagina in background con bassa priorit\u00e0, senza interferire con il caricamento della pagina corrente. Quando l&#8217;utente clicca il link, la pagina si carica istantaneamente dalla cache. Plugin come <strong>Flying Pages<\/strong> e <strong>Instant.page<\/strong> automatizzano questo processo precacricando le pagine quando l&#8217;utente passa il mouse sopra un link.<\/p>\n<h2>Verificare che i resource hints funzionino<\/h2>\n<p>Per verificare che i tuoi resource hints siano attivi:<\/p>\n<ol>\n<li>Apri gli Strumenti per sviluppatori del browser (F12).<\/li>\n<li>Vai nella scheda <strong>Network<\/strong>.<\/li>\n<li>Ricarica la pagina e filtra per &#8220;Other&#8221; o cerca le richieste DNS\/connect.<\/li>\n<li>Nella scheda <strong>Elements<\/strong>, cerca i tag link nell&#8217;head per verificare che siano presenti.<\/li>\n<\/ol>\n<p>Puoi anche usare <strong>WebPageTest.org<\/strong> per vedere il waterfall completo del caricamento e verificare che le connessioni vengano stabilite in anticipo.<\/p>\n<h2>Serve assistenza?<\/h2>\n<p>Se vuoi ottimizzare i tempi di caricamento del tuo sito WordPress con i resource hints, il team di <strong><a href=\"https:\/\/soccorsowp.it\/blog\/i-migliori-plugin-woocommerce-per-dominare-il-black-friday\/\">SoccorsoWP<\/a><\/strong> pu\u00f2 configurare tutto per te. <a href=\"https:\/\/soccorsowp.it\/ticket\/\">Apri un ticket<\/a> e velocizza il tuo sito.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Come usare prefetch, preconnect e preload per velocizzare WordPress Ogni volta che il browser carica una pagina del tuo sito, deve risolvere DNS, stabilire connessioni&#8230;<\/p>\n","protected":false},"author":1,"featured_media":25866,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_titles_title":"Come usare prefetch, preconnect e preload per velocizzare","_seopress_titles_desc":"Guida ai resource hints in WordPress: dns-prefetch, preconnect e preload per ridurre i tempi di caricamento. Esempi pratici e implementazione.","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","footnotes":""},"categories":[1699],"tags":[],"class_list":["post-25865","post","type-post","status-publish","format-standard","has-post-thumbnail","category-performance-e-ottimizzazione"],"_links":{"self":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts\/25865","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/comments?post=25865"}],"version-history":[{"count":0,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts\/25865\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/media\/25866"}],"wp:attachment":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/media?parent=25865"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/categories?post=25865"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/tags?post=25865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}