SEO per Joomla

Una guida tecnica alla SEO di Joomla: attivare gli URL SEF (e la rinomina di htaccess.txt che li fa davvero funzionare), correggere i contenuti duplicati predefiniti di Joomla, gestire sitemap e dati strutturati tramite estensioni e capire cosa è cambiato tra Joomla 4, 5 e 6.

Prima pubblicazione: 27 giu 2026 · Ultimo aggiornamento: 11 ago 2026 · Advanced
Lingue
1 segnale di evidenza in questa pagina

Joomla 5 ha una SEO integrata solida — URL SEF, metadati per articolo, un plugin Schema nativo e un'ottima base prestazionale — ma le impostazioni predefinite possono creare problemi. Attivare gli URL SEF funziona solo dopo aver rinominato htaccess.txt in .htaccess; anche allora gli URL legacy basati sugli ID restano raggiungibili e Joomla può generare più tag canonical concorrenti, quindi il contenuto duplicato è un problema reale già all'origine, da risolvere con canonical, redirect o un'estensione. Non esiste una sitemap XML nativa (usa OSMap, Aimy Sitemap, Route66 o 4SEO), e sh404SEF — la vecchia estensione dominante — non è mai stata portata su Joomla 4/5, quindi oggi le scelte principali sono Route66 (gratuita) e 4SEO (premium). Joomla 6 è disponibile da ottobre 2025 e riceve aggiornamenti attivi insieme a una linea Joomla 5.x ancora mantenuta: controlla la versione di ogni sito Joomla prima di dare per scontato quali impostazioni si applichino. Lavoro con Joomla almeno dal 2012, quando ho parlato di SEO tecnica al Joomla Day Chicago.

TL;DR — Joomla 5 è davvero capace: URL SEF, metadati per articolo, un plugin Schema nativo e una solida base per i Core Web Vitals. Ma le impostazioni predefinite richiedono interventi. Gli URL SEF funzionano solo dopo aver rinominato htaccess.txt in .htaccess (Apache): è il passaggio dimenticato più spesso. Anche in seguito gli URL non-SEF basati sugli ID restano raggiungibili e Joomla può produrre fino a 3 tag rel=canonical concorrenti per un articolo, quindi il contenuto duplicato è reale già all’origine: correggilo con canonical, redirect o un’estensione. Non esiste una sitemap XML nativa (OSMap / Aimy Sitemap / Route66 / 4SEO). sh404SEF non è mai stata portata su Joomla 4/5: usa Route66 (gratuita) o 4SEO (a pagamento). Joomla 5 aggiunge schema e hreflang nativi (il bug hreflang autoreferenziale della 5,2 è stato corretto nella 5,3). Joomla 6 è uscito nell’ottobre 2025 ed è la major corrente, mentre Joomla 5.x continua a ricevere aggiornamenti di sicurezza e correzioni: verifica la major del sito prima di fidarti di un percorso di impostazioni.

Da dove nasce questa guida

Ho descritto il mio percorso professionale dicendo di aver lavorato con “Drupal, Joomla, WordPress, and tons of different e-commerce systems,” (traduzione) «Drupal, Joomla, WordPress e moltissimi sistemi di e-commerce diversi»; Joomla ne fa parte da tempo: nel 2012 ho tenuto l’intervento Technical SEO al Joomla Day Chicago. Non è quindi la panoramica di un CMS che conosco solo per averne letto, ma di una piattaforma che ho configurato davvero. In breve, la mia opinione è questa: il mito secondo cui “Joomla is bad for SEO” (traduzione) «Joomla è pessimo per la SEO» è falso. Tecnicamente Joomla 5 è paragonabile a WordPress. I problemi reali sono l’esperienza d’uso, perché le impostazioni sono sparse, e alcune opzioni predefinite dannose.

Global Configuration: le impostazioni SEO importanti

Tutto parte da System → Global Configuration → Site tab → SEO Settings:

  • Search Engine Friendly URLs → Yes. Trasforma index.php?option=com_content&view=article&id=2 in uno slug leggibile. Google raccomanda da tempo URL leggibili composti da parole invece di stringhe di ID, quindi questa è la base.
  • Use URL Rewriting → Yesma solo dopo la rinomina di .htaccess descritta sotto. Rimuove index.php dal percorso.
  • Adds Suffix to URL → No (di solito). Aggiunge .html; lascialo disattivato per mantenere URL puliti, a meno che un sito legacy non dipenda già da questa opzione.
  • Unicode Aliases → No nella maggior parte dei casi. Gli slug traslitterati sono più puliti dei caratteri non latini grezzi; attivalo solo per una reale esigenza internazionale.
  • Include Site Name in Page Titles — scegli Before/After per controllare come compare il nome del sito nel <title>.

Poi ci sono altre due impostazioni, in un’altra sezione di Global Configuration:

  • Server → Force HTTPS → Entire Site per imporre HTTPS a tutto il sito. Evidence for this claim Joomla provides an Entire Site Force HTTPS configuration option. Scope: Joomla global configuration after HTTPS is functional on the server. Confidence: high · Verified: Joomla: Global configuration help
  • Metadata Settings — imposta una meta description globale e verifica che il valore predefinito di Robots sia “Index, Follow.”

La rinomina di .htaccess: il passaggio che si dimentica più spesso

Joomla distribuisce nella directory principale un file chiamato htaccess.txt (non .htaccess). Finché non lo rinomini in .htaccess, l’opzione “Use URL Rewriting” non fa nulla: è la causa numero uno dei problemi con gli URL SEF su Apache. Rinomina il file prima di attivare la riscrittura degli URL in Global Configuration (o almeno nello stesso momento), altrimenti attiverai l’interruttore e vedrai rompersi gli URL puliti. Su Nginx .htaccess non esiste: devi aggiungere alla configurazione del server le regole di riscrittura equivalenti.

Il problema dei contenuti duplicati di Joomla

È il principale problema SEO di Joomla già dall’installazione, e vale la pena capirlo con precisione. Joomla crea più URL per lo stesso contenuto:

  • L’URL non-SEF (/index.php?option=com_content&view=article&id=2) è raggiungibile sempre, anche con gli URL SEF attivi.
  • URL SEF tramite menu e URL SEF tramite categoria: se l’articolo compare in più punti, può avere percorsi diversi.
  • www e non-www, HTTP e HTTPS, varianti con slash finale e ?layout=print aggiunto a qualsiasi URL.

La checklist di JoomlaSEO.com riassume bene il punto: “Even when you have SEF links turned on in your Joomla global configuration, the non-SEF URL still exists, meaning 2 URLs with the same content, and often there are more,” (traduzione) «Anche quando i link SEF sono attivi nella configurazione globale di Joomla, l’URL non-SEF continua a esistere: ciò significa avere 2 URL con lo stesso contenuto, e spesso ce ne sono altri». La stessa fonte osserva: “Non-SEF URLs are still reachable, despite SEF-URLs being activated, like this: /index.php?option=com_content&view=article&id=2.” (traduzione) «Gli URL non-SEF restano raggiungibili nonostante l’attivazione degli URL SEF, per esempio: /index.php?option=com_content&view=article&id=2.» JoomUnited chiarisce la posta in gioco: “Any duplicate content could have harmful effects on your SEO because search bots cannot determine which version deserves indexing priority.” (traduzione) «Qualsiasi contenuto duplicato può danneggiare la SEO, perché i bot di ricerca non riescono a stabilire quale versione meriti la priorità di indicizzazione.»

La situazione può essere peggiore di due soli URL. In alcune configurazioni — quando apri lo stesso articolo tramite ID categoria, ID articolo o parametri di query — Joomla produce per impostazione predefinita tre link rel="canonical" diversi. I canonical multipli sono un segnale che si contraddice da solo: come chiarisce la guida di Google alla canonicalizzazione, dichiarandone più di uno si rischia che vengano ignorati. Prima del lancio, esegui quindi un audit su una singola pagina (URL Inspection o un crawler) e verifica che ogni pagina emetta esattamente un canonical.

Come risolvere il problema:

  • Usa il campo Canonical URL per articolo (scheda Publishing → Metadata).
  • Reindirizza con un 301 gli URL non-SEF verso quelli SEF tramite .htaccess.
  • Usa il plugin System – SEF con il routing rigoroso / “strict handling of index.php” (Joomla 4/5) per rimuovere index.php e reindirizzare gli URL più vecchi.
  • Oppure lascia che un’estensione (4SEO, Route66) aggiunga automaticamente i canonical e reindirizzi gli URL non-SEF.

Per i concetti alla base, consulta canonicalizzazione e il tag canonical.

Metadati per articolo e categoria (e la trappola UX)

Joomla permette di impostare i metadati a livello di articolo, ma i campi sono distribuiti in più schede: è l’aspetto più irritante della SEO dei contenuti in Joomla:

  • Titolo SEO (Browser Page Title): Edit Article → scheda Options.
  • Meta description: Edit Article → scheda Publishing → Metadata.
  • Robots (Index/Follow, NoIndex/NoFollow): Edit Article → scheda Publishing → Metadata.
  • Canonical URL: Edit Article → scheda Publishing → Metadata.

Quindi il titolo della pagina si trova in una scheda e la descrizione in un’altra. La recensione di Seobility coglie il quadro generale: “Basic SEO settings are buried” (traduzione) «le impostazioni SEO di base sono nascoste» nell’interfaccia standard di Joomla e risultano “easy to miss.” (traduzione) «facili da non notare». Le categorie hanno metadati propri in Edit Category → Options. Ignora il campo meta keywords che Joomla espone ancora: Google ignora le meta keyword dal 2009; non fanno danni, ma non valgono nulla.

Sitemap XML: nessuna soluzione nativa

Joomla non genera autonomamente una sitemap XML. Devi installare un’estensione: Evidence for this claim Sitemap generation for Joomla is supplied by extensions rather than the cited core global configuration features. Scope: Joomla Extensions Directory ecosystem; extension compatibility must be checked against the installed Joomla version. Confidence: medium · Verified: Joomla Extensions Directory: Site map

  • OSMap (Weeblr/JoomlaShack): la più usata, disponibile in versione gratuita e pro.
  • Aimy Sitemap: supporta Joomla 3/4/5/6 ed è altamente configurabile.
  • JSitemap: sitemap XML, HTML, per immagini e video.
  • Route66 e 4SEO: entrambe includono la generazione di sitemap in una suite SEO più ampia.

Dopo averla generata, aggiungi Sitemap: https://example.com/sitemap.xml al tuo robots.txt e inviala a Google Search Console e Bing Webmaster Tools.

robots.txt: controllo manuale completo

Joomla colloca un vero robots.txt nella directory principale del sito (allo stesso livello di index.php), completamente modificabile tramite FTP o il file manager dell’hosting. Per impostazione predefinita blocca correttamente /administrator/, /api/, /cache/ e /components/: directory amministrative e di sistema che non vuoi far scansionare. Ricorda però la regola universale: robots.txt controlla il crawling, non l’indicizzazione; non usarlo per tentare di deindicizzare le pagine.

Estensioni: cosa usare (e cosa evitare)

  • Route66 (Firecoders, gratuita): Seobility la definisce “as close as you’ll get to a WordPress SEO plugin like YOAST for Joomla.” (traduzione) «quanto di più vicino si possa avere a un plugin SEO per Joomla simile a YOAST per WordPress». Offre anteprime SERP, sitemap, gestione dei canonical e punteggio SEO.
  • 4SEO (Weeblr, premium): Weeblr la descrive come un software che “works exactly like a search engine, crawling your site to understand it then adds metadata, structured data, builds a sitemap, replace content, helps your social networks sharing or finds broken links.” (traduzione) «funziona esattamente come un motore di ricerca: esegue la scansione del sito per comprenderlo, poi aggiunge metadati e dati strutturati, crea una sitemap, sostituisce contenuti, facilita la condivisione sui social o individua link non funzionanti». Abbinala a 4SEF per la gestione degli URL.
  • sh404SEF: non usarla su Joomla 4/5. È il punto critico nella migrazione. Dopo oltre 15 anni come estensione SEO dominante per Joomla, Weeblr ha scelto di non portarla avanti: “After more than 15 years of duty, sh404SEF won’t be ported to Joomla 4. It will not run on Joomla 4.x. To move to Joomla 4, consider newer extensions, including 4SEF to maintain your site SEF URLs and 4SEO for metadata.” (traduzione) «Dopo oltre 15 anni di attività, sh404SEF non sarà adattata a Joomla 4 e non potrà funzionare su Joomla 4.x. Per migrare a Joomla 4, valuta estensioni più recenti, tra cui 4SEF per conservare gli URL SEF del sito e 4SEO per i metadati.» Fai attenzione anche sui siti più vecchi: Joomlashack avverte che “If you have an existing site that is already using the built in SEF, activating this extension may change all of your URLs.” (traduzione) «Se hai un sito esistente che usa già la funzione SEF integrata, attivare questa estensione può cambiare tutti i tuoi URL.» Cambiare estensione di gestione degli URL su un sito attivo può riscrivere gli URL e rompere i link in ingresso: prova sempre in staging e prepara prima le mappe dei redirect.
  • JCH Optimize (prestazioni): combina e minimizza CSS/JS.

Dati strutturati

La gestione dei dati strutturati dipende dalla versione di Joomla:

  • Joomla 5 include un plugin Schema nativo che supporta BlogPosting, Event, Product e Organization (oltre a Book, Vacancy, Person e Recipe), configurabile da Edit Article → scheda Schema. Non serve un’estensione.
  • Joomla 4 e versioni precedenti richiedono un’estensione (Google Structured Data, 4SEO o quella di tassos.gr) oppure JSON-LD manuale nel <head> del template.
  • Il JSON-LD manuale funziona sempre, indipendentemente dalla versione, e il modulo Breadcrumbs integrato di Joomla si abbina naturalmente al markup BreadcrumbList.

SEO multilingue e hreflang

Joomla dispone di un solido sistema multilingue integrato. Installa le lingue da System → Extensions → Languages, poi abilita il plugin Language Filter e attiva “Add alternate meta tags” per generare automaticamente i tag hreflang; il plugin Language Code mantiene corretti i codici BCP47. Ogni lingua riceve un prefisso URL (/en/, /fr/, /de/).

Una cautela storica, ormai risolta: Joomla 5,2 è stata distribuita senza il tag hreflang autoreferenziale, cioè mancava il tag che puntava alla pagina corrente stessa (issue GitHub #44297). Il problema è stato corretto nella release 5,3 e l’issue è chiusa. Se usi la 5,3 o una versione successiva (inclusa Joomla 6), non dovresti incontrarlo; se invece stai verificando una vecchia installazione 5,2 non aggiornata, controlla direttamente l’output hreflang prima di considerarlo corretto.

Prestazioni: il punto di forza silenzioso di Joomla

La base dei Core Web Vitals di Joomla è migliore di quanto molti si aspettino. Seobility ha rilevato che il template Cassiopeia predefinito “scored 93/100 on PageSpeed Insights with ‘absolutely nothing’ done for optimization,” (traduzione) «ha ottenuto 93/100 su PageSpeed Insights senza fare “assolutamente nulla” per l’ottimizzazione» e ha concluso: “Joomla 5 is even better, with great performance and many SEO features built in.” (traduzione) «Joomla 5 è ancora migliore, con ottime prestazioni e molte funzioni SEO integrate.» Abilita Gzip Page Compression e Cache in Global Configuration → Server; aggiungi JCH Optimize, compressione delle immagini e una CDN per migliorare ulteriormente. Poiché Joomla non si porta dietro il tipico stack di plugin di WordPress (plugin separati per SEO, cache e sicurezza), Joomla senza estensioni spesso supera WordPress senza estensioni sul piano delle prestazioni, cosa importante per i Core Web Vitals.

Joomla 3, 4, 5 e 6 a confronto per la SEO

  • Joomla 3 (fine del supporto a dicembre 2023): URL SEF di base; quasi tutto il resto richiedeva un’estensione e sh404SEF era la soluzione dominante.
  • Joomla 4 (agosto 2021): amministrazione più pulita e routing SEF migliorato, ma sh404SEF è stata abbandonata e Route66 / 4SEO sono emerse come alternative.
  • Joomla 5 (ottobre 2023): plugin Schema nativo, meta description estese (circa 300 caratteri), controllo dello slash finale e gestione rigorosa di index.php nel plugin System – SEF, supporto AVIF, schema Organization/Website e una base prestazionale migliore.
  • Joomla 6 (ottobre 2025, attualmente sulla linea 6,1.x): la major corrente. Mantiene le funzioni SEO di Joomla 5; non ho trovato documentazione ufficiale di modifiche specifiche alle impostazioni SEO tra la 5 e la 6, quindi considera ancora validi su Joomla 6 i percorsi di Global Configuration indicati sopra finché non li avrai verificati sull’installazione reale. Joomla 5.x continua a ricevere supporto attivo per sicurezza e correzioni in parallelo, perciò molti siti attivi sono ancora sulla 5, non sulla 6.

Se stai verificando un sito Joomla, le prime tre domande sono: quale major usa (controlla il numero di versione nel piè di pagina dell’amministrazione o in System Information, senza dedurlo dal tema), gli URL SEF funzionano davvero (controlla la rinomina di .htaccess) e il duplicato non-SEF è gestito? Se sistemi questi punti, Joomla si comporta bene.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.