Oggi so che se elimino definitivamente una pagina dal mio sito, devo impostare un codice di risposta HTTP chiamato 410 (Gone). Ma per me non è sempre stato cosi. Quando ho aperto il mio primo sito internet, ho tranquillamente cancellato pagine e rinominato altre modificandone i titoli, senza essere minimamente a conoscenza del fatto che ognuna di queste operazioni andasse gestita.
Se cancelli pagine e prodotti o ne modifichi gli URL, sappi che stai commettendo qualche errore. Quando 5 anni fa ho aperto un piccolo ecommerce, mi sono divertito a cancellare e modificare gli URL delle pagine e dei prodotti senza preoccuparmi di impostare i codici di risposta HTTP. Figuriamoci, a malapena ne conoscevo l’esistenza. Poi un giorno, dopo aver inserito il sito nella Google Search Console (ex WMT ovvero Webmaster tool) ho scoperto una miriade di errori.
Anni fa dovevo aprire un ecommerce e mi trovai di fronte a due possibilità:
- creare il sito con un CMS tipo Magento, Prestashop
- Affidarmi ad una di quelle piattaforme tutto compreso (server+hosting+CMS)
Non avendo le conoscenze per poter fare tutto da solo, optai per la seconda. Quando entrai nell’admin, navigando fra tutte le decine di voci, incappai in un termine assolutamente nuovo per me e di cui ignoravo il significato: “Impostazioni SEO“. E’ pazzesco pensarci oggi, ma SEO non mi diceva assolutamente nulla.
Una volta cliccato su quella voce, si aprì una finestra al cui interno c’erano tre spazi vuoti da riempire:
- il title
- la meta description
- la keyword
A quel punto una ricerca su Google fu obbligatoria. Fu cosi che scoprii dei programmi come il Meta Tag generator che ti segnalavano il numero di caratteri restanti da poter inserire per ciascuna voce e che utilizzo ancora oggi proprio per questa comoda funzione.
Con il tempo migliorai i risultati ottenuti, non più limitandomi a non superare le misure consigliata ma attraverso il check up del sito o utilizzando il free meta tag analyzer, cominciai a giocare con le parole nel tentativo di portare il punteggio ottenuto, al numero più alto possibile. Più il numero era alto e più io ero felice, convinto che grazie a questo il mio sito avrebbe scalato le SERP.
Per anni ho pensato che la SEO fosse solo scrivere title, metadescription e scegliere una keyword. Il sospetto che non fosse proprio cosi mi venne quando, vedendo siti posizionati meglio del mio, scoprì che il valore dei test sui meta tag delle loro pagine erano nettamente inferiori rispetto ai valori ottenuti dal mio sito. Per esempio la home page del mio sito otteneva un punteggio dell86% ma nella ricerca di Google una con il 33% di punteggio mi stava davanti! Era inaccettabile. Che lavoravo a fare se una pagina con un punteggio cosi tanto più basso della mia era posizionata meglio?
Iniziò cosi la mia ricerca su come migliorare la posizione di un sito ed iniziai anche a leggere e chiedere informazioni sui forum. Ma quello che leggevo non mi piacque molto e mi riferisco ai backlinks. Tutt’oggi il numero totale di backlink ha ancora un certo peso negli algoritmi di Google. Comprendo l’idea di Google di premiare un sito per il numero e la qualità dei link che riceve visto che li considera come un voto. Ma poiché (a parte casi estremi di link building) Google non può automaticamente determinare se quel backlinks è un voto che il sito si è dato da solo, allora non andrebbe calcolato. Utopico? Ma è come se uno studente avesse accesso al registro dell’insegnate e si desse un bel voto che andrebbe a far media con gli altri. Vi pare etico? Per fare un esempio, se un’azienda invia campioni dei suoi prodotti per riceverne in cambio una recensione ed un links verso il proprio sito e chi recensisce lo fa come se avesse comprato quel prodotto, eticamente che valore può avere quel voto/backlinks? Ecco perché secondo me non andrebbe data tutta questa importanza ai backlinks ma al testo, alla sua utilità. Mi rendo conto che è come un gatto che si morde la coda perché l’utilità o la qualità di un articolo, sono calcolati proprio in base ai voti e interazioni che quell’articolo riceve. Come ha scritto Francesco Margherita, la qualità di un articolo non la decidi tu che lo scrivi.
Ma torniamo al 410 gone. Come ci sono arrivato? Esattamente il 27 aprile del 2015, da ignorante quale ero (oggi lo sono un po’ meno), ho voluto aggiungere un’altra lingua al mio sito che già era bilingue. Sempre da ignorante credevo che aggiungendo una lingua avrei aumentato il numero di clienti perché avrei raggiunto più persone. In teoria è cosi, ma non vuol dire che basta andare nell’admin e aggiungere una lingua straniera! E’ importante sottolineare gli errori grossolani a cui può andare incontro una persona senza esperienza e che paga sulla propria pelle ogni errore.
Sapete cosa sono i contenuti duplicati? E l’hreflang? Per questo non mi dilungo oltre e vi invito, se interessati, a scoprire e leggere tutti i metodi che ho utilizzato per eliminare migliaia di contenuti duplicati, riducendo drasticamente il loro numero da 600 che erano, a poco meno di un centinaio.
Ebbene, nonostante io le abbia provate tutte, ma proprio tutte e abbia ridotto sensibilmente i contenuti duplicati, questi non sono spariti del tutto. Il motivo è semplice: senza hreflang Google non distingue le 3 diverse lingue, valutandole come duplicate l’una dell’altra. I contenuti duplicati sono molto gravi.
Ora, se avessi potuto controllare il sito, avrei potuto impostare gli hreflang oppure eliminare la lingua francese, che sembrerebbe la soluzione più logica. Certo! Solo che, se ricordi, ho esordito scrivendo “se desidero eliminare permanentemente una pagina da un sito devo impostare il codice 410 (Gone).” E come si fa? E cosi è iniziata la mia odissea alla scoperta della formula segreta (vi giuro che ad un certo punto ho pensato che la Coca-Cola fosse l’intestataria della formula vista la difficoltà nel reperirla) per il 410 gone.
Poiché il sito si trova su una piattaforma tutto compreso, non ho accesso al file .htaccess, non ho accesso alla root principale del sito, non ho accesso all’head di ciascuna pagina. Chi gestisce la piattaforma, mi ha gentilmente concesso la possibilità di passargli la formula del 410 gone, per testarla con il loro CMS. In caso di esito positivo avrei potuto passare loro tutte le formule, una per ogni pagina che avrei eliminato dal sito.
Si d’accordo ma qual è questa formula?
Le mie ricerche su internet mi portano ad un nulla di fatto. Domande sui forum e nei gruppi non riescono a farmi ottenere alcun risultato. Leggere vecchie discussioni non mi porta mai a capire effettivamente cosa avrei dovuto fare. Le informazioni erano incomplete, parziali, giuste a volte, ma affrontavano l’argomento in modo parziale, di certo tutto quello che avevo imparato a fare nell’ultimo anno non era sufficiente in termini di conoscenze a permettermi di trovare da solo la soluzione. Ad un certo punto, dopo quasi due settimane ho abbandonato e mi sono buttato alla ricerca di altre soluzioni. Dopo due mesi però, avendo partorito solo soluzioni molto rischiose di cui non si conoscevano le conseguenze, ho nuovamente ripensato al 410 gone e questa volta ho rilanciato la sfida: mi sono catapultato nel gruppo I fatti di Seo e Alberto Cattagni mi ha finalmente chiarito tutto.
Come creare le direttive del 410 gone
Ci sono 3 cose da fare per il 410
- creare una pagina html di atterraggio per l’utenza che puoi chiamare per esempio 410.html e che va inserita nella root principale del sito.
- scrivere la regola rewrite url da inserire nel file .htaccess
- chiudere con la formula ErrorDocument 410 /410.html dove per 410.html si intende la pagina di destinazione a cui l’utente sarà indirizzato.
La formula finale, considerando una sola pagina eliminata dal sito, potrebbe essere questa:
RewriteEngine On
RewriteBase /
RewriteRule ^product.php~idx~~~2~~nometuoprodotto~ – [G]
ErrorDocument 410 /410.html
Per quanto riguarda il punto 2, se le pagine da eliminare fossero centinaia, occorrerebbe verificare che fra le url ci sia un pattern in comune che ti permetta di creare una sola formula, perché altrimenti se non fosse possibile, sarebbe necessario creare una ad una le url della pagine eliminate. Queste andranno inserite una dopo l’altra, prima della riga ErrorDocument 410 /410.html che andrà a chiudere la formula.
Solitamente, a meno che il sito non abbia url dinamiche, è difficile che tu riesca a trovare pattern in comune fra gli indirizzi delle pagine. Le pagine dinamiche invece è più probabile che ti offrano questa possibilità. Vediamo un esempio:
http://www.miosito.com/product.php~idx~~~6~~locale~~~74~~prodotto1~.html
http://www.miosito.com/product.php~idx~~~2~~locale~~~74~~prodotto2~.html
http://www.miosito.com/product.php~idx~~~6~~locale~~~106~~prodotto3~.html
Puoi vedere come queste url abbiano in comune i pattern “php”, “idx”, “locale” e “74” e che si possa creare quindi una regola unica, che comprenda tutte queste url.
Una volta che la tua formula finale sarà pronta, carica la pagina 410.html nella root principale e la formula nel file .htaccess.
Testa gli url che hai inserito e che dovrebbero restituirti la pagina 410 che hai creato, quando poi compariranno nella Search Console di Google andranno rimossi tramite la funzione Rimozione URL. Dovrai attendere che Google li rimuova, potrebbero volerci alcuni giorni.