Come capire perché i tuoi permalink non funzionano in WordPress
Pubblicato: 2021-12-27Molte attività del sito si concentrano sull'ottimizzazione dei motori di ricerca (SEO), in quanto può aumentare la visibilità e il ranking di ricerca. Parte della tua strategia SEO dovrebbe essere basata sulle tue strutture URL, anche se se i tuoi permalink non funzionano in WordPress, farai fatica a intaccare le tue cifre di traffico.
È semplice sapere quando hai un permalink rotto, ma ciò che non è così facile da capire è come risolverlo. La maggior parte delle volte, dovrai saltare nei file di configurazione del tuo server e apportare alcune modifiche. Tuttavia, un rapido ripristino da WordPress potrebbe essere tutto ciò di cui hai bisogno.
Nelle prossime sezioni, ti mostreremo cosa fare quando i tuoi permalink non funzionano in WordPress. Prima di tutto, parleremo di più dei permalink rotti e del loro aspetto.
Che aspetto ha un permalink rotto in WordPress
Indipendentemente dal server che utilizzi o dalla sua configurazione, i permalink interrotti sembrano tutti uguali. Nella maggior parte dei casi, vedrai che la tua home page è perfetta, mentre altre pagine mostrano un errore 404:

Per alcune istanze specifiche, ovvero URL legittimi che altrimenti non esistono all'interno del sito, potresti reindirizzare 404 errori alla tua home page. Tuttavia, in molti casi non è una soluzione permanente, poiché spesso avrai un problema di fondo che non viene rilevato.
Inoltre, se i tuoi permalink non funzionano all'interno di WordPress, non ne avrai idea a meno che non navighi nel tuo sito. Potrebbe essere che il tuo primo sentore di un problema sia quando gli utenti ti inviano una notifica. Questo non va bene per l'esperienza utente (UX), né per la tua reputazione.
Perché i tuoi permalink non funzionano in WordPress
Slug e permalink in WordPress sono più un aspetto "imposta e dimentica" del tuo sito. Sebbene tu possa modificare gli slug post per post, imposti le strutture globali dei permalink dopo il processo di installazione iniziale di WordPress. La pratica tipica consigliata è lasciarli stare dopo questo, perché può influire sulla tua SEO.
In quanto tali, i permalink rotti in WordPress sono più difficili da riparare, perché non avrai avuto un coinvolgimento diretto nella loro rottura. Invece, ci sono alcune altre strade da esplorare:
- Se installi un nuovo plugin, o modifichi le impostazioni di quello vecchio, potresti apportare una modifica indiretta ai tuoi permalink. Ciò è particolarmente vero per quei plugin che si agganciano ai file di configurazione del tuo server.
- Anche se è una piccola possibilità, alcuni aggiornamenti di base, temi e plug-in interromperanno i tuoi permalink. Questo è uno dei motivi per cui vorrai avere un backup pulito e aggiornato (ne parleremo più avanti).
- A proposito, se devi usare il tuo backup per ripristinare il tuo sito, questo può anche rompere le tue strutture permalink. Questo vale anche per la migrazione del tuo sito.
Tuttavia, c'è una causa per cui i tuoi permalink non funzionano in WordPress che è più comune: una modifica manuale ai file di configurazione del tuo server. Se decidi di armeggiare con questi file, ciò provoca lo stesso danno di un plug-in in conflitto.
Indipendentemente dal motivo dell'errore, ti consigliamo di metterti al lavoro per risolverlo. Ora che conosci le cause, puoi iniziare a scavare e scoprire dove sta il problema.
Di cosa avrai bisogno per riparare i tuoi Permalink WordPress rotti
Se non l'hai già fatto, dovrai saltare nei file principali del tuo server. Per questo motivo, è bene avere tutto ciò di cui hai bisogno, pronto per il rock and roll. Ecco la lista di controllo degli elementi che vorrai avere pronti:
- Accesso amministrativo al tuo server, per lavorare con i suoi file. Nella maggior parte dei casi, questo non avrà bisogno del tuo contributo, specialmente se sei il proprietario del sito.
- Le tue credenziali del server, in particolare i dettagli di accesso. Li troverai nel pannello di controllo dell'hosting o in un'e-mail dal tuo provider. Se non riesci a individuare le credenziali, il tuo host sarà in grado di dirti dove si trovano.
- Un client SFTP (Secure File Transfer Protocol), come Cyberduck, FileZilla o Transmit. Ognuno di questi è più che in grado di navigare facilmente tra i file sul tuo server.
- Le competenze per utilizzare SFTP senza causare problemi. Inutile dire che vorrai sapere come utilizzare SFTP durante l'intero tutorial.
- Un backup pulito, aggiornato e completo del tuo sito Web e possibilmente del server. Se è necessario eseguire il ripristino a causa di errori persistenti (o introdotti), il backup diventerà il file più prezioso che possiedi.
Sebbene siano disponibili strumenti opzionali, come un editor di testo, non sono necessari. L'elenco sopra sarà tutto ciò di cui hai bisogno per correggere i tuoi permalink che non funzionano in WordPress.
Come correggere i permalink che non funzionano in WordPress
Una volta che hai tutti gli strumenti, le competenze e i servizi di cui hai bisogno, puoi metterti al lavoro. Nei prossimi minuti, ti mostreremo come correggere i permalink che non funzionano in WordPress nei seguenti modi:
- Ripristineremo i permalink dalla dashboard di WordPress e ci vogliono pochi secondi per farlo.
- Verificherai la presenza di incompatibilità con i tuoi plug-in che potrebbero influire sui tuoi permalink.
- Per i server Apache, ti mostreremo dove cercare per risolvere il tuo problema con i permalink.
- Ti mostreremo la stessa cosa anche per i server Nginx, poiché sono altrettanto (se non di più) popolari.
Entro la fine dell'articolo, avrai le giuste conoscenze per assicurarti di poter risolvere qualsiasi problema relativo ai permalink in futuro. C'è molto da fare, quindi inizieremo all'interno di WordPress stesso.
1. Ripristina i tuoi Permalink all'interno di WordPress
La speranza è che un rapido ripristino dei tuoi permalink all'interno della dashboard di WordPress risolva tutti i problemi che hai. Dovrebbero volerci pochi secondi e, poiché è un modo semplice per risolvere il problema dei permalink, ti consigliamo di farlo prima.
Per iniziare, vai alla pagina Impostazioni > Permalink all'interno di WordPress:

Per la maggior parte delle moderne installazioni di WordPress, avrai la struttura del permalink del nome del post . Tuttavia, per ora dobbiamo cambiarlo su base temporanea. Per fare ciò, seleziona qualsiasi altro pulsante di opzione. Se vuoi essere estremamente cauto nel mantenere intatta la struttura dell'URL a prescindere, potresti voler selezionare Struttura personalizzata e utilizzare il tag /%postname%/
:

Quindi, salva le modifiche, riseleziona la struttura originale (in questo caso, Post name ), quindi salva di nuovo le modifiche. Questo dovrebbe attivare il ripristino dei tuoi permalink, quindi controlla il tuo sito e se hai risolto il problema.
2. Verifica la presenza di conflitti e incompatibilità dei plug-in
Il prossimo metodo per correggere i tuoi permalink che non funzionano in WordPress è un'interpretazione più semplice di un passaggio popolare per risolvere molti problemi di WordPress. I tuoi plug-in (ovviamente) influiscono su una miriade di aree del tuo sito, tanto che un plug-in canaglia può causare problemi con i tuoi permalink.
L'approccio standard in questa fase sarebbe quello di accedere al tuo server tramite SFTP, ma in questo caso non è necessario. Invece, vai alla pagina Plugin > Plugin installati all'interno di WordPress:

In questa schermata, seleziona tutte le caselle di controllo per ciascun plug-in – puoi utilizzare la casella di controllo globale in alto per risparmiare tempo – e scegli Disattiva dal menu a discesa Azioni collettive :

Questo disattiverà tutti i plug-in, ma si spera che risolverà anche il problema dei permalink che interessa il tuo sito.
Quindi, abilita ogni plug-in a turno finché non scopri che i tuoi permalink non funzionano più. Una volta trovato il plug-in, disattivalo di nuovo e ripristina il tuo sito com'era, senza il plug-in offensivo.

A questo punto, hai alcune opzioni:
- Elimina del tutto il plug-in se non ne hai più bisogno.
- Trova un'alternativa, a partire dalla directory dei plugin di WordPress.
- Contatta lo sviluppatore per farglielo sapere e per chiedere una correzione.
In ogni caso, ti consigliamo di mantenere il plug-in disabilitato fino a quando non avrai una risoluzione, poiché non vorrai che i tuoi permalink rimangano interrotti.
3. Configura il tuo server Apache
Anche se ora non sono così popolari come prima, i server Apache sono ancora un modo solido per ospitare il tuo sito web. Inoltre, sono semplici da gestire per l'utente medio (che ha degli svantaggi, ma questo è per un altro articolo).
Pertanto, diamo un'occhiata ad alcune attività che puoi svolgere per far funzionare nuovamente i tuoi permalink WordPress.
Lavora con il tuo file .htaccess per far funzionare di nuovo i tuoi Permalink
Proprio come alternare diverse strutture di permalink all'interno di WordPress, puoi anche ripristinare il tuo file .htaccess di sorta. Per chi non lo sapesse, questo è un file di configurazione che aiuta il tuo server a gestirne il contenuto. Puoi modificarlo con nuove istruzioni, ma in questo caso vogliamo disabilitarlo (o almeno, non lasciare che il server lo utilizzi temporaneamente).
Puoi modificare il file .htaccess con nuove istruzioni, ma in questo caso vogliamo disabilitarlo (o almeno, non lasciare che il server lo utilizzi temporaneamente).
Per questo, ti consigliamo di accedere al tuo server utilizzando le credenziali che hai ottenuto in precedenza e il client SFTP scelto. Una volta che sei dentro, ti consigliamo di navigare al sito giusto. Se è l'unico sul tuo server, non dovrebbe essere troppo difficile. Tuttavia, per più di un sito, cerca qualcosa con un nome specifico.
Se non riesci a vedere il nome del tuo sito, è possibile che sia l'installazione principale per il tuo server. In questo caso, cerca www , root , public_html o qualcosa di simile. I file del tuo sito saranno lì.
Una volta che sei nel posto giusto, cerca il tuo file .htaccess . Dovrebbe essere nella directory di livello più alto:

Sebbene tu possa eseguire il backup di questo file, rimarrà sul tuo server, ma con un nome diverso. Per fare ciò, fai clic con il pulsante destro del mouse sul file e, dal menu di scelta rapida, trova l'opzione Rinomina (o simile):

Ciò farà sì che WordPress salti il file .htaccess , come se non esistesse. Da qui, ti consigliamo di ripristinare i tuoi permalink come nel primo passaggio della nostra guida. Questo creerà un nuovo file .htaccess sul tuo server e, a quel punto, puoi verificare se i tuoi permalink non funzionano.
Se funzionano, qualcosa all'interno del tuo file .htaccess sarà la causa del tuo errore di permalink. Potresti voler eseguire alcuni lavori di taglia e incolla per trovare quali linee causano il problema, ma poiché hai un file .htaccess nuovo di zecca pronto per l'uso, potrebbe non essere necessario.
Aggiungi la regola AllowOverride alla tua configurazione di Apache File
Per questo prossimo suggerimento, dovrai trovarti nella cartella principale del tuo server. Questo è il livello più alto a cui puoi accedere e tieni presente che alcuni host potrebbero non consentirti di farlo. Pertanto, se utilizzi un server condiviso, questa non sarà un'opzione per te. Tuttavia, coloro che gestiscono il server o utilizzano una rete privata virtuale (VPN) possono effettuare le seguenti operazioni.
Saprai se sei nel posto giusto perché ci sarà una cartella etc. Mentre alcuni server avranno un percorso e un file etc/httpd/httpd.conf
, i server Linux possono utilizzare etc/apache2/apache2.conf
:

Ti consigliamo di aggiungere una regola al file apache2.conf che ti consente di ignorare alcuni aspetti del server in base alla directory. Non entreremo nei dettagli di questo qui, poiché non è necessario comprendere le complessità. Tuttavia, ti consigliamo di assicurarti di eseguire il backup prima di provare questo.
Di nuovo nel tuo client SFTP, vai al file apache2.conf e aprilo nel tuo editor di testo. All'interno, cerca la seguente suite di codice:
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
Ti consigliamo di modificare la riga AllowOverride None
in AllowOverride All
. Una volta salvate le modifiche, ti consigliamo di verificare se i tuoi permalink funzionano. In caso contrario, potrebbe essere necessario riavviare il server. Questa è una tecnica avanzata che utilizza l'accesso Secure Shell (SSH). Ne parliamo in un altro articolo sul blog.
Quando sei nel tuo server, inserisci sudo systemctl restart apache2
per riavviarlo. A causa della complessità dei diversi host, ti consigliamo di parlare con loro in caso di problemi. Molti host hanno un modo personalizzato per accedere al tuo server e vorrai trovare l'approccio più ottimale.
4. Configura il tuo server Nginx
Nginx è un'auto da corsa super fluida rispetto alla Hot Rod di latta di Apache. In quanto tale, ha molti fan e una grande quota di mercato rispetto alla concorrenza.
Lo svantaggio qui è che trovare i file di cui hai bisogno è più complicato rispetto ad altri tipi di server. È ancora possibile, quindi ti mostreremo come riparare i tuoi permalink che non funzionano all'interno dei server Nginx.
Trova il tuo file di configurazione Nginx
Innanzitutto, devi trovare il file di configurazione corretto. Potrebbe essere necessario consultare il tuo host per la posizione esatta sul tuo server qui. Per noi, il file si trova nella directory etc/nginx/site-enabled/
, ma il tuo potrebbe differire.
Una volta dentro, cerca un file chiamato default.conf o uno che prende il nome dal tuo sito – di nuovo, consulta il tuo host se necessario. I file di configurazione di Nginx utilizzano blocchi di codice per definire regole diverse e saprai se il file è corretto perché ci sarà un blocco che inizia con server {
.
Quando trovi questo blocco, puoi modificarlo a seconda che il tuo sito sia nella radice o in una sottodirectory.
Modifica il file di configurazione di Nginx
Con il file default.conf aperto e il cursore posizionato attorno al blocco del server
, cerca un altro blocco rientrato, questa volta per location /
. All'interno, aggiungi quanto segue:
try_files $uri $uri/ /index.php?$args;
Il blocco completo dovrebbe essere simile al seguente:
location / try_files $uri $uri/ /index.php?$args;
Ciò si applica solo se il tuo sito si trova nella directory principale del tuo server. Se il tuo sito si trova in una sottodirectory, forse uno dei tanti siti, ti consigliamo di indicare la posizione a quella sottodirectory:
location /subdirectort/ try_files $uri $uri/ /subdirectory/index.php?$args;
Quando salvi le modifiche, riavvia il server usando sudo systemctl reload nginx
. Come per le istruzioni di Apache, potresti non essere in grado di farlo, nel qual caso parla con il tuo host e chiedi loro di aiutarti.
Avvolgendo
I tuoi permalink rappresentano il modo leggibile dall'uomo per accedere a post e pagine sul tuo sito web. Se si sbagliano, le ricadute potrebbero mettere in ginocchio il tuo sito. Abbastanza spesso, il primo che saprai che i tuoi permalink non funzionano in WordPress è l'alto numero di 404 errori che i tuoi utenti riceveranno.
Per risolverlo, lo scenario migliore sarà quello di ripristinare i tuoi permalink all'interno di WordPress. Tuttavia, in molti altri casi, dovrai aprire il tuo server ed eliminare (o modificare in altro modo) i file per far funzionare di nuovo le cose. Questo post dovrebbe offrire le competenze e i flussi di lavoro necessari per raddrizzare la nave e continuare a navigare.
I tuoi permalink non funzionano in WordPress qualcosa che hai incontrato prima o qualcosa che stai sperimentando in questo momento? Condividi le tue situazioni, e qualsiasi consiglio correttivo, nella sezione commenti qui sotto!