AI generativa in Google Search Console: come leggere il report Assistenza siti Laravel: errori, aggiornamenti e manutenzione Joomla su LiteSpeed: CSS e JavaScript in 403 con query string Migrazione da Joomla 3 a Joomla 6 con T3 e Purity III: caso reale Sito Joomla non aggiornato: quali controlli fare prima di intervenire Sito hackerato: cosa fare subito e quali errori evitare Action Scheduler di WooCommerce bloccato: diagnosticare code e operazioni fallite Admin-ajax.php consuma troppe risorse: trovare plugin e richieste responsabili Audit delle estensioni prima di migrare da Joomla 3 a Joomla 5 o 6 Cache Redis in WordPress mostra dati vecchi: diagnosi dell'object cache Come gestire SEO e hreflang in un sito multilingua Hugo Login loop in WordPress Multisite: cookie, dominio e HTTPS da controllare Plugin WordPress lento: il problema è nel database o nelle query? WP-Cron non funziona in WordPress: attività e pubblicazioni bloccate Come aggiornare WordPress da Excel senza creare duplicati AI generativa in Google Search Console: come leggere il report Assistenza siti Laravel: errori, aggiornamenti e manutenzione Joomla su LiteSpeed: CSS e JavaScript in 403 con query string Migrazione da Joomla 3 a Joomla 6 con T3 e Purity III: caso reale Sito Joomla non aggiornato: quali controlli fare prima di intervenire Sito hackerato: cosa fare subito e quali errori evitare Action Scheduler di WooCommerce bloccato: diagnosticare code e operazioni fallite Admin-ajax.php consuma troppe risorse: trovare plugin e richieste responsabili Audit delle estensioni prima di migrare da Joomla 3 a Joomla 5 o 6 Cache Redis in WordPress mostra dati vecchi: diagnosi dell'object cache Come gestire SEO e hreflang in un sito multilingua Hugo Login loop in WordPress Multisite: cookie, dominio e HTTPS da controllare Plugin WordPress lento: il problema è nel database o nelle query? WP-Cron non funziona in WordPress: attività e pubblicazioni bloccate Come aggiornare WordPress da Excel senza creare duplicati

URL SEF Joomla 3: diagnosticare 404, routing e redirect

Autore Graziano De Maio - Gdmtech
Ti auguro buona lettura e mi raccomando, se dopo aver letto questo articolo hai bisogno di aiuto non esitare a contattarmi.
Autore: Graziano De Maio | Titolare di Gdmtech
Indice dei contenuti

Quando un URL SEF di Joomla 3 restituisce un 404, bisogna capire se la richiesta arriva al CMS e se Joomla riesce a collegarla al contenuto previsto. Un errore del server di riscrittura, un alias cambiato e un router di componente non funzionante possono produrre pagine simili, ma richiedono correzioni diverse.

Conserva l’indirizzo completo prima di modificare configurazioni o menu. Registra pagina attesa, stato HTTP, eventuali redirect e momento in cui il problema è iniziato. L’obiettivo è recuperare percorsi corretti, evitando cambi di URL non necessari.

Distinguere SEF, riscrittura e routing

Gli URL SEF rendono leggibili gli indirizzi generati dal CMS. La riscrittura del server permette, nella configurazione prevista, di indirizzare le richieste a Joomla senza mostrare index.php. Il routing interpreta il percorso e seleziona componente, vista e contesto di navigazione.

La documentazione Joomla sugli URL descrive il ruolo di Itemid, collegato alla voce di menu. Non è l’identificativo dell’articolo: confonderli può portare a confrontare due richieste con contesti diversi.

EvidenzaArea da verificare
Il percorso con index.php funziona, quello riscritto noRegole del server e posizione dell’installazione
Una sola sezione produce 404Menu, alias e router del componente
L’URL cambia più volte prima del contenutoRegole di redirect
La pagina esiste ma mostra moduli diversiVoce di menu e relativo contesto
Un indirizzo funziona solo dopo loginAccesso e disponibilità del contenuto

Ricostruire una richiesta senza inventare URL di prova

Parti da un collegamento generato dal sito o dai dati effettivi di menu e contenuto. Verifica che l’articolo esista, sia pubblicato, abbia lingua e accesso attesi e non sia stato spostato o rinominato.

Su una copia protetta puoi confrontare le impostazioni SEF e di riscrittura una alla volta, conservando quelle iniziali. Usa lo stesso contenuto e contesto di menu; non costruire URL con identificativi casuali e interpretarli come test validi.

Se il percorso funziona senza riscrittura ma fallisce con essa, hai ristretto il livello del problema. Se fallisce anche la richiesta applicativa corrispondente, controlla prima contenuto, autorizzazioni e componente.

Verificare Apache, .htaccess e altri server

Su Apache controlla che le direttive necessarie siano ammesse e che il file attivo sia effettivamente .htaccess. Il file htaccess.txt distribuito con Joomla è un riferimento, non la prova che il server abbia già attivato le regole. La documentazione Apache spiega il ruolo della configurazione e di AllowOverride.

Prima di modificare, salva il file e inventaria redirect, protezioni e regole del provider. Non sostituirlo integralmente con una copia standard senza esaminare le personalizzazioni. In una sottocartella, verifica che i percorsi delle regole corrispondano all’installazione.

Nginx non interpreta .htaccess; altri server possono avere meccanismi diversi. Chiedi all’hosting quale livello riceve e riscrive la richiesta, soprattutto se sono presenti proxy. Un errore nel log del server può chiarire il problema prima di qualsiasi modifica al CMS.

Controlla la voce di menu usata per generare il collegamento: tipo, destinazione, lingua, stato e alias. Verifica se una modifica recente ha cambiato il contesto di navigazione o il percorso gerarchico.

Per un componente di terze parti, confronta la documentazione della sua release e prova l’URL che esso genera. Un problema del suo router non si corregge necessariamente con una regola globale del server. Se lo stesso contenuto è raggiungibile da più menu, prima definisci quale percorso deve essere quello principale.

Come esempio ipotetico, un articolo si apre da un menu ma con un secondo percorso mostra un’altra disposizione dei moduli. Il contenuto potrebbe essere corretto: il contesto del menu cambia le assegnazioni. Non usare un redirect generale per mascherare la differenza prima di averla identificata.

Seguire la catena dei redirect e interrompere i loop

Negli strumenti di rete del browser registra ogni risposta di reindirizzamento e la destinazione indicata. Confronta regole hosting, HTTP/HTTPS, dominio preferito, plugin SEF e redirect applicativi.

Un loop può nascere da due livelli che applicano scelte opposte. La correzione richiede individuare entrambe le regole, poi mantenere una destinazione coerente. Svuotare la cache può servire alla verifica, ma non risolve una contraddizione ancora attiva.

Quando un indirizzo cambia davvero, scegli una destinazione pertinente e un redirect coerente con la natura del cambio. La guida Google sui redirect distingue spostamenti permanenti e temporanei. Non inviare indiscriminatamente tutti i 404 alla homepage: nasconderesti percorsi mancanti senza recuperare il contenuto atteso.

Controllare lingue e pagine riservate

Per un sito multilingue registra la lingua del contenuto e della voce di menu, il percorso generato e le associazioni previste. Un problema limitato a una lingua va riprodotto in quel contesto, non confrontato soltanto con la homepage predefinita.

Se l’URL fallisce soltanto per alcuni utenti, verifica i livelli di accesso Joomla 3. Non rendere pubblico un articolo riservato per eliminare un errore osservato da visitatore.

Verificare URL e metadati dopo la correzione

Prepara un elenco di indirizzi significativi: homepage, categorie, articoli, pagine dei componenti e versioni linguistiche. Controlla stato finale, numero di passaggi, contenuto, canonical e link generati. Verifica anche che un indirizzo inesistente continui a restituire un risultato corretto per una risorsa mancante.

Joomla 3 è fuori supporto: conserva la mappa URL per la futura migrazione. Se il sito presenta 404 o loop, posso analizzare routing e regole di redirect Joomla per correggere il livello coinvolto e preservare gli indirizzi utili.

Autore Graziano De Maio - Gdmtech
Ti auguro buona lettura e mi raccomando, se dopo aver letto questo articolo hai bisogno di aiuto non esitare a contattarmi.
Autore: Graziano De Maio | Titolare di Gdmtech
Graziano De Maio, Web designer, SEO specialist
Graziano De Maio
Web Developer, SEO Specialist
Gdmtech Web Agency
Via Stefanardo da Vimercate 28 - (Milano)
Via Spinedi 55 - Postalesio (Sondrio)
Info e contatti