rel=canonical: come funziona, a cosa serve, come impostarlo

rel=canonical è un attributo HTML che viene utilizzato per indicare ai motori di ricerca (Bing, Google, …) quale versione di una pagina web è considerata la versione principale. Questo è utile qualora ci siano diverse versioni simili di una stessa pagina per evitare problemi di duplicazione del contenuto e per aiutare i motori di ricerca a capire quale versione dovrebbe essere indicizzata (e mostrata nei risultati di ricerca).

Come funziona rel=canonical nella pratica

Immagina di avere diverse versioni di una pagina web, magari con piccole variazioni nell’URL, nei parametri di query o nel contenuto. Questo potrebbe accadere, ad esempio, in siti che utilizzano pagine dinamiche generate da parametri o sessioni utente, soprattutto se il CMS non è ottimizzato nè ottimizzabile lato SEO. Utilizzando l’attributo rel=canonical, puoi indicare al motore di ricerca quale versione di quella pagina è considerata la versione ufficiale e preferita da indicizzare.

Come aggiungere il rel=canonical con un hook WordPress

In WordPress, puoi utilizzare un hook per inserire l’attributo rel=canonical nella sezione <head> delle tue pagine. Un modo comune per farlo è utilizzare il hook wp_head, che ti consente di aggiungere codice personalizzato all’interno dell’area <head> di tutte le pagine del tuo sito. Ecco come puoi farlo:

  1. Apri il file functions.php del tuo tema: Apri il file functions.php del tema WordPress in cui desideri inserire l’attributo rel=canonical.
  2. Aggiungi il codice con il hook wp_head: Aggiungi il seguente codice al tuo file functions.php:
php
function add_canonical_tag() {
    if (is_singular()) {
        echo '<link rel="canonical" href="' . esc_url(get_permalink()) . '" />' . "\n";
    }
}
add_action('wp_head', 'add_canonical_tag');

In questo esempio, la funzione add_canonical_tag verifica se la pagina visualizzata è un singolo articolo, pagina o tipo di post personalizzato. Se è così, viene aggiunto l’attributo rel=canonical all’URL della pagina corrente.

  1. Salva le modifiche: Salva le modifiche apportate al file functions.php.

Ora, ogni volta che un singolo articolo, pagina o tipo di post personalizzato viene visualizzato, l’attributo rel=canonical verrà automaticamente aggiunto all’intestazione <head> della pagina, puntando all’URL della pagina corrente. Questo aiuterà i motori di ricerca a capire quale versione della pagina dovrebbe essere considerata quella principale.

Ricorda sempre di eseguire backup del tuo sito e di testare attentamente le modifiche che apporti al codice del tema, per evitare problemi di compatibilità o di visualizzazione. Non fare mai queste modifiche direttamente sul sito online!

Come aggiungere il rel=canonical su una pagina web fatta in PHP

In una pagina web PHP, puoi inserire l’attributo rel=canonical direttamente nel codice HTML della pagina. Puoi farlo utilizzando PHP per ottenere l’URL della pagina corrente e quindi stampare l’elemento <link> nell’intestazione <head>. Ecco un esempio di come farlo:

php
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>La mia Pagina</title>
    
    <?php
    // Ottieni l'URL della pagina corrente
    $current_url = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    ?>
    
    <!-- Inserisci l'attributo rel=canonical nell'intestazione head -->
    <link rel="canonical" href="<?php echo esc_url($current_url); ?>" />
</head>
<body>
    <!-- Il contenuto della tua pagina qui -->
</body>
</html>

In questo esempio, la variabile $current_url viene utilizzata per ottenere l’URL completo della pagina corrente utilizzando le variabili globali $_SERVER['HTTP_HOST'] e $_SERVER['REQUEST_URI'].

Successivamente, l’attributo rel=canonical viene inserito nell’intestazione <head> dell’HTML utilizzando il valore dell’URL corrente ottenuto dalla variabile $current_url.

Assicurati di inserire questo codice nella tua pagina PHP al punto in cui desideri che l’attributo rel=canonical venga generato e visualizzato nell’HTML.

Quando e perchè usare il rel=canonical

In molti casi, Search Console alla mano, Google riesce ad individuale la versione canonica di ogni pagina web senza troppi patemi, per cui l’attributo non è utile e normalmente non è necessario farne uso. Nel caso di CMS molto vecchi o di personalizzazioni del codice, al contrario, può essere fondamentale intervenire su di esso e impostarlo per tutte le pagine, cosa che deve avvenire in maniera dinamica (ogni pagina web deve essere in grado di “vedere” o determinare l’URL canonico rispettivo da inserire come attributo del tag <link>).

L’utilizzo dell’attributo rel=canonical è fondamentale, in altri casi, per diverse ragioni:

  1. Evitare il Duplicate Content: Se ci sono diverse versioni simili di una pagina, i motori di ricerca potrebbero considerarle come duplicati di contenuto. Questo può influire negativamente sulla classificazione e sull’indicizzazione delle pagine.
  2. Concentrare l’Autorità: Indirizzando tutti i link in arrivo (backlink) verso la versione preferita di una pagina, puoi concentrare l’autorità di quei link sulla versione principale. Ciò può migliorare le probabilità di ottenere un posizionamento migliore nei risultati di ricerca.
  3. Migliorare l’Esperienza Utente: Indirizzare i motori di ricerca verso la versione corretta può migliorare l’esperienza dell’utente, garantendo che vedano il contenuto più rilevante e aggiornato.

Come impostarlo in generale

Per impostare correttamente l’attributo rel=canonical, segui questi passaggi:

  1. Identifica la Versione Preferita: Decide quale versione della pagina desideri indicizzare. Questa dovrebbe essere la versione che ritieni più rilevante o completa.
  2. Aggiungi il Tag HTML: Nel <head> della pagina, aggiungi il tag <link> con l’attributo rel="canonical" e l’URL completo della versione preferita. Ecco un esempio:html
  1. <link rel="canonical" href="https://www.example.com/pagina-preferita" />
  2. Verifica l’Implementazione: Dopo aver aggiunto l’attributo rel=canonical, verifica che sia configurato correttamente. Puoi farlo controllando il codice sorgente della pagina o utilizzando strumenti di analisi SEO per confermare che il tag sia presente e abbia l’URL corretto.

Ricorda che l’attributo rel=canonical è un’indicazione per i motori di ricerca, quindi non influisce direttamente sulla visualizzazione o sulla funzionalità della pagina per gli utenti, ma permette di effettuare l’indicizzazione di alcuni tipi di contenuti dinamici che altrimenti rimarrebbero nascosti.