Slash finale negli URL del sito: meglio con o senza?

Aggiornato il: 14-08-2022 10:17
Ci vuole o non ci vuole? Non c’è una risposta certa ma è discorso, semmai, di stabilire uno standard e seguirlo fedelmente. Con o senza slash finale non cambia praticamente nulla lato SEO, purchè insomma ci sia uniformità. Partiamo dallo standard classico: in genere, lo slash finale indica una directory mentre l’assenza di slash indica un file.

http://pippo.com/foo/ (directory)
http://pippo.com/foo (file)

Ma questa corrispondenza non è nè rispettata nè tantomeno richiesta o obbligatoria: più che altro, la presenza dello slash finale nell’URL garantisce una sostanziale uniformità di trattamento del sito, e questo soprattutto per evitare che Google o gli utenti possano rilevare che

http://pippo.com/foo/
http://pippo.com/foo

siano subdolamente due pagine diverse, quando in realtà sono la stessa pagina.

Secondo le linee guida di Google, lo slash finale non è troppo importante ai fini dell’indicizzazione purchè sia presente un rel=canonical adeguato che, ovviamente, sia uguale per tutte e due le versione. Questa feature, su cui ho provato a lavorare stamattina, richiede l’uso di hook di WordPress come wp_seo_canonical di Yoast, che al momento in cui scrivo sembra affetta da un bug (per gli URL senza slash finale, nello specifico, rileva una variabile rel=”canonical” vuota, per cui è impossibile aggiungerlo via regex e, soprattutto, attivarla rischia di scatenare effetti collaterarli). Nello specifico, pero’ via Search Console sembra che Google sia tranquillamente in grado di riconoscere le due versioni di URL: se è vero che l’URL non si trova su Google, infatti:

Schermata 2021 02 12 alle 12.17.50

 

al tempo stesso Google ha rilevato la versione canonica dello stesso, che risulta funzionante e regolarmente indicizzata. Falso problema, quindi, in tal caso!

Schermata 2021 02 12 alle 12.17.59

Da un punto di vista utente, sarebbe invece problematico che gli utenti vedano un contenuto con slash a fine URL, ed un contenuto diverso senza: in tal caso non c’è rel=canonical che regga, e bisogna per forza di cose ricorrere a dei redirect 301.

Ora, aggiungere un trailing slash via htaccess o plugin (regex) è una cosa spesso complicata dal fatto che non sappiamo come sia configurato il sito: quindi dobbiamo prima di tutto testare le varie versioni di URL, e verificare se possibile il canonical domain (visto che ci siamo, verifichiamo che il sito sia coerente in tutto lato header HTTP).

Da un punto di vista tecnico dei motori di ricerca, è teoricamente consentito che le due versioni di URL contengano contenuti diversi. I tuoi utenti, tuttavia, potrebbero trovare questa configurazione molto confusa, visto che tantissimi non si accorgono nemmeno se il trailing slash ci sia o meno. Motivo per cui è sempre opportuno, come le buone strategie SEO impongono, semplificare e unificare le due versioni.

Come accorgersi del problema (e risolverlo)

Un check rapido via HTTPStatus.io permette di capire se i due URL rispondano 200 entrambi:

  1. http://<your-domain-here>/<some-directory-here>/
    (con trailing slash)
  2. http://<your-domain-here>/<some-directory-here>
    (senza trailing slash)
Ti potrebbe interessare:  La PEC per privati cittadini è obbligatoria?

Se entrambi rispondono con 200, è come se fossero due pagine differenti; se invece una va in 200 e l’altra in 301, la versione finale dell’URL è quella dove compare il codice 200. Aggiungere il 301 è utile per migliorare le prestazioni del sito e proporre a Google un sito più compatto e meno soggetto ad indicizzazioni accidentali (nel mio caso studio era un discorso risolto all’origine, ma non giurerei affatto che la cosa possa valere anche in altri casi).

In genere questo frammento di direttive HTACCESS dovrebbe aggiungere il trailing slash obbligatorio, a meno che il file non sia molto intricato (nel qual caso vanno fatti vari test sul campo per configurarlo al meglio):

RewriteCond %{REQUEST_URI} !(/$|\.) 
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L] 

Attenzione che questo “maneggiare” porta spesso a loop di redirect che influenzano l’intero sito, quindi procedete sempre con la massima cautela.

Come utilizzare un URL standard e unificato

Cosa succede se il tuo sito offre contenuti duplicati su questi due URL?

http://<your-domain-here>/<some-directory-here>/
http://<your-domain-here>/<some-directory-here>

significa che entrambi gli URL restituiscono 200 (nessuno dei due ha un reindirizzamento o contiene rel = “canonical”): come risolvere?

    1. Scegli un URL come versione preferita. Se il tuo sito ha una struttura di directory, è più convenzionale utilizzare una barra finale con gli URL della directory (ad esempio, example.com/directory/ anziché example.com/directory), ma sei libero di scegliere quello che preferisci.
    1. Sii coerente con la versione preferita. Usalo nei tuoi link interni. Se disponi di una Sitemap, includi la versione preferita (e non includere l’URL duplicato).
    1. Utilizza un reindirizzamento 301 dal duplicato alla versione preferita. Se ciò non è possibile, rel = “canonical” è un’opzione forte. Rel = “canonical” funziona in modo simile a un 301 ai fini dell’indicizzazione di Google e anche di altri importanti motori di ricerca.
    1. Verifica la tua configurazione 301 tramite Visualizza come Googlebot nella Search Console. Assicurati che i tuoi URL:
      http://example.com/foo/
      http://example.com/foo
      si comportano come previsto. La versione preferita dovrebbe restituire 200. L’URL duplicato dovrebbe 301 all’URL preferito.
    1. Verifica la presenza di errori di scansione in Strumenti per i Webmaster e, se possibile, il tuo server web registra per verificare che i 301 siano implementati.


Questo blog pubblica contenuti ed offre servizi free da 11 anni. – Leggi un altro articolo a caso – Per informazioni contattaci
Non ha ancora votato nessuno.

Ti sembra utile o interessante? Vota e fammelo sapere.

Slash finale negli URL del sito: meglio con o senza?
art funny http music Favim.com 262450
Torna su