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.

410-gone-elimina-pagina-sito

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à:

  1. creare il sito con un CMS tipo Magento, Prestashop
  2. 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 inacettabile. 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 da un’indagine di Backlinko sui fattori di posizionamento su Google, sembra che il numero totale di backlink abbia 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 builiding) 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 pò 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, ruducendo 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

  1. creare una pagina html di atterraggio per l’utenza che puoi chiamare per esempio 410.html e che va inserita nella root pricipale del sito.
  2. scrivere la regola rewrite url da inserire nel file .htaccess
  3. 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, occorrebbe 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. Se non sai come fare contattami.

Potrai testare la validità di ogni formula inserendola in questo tool di rewrite tool tester. Successivamente scaricati l’estensione per firefox LiveHTTPHeaders, che serve per vedere le risposte del server.

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.

La formula segreta del 410 gone: elimina le pagine del sito

5 pensieri su “La formula segreta del 410 gone: elimina le pagine del sito

  • 8 marzo 2016 alle 10:05
    Permalink

    Pasquale, un articolo di grande qualità su cui non ho niente da aggiungere dal punto di vista tecnico.
    Riguardo al discorso dell’etica su come ci si procura i backlink cosa posso mai dirti.
    Sinceramente in un mondo capitalista non lo vedo un vero problema. Lo sappiamo bene che la maggior parte dei siti in giro acquista link in un modo o nell’altro, sia pagandoli, sia attraverso campagne si merchandising oppure attraverso degli scambi link ad ampio raggio.
    Una volta si pensava che la rete fosse uno strumento democratico, ma amettiamolo, chi ha più risorse ha sempre una marcia in più, può permettersi di investire di più in contenuti, consulenze e tools.

    Rispondi
    • 10 marzo 2016 alle 21:37
      Permalink

      Grazie Mirko per i complimenti. Ci penso spesso a come Google potrebbe valutare un sito senza ricorrere ai backlinks. Capisco il ragionamento che sta a monte della loro scelta, ma spero in un mondo virtuale dove non primeggi chi ottiene più backlinks ma dove venga premiato il contenuto migliore…..anche se ogni volta che mi lancio in questi pensieri poi penso: e come sarà deciso chi è il migliore? Ah si, in base agli apprezzamenti che riceve. E siamo punto e a capo 🙂

      Rispondi
  • 5 giugno 2017 alle 11:32
    Permalink

    Articolo molto bello, purtroppo mi servirebbe farlo in magento e questo sistema non funziona perchè pare magento abbia un sistema tutto suo e baipassi il rewrite messo così nell htacess.
    Hai sperimentato o fatto dei test per il 410 in magento ?

    Rispondi
    • 17 giugno 2017 alle 14:10
      Permalink

      No, con magento non ho provato.

      Rispondi
      • 18 giugno 2017 alle 13:09
        Permalink

        Perfetto, sto implementando sul mio negozio di articoli sportivi online Mancini Store la logica del 410 e ho preso come base di partenza un semplice modulo di atwix che fa l’override della classe del core che intercetta le pagine noroute e le manda in 404 scrivendo un log o inviando la notifica via email. Quello che vorrei fare é creare in una tab del db u elenco d url da mandare in 410, se la pagina chiamata é presente nella url la mando in status 410 gone altriment 404. Trattandosi di un negozio di articoli sportivi, nel reparto scarpe trail o abbigliamento sportivo, ho molti prodotti stagionali che durano online massimo 2 o tre mesi, pertanto gestire correttamente lo status sulle url é di fondamentale importanza per non bruciare inutilmente il budget del crowler.

        Rispondi

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *