[I backup in cloud sono appena diventati più semplici: Duplicator Cloud elimina l'archiviazione di terze parti
[I backup in cloud sono appena diventati più semplici: Duplicator Cloud elimina l'archiviazione di terze parti
John Turner
John Turner
Ricordo ancora la prima volta che mi sono collegato al sito di un cliente e non ho visto altro che errori 404. Ogni singola pagina era sparita. O almeno, questo è ciò che sembrava.
I permalink rotti sono uno dei problemi più comuni di WordPress e quasi sempre sembrano peggiori di quanto non siano in realtà.
In questo post vi mostrerò come risolvere i permalink non funzionanti, partendo dalla soluzione più semplice per arrivare a quelle più tecniche.
Nella maggior parte dei casi, la soluzione si risolve in meno di cinque minuti!
Ecco i punti salienti:
Un permalink è la struttura permanente dell'URL per i vostri post e le vostre pagine. È ciò che appare nella barra degli indirizzi del browser quando qualcuno visita i vostri contenuti.
WordPress offre due opzioni principali per l'aspetto di questi URL.
Il primo è quello che io chiamo "brutto" permalinks. Hanno questo aspetto: https://yoursite.com/?p=123. Funzionano bene tecnicamente, ma sono terribili sia per gli esseri umani che per i motori di ricerca.
La seconda opzione è quella dei permalink "carini". Questi hanno l'aspetto di: https://yoursite.com/how-to-fix-broken-links/. Un URL chiaro e ricco di parole chiave funziona meglio di una stringa di numeri casuali.
I permalink belli sono importanti per due motivi fondamentali.
Quando parlo di "permalink rotti", mi riferisco al fatto che WordPress improvvisamente non riesce più a elaborare questi graziosi URL.
Il vostro contenuto è ancora presente nel database. WordPress non riesce a indirizzare correttamente il traffico verso di esso, quindi restituisce un errore 404.
I sintomi sono di solito piuttosto evidenti. La pagina iniziale viene caricata correttamente, ma ogni singolo post e pagina restituisce un errore 404. Quando si fa clic su un qualsiasi link interno, si ottiene il messaggio "Pagina non trovata" invece del contenuto.
La dashboard di amministrazione di WordPress funziona ancora perfettamente. Potete accedere, vedere tutti i vostri post e le vostre pagine nel backend e tutto sembra normale. Ma sul front-end? Solo 404.
A volte si verifica subito dopo un'azione specifica, come la migrazione del sito, l'aggiornamento di un plugin o la modifica di un'impostazione del server. Altre volte, invece, sembra che il problema si presenti all'improvviso.
Il problema riguarda tutti i post e le pagine contemporaneamente, non solo uno o due URL a caso. In questo modo si capisce che si tratta di un problema di permalink e non solo di qualche link rotto.
I permalink rotti non si verificano in modo casuale. C'è quasi sempre un fattore scatenante specifico.
Un nuovo plugin o un nuovo tema possono alterare le regole di riscrittura degli URL di WordPress.
Una volta ho installato un plugin di sicurezza che ha immediatamente interrotto tutti i link di un sito. Il plugin stava cercando di aggiungere le proprie regole di riscrittura e ha finito per sovrascrivere le regole fondamentali di WordPress.
Questo accade più spesso di quanto si pensi, soprattutto con i plugin che gestiscono reindirizzamenti, cache o funzioni di sicurezza.
Quando si sposta un sito da un server a un altro, il file .htaccess (che controlla il funzionamento dei permalink) non sempre viene trasferito correttamente. I server hanno configurazioni diverse e ciò che funzionava sul vecchio host potrebbe non funzionare su quello nuovo.
Il file .htaccess si trova nella directory principale di WordPress e indica al server come gestire gli URL.
A volte i plugin modificano questo file e causano direttamente la rottura dei permalink. Altre volte, le modifiche manuali possono andare male.
In ogni caso, se le regole di riscrittura in quel file vengono danneggiate o cancellate, i permalink smettono di funzionare.
Se di recente avete aggiunto un certificato SSL e avete passato il vostro sito all'HTTPS, potreste avere a che fare con loop di reindirizzamento o con problemi di contenuto misto che assomigliano a permalink interrotti. I sintomi sono simili, anche se la causa principale è diversa.
Ecco i modi migliori per risolvere i permalink rotti di WordPress:
WordPress ha un modo integrato per correggere i permalink rotti attraverso la dashboard. Salverete nuovamente le impostazioni dei permalink e WordPress rigenererà il file .htaccess.
Questa soluzione funziona nella maggior parte dei casi e richiede meno di 30 secondi. L'ho usato decine di volte e non smette mai di sembrare magico.
Accedere alla dashboard di amministrazione di WordPress e navigare in Impostazioni " Permalinks. Non modificate nulla. Scorrete verso il basso e fate clic sul pulsante Salva modifiche.

WordPress rigenera il file .htaccess con nuove regole di riscrittura. Anche se non avete modificato alcuna impostazione, l'atto di salvare costringe WordPress a riscrivere le regole da zero.
Nove volte su dieci, a questo punto il vostro sito è risolto. In caso contrario, continuate a leggere.
Prima di pensare che il reset dei permalink non abbia funzionato, cancellate tutta la cache del vostro sito.
Iniziate dalla cache del browser. In Chrome, è possibile farlo facendo clic sull'icona con i tre puntini e su Elimina dati di navigazione.

Selezionare Immagini e file memorizzati nella cache e premere Elimina dati.

Quindi cancellate il vostro plugin di cache. Se si utilizza WP Rocket, W3 Total Cache o qualsiasi altro plugin per la cache, trovare il pulsante Cancella cache nella barra di amministrazione di WordPress o nelle impostazioni del plugin.

Non dimenticate il caching lato server. Molti host hanno un proprio livello di caching. Controllate il pannello di controllo del vostro hosting per trovare un'opzione di cancellazione della cache.
Se si utilizza un CDN come Cloudflare, è necessario eliminare anche la cache.
Ho visto situazioni in cui il problema è stato effettivamente risolto dopo il primo passo, ma le pagine memorizzate nella cache hanno continuato a mostrare errori 404 per ore. Cancellate tutto, poi fate un altro test.
Se la reimpostazione dei permalink non ha funzionato, probabilmente si tratta di un conflitto tra plugin o temi.
Per prima cosa è necessario controllare i plugin. Disattivate tutti i plugin per vedere se il problema scompare.

Ora testate il vostro sito. I link funzionano?
In caso affermativo, è stato confermato un conflitto di plugin. Riattivate i plugin uno per uno, eseguendo dei test dopo ogni attivazione, finché non trovate il colpevole.
Se i link non funzionano ancora con tutti i plugin disattivati, provate a passare a un tema predefinito di WordPress come Twenty Twenty-Five. Andate su Aspetto " Temi, attivate un tema predefinito e fate un altro test.

Quando si trova il plugin o il tema in conflitto, si hanno alcune opzioni:
WordPress deve avere accesso in scrittura al file .htaccess per aggiornarlo automaticamente. Se i permessi sono sbagliati, WordPress non può scrivere le nuove regole di riscrittura quando si ripristinano i permalink.
I permessi corretti per i file sono:
È possibile verificarlo tramite un client FTP come FileZilla o tramite il File Manager del pannello di controllo dell'hosting.
Fare clic con il pulsante destro del mouse su un file e selezionare Autorizzazioni file. Verrà visualizzata una finestra di dialogo con delle caselle di controllo.

Per 644, si desidera:
Se i permessi sono sbagliati, modificateli e poi reimpostate i permalink usando il metodo Impostazioni " Permalinks".
Qui le cose si fanno più tecniche.
Se si utilizza un server Apache (che è la maggior parte degli hosting condivisi), è necessario abilitare il modulo mod_rewrite. Questo modulo permette di far funzionare i permalink in primo luogo.
La maggior parte degli host abilita questa funzione per impostazione predefinita, ma non tutti.
Se si utilizza Nginx, il discorso è diverso. Nginx non utilizza affatto i file .htaccess. Gestisce le riscritture degli URL attraverso i propri file di configurazione, il che significa che non è possibile risolvere questo problema attraverso WordPress.
Contattare l'assistenza del proprio hosting se si sospetta un problema di configurazione del server. Ditegli che state ricevendo errori 404 su tutti i post e le pagine e chiedetegli di verificare che il mod_rewrite sia abilitato (per Apache) o che le regole di riscrittura dei permalink siano configurate correttamente (per Nginx).
I team di supporto dell'hosting hanno visto questo problema centinaia di volte e possono risolverlo in pochi minuti.
Se siete passati di recente all'HTTPS, questo potrebbe non essere affatto un problema di permalink.
Andate su Impostazioni " Generali nella vostra dashboard di WordPress.
Osservate due campi:
Entrambi dovrebbero corrispondere esattamente. E se si dispone di un certificato SSL, entrambi devono iniziare con https:// (non http://).

Se non corrispondono, aggiornateli. Ma fate attenzione: se sbagliate, potete bloccare il vostro sito. Eseguite prima un backup.

Se dopo aver risolto il problema si verifica un ciclo di reindirizzamento, potrebbe essere necessario aggiornare il file .htaccess per forzare correttamente i reindirizzamenti HTTPS.
Se non ha funzionato nient'altro, è il momento di creare manualmente un nuovo file .htaccess.
Collegatevi al vostro sito tramite FTP e navigate nella directory principale di WordPress. Trovate il file.htaccess e scaricatene una copia sul vostro computer come backup.
Rinominare il file sul server in .htaccess_old.

Andare su Impostazioni " Permalinks in WordPress e fare clic su Salva modifiche. WordPress dovrebbe creare un nuovo file .htaccess con le regole di riscrittura predefinite.
Se WordPress non può creare il file automaticamente (a causa dei permessi), dovrete crearlo manualmente. Create un nuovo file chiamato.htaccess e incollate questo codice:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Caricate il file nella directory principale di WordPress, assicurandovi che i permessi siano impostati su 644. Testate di nuovo il vostro sito.
Se avete provato tutto quanto sopra e i vostri permalink sono ancora rotti, il problema potrebbe essere più profondo di quanto possa fare una soluzione standard. Potrebbe essere un problema di database, una cattiva configurazione del server o qualcosa di completamente diverso.
La prima chiamata dovrebbe essere al team di assistenza del vostro hosting. La maggior parte degli host dispone di specialisti WordPress in grado di scavare nei registri del server e di identificare i problemi che non si possono vedere dall'amministrazione di WordPress.
Se il vostro host non può aiutarvi (o se avete un host con un'assistenza minima), prendete in considerazione la possibilità di rivolgervi a un servizio di manutenzione di WordPress. WPBeginner offre un'assistenza premium per WordPress in grado di gestire problemi come questo.
A volte pagare un esperto per 30 minuti del suo tempo vi fa risparmiare ore di frustrazione.
Sistemare i permalink rotti una volta è fastidioso. Sistemarli ripetutamente è un incubo.
Ecco come evitare di affrontare nuovamente questo problema.
Testate tutto su un sito di staging prima di toccare il sito live.
Gli aggiornamenti dei plugin, le modifiche ai temi e i principali aggiornamenti del nucleo di WordPress dovrebbero passare prima per lo staging. Se qualcosa rompe i vostri permalink (o qualsiasi altra cosa), lo scoprirete prima che i visitatori reali vedano gli errori 404.
Duplicator Pro rende tutto questo semplice. Create un backup completo del vostro sito di produzione, quindi trascinate il file di backup di WordPress nell'ambiente di staging. Viene creato automaticamente un clone completo, compreso il database e tutti i file.

Ora lo faccio prima di ogni cambiamento importante. Mi ha salvato più volte di quante ne possa contare.
Una volta che il sito è attivo e indicizzato da Google, non modificate la struttura dei permalink.
Conosco la tentazione. Forse avete iniziato con /?p=123 e ora volete degli URL carini. Oppure volete rimuovere la data dagli URL dei vostri post.
Ma ecco cosa succede: ogni singolo URL del vostro sito cambia. Ogni backlink che punta ai vostri contenuti si rompe. Il vostro posizionamento su Google crolla perché quegli URL indicizzati ora restituiscono errori 404.
Se dovete assolutamente cambiare la vostra struttura, dovete impostare dei reindirizzamenti 301 per ogni vecchio URL. Questo è possibile con plugin come AIOSEO o Redirection, ma è noioso e soggetto a errori.
Scegliete una buona struttura di permalink fin dall'inizio e attenetevi ad essa. Consiglio Post Name (/sample-post/) per la maggior parte dei siti. È pulita, SEO-friendly e flessibile.
Un backup recente è la vostra rete di sicurezza definitiva.
Se qualcosa si rompe, è possibile ripristinare un backup e tornare online in pochi minuti. Senza un backup, si è bloccati nella risoluzione dei problemi senza una facile via d'uscita.
Consiglio di impostare backup automatici con Duplicator. Programmateli in modo che vengano eseguiti durante la notte, quando il traffico è ridotto. Archiviate i backup fuori sede (non solo sullo stesso server del vostro sito web).

Ecco la mia regola di backup: se vi preoccupate di perdere il lavoro delle ultime 24 ore, eseguite il backup giornaliero. Se vi preoccupate di perdere la settimana passata, fate il backup settimanale.
Accedete alla vostra dashboard di WordPress e andate su Impostazioni " Permalinks. Qui è possibile visualizzare e modificare la struttura degli URL del sito.
WordPress genera automaticamente i permalink quando si pubblica un contenuto. Se si desidera personalizzare lo slug dell'URL per un post o una pagina specifici, è possibile modificarlo nell'editor del post facendo clic sulla sezione permalink nella barra laterale o sotto il titolo.
Sì, assolutamente. Quando si modifica la struttura dei permalink, ogni URL del sito cambia, interrompendo tutti i link esistenti provenienti dai motori di ricerca, dai social media e da altri siti web che puntano ai vostri contenuti.
Se tutti i post e le pagine restituiscono errori 404, si tratta di un problema di permalink: seguite i passaggi di risoluzione dei problemi indicati in precedenza in questo articolo. Se solo alcuni link specifici sono interrotti, utilizzate un plugin come Broken Link Checker per analizzare il sito e aggiornare o reindirizzare manualmente tali URL.
Andare in Impostazioni " Permalink e fare clic su Salva modifiche senza apportare alcuna modifica. In questo modo le vecchie regole di riscrittura vengono cancellate e rigenerate da zero.
I permalink rotti hanno un effetto catastrofico quando si verificano. L'intero sito restituisce improvvisamente un errore 404 e sembra che tutto sia scomparso.
Ma nella maggior parte dei casi, i contenuti sono a posto. WordPress non riesce a instradare correttamente il traffico perché le regole di riscrittura sono state incasinate.
L'approccio metodico funziona: ripristinare prima i permalink, svuotare le cache, controllare i conflitti, verificare i permessi e procedere da lì, se necessario.
E una volta risolto il problema, prendete provvedimenti per evitare che si ripeta. Utilizzate siti di staging per i test. Non modificate la struttura dei permalink sui siti esistenti. Eseguite regolarmente dei backup.
Se avete avuto a che fare con permalink rotti dopo il trasferimento di un sito, sapete quanto sia frustrante. Duplicator Pro gestisce automaticamente la configurazione del server e le regolazioni .htaccess durante le migrazioni, prevenendo la maggior parte dei problemi di permalink prima che si verifichino.
I backup automatici assicurano inoltre di avere sempre un punto di ripristino recente se un aggiornamento causa problemi. Provate Duplicator Pro oggi stesso!
Mentre siete qui, penso che vi piaceranno queste altre risorse WordPress selezionate a mano:
Divulgazione: I nostri contenuti sono sostenuti dai lettori. Ciò significa che se cliccate su alcuni dei nostri link, potremmo guadagnare una commissione. Raccomandiamo solo prodotti che riteniamo possano apportare un valore aggiunto ai nostri lettori.