Query String e URL parametriche: cosa sono e come gestirle a livello SEO​

Query strings e url parametriche sono un efficace strumento che può tornare utile in moli casi, specie quando si gestiscono grandi siti che utilizzano sistemi di filtraggio dei contenuti. Il caso più emblematico è quello degli e-commerce. Vediamo come funzionano e come utilizzarli al meglio.

Query string e url parametriche: cosa sono

Una url parametrica è un indirizzo che oltre a contenere i dati del nome dominio e dell’eventuale cartella in cui è contenuta la risorsa (pagina, immagine, ecc.), contiene anche una stringa con delle ulteriori informazioni per filtrare la ricerca, una query string appunto.

Il classico esempio è quello offerto dagli ecommerce. Quando si filtrano i prodotti per un parametro, taglia, colore, ecc. solitamente la url cambia, aggiungendo una stringa a prima vista poco comprensibile alla fine dell’indirizzo della pagina iniziale del catalogo prodotti.

In quei parametri a guardare più attentamente si intravedono i dati del filtro applicato.

Query string: le regole

Chiaramente le query string rispondono a delle precise regole, dettate dal protocollo di utilizzo (http) ma anche dai browser. Vediamo le regole principali:

  • Lunghezza: il protocollo HTTP non prevede una lunghezza massima della stringa ma i browser sì. Si tratta di una misura che è intorno ai 2000 caratteri;
  • Caratteri riservati: dal momento che hanno delle funzioni specifiche all’interno delle url, i caratteri “$” “&” “+” “,” “/” “:” “;” “=” “?” “@” per poter essere utilizzati devono essere codificati
  • Caratteri non sicuri: ” ” (spazio) “”” (doppi apici) “<” “>” “#” “%” essendo ambigui, anche questi devono essere codificati prima di essere trasmessi

Come avviene la codifica? La codifica si basa sulla regola per cui ogni carattere da codificare viene sostituito dal simbolo % seguito dalle due cifre corrispondenti al carattere nel sistema esadecimale. In questo modo si ottiene una codifica URLencode.

La sintassi delle query string prevede che ad ogni parametro segua il simbolo “=” e il valore a esso attribuito:

parametro=valore

La separazione fra parametri diversi avviene invece mediante l’utilizzo del simbolo “&”. La sintassi non prevede spazi, per cui si avrà una stringa di questo tipo:

?taglia=M&colore=blu

Perché query string e url parametriche sono importanti

Oltre che a fornire una url parlante, le url parametriche rappresentano anche un modo per rendere unica una pagina come la selezione di un filtro, che altrimenti non potrebbe esserlo. Questo significa che:

  • È possibile avere una url univoca per categorie custom create con i filtri
  • È possibile ottenere un link verso queste pagine

Questi due risultati consentono quindi di gestire le pagine filtrate come pagine autonome e di poter aggiungere link specifici verso queste. Se ad esempio all’interno di un articolo del magazine del mio ecommerce volessi aggiungere un link verso la pagina con le scarpe marroni di un determinato brand, l’unico modo che ho per farlo è utilizzare una url parametrica che contenga le informazioni di questo specifico filtro.

Se da un lato però le url parametriche consentono di “creare” pagine un url univoco basato su determinati parametri, la proliferazione di pagine che si ha in questo modo deve essere gestita in maniera oculata, altrimenti il rischio è quello di generare una miriade di pagine che il motore di ricerca vedrà come contenuti duplicati. In ottica SEO questo non sarebbe certo un buon segno.

Come gestire query strings e url parametriche in ambito SEO

Una buona SEO non può infatti non occuparsi di gestire questi elementi. Oltre al rischio di duplicazione dei contenuti va considerato quello della cannibalizzazione. Non è infatti escluso che i motori di ricerca indicizzino per keyword fondamentali non le pagine di categoria ma pagine con filtri specifici, di fatto cannibalizzandole.

Diventa quindi fondamentale gestire questo tipo di pagine in maniera intelligente. Come? Le scelte da fare non sono sempre facili, riportiamo alcuni esempi di considerazioni da fare:

  • Studiando bene l’architettura del sito e applicando una politica di canonicalizzazioni che privilegi le pagine più importanti
  • Valutando se è il caso di rendere canonica una pagina con url parametrica particolarmente importante perché genera traffico
  • Circoscrivere un perimetro sensato oltre il quale non far indicizzare le pagine: inutile esaurire il crawl budget per indicizzare pagine relative all’ordinamento dei prezzi

Fonte: Huckabay

Come rendere uniche le pagine con url parametriche

Nel momento in cui si vanno a rendere canoniche – con l’intento di indicizzarle – pagine specifiche, dobbiamo poi curare altri elementi fondamentali dell’ottimizzazione SEO che contribuiscano a rendere univoci gli elementi che è possibile distinguere:

  • title e description
  • lingua di traduzione
  • hreflang

Gestire la canonicalizzazione con il tag canonical

Come si è visto, il modo più efficace per scongiurare che i contenuti vengano considerati come duplicati o che le pagine si cannibalizzino a vicenda, è gestire la canonicalizzazione. Il modo più diretto è utilizzare il tag canonical. Si tratta di un tag che deve essere inserito all’interno della <head> della pagina HTML.

Il tag rel=”canonical”, seguito da una url, indica ai motori di ricerca che per la pagina in questione la versione canonica è quella indicata nella url. In questo modo chiediamo ai motori che sia quella la pagina che dovranno indicizzare, e al tempo stesso trasferiamo il valore SEO verso quella pagina.

Gestire le url parametriche con Google Search Console

Un altro modo per gestire le url parametriche è offerto da Google Search Console. All’interno della sezione Scansione > Parametri url è possibile impostare delle regole per specifiche url o per più url che hanno in comune determinati parametri. In questo modo indichiamo a Goglebot come comportarsi quando incontra url con questi parametri.

Deindicizzare le pagine con “nofollow”

Un’altra indicazione che possiamo dare ai motori di ricerca per gestire l’indicizzazione delle pagine è utilizzare l’attributo “nofollow”. In presenza di questo i motori di ricerca sono tenuti (in teoria) a non indicizzare la pagina in questione, escludendola quindi dai risultati di ricerca.

Prima di impostare un nofollow teniamo presente che il crawler non solo non indicizzerà la pagina, ma non sarà neanche tenuto a seguire i link presenti in essa.

Inibire la scansione con la direttiva “nofollow” nel file robots.tx

All’interno del file robots.txt possiamo indicare ai motori di ricerca quali sezioni o pagine del sito chiudere ai motori di ricerca per impedire loro di indicizzarle. La funzione “disallow” ha per l’appunto questo scopo.

Come si intuisce si tratta di un file dal potere potenzialmente enorme. Prima di mettervi mano si consiglia quindi di capire bene come funzionano le sue direttive.