← Torna al blog

SEO tecnico per sviluppatori: la guida completa per posizionarsi meglio

Perche gli sviluppatori dovrebbero occuparsi di SEO

Il SEO tecnico e la base che determina se i motori di ricerca possono trovare, scansionare, renderizzare e indicizzare i tuoi contenuti. Puoi scrivere il miglior contenuto del mondo, ma se Google non riesce ad accedervi efficientemente, renderizzarlo correttamente o comprenderne la struttura, quel contenuto non si posizionera.

La maggior parte dei consigli SEO e rivolta ai marketer: scrivi titoli migliori, costruisci piu backlink, crea contenuti piu lunghi. Quei consigli sono validi ma incompleti. L'infrastruttura tecnica del tuo sito determina il tetto delle tue prestazioni SEO. Nessuna ricerca di parole chiave compensa un sito che impiega 8 secondi a caricarsi o che serve contenuti tramite JavaScript che Googlebot fatica ad eseguire.

Questa guida copre i fattori SEO tecnici che gli sviluppatori controllano direttamente. Ogni sezione include il cosa, il perche e il come risolvere.

Core Web Vitals: le metriche che contano

I Core Web Vitals di Google sono tre metriche specifiche che misurano l'esperienza utente reale. Da giugno 2021 sono un fattore di ranking confermato.

Largest Contentful Paint (LCP)

Cosa misura: quanto tempo impiega l'elemento di contenuto visibile piu grande (di solito un'immagine o un blocco di intestazione) a renderizzarsi nel viewport.

Obiettivo: sotto i 2,5 secondi.

Cause comuni di LCP scarso:

  • Tempo di risposta del server lento (TTFB sopra i 600ms).
  • JavaScript e CSS che bloccano il rendering.
  • Immagini hero grandi e non ottimizzate.
  • Tempi di caricamento lenti delle risorse (font, CSS critico).
  • Rendering lato client che ritarda la visualizzazione del contenuto.

Come risolvere:

  • Ottimizza il tempo di risposta del server: usa una CDN, abilita il caching lato server o passa a un'architettura di hosting statico. Un sito statico servito da un nodo CDN edge ha tipicamente un TTFB sotto i 50ms.
  • Precarica l'elemento LCP: se e un'immagine, usa <link rel="preload" as="image" href="hero.webp">.
  • Ottimizza le immagini: usa formati moderni (WebP, AVIF), servi immagini responsive con srcset, specifica attributi width e height.
  • Elimina le risorse che bloccano il rendering: inserisci il CSS critico inline, differisci il CSS non critico, usa async o defer per il JavaScript non critico.
  • Evita il rendering lato client per il contenuto above-the-fold: usa SSR o SSG in modo che l'HTML arrivi con il contenuto gia presente.

First Input Delay (FID) / Interaction to Next Paint (INP)

Cosa misura: FID misura il ritardo tra la prima interazione dell'utente e la risposta del browser. INP (che sta sostituendo FID da marzo 2024) misura la reattivita di tutte le interazioni durante il ciclo di vita della pagina.

Obiettivo: FID sotto 100ms. INP sotto 200ms.

Come risolvere:

  • Spezza i task lunghi: usa requestIdleCallback o setTimeout per dividere il lavoro intensivo in pezzi piu piccoli.
  • Riduci il JavaScript: audita i tuoi bundle, rimuovi codice inutilizzato, usa il code splitting, carica in modo lazy i componenti non necessari al caricamento iniziale.
  • Differisci gli script di terze parti: carica analytics, widget chat e embed social dopo che la pagina e interattiva. Ne abbiamo parlato nel nostro articolo sui rischi del JavaScript di terze parti.
  • Usa web workers: sposta i calcoli pesanti fuori dal thread principale.
  • Minimizza il lavoro del sito: i siti statici con JavaScript minimo hanno naturalmente FID/INP eccellenti.

Cumulative Layout Shift (CLS)

Cosa misura: quanto il contenuto visibile della pagina si sposta inaspettatamente durante il caricamento.

Obiettivo: punteggio CLS sotto 0,1.

Come risolvere:

  • Imposta sempre le dimensioni su immagini e video: usa gli attributi HTML width e height o il CSS aspect-ratio.
  • Riserva spazio per il contenuto dinamico: se carichi annunci o widget, imposta un min-height sul contenitore.
  • Preferisci font-display: swap con precaricamento: precarica i web font e usa font-display: swap.
  • Evita di inserire contenuto above-the-fold dinamicamente: i banner cookie che spingono giu il contenuto causano CLS. Posizionali come overlay o riserva il loro spazio.

Dati strutturati / Markup Schema.org

I dati strutturati sono codice leggibile dalle macchine che dice ai motori di ricerca di cosa tratta il tuo contenuto. Usa il vocabolario Schema.org e puo attivare i risultati ricchi in Google (stelle di valutazione, FAQ, breadcrumb, istruzioni passo-passo).

Il formato raccomandato e JSON-LD, aggiunto come blocco <script type="application/ld+json">.

Tipi comuni per siti aziendali:

  • Organization / LocalBusiness: informazioni aziendali, indirizzo, contatti.
  • BreadcrumbList: breadcrumb di navigazione nei risultati di ricerca.
  • Article / BlogPosting: articoli del blog con autore, data e immagine.
  • FAQPage: sezioni FAQ che possono apparire direttamente nei risultati.
  • Service: servizi professionali offerti.

Validazione: usa il Rich Results Test di Google e il Schema Markup Validator per verificare l'implementazione.

URL canonici

Gli URL canonici dicono ai motori di ricerca quale versione di una pagina e "ufficiale" quando lo stesso contenuto e accessibile a piu URL. Aggiungi <link rel="canonical" href="..."> a ogni pagina. I canonical auto-referenziali (dove una pagina punta a se stessa) sono una best practice.

Hreflang per siti multilingue

Se il tuo sito serve contenuti in piu lingue (come dovrebbero fare la maggior parte dei siti aziendali svizzeri), i tag hreflang dicono a Google quale versione linguistica mostrare agli utenti in base alla loro lingua e posizione.

Perche conta per la Svizzera: la Svizzera ha quattro lingue nazionali. Un sito aziendale in Ticino che si rivolge a clienti svizzeri dovrebbe idealmente avere contenuti in italiano, tedesco, francese e inglese. Senza hreflang, Google potrebbe mostrare la versione tedesca a un utente di lingua italiana a Lugano.

Regole chiave:

  • Ogni pagina deve riferirsi a tutte le versioni linguistiche, inclusa se stessa.
  • Le annotazioni hreflang devono essere reciproche.
  • Usa x-default per la versione di fallback.
  • Per il targeting regionale: de-CH per tedesco svizzero, fr-CH per francese svizzero, it-CH per italiano svizzero.

Generazione XML Sitemap

Una sitemap XML elenca tutte le pagine del tuo sito che vuoi che i motori di ricerca indicizzino.

Best practice:

  • Includi solo URL canonici.
  • Includi la data <lastmod> e mantienila accurata.
  • Mantieni le singole sitemap sotto 50MB o 50.000 URL.
  • Per siti multilingue, usa xhtml:link nella sitemap per le relazioni hreflang.
  • Invia la sitemap attraverso Google Search Console e referenziala nel robots.txt.
  • Automatizza la generazione come parte del processo di build.

Configurazione robots.txt

Il file robots.txt dice ai crawler dei motori di ricerca quali parti del sito scansionare. E una direttiva, non una misura di sicurezza. Non bloccare file CSS e JavaScript: impedirebbe a Google di renderizzare correttamente le pagine. Includi sempre la direttiva Sitemap:.

Strategie di rendering e impatto SEO

Server-Side Rendering (SSR)

Il server genera l'HTML completo a ogni richiesta. Impatto SEO: buono. I motori di ricerca ricevono HTML completamente renderizzato.

Static Site Generation (SSG)

Tutte le pagine sono pre-renderizzate in HTML al momento del build. Impatto SEO: il migliore. Le pagine si caricano istantaneamente, il TTFB e minimo, nessuna dipendenza da JavaScript.

Client-Side Rendering (CSR)

Il server invia un guscio HTML minimale con JavaScript. Impatto SEO: problematico. C'e un ritardo tra scoperta e rendering, non tutto il JavaScript viene renderizzato correttamente, e i Core Web Vitals ne risentono.

Se il tuo sito usa CSR (React, Vue, Angular SPA), considera: pre-rendering delle pagine critiche, SSR per il caricamento iniziale (Next.js, Nuxt.js), o almeno il dynamic rendering.

Lazy loading delle immagini: farlo correttamente

Si: usa l'attributo nativo loading="lazy" per le immagini sotto la piega. Includi sempre width, height e alt.

No: non fare lazy loading delle immagini above-the-fold. Non fare lazy loading dell'elemento LCP. Non usare librerie JavaScript quando l'attributo nativo funziona.

Insidie del JavaScript SEO

  • Contenuto renderizzato solo via JavaScript: Google potrebbe non indicizzarlo o indicizzarlo con ritardo.
  • Routing lato client senza configurazione: usa la History API, non il routing basato su hash.
  • Scroll infinito senza paginazione: fornisci alternative paginate.
  • Meta tag dinamici: se <title> e <meta description> sono impostati da JavaScript dopo il caricamento, Google potrebbe usare i valori iniziali.

Architettura dei link interni

Best practice:

  • Usa testo di ancoraggio descrittivo: "leggi la nostra guida sugli header HTTP di sicurezza" e meglio di "clicca qui."
  • Crea una gerarchia logica: ogni pagina raggiungibile in 3 clic dalla homepage.
  • Usa link HTML: <a href="/page"> e scansionabile. La navigazione JavaScript potrebbe non esserlo.
  • Correggi i link interni rotti: gli errori 404 sprecano budget di crawl.

Checklist ottimizzazione velocita

Abbiamo anche un articolo dettagliato sull'ottimizzazione delle prestazioni e un altro su perche i siti sono lenti.

  1. Servi immagini in formato WebP o AVIF (25-50% piu piccoli).
  2. Implementa immagini responsive con srcset.
  3. Abilita HTTP/2 o HTTP/3.
  4. Abilita compressione Brotli o Gzip.
  5. Minifica CSS e JavaScript.
  6. Inserisci CSS critico inline.
  7. Differisci JavaScript non critico.
  8. Preconnetti alle origini necessarie.
  9. Cacha gli asset statici aggressivamente.
  10. Riduci al minimo gli script di terze parti.
  11. Usa una CDN.
  12. Ottimizza i web font: subset, preload, font-display: swap.

Come fare audit con gli strumenti principali

Lighthouse

Integrato in Chrome DevTools. Esegui audit in una finestra di navigazione in incognito. Usa la configurazione "Mobile".

PageSpeed Insights

Strumento online di Google (pagespeed.web.dev) che combina punteggi Lighthouse con dati reali dal Chrome User Experience Report.

Google Search Console

Il report Core Web Vitals mostra le prestazioni reali degli utenti. Segnala anche problemi di indicizzazione, usabilita mobile e errori nei dati strutturati. Ogni sito dovrebbe avere Search Console configurato.

Indicizzazione mobile-first

Google usa prevalentemente la versione mobile del tuo sito per l'indicizzazione e il ranking. Praticamente: la versione mobile deve contenere lo stesso contenuto della desktop, i dati strutturati devono essere presenti, i meta tag devono essere uguali.

Perche i siti statici vincono nel SEO tecnico

Molti problemi SEO tecnici sono causati dal rendering dinamico, dalle dipendenze JavaScript e dall'elaborazione server-side. I siti statici li evitano per design:

  • LCP: HTML statico da CDN si carica piu velocemente di qualsiasi pagina renderizzata dinamicamente.
  • FID/INP: JavaScript minimo significa blocco minimo del thread principale.
  • CLS: HTML pre-renderizzato con dimensioni immagine esplicite ha layout prevedibile.
  • Scansionabilita: HTML semplice senza dipendenze JavaScript e perfettamente scansionabile.
  • Indicizzazione: nessun ritardo di indicizzazione a due fasi.
  • Tempo di risposta del server: risposta CDN misurata in millisecondi.
  • Sicurezza: meno problemi di sicurezza significa meno avvisi di Google. Vedi il nostro articolo sulla sicurezza statica vs dinamica.

Per siti aziendali, portfolio, blog e siti informativi, la generazione statica fornisce la migliore base SEO tecnica disponibile. Costruiamo siti su questa architettura in Envestis proprio perche da ai nostri clienti un vantaggio misurabile nelle prestazioni di ricerca.

Se il tuo sito ha problemi SEO tecnici che ti costano posizionamento, o se vuoi ricostruire su un'architettura che massimizza la visibilita nei motori, contatta il nostro team a Lugano. Siamo specializzati nello sviluppo web ad alte prestazioni e ottimizzato per il SEO per le aziende in Svizzera.

Vuoi sapere se il tuo sito è sicuro?

Richiedi un audit di sicurezza gratuito. In 48 ore ricevi un report completo.

Richiedi Audit Gratuito

Contatto Rapido