• Moderatore

    [Joomla 3.3] Rel canonical e query string

    Mi sto occupando di questa questione su Joomla 3.3, ma al di là della release del CMS il problema è secondo me di impostazione. La domanda è:
    come impostare il rel canonical in presenza di query string?

    Faccio un esempio.
    Caso 1. Per questa pagina/url:

    
    http://www.iltuocinema.com/commedia.html
    
    

    che mostra vari articoli, ciascuno per una pellicola del genere commedia, potrei avere più di un URL con query string per ordinare i risultati in base a diversi parametri:

    
    http://www.iltuocinema.com/commedia.html?data=decr
    http://www.iltuocinema.com/commedia.html?durata=incr
    
    

    Se il contenuto è il medesimo io credo che il rel canonical vada sempre alla stessa pagina con la url senza query string:

    
    http://www.iltuocinema.com/commedia.html
    
    

    Siete d'accordo?

    Caso 2. E se avessimo invece query string che modificano il contenuto, come quelle di selezione?

    
    http://www.iltuocinema.com/giallo?director=hitchcock
    
    

    Questa pagina potrebbe selezionare tutti i film del regista inglese. So bene che questa URL andrebbe riscritta in modalità SEF, ma il problema che mi pongo è: se viene inserita una tale URL come dovrebbe comportarsi Joomla, in particolare dove dovrebbe puntare il rel canonical?


  • Moderatore

    Ciao FDA,
    il primo caso è corretto così come l'hai pensato, il secondo se non riscrivi la URL sarà sempre poco corretto, sia che finisca in giallo, sia che diventi il canonical di se stesso.

    Maurizio ZioPal


  • Moderatore

    Ciao Maurizio.
    Grazie della risposta. 🙂

    Ho fatto questo ragionamento, ad esempio proprio con la pagina ipotetica iltuocinema.com/giallo: se tal dei tali linka da profilo autorevole iltuocinema.com/giallo?director=hitchcock e l'url viene condiviso più volte cosa accade? Se non metto il rel=canonical a giallo allora delle due l'una:

    • se il contenuto è identico a *giallo *abbiamo un contenuto duplicato;
    • se il contenuto è differente abbiamo una pagina diversa da indicizzare e dovrebbe essere il canonical di se stesso.

    La mia ipotesi è che, se quel URL fosse "importante", allora esisterebbe un componente in grado di fare il routing diversamente e trasformarlo in friendly. In assenza di un tale componente presumo che la parte ?parametro=valore non modifichi il contenuto e che quindi il rel canonical vada a giallo, cioè all'URL senza query string.

    Il ragionamento fila?


  • Moderatore

    Ciao Francesco,
    non so che vuoi sapere quando dici "il ragionamento fila?" 🙂

    Per come l'hai esposta la pagina iltuocinema.com/giallo?director=hitchcock non può che essere una URL riscritta, diversamente non sarebbe un contenuto duplicato ma un contenuto perso, non indicizzato, perché canonicalizzato su *iltuocinema.com/giallo.

    Maurizio ZioPal
    *


  • Moderatore

    Se ho ben capito, quindi, tu dici che un URL come iltuocinema.com/giallo?director=hitchcock non è normale che sia in questa forma e dovrebbe invece essere "friendlyzzata". Bene così.

    Queste URL però sono potenzialmente infinite, a qualunque pagina possiamo attaccare ?parametro=valore. Un componente SEO/SEF come dovrebbe rispondere in presenza di queste URL?

    Scartato il rel=canonical all'URL "troncato" (cioè a iltuocinema.com/giallo), posso fornire un URL a scelta, ad esempio proprio quello troncato, ma mettere un 404?


  • Moderatore

    Il problema è che se iltuocinema.com/giallo?director=hitchcock è una pagina con contenuto specifico va persa. Teoricamente se si tratta di un semplice filtro andrebbe canonicalizzato giallo, in realtà potrebbe essere il caso di un filtro "talmente importante" da meritare una pagina.

    A questo punto diventa più un problema strategico del proprietario quello di trasformare il filtro hitchcock in una voce di menù e una pagina a se stante, tu potresti regolarti sul canonical al giallo se effettivamente rappresenta una sua derivazione.

    Maurizio ZioPal


  • Moderatore

    Grazie Maurizio. :wink3: