Cime di Web

Web, informatica, seo, siti, curiosità. Pillole di informatica e non solo…

Web e affini

Risoluzione del conflitto tra Polylang e la struttura del permalink di WordPress e dell’errore 404

Questo articolo offre una guida completa per risolvere il problema 404 in cui Polylang interrompe la struttura dei permalink di WordPress, garantendo una navigazione fluida e il corretto funzionamento del tuo sito web multilingue.

Capire il problema

Polylang è un plugin di WordPress molto utilizzato per creare siti web bilingue o multilingue, permettendo di gestire le traduzioni di post, pagine, media, categorie e tag. Una delle caratteristiche di Polylang è la gestione dei permalink, che include prefissi linguistici o domini diversi per le varie lingue. Tuttavia, questa funzionalità può interferire con le impostazioni predefinite dei permalink di WordPress.

Il problema principale risiede nel modo in cui Polylang gestisce i permalink, modificando l’opzione rewrite_rules all’interno di WordPress. WordPress rigenera occasionalmente queste regole di riscrittura, sovrascrivendo le impostazioni personalizzate di Polylang, il che può causare la rottura dei permalink e generare errori 404 per i visitatori del sito.

La soluzione: un approccio al codice personalizzato

Per risolvere il conflitto tra Polylang e le strutture dei permalink di WordPress, è possibile utilizzare un frammento di codice personalizzato. Questo codice impedisce a WordPress di sovrascrivere le impostazioni dei permalink personalizzati di Polylang rimuovendo l’opzione rewrite_rules in determinate condizioni. Ecco come procedere:

Passaggio 1: accedi al file functions.php del tuo tema

La correzione consiste nell’aggiungere una funzione personalizzata al file functions.php del tuo tema. Puoi accedere a questo file tramite la dashboard di WordPress andando su Aspetto > Editor del tema. In alternativa, puoi usare un client FTP per modificare il file direttamente sul tuo server.

Passaggio 2: Inserisci il codice personalizzato

Copia e incolla il seguente frammento di codice nel tuo file functions.php, preferibilmente alla fine:

add_action(‘wp’, ‘polylang_remove_rewrite_rules’);
function polylang_remove_rewrite_rules() {
if (function_exists(‘pll_the_languages’)) {
delete_option(‘rewrite_rules’);
}
}

Questo codice si aggancia all’azione wp di WordPress, che viene eseguita dopo il caricamento di WordPress ma prima dell’invio delle intestazioni. La funzione polylang_remove_rewrite_rules verifica se Polylang è attivo (controllando l’esistenza della funzione pll_the_languages). Se Polylang è attivo, elimina l’opzione rewrite_rules dal database di WordPress, impedendo a WordPress di sovrascrivere la struttura del permalink personalizzata di Polylang.

Conclusione

L’integrazione di Polylang con WordPress offre una soluzione potente per creare siti web multilingue, ma possono sorgere conflitti come quello descritto qui, che influenzano la navigazione del sito e l’esperienza utente. Implementando la soluzione di codice personalizzato fornita, puoi garantire che i permalink del tuo sito web rimangano intatti, consentendo ai visitatori di accedere senza problemi ai contenuti nella loro lingua preferita. Ricorda di eseguire il backup del tuo sito web prima di apportare modifiche per evitare potenziali problemi.

Se incontri difficoltà o se il problema persiste dopo aver applicato questa correzione, considera di contattare le community di supporto di WordPress e Polylang o di cercare assistenza professionale. La natura collaborativa dell’ecosistema WordPress garantisce che l’aiuto sia sempre disponibile per chi ne ha bisogno.

Antonio Sisto

Consulente informatico di Bari, creo siti web per piccole e medie imprese e privati. Gestisco la loro comunicazione classica e digitale (passando dal cartaceo ai social e web). Sono un webmaster con la passione per il marketing tecnologico e digitale, e una spiccata dose di abilità nella comunicazione politica. Realizzo anche ecommerce, grafiche, video e foto e sopratutto curo le campagne pubblicitarie digitali. Se cerchi la creazione di siti web a Bari, un webmaster specializzato nello sviluppo di siti web, ecommerce, social, campagne pubblicitarie, seo & sem, rebranding, allora contattami..

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *