Skip to content

Dopo aver scritto la guida SEO per Prestashop e le linee guida SEO per un sito eCommerce multi lingua, non potevo ignorare Magento. Magento è considerata una delle piattaforme di eCommerce più impegnative dal punto di vista dello sviluppo e dell’ottimizzazione per i motori di ricerca. La causa di questa “cattiva” fama, tra le altre cose, è da ricercarsi nella complessità del suo motore di riscrittura, nella dipendenza dal contenuto dinamico e dal codice di base più complesso rispetto ad altre piattaforme in PHP.

Non fraintendere quanto ho detto, Magento non è un cattivo CMS anzi, è la Ferrari degli eCommerce, tuttavia per ottimizzare questa macchina complessa serve un meccanico davvero bravo e competente.

Detto questo, tutti i problemi SEO associati alla piattaforma Magento possono essere risolti da un buon consulente SEO, basta sapere cosa sistemare e dove mettere le mani.

In questa guida ti indicherò cosa ottimizzare, molte correzioni tecniche richiederanno probabilmente uno sviluppatore interno. Ad ogni modo non snobbare a prescindere alcuni moduli validi, soluzioni all-in-one come Magento SEO Suite Ultimate extension di MageWorx in grado di risolvere diverse criticità senza dover mettere mano al codice. Questo modulo rende le cose più gestibili: può impostare il tag multi lingua hreflang, correggere gli URL canonici, aggiungere i fatidici dati strutturati (per Magento 1.x), assegnare regole di noindex, ecc. Rivederemo questo modulo più avanti nella guida.

Negli ultimi anni ho fornito consulenza a diverse aziende con eCommerce basati su Magento, incontrando e risolvendo i problemi più vari e disparati. Ho quindi pensato di documentare alcuni dei problemi più comuni in questa guida SEO per Magento.

Nota: al momento in cui scrivo l’ultima versione di Magento è la 2.1.7, ma non disperare se la tua versione è diversa, molti suggerimenti, trucchi e migliorie pratiche sono applicabili anche per versioni precedenti e lo saranno per le versioni future.

Configurazione generale

Magento è una piattaforma eCommerce abbastanza accessibile e comprensibile dai motori di ricerca. Ci sono diversi problemi noti che possono essere corretti per ottimizzare il rendimento dei risultati organici. Se stai per lanciare un nuovo sito web con Magento ti suggerisco di implementare quanto segue, tuttavia se hai un sito già esistente, apportare queste modifiche senza gli opportuni accorgimenti può impattare negativamente sulla visibilità organica.

Raccomandazioni generali per configurare la SEO su Magento:

  • Attiva URL canonici per le pagine di prodotto e di categoria. Config > Catalog > Search engine optimization
  • Imposta gli URL del prodotto al livello superiore. Config > Catalog > Search engine optimization – Allow category path in product URLs, imposta su “no”
  • Attiva la Sitemap XML e creala Catalog > Google Sitemap
  • Abilita la creazione di reindirizzamenti quando gli URL vengono modificati. Tieni d’occhio la riscrittura se vengono aggiunti dei numeri agli URL
  • Assicurati di usare la versione più recente di Magento
  • Abilita la riscrittura degli URL. Questa impostazione si trova in System > Configuration > Web > Search Engines Optimization
  • Un’altra cosa da configurare subito nella stessa schermata è “Add store Code to URLs”, che tradotto significa “Aggiungi codice negozio all’URL”. Trovi questa opzione sotto la voce “URL options”. Nella maggior parte dei casi è meglio impostare questa funzionalità su “No”

Queste impostazioni sono l’ABC, vediamo nel dettaglio tutti gli elementi da ottimizzare.

Robots.txt

Il file Robots.txt è molto utile soprattutto per siti web di grandi dimensioni, ma può anche causare problemi con la frammentazione della scansione se utilizzato in modo non corretto.

Suggerisco l’utilizzo del file robots.txt se si desidera che i motori di ricerca non eseguano la scansione di specifiche sezioni del sito web, come le pagine di ricerca, le pagine con ID di sessione e le pagine di filtro generate dalla navigazione a strati.

Il robots.txt dovrebbe essere utilizzato per impedire la scansione delle pagine, ma ricorda che esistono altri metodi per non mostrare le pagine nei risultati di ricerca, come ad esempio il tag noindex.

Quando non è necessario rimuovere dall’indice pagine già indicizzate suggerisco di bloccare quanto segue utilizzando il file robots.txt:

  • Pagine di ricerca
  • URL contenenti la stringa /catalog/ a meno che non ci siano immagini e CSS & JS all’interno di questa cartella
  • URL con parametri ID di sessione
  • Pagine di navigazione a strati (i filtri)
  • URL con parametri di ordinamento (sort=XY)
  • Pagine amministrative

Il robots.txt avrebbe un aspetto simile (uso il carattere * nel caso in cui tu avessi un multi store in sotto cartelle):

User-agent: *

Disallow: /admin/
Disallow: *price=*
Disallow: *dir=*
Disallow: *order=*
Disallow: *limit=*
Disallow: */catalog/*
Disallow: */catalogsearch/*
Disallow: */customer/*
Disallow: *SID=*

Sitemap: http://esempio.it/sitemap.xml

Quando invece è necessario rimuovere dall’indice le tipologie di pagine appena elencate è meglio utilizzare il tag noindex. Una volta rimosse queste pagine sarà possibile togliere il tag noindex e usare il robots.txt in modo da preservare crawl budget.

Ti consiglio di analizzare il log del tuo web server per capire se ci sono spider particolarmente invasibi che sarebbe opportuno provare a bloccare.

WWW vs non-WWW

In System > Configuration > Web trovi le tab “Unsecure” e “Secure” dove è possibile modificare l’URL di base e impostare il dominio preferito. Puoi sceglere tra la versione WWW e la versione non WWW del tuo URL. Con la modifica dell’impostazione non si crea un reindirizzamento automatico da WWW a non WWW o viceversa, ma imposta solo l’URL preferito. Pertanto è una buona idea creare un reindirizzamento 301 tramite .htaccess con mod_rewrite.

Oltre a risolvere il problema WWW vs non WWW questo reindirizzamento impedisce a Magento di aggiungere la session ID ai tuoi URL, come ad esempio ?SID=a123b…

Assicurati che l’URL di base sia lo stesso del reindirizzamento. Quando si modifica il file .htaccess è possibile aggiungere il seguente codice per reindirizzare index.php alla radice.

RewriteBase / RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
RewriteRule ^index.php$ http://www.esempio.it/ [R=301,L]

Oppure, quando l’installazione di Magento non è nella directory principale, ma nella sotto-directory come ad esempio http://esempio.it/magento/:

RewriteBase /magento/ RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /magento/index.php HTTP/
RewriteRule ^index.php$ http://www.esempio.it/magento/ [R=301,L]

Impostazioni elemento head dell’HTML

Per impostazione predefinita l’installazione di Magento assegna al sito il titolo “Magento Commerce”. Per ottenere il traffico che merita il tuo negozio online dovresti tenere a mente che umani e motori di ricerca assegnano più peso alle prime parole che leggono nel tag title. Se le tue parole chiave sono prossime all’inizio del titolo della pagina sarà più probabile che un utente clicchi il tuo risultato rispetto ad un titolo dove le parole chiave ricercate appaiono a destra o addirittura non compaiono.

Innanzitutto devi eliminare il titolo di default “Magento Commerce”. Naviga in Configuration > Design > HTML Head. Scegli un buon titolo descrittivo per il tuo sito web. Questo titolo verrà appeso in diverse pagine non di contenuto, senza titolo personalizzato, ad esempio “Contattaci” e “Termini di ricerca popolari”.

Per appendere il nome del negozio alla fine di tutti i titoli pagina, incluse pagine di categoria e di prodotto, inserisci il nome del negozio in “Title Suffix”. Di solito suggerisco di mantenere il prefisso vuoto per avere più spazio per descrivere il prodotto.

Ti consiglio di svuotare anche i campi “Default Description” e “Default Keywords”. Per un sito web in sviluppo, ed per evitare l’indicizzazione del sito, potrebbe essere utile impostare “Default Robots” su “NOINDEX, NOFOLLOW”. Per siti live invece assicurati che sia impostato su “INDEX, FOLLOW”.

Ora che stai ottimizzando la sezione head delle tue pagine sarebbe una buona idea aggiungere la tag rel canonical. Per abilitare questa funzione puoi usare il modulo Magento SEO Suite Ultimate extension.

Pagine CMS

Le pagine chiamate CMS (Content Management System) sono pagine statiche che forniscono informazioni sul negozio. Queste pagine vengono gestite dal pannello di controllo in backend. Pagine di questo tipo sono, ad esempio, la homepage, la pagina Contatti e Servizio Clienti.

A prima vista Magento potrebbe sembrare carente di funzionalità più tipiche di CMS come WordPress, ma per la maggior parte degli usi questo eCommerce è abbastanza flessibile e potente. Uno dei vantaggi di Magento è che puoi controllare ogni aspetto delle pagine a livello di layout e contenuti. Una volta che hai dato a ciascuna pagina un contenuto decente, seleziona un URL Search Engine Friendly e un titolo di pagina e vai alla scheda Meta Data per scrivere una descrizione originale. Ricordati che la qualità dei testi e la loro originalità sono un fattore critico per la visibilità organica di un sito web.

Puoi tenere vuoto il campo “keywords” anche se personalmente preferisco compilarlo sempre, soprattutto quando è attiva una campagna AdWords. In diversi test ho constatato un miglioramento del Quality Score di AdWords dopo aver aggiunto come meta keywords le parole chiave più importanti acquistate con AdWords.

La descrizione ha una funzione molto importante: attirare le persone a fare clic sul tuo snippet nella pagina dei risultati di ricerca. Assicurati di indicare cosa c’è nella pagina e scrivi una frase capace di attirare l’attenzione cercando di usare un numero di caratteri più vicino possibile a 155. Quindi, l’unica descrizione ben scritta è una descrizione scritta a mano, se stai pensando di generare automaticamente i tag meta description stai attento alla qualità del risultato fiale – sono frasi lette dalle persone. Se non hai tempo e voglia lascia il campo vuoto, ci penserà Google a mostrare un testo attinente nei risultati di ricerca.

Ottimizzare le pagine di categoria

Con Magento è possibile aggiungere il nome delle categorie al percorso degli URL del prodotto: esempio.it/categoria/prodotto. Poiché Magento non supporta molto bene questa funzionalità – crea problemi di contenuto duplicati – è una buona idea disattivarla. Per effettuare questa operazione, naviga in System > Configuration > Catalog > Search Engine Optimization e imposta su “no” la voce “Use categories path for product URL’s”.

Ora è il momento di impostare i dettagli per ciascuna categoria. Vai a Catalog > Manage Categories. I campi più importanti da compilare con cura sono:

  • Meta Description: inserisci una descrizione originale e accattivante. Tieni presente che la gente vedrà la descrizione nell’elenco dei risultati dei motori di ricerca
  • Page Title: tenere vuoto per utilizzare il nome della categoria, incluso il nome della categoria madre. Attento che quando personalizzi questo campo il titolo sarà esattamente come il tuo input, senza la categoria madre
  • URL key: usa URL brevi ma con le giuste parole chiave. Rimuovi le stop-words come articoli e congiunzioni

Per ogni lingua, che in Magento vengono definite Store View, è possibile specificare il nome del negozio, la descrizione, il titolo di pagina e i meta dati.

Se utilizzi URL gerarchici, che includono il nome della categoria all’interno del percorso URL della pagina del prodotto, Magento genera diverse varianti duplicate dei prodotti in più categorie. Per questo motivo, raccomando vivamente di utilizzare gli URL del prodotto di alto livello (esempio.it/pagina-prodotto.html), in quanto ciò impedirà problemi come questo e consentirà di avere una sola versione rappresentativa di un prodotto.

Se stai già utilizzando i percorsi di categoria all’interno degli URL del tuo prodotto, assicurati di utilizzare il tag rel canonical per indicare l’indirizzo primario di ciascun prodotto. Ciò risolverà il problema, anche se optare per URL senza categorie sarebbe la decisione migliore.

Inoltre, se stai passando ai prodotti di alto livello, assicurati di implementare le opportune regole di redirect 301 che, per impostazione predefinita, Magento non implementa.

Ottimizzare le pagine prodotto

L’ottimizzazione delle pagine dei prodotti è simile a quanto visto per le pagine di categoria. È possibile impostare i meta dati con i “Default Values” anche per ogni “Store View”. Nota che i meta title tag sovrascriverà il titolo completo della pagina di prodotto e di categoria, ad eccezione del prefisso o del suffisso.

Un elemento spesso trascurato sono le immagini. Per esempio scrivendo buone alt tag per le immagini, denominando in modo corretto i file e comprimendoli, puoi ottenere un buon traffico extra dai diversi motori di ricerca delle immagini.

Per impostazione predefinita le immagini saranno rinominate in base al titolo del prodotto, lo stesso discorso vale per i titoli e alt tag. Con qualche sforzo supplementare è possibile impostare i titoli e alt tag personalizzate per ogni immagine del prodotto. Sotto la scheda “Images” nelle informazioni sul prodotto è possibile impostare l’etichetta per ogni immagine del prodotto, questo valore verrà utilizzato come alt tag e title dell’immagine. Naturalmente puoi farlo anche per ogni Store View.

Un’altra considerazione da fare sulle pagine prodotto è il modo in cui Magento assegna i tag title: di solito è semplicemente il nome del prodotto. Ti suggerisco di impostare una convenzione per includere delle variabili in base alle caratteristiche del prodotto, come genere, colore, tipologia, marca, materiale, caratteristica, modello… Cerca di inserire elementi che l’utente cerca insieme alla tipologia di prodotto. Un’alternativa è scrivere title tag a mano.

Prodotto configurabile o prodotto unico?

Generalmente un eCommerce può vendere due tipologie di prodotto: ci sono i prodotti unici, come un modello di TV, e prodotti configurabili, come una camicia disponibile in diverse tonalità di colore e misure. Come gestire i prodotti configurabili? E’ corretto far indicizzare tutte le varianti oppure è meglio riunire in un unico URL la forza e l’autorevolezza a fini SEO?

Se utilizzi i prodotti configurabili accanto a prodotti semplici in Magento, devi assicurarvi di non consentire l’indicizzazione delle varianti duplicate.

Molti utenti utilizzano prodotti semplici per caratteristiche come colori o versioni diverse di un prodotto, in modo che possano essere visualizzate indipendentemente nelle pagine di elenco dei prodotti. Questo è un errore se lasci la varianti troppo simili tra di loro. Se non stai intenzionalmente creando prodotti semplici duplicati, senza aggiungere contenuto unico alle pagine, ti suggerisco di utilizzare il tag rel canonical per comunicare ai motori di ricerca che i prodotti semplici sono solo varianti del prodotto configurabile principale.

Dovrai inoltre aggiungere la teg rel canonical alle pagine di categoria, alla tua homepage e alle pagine CMS, ma questo dovrà essere fatto manualmente. Nelle versioni più recenti, Magento utilizza automaticamente il tag rel canonical per canonizzare gli URL gerarchici del prodotto (con percorso di categoria) agli URL di livello superiore.

Pagine di ricerca

Un problema molto fastidioso con Magento è quando le pagine di ricerca vengono indicizzate da Google, in quanto ne potrebbero venire indicizzate migliaia. Queste pagine non aggiungono nessun valore all’indice di Google ed è meglio non farle indicizzare. Per prevenire questo inconveniente raccomando di utilizzare il tag meta robots noindex, follow sulle pagine ci ricerca, oppure per salvare crawl budget usa il disallow del robots.txt. Come già detto, la scelta di uno o l’altro metodo dipende da quante pagine di ricerca sono già indicizzate:

  • nessuna pagina è indicizzata: usa il robots.txt
  • alcune pagine sono indicizzate: usa il tag noindex finchè non vengono rimosse, poi rimuovila e passa al robots.txt per salvare crawl budget

Heading

Per impostazione predefinita il logo è inserito in un tag H1, tag importante che dovrebbe invece essere sfruttato per massimizzare l’efficacia di un testo. La cosa più importante è ottenere il titolo del contenuto in un tag H1, ad esempio per una pagina di categoria dovrebbe essere il nome della categoria e per un prodotto il nome del prodotto.

Il passo successivo consiste nel ripulire l’uso eccessivo delle intestazioni. È una buona idea sbarazzarsi dell’uso delle intestazioni nelle colonne laterali. Non c’è motivo per aggiungere titoli “statici” e titoli privi di parole chiave con un H4. Per esempio, è meglio modificare tutti i tag H4 in strong.

  • Nelle pagine di categorie metti i nomi dei prodotti in un H2 o H3 e il nome della categoria in un H1
  • Nelle pagine dei prodotti, inserisci il nome del prodotto in un H1

Pulire il codice

Sposta le istruzioni JavaScript e CSS fuori dalle pagine del tema ed inseriscile in file esterni, mantieni i file del tema minimali e puliti. Così facendo i tuoi utenti possono mettere nella cache del browser le dipendenze esterne al primo caricamento della pagina ed i caricamenti successivi saranno più rapidi. Inoltre i motori di ricerca dovranno scansionare pagine più leggere, impiegheranno meno tempo e potranno ottenere un numero maggiore di contenuti dal tuo webserver.

Raggiungere una buona velocità di caricamento

Un fattore molto importante nel posizionamento organico di un sito web è la velocità di caricamento delle pagine. È possibile fare due cose per aumentare la velocità di caricamento di Magento:

  • Abilita la memorizzazione nella cache. Naviga in System > Cache Management e abilita tutte le funzioni di cache
  • Un buon host e un webserver ben configurato. Con la cache di MySQL e PHP opcode è possibile migliorare considerevolmente la velocità di Magento, chiedi al tuo sviluppatore di abilitare queste funzioni

Se possibile cerca di ridurre il numero di file esterni necessari al rendering della pagina, come file CSS, JS e immagini. Per ogni file che l’utente deve scaricare il browser deve creare una connessione HTTP verso il webserver. Quindi è una buona idea ridurre il numero di file esterni e combinare diversi file esterni in uno solo. Per impostazione predefinita Magento già unisce (quasi) tutti i file JavaScript in un unico file. Non lo fa invece per i fogli di stile – CSS: il modello predefinito ha 6 diversi fogli di stile. È possibile combinare il contenuto di questi fogli di stile in uno nuovo, ad eccezione del file print.css che dovrà restare separato.

Filtri, ordinamenti e contenuti duplicati

Una volta che avrai fatto le ottimizzazioni viste fino a questo punto, ti renderai conto che il problema rimanente riguarda la duplicazione dei contenuti, in molti casi potresti ritrovarti con un mare di contenuti duplicati.

Per ogni prodotto che hai in catalogo, Magento genera diversi URL con contenuti molto simili:

  • esempio.it/prodotto.html
  • esempio.it/categoria/prodotto.html
  • esempio.it/categoria/prodotto/view/id/1/
  • esempio.it/categoria/prodotto/view/id/1/categoria/1/

Oltre a tutte queste duplicazioni, esistono anche le pagine di review del prodotto (recensione) che hanno praticamente lo stesso contenuto, e le pagine di listing filtrate o ordinate. In questa guida chiamerò i filtri con il termine “navigazione a strati”, in inglese Layered navigation.

La navigazione a strati è quel percorso offerto agli utenti dai filtri per selezionare marche, caratteristiche, range di prezzi, etc. Queste pagine generate hanno contenuti che non sono originali, sono infatti una parte (filtrata) della pagina completa e di conseguenza non andrebbero indicizzate.

Magento genera molte pagine duplicate con la navigazione a strati e le opzioni di ordinamento dei prodotti. In sostanza questo si traduce nella peggiore delle ipotesi in pagine prodotto duplicate n volte oltre la pagina canonica – originale. Per risolvere questo problema ti consiglio alcune opzioni alternative (non applicarle tutte e 3 o si annullerebbero gli effetti):

  • inserire il tag nofollow sui link dei filtri e sulle opzioni di ordinamento. Questa opzione salva crawl budget
  • inserire il tag noindex nelle pagine filtrate e ordinate. Questa opzione non salva crawl budget
  • mettere in Disallow gli URL con i parametri dei filtri e di ordinamento. Questa opzione salva crawl budget

Scelgo regolarmente di utilizzare la direttiva noindex per indicare ai motori di ricerca di non indicizzare pagine di navigazione a strati. Puoi utilizzare le meta robots tag oppure l’intestazione HTTP X-Robots per farlo, entrambi i metodi inviano lo stesso messaggio ai motori di ricerca e soddisfano i requisiti per le richieste di rimozione in Google Search Console.

Il principale vantaggio di utilizzare noindex, follow è che i motori di ricerca possono ancora eseguire la scansione delle pagine e dei collegamenti delle pagine, ma gli viene indicato di non indicizzarle. A questo fine puoi utilizzare uno dei tanti moduli SEO per Magento che permettono di assegnare le regole di meta robot a mano.

Se stai utilizzando l’opzione multi-select sulla navigazione a strati o se hai problemi con il crawl budget ti suggerisco di bloccare gli URL con un Disallow nel robots.txt.

Gestione parametri con Google Search Console

Quando si sviluppano siti che utilizzano parametri negli URL, è cosa buona e giusta istruire Googlebot sulla funzione di ciascun parametro. Solo aiutando Google a comprendere la funzione di ciascun parametro si potrà ottenere una corretta indicizzazione.

Accedi a Google Search Console, vai nella sezione “Scansione” e poi in “Parametri”. Tramite il pulsante “Edit”, a destra di ciascun parametro individuato, assegna una funzione specificando se i relativi URL debbano essere scansionati (e di seguito indicizzati) oppure no.

In genere i parametri di filtro e ordinamento non vengono indicizzati, mentre i parametri di traduzione e selezione si.

SessionID

I parametri di SessionID vengono utilizzati per registrare una sessione utente, comunemente quando si spostano da uno store all’altro in una installazione Magento. Queste pagine possono causare problemi di contenuto duplicato se vengono indicizzate e non esiste alcun limite alla quantità di URL che può essere generata. Se hai problemi con gli ID di sessione, ti suggerisco di rimuovere questo parametro oppure utilizzare i file robots.txt o i tag meta robots per impedirne l’indicizzazione.

Rimuovere la SessionID da Magento

Noindex, follow per le pagine non di contenuto

Chiedi al tuo sviluppatore di inserire il tag meta robots tag noindex, follow nelle seguenti tipologie di pagine:

  • Send friend
  • Product review page
  • tags
  • RSS feeds
  • Product compare
  • Wishlist
  • Customer account
  • Checkout pages
  • Contact us form
  • Catalog search
  • Advanced search
  • Search terms

Ora il motore di ricerca seguirà tutti i collegamenti in queste pagine ma non visualizzerà quelle pagine nell’indice.

Nota: queste sono indicazioni di massima, ogni sito eCommerce ha le sue peculiarità e l’elenco appena mostrato potrebbe non adattarsi a tutti indiscriminatamente. Ho visto eCommerce fare molto traffico organico con le pagine di confronto prodotti e altri invece non fare nemmeno una visita su quella tipologia di pagina. Come fare? Nel caso quelle pagine fossero aperte ai motori di ricerca puoi studiarne il rendimento. Guarda i dati di Analytics e Google Search Console, valuta se quelle pagine hanno valore per Google oppure no e decidi se escluderle o meno.

Un altro passo facile per migliorare la SEO del tuo eCommerce è smettere di linkare alla pagina di login, al checkout, alla wishlist e a tutte le altre pagine secondarie, se non strettamente necessario. Lo stesso vale per i tuoi feed RSS, la navigazione a strati, il link aggiungi alla wishlist e aggiungi al confronto, ecc. Non conosco plugin che correggano il problema, il metodo migliore è editare i file del tema grafico aggiungendo il tag nofollow a questi link.

URL Canonici

Per aiutare i motori di ricerca a comprendere il contenuto duplicato delle tue pagine, puoi suggerire la versione preferita dell’URL per ogni pagina utilizzando un URL canonico, pertanto dovresti navigare in System > Configuration e abilitare la funzione “Use Canonical Link Meta Tag For Products”.

Per le pagine di categoria invece non è così semplice. Disabilita la funzione “Use Canonical Link Meta Tag For Categories”, naviga in Catalog –> Manage Categories > Custom Design > Custom Layout Update ed inserisci lo script seguente apportando le opportune modifiche.

<reference name=”head”>
<action method=”addLinkRel”>
<rel>canonical</rel>
<href>http://yourwebsiteadress.co.uk/page-name.html</href>
</action>
</reference>

Il tag rel canonical può essere una soluzione molto buona per le pagine duplicate, tuttavia ho un paio di riserve a riguardo:

  • ho visto in molte occasioni i motori di ricerca ignorare il tag rel canonical se le pagine sono molto diverse come contenuto
  • se hai già le pagine nell’indice e devi risolvere velocemente il problema, il tag rel canonical può richiedere molto tempo prima di essere recepita da Google e altri motori di ricerca

Paginazione Tag obsoleto

Le pagine di listing (elenco dei prodotti) utilizzano la paginazione per spezzare grandi elenchi, che di solito significa che lo stesso contenuto viene utilizzato in diverse varianti della stessa pagina. Queste pagine dovrebbero utilizzare i tag rel next e rel prev. Questi tag sono stati introdotti da Google nel 2011 per migliorare la gestione delle pagine di archivio che non verranno più viste moltitudine ma come entità singole.

I tag rel next e prev devono essere aggiunte nella sezione head dell’HTML delle pagine di listing:

<Link rel = "next" href = "http://esempio.it/clothing?p=6" />
<Link rel = "prev" href = "http://esempio.it/clothing?p=4" />

In certi casi potrebbe essere utile affiancare un noindex, follow al rel next e rel prev.

URL rewriting

Un problema sorprendentemente comune con Magento è la riscrittura degli URL. Mi è capitato di vedere l’URL di una categoria o di una pagina di prodotto venir convertito all’originale /catalog/ senza un redirect 301, generando quindi duplicazione. Raccomando di bloccare questi URL e di tenerli monitorati con scansioni costanti del sito web.

Può capitare che la riscrittura di Magento aggiunga un numero alla fine di URL di prodotto e categoria, per esempio -1, -2, -3. Ciò avviene quando un percorso URL esistente è già in uso e le riscritture sostituiscono l’URL originale senza modificarlo. Questo può essere un problema enorme e di solito richiede l’intervento di uno sviluppatore.

Il numero aggiunto può essere causato anche dall’aggiornamento dei prodotti tramite caricamento di un file CSV. Quando questo accade, devi semplicemente chiedere al tuo sviluppatore di rimuovere le riscritture dalla tabella di riscrittura (rewrite table). Attenzione però, questa attività è delicata, andrebbe testata prima di applicare le modifiche al tuo sito live.

Sitemap XML

Magento è noto per creare sitemap.xml non certo ottimali in quanto fornisce solo la possibilità di creare una sitemap unica che contiene spesso pagine che non si desidera indicizzare.

La sitemap.xml è un modo semplice per consentire ai motori di ricerca di sapere dov’è il tuo contenuto, non ti aiuterà a posizionarti meglio, ma potrebbe aiutare a ottenere l’indicizzazione più veloce. È possibile creare manualmente una Sitemap XML facendo clic su Catalog > Google Sitemap > Add Sitemap, scegliendo un nome di file, una vista di percorso e di archivio e quindi premendo “Save & Generate”. In alternativa puoi usare moduli esterni per generare la sitemap.xml.

Di solito suggerisco di creare due Sitemap.xml, una per i prodotti e una per le pagine di categoria e di contenuti. Ciò consente una migliore visibilità dell’indicizzazione delle pagine (tramite Google Search Console). Per siti web molto grandi, di solito suggerisco di dividere i prodotti per marca o tipo, fornendo ancora una maggiore comprensione nell’indicizzazione. Si potrebbe quindi fare riferimento alle diverse Sitemap in una sitemap di indice.

Quando la sitemap.xml sarà pronta non dimenticarti di inserire il suo URL nel file robots.txt, semplicemente aggiungendo nell’ultima riga quanto segue (con le opportune modifiche):

Sitemap: http://esempio.it/sitemap.xml

Dato che l’inventario di solito cambia costantemente, devi ricreare le sitemap.xml ogni volta. Per essere sicuri di avere una sitemap.xml sempre aggiornata il modo migliore è impostare un CRON JOB, il cui processo è descritto in modo completo sulla guida ufficiale.

L’utilizzo della navigazione basata su AJAX consente di filtrare i prodotti presenti sul tuo sito web senza modificare l’URL. Se non disponi di uno sviluppatore esperto di Magento, probabilmente stai vivendo un brutto incubo.

Ci sono moduli che possono aiutare a migliorare la navigazione AJAX, ma per essere onesti se non hai il supporto di un buon sviluppatore eviterei modifiche di ogni genere.

La navigazione AJAX può causare un sacco di problemi di indicizzazione. Ho visto siti eCommerce con navigazione in AJAX e Robots.txt che impedivano l’accesso ai relativi file, in più occasioni.

Se stai utilizzando AJAX per la navigazione a strati, accertati che i filtri non generino veri URL in quanto ciò può causare ulteriori problemi con le pagine dinamiche che vengono indicizzate, anche se gli URL non sono attivamente visibili durante la navigazione il sito.

Performance

Magento non è un fulmine nei caricamenti, in casi molto gravi questa lentezza può avere un impatto negativo sulla classifica di ricerca organica. La velocità di un sito web ha un impatto anche sulla scansione: più il sito si carica rapidamente più pagine potranno scaricare i bot in un dato lasso di tempo. Per questi motovi l’ottimizzazione delle prestazioni è molto importante per i siti più grandi. Ci sono diverse cose che puoi fare per ottimizzare la velocità del tuo sito web Magento, come ad esempio:

  • Utilizza un web server ottimizzato e ben configurato
  • Disattiva i registri di Magento (log) e abilita la pulizia del registro
  • Attiva il merging di CSS e javascript
  • Sfrutta la cache del browser
  • Utilizza un CDN per le immagini (guardare anche i servizi di compressione delle immagini)
  • Ottimizzazione degli asset front-end
  • Abilita la compressione GZIP sul web server

Questa scaletta la suggerisco sempre e comunque per migliorare l’esperienza utente e massimizzare le conversioni. Assicurati che i tuoi sviluppatori possano allocare il giusto tempo per il miglioramento delle performance al fine di ottimizzare la velocità del tuo negozio.

Testa il tuo eCommerce con strumenti idonei a valutare le performance, come GTmetrix.

Redirect 301

Per impostazione predefinita, le versioni precedenti di Magento utilizzano i reindirizzamenti 302 che non sono ottimali dal punto di vista SEO. Raccomando che i tuoi reindirizzamenti siano impostati su 301 per ottenere tutto il PageRank possibile dai tuoi collegamenti.

Rich snippet

Uno dei miglioramenti più interessanti introdotti da Magento 2 è sicuramente l’inserimento dei Rich Snippets. Questa nuova caratteristica aiuta la SEO e il CTR nei risultati organici. Questa funzionalità è abilitata come impostazione predefinita in Magento 2, non c’è alcun bisogno di impostarla. Se il tuo CMS invece è di versioni precedenti allora ti tocca sporcarti le mani ed inserire via PHP i dati strutturati.

Immagini

Per ottimizzare le immagini ti consiglio di seguire questa guida dedicata che è sempre valida. Per dirla breve: rinomina con criterio i nomi dei file, ridimensiona le immagini alle giuste dimensioni, comprimile al massimo e inserisci un alt tag esaustivo.

Un’altra importante caratteristica SEO di Magento 2 è la possibilità di utilizzare delle label per i prodotti. Questa funzionalità era disponibile anche per le versioni 1.x di Magento, ma solo utilizzando estensioni di terze parti.

Prodotti correlati

In Magento 2 vengono create 3 tipologie di relazione tra prodotti. Troviamo il prodotto Up-Sell, cioè quel prodotto che vogliamo spingere, generalmente si tratta di un prodotto più costoso e di migliore qualità.

Ci sono poi i prodotti Cross-Sell, ovvero prodotti diversi dal prodotto che il cliente sta acquistando, ma che comunque correlati ad esso.

Infine troviamo i Prodotti correlati, che sono invece prodotti strettamente legati al prodotto visualizzato dall’utente. Questi prodotti sono degli elementi aggiuntivi che il cliente può acquistare, insieme al prodotto che sta visualizzando.

Implementare i box dei prodotti correlati fa bene alla struttura dei link interni, migliora usabilità e navigazione tra prodotti oltre che rendere la vita più facile agli spider che troveranno più rapidamente link verso nuovi prodotti.

Protocollo HTTPS

Secondo me questo paragrafo non serviva ma scanso equivoci due righe le metto. Il tuo eCommerce accetta carte di credito e dati personali? Serve ancora che ti dica che è necessario migrare ad HTTPS?

Moduli SEO per Magento

Ultimamente ho utilizzato la suite Magento SEO Suite Ultimate extension v9.3.0, un modulo SEO per Magento molto completo, che è in giro da molto tempo.

Il modulo MageWorx offre molte funzioni SEO, tra cui:

  • Supporto al tag Hreflang. Include molte opzioni per garantire che sia implementata al meglio sulle pagine del tuo eCommerce
  • Opzioni per la configurazione del catalogo dei prodotti. Questa è una caratteristica comunemente richiesta in tutti quei casi in cui si vendono varianti dello stesso prodotto, di solito prodotti semplici, in bundle o configurabili. Il modulo consente di configurare gli URL canonici per riferirsi essenzialmente alle versioni primarie dell’URL. Così, ad esempio, se si dispone di una camicia che è un prodotto configurabile con versioni di dimensioni diverse o colori, è possibile impostare l’URL canonico
  • Gestire i tag meta robots. Questa è una caratteristica che utilizzo su tutti i negozi online con cui lavoro. È possibile impostare le regole (con i caratteri jolly – wildcards) per assegnare i tag meta robots a gruppi di pagine (ad esempio noindex, follow per tutti gli URL contenenti ?Price=).
  • Possibilità di modificare il file robots.txt dal backend di Magento
  • Controlla URL duplicati HTTPS/HTTP
  • Possibilità di creare regole più avanzate per gli URL canonici (per le cose come la gestione dello slash ecc.)
  • Opzioni per riscrivere gli URL
  • Opzioni relative alla creazione di convenzioni per la scrittura del tag title
  • Opzioni per la creazione di sitemap.xml avanzate
  • Opzioni per la gestione della paginazione
  • La possibilità di ignorare o sovrascrivere altre impostazioni a livello di singolo negozio

Queste sono solo alcune delle funzionalità, ma ce ne sono molte di più. Questo modulo è sicuramente uno dei più apprezzati da proprietari di eCommerce Magento e agenzie.

Altri moduli SEO per Magento che reputo validi sono:

Questo articolo ha coperto gli aspetti critici per ottenere una buona SEO da Magento. Se hai commenti, domande o aggiunte, fammi sapere in modo da poter continuare a migliorare questo articolo.

Articoli correlati

Autore

Commenti |10

Lascia un commento Lascia un commento
  1. Fausto 9 commenti

    Grande guida, come sempre!
    Non mi è chiara questa parte:
    “Le tag rel next e prev devono essere aggiunte nella sezione head dell’HTML delle pagine di listing”.
    Ma in realtà bisogna inserire codice PHP, giusto?
    Cioè l’esempio che fai… è solo un esempio. Va quindi inserito del codice customizzato affinché vada bene per qualsiasi numero di pagine?
    Grazie

    1. Giovanni Sacheli 756 risposte

      Ciao Fausto, grazie per essere passato di qui e aver lasciato un commento.

      L’esempio della guida è per il risultato finale, come hai capito nel codice del tema grafico è necessario inserire uno script in PHP che vada a prendere dal database l’URL canonico della pagina precedente e successiva del listato. Spero di averti chiarito il dubbio, a presto!

  2. Simone 3 commenti

    ciao bellissima guida.
    2 domandine:
    a. invece di mettere come NoIndex le pagine filtri/ordinamento, noto che Magento di default mi ha inserito il canonical verso la pagina originale. Questo non dovrebbe quindi creare contenuti duplicati. Consigli comunque di metterle noindex? Idem per le 30000 pagine create per la wishlist…?
    b. se ho una installazione con due website differenti.. Articoli identici ma lingue differenti. E’ sempre indispensabile comunque gestire hreflang?

    1. Giovanni Sacheli 756 risposte

      Ciao Simone grazie per il commento.
      a. Va benissimo il rel canonical, magari anche un nofollow sui link generati dai filtri.
      b. il tag hreflang è altamente consigliato su portali multi lingua, sullo stesso dominio o no. Non è indispensabile ma altamente consigliato :)

      A presto!

    2. Simone 3 commenti

      c. per motivi di tracciamento e raggruppamento di contenuti in analytics ho impostato l’url con la specifica di categoria e sottocategoria. Es. sito.it/abbigliamento/gonne/nomeprodotto. Ho impostato il canonical nelle categorie e nei prodotto. Perchè anche impostando il canonical, sconsigli di utilizzare questa tipologia di path?

  3. Paolo 3 commenti

    Ciao Giovanni,
    Mi farebbe molto piacere avere il tuo parere in merito ad un paio di punti.

    1) John Mueller dice che Google non considera più i rel=next / prev https://searchengineland.com/google-no-longer-supports-relnext-prev-314319

    ma se ho molti prodotti che faccio?
    Inserisco un “see all” anche se si tratta di molti articoli e faccio Canonical verso il see all da ogni “paginata”?
    In alcuni casi vedo che viene usato il canonical su ogni pagina “paginata”…

    2) navigazione a strati
    in un caso in cui non ho altro link che mi porti verso una selezione per produttore, consiglieresti comunque di bloccare il parametro manufacturer? Oppure anche qui potremmo risolvere con un semplice canonical verso la versione see all della categoria non filtrata?
    In alcuni casi, vedo che viene permessa la scansione della layered, differenziando molto title e description delle pagine risultato. Cosa ne pensi di questa soluzione?

    Ciao e grazie!
    Paolo

    1. Giovanni Sacheli 756 risposte

      Ciao Paolo, grazie del commento.
      Per categorie con molti prodotti è importante non esagerare con la paginazione. L’utente preferisce scrollare che cambiare pagina, quindi ti consiglio di allungare i listing per ridurre le paginazioni.
      I link interno sono importanti per la paginazione, non limitarti a prossima/precedente pagina, cerca di creare una buona barra di navigazione con: primi 5 ultimi 5, prossimi 5 precedenti 5 e magari un link alle pagine centrali. Vedi ad esempio.
      Una pagina see all diventa pesante se gli articoli sono molti, è una tecnica che usavo e vedevo usare 6/8 anni fa, recentemente l’ho vista sparire. Secondo me non serve a meno che il sito non abbia evidenti problemi di linking interno.

      Per i filtri io uso sempre e solo canonical per evitare che vengano indicizzati. Mai robots.txt (non è fatto per quello).
      Ci sono pagine filtrate che potrebbe aver senso far indicizzare, se ci sono ricerche specifiche per prodotto con quella caratteristica ha senso farlo. Basta includere nel tag rel canonical il parametro del filtro, ottimizzare meta e testo introduttivo e magari aggiungere in sitemap quei nuovi URL.

      Spero di aver risposto ai tuoi dubbi, nel caso non esitare a chiedere :)

      1. Paolo 3 commenti

        Ciao Giovanni, grazie mille della risposta.
        Riguardo alla paginazione è chiaro, ma in riferimento al rel=next/prev, visto quel che dice Mueller a riguardo come ti comporti? Canonical su ogni pagina e niente rel=next/prev?

        Per i filtri sono felicissimo di leggere quel che scrivi, io l’ho sempre pensata così e trovavo buoni casi a supporto. Mi sono messo ad approfondire a causa di un caso che ho incrociato di recente, in cui era stato bloccato tutto ciò che aveva parametri brutalmente da robots, poi leggendo questa parte del tuo articolo:

        La navigazione a strati è quel percorso offerto agli utenti dai filtri per selezionare marche, caratteristiche, range di prezzi, etc. Queste pagine generate hanno contenuti che non sono originali, sono infatti una parte (filtrata) della pagina completa e di conseguenza non andrebbero indicizzate.” mi sono chiesto se la mia visione fosse corretta.

        Grazie ancora,
        Paolo

        1. Giovanni Sacheli 756 risposte

          Ciao Paolo, in risposta alla prima domanda ti confermo che non uso/consiglio più rel next/prev, dato che come sai sono obsolete per Google.
          La cosa corretta da fare secondo me è rendere canonica ogni pagina di archivio, quindi esempio.it/p=2 avrà self-canonical, e così via.
          Altri canonicizzano tutte le pagine di archivio alla prima pagina, e vedo che per Google non ci sono grossi problemi. Google sa riconoscere le paginazioni insomma.

          In merito ai filtri va tutto contestualizzato :) in questa guida il suggerimento è di non far indicizzare i filtri come base di partenza, onde evitare problemi. Poi in modo accurato si può scegliere cosa aprire, come visto più dettagliatamente in questa guida https://www.evemilano.com/parametri-url-seo/ specifica per i parametri.

          Se dovessi avere altri dubbi non esitare a chiedere. A presto!

          1. Paolo 3 commenti

            Grazie mille :)
            Paolo

Lascia un commento

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

Ultimi articoli aggiornati

Richiedi un preventivo SEO e Google Ads

Porta il tuo sito web al livello successivo con l’expertise di EVE Milano. La nostra agenzia di Search Marketing ha ricevuto oltre 1129 richieste di preventivo, un segnale chiaro della fiducia che imprenditori e manager, come te, ripongono nella nostra specializzazione tecnica e verticale nella SEO e PPC. Se la tua organizzazione cerca competenze specifiche per emergere nei risultati di Google, noi siamo pronti a fornire quel valore aggiunto. Affidati alla nostra esperienza per fare la differenza.
Richiedi un preventivo

Non perderti altre guide, iscriviti per ricevere un avviso mensile con gli aggiornamenti del blog!

Iscriviti alla newsletter!

Informativa sui cookies

Noi e terze parti selezionate utilizziamo cookie o tecnologie simili per finalità tecniche e, con il tuo consenso, anche per le finalità di esperienza e misurazione come specificato nella cookie policy. Puoi liberamente prestare, rifiutare o revocare il tuo consenso, in qualsiasi momento, accedendo al pannello delle preferenze. Il rifiuto del consenso può rendere non disponibili le relative funzioni. Usa il pulsante “Accetta” per acconsentire. Usa il pulsante “Rifiuta” per continuare senza accettare.