SEO Demandware: le problematiche più comuni

Lo avevamo già specificato in un post precedente che Demandware (Salesforce Commerce Cloud) è una delle migliori piattaforme ecommerce presenti sul mercato, di fatto viene usata dai più grossi brand internazionali come Uniqlo, Adidas, Michaels, Patagonia, Burton e moltissimi altri, si stima che il 21% dei migliori brand a livello mondiale utilizzino tecnologie enterprise che si interfacciano con Demandware.

Essendo una piattaforma basata sullo sviluppo personalizzato non è detto che chi sviluppa il sito lo faccia seguendo determinati standard e best practies al fine di ottimizzare il sito per i motori di ricerca. Sfortunatamente non tutti gli sviluppatori hanno basi SEO e sviluppano un sito sulla base delle loro priorità.

Come per tutte le piattaforme ecommerce, anche un sito web progettato con Demandware deve rispettare i principi SEO e deve essere ottimizzato a dovere per essere visibile sui motori di ricerca.

Ciò significa che senza un’adeguata formazione tecnica e senza una strategia di posizionamento le opportunità del sito ecommerce di performare sul canale organico potrebbero essere bassissime.

Non parleremo di strategia di posizionamento oggi ma analizzeremo le principali tematiche che ogni sviluppatore dovrebbe saper gestire ed essere in grado di trattare per rendere SEO friendly la piattaforma Demandware su cui sta lavorando. Dunque, se stai cercando informazioni SEO su Demandware hai trovato il post più completo ed esaustivo.

Tanto roba da leggere? Ecco una sintesi di tutto quello che trovi sotto:

  • Demandware ha configurazioni fuori dal comune, principalmente problemi con gli URL
  • La mancata comprensione e gestione di questi problemi può essere grave a livello aziendale, portando principalmente a un budget di ricerca per indicizzazione sprecato e a un tasso di indicizzazione ridotto
  • Assicurati di eseguire la scansione costante del tuo sito Web per controllare la direttiva, l’indicizzazione e i codici di stato: ti consigliamo di eseguire nuovamente il crawling [almeno]

Buona lettura!

Navigazione a faccette

La navigazione a faccette è un metodo per filtrare i prodotti all’interno di una categoria, l’utente seleziona in maniera progressiva le caratteristiche e i valori dei prodotti affinché visualizzi i prodotti caratteristiche e valori desiderati.

Solitamente questa tipologia di navigazione viene gestita aggiungendo dei parametri all’url della categoria, ad esempio se accedo alla categoria Tshirt del sito burton.com (https://www.burton.com/it/en/c/mens-tees) e utilizzo il filtro laterale per scegliere la tipologia “Pullover”, il sistema mi indirizza a questo url, il quale contiene dei parametri: https://www.burton.com/it/en/c/mens-tees?prefn1=filterCategory&prefv1=hoodies_pullover

Se poi aggiungo un altro valore, ad esempio “Long Sleeve”, il sistema aggiunge un ulteriore parametro nell’url (https://www.burton.com/it/en/c/mens-tees?prefn1=filterCategory&prefv1=hoodies_pullover%7CLong%20Sleeve)

Analizzando il codice sorgente delle pagine noteremo che il link Canonical di entrambe le pagine è il seguente:

<link rel=”canonical” href=”https://www.burton.com/it/en/c/mens-tees”>

In questo caso il setup è corretto poiché in questo modo viene evitata la duplicazione dei contenuti tuttavia se effettuiamo una ricerca specifica su Google noteremo che la pagina dedicata alla sotto categoria “Long Sleeve” al momento non è indicizzata, troviamo solo la categoria Men’s tshirt (la nostra pagina di accesso) e una serie di prodotti specifici

Per far si che anche una pagina composta da combinazione specifica si indicizzi su Google è necessario settare il link Canonical affinchè gli spider riconoscano quella pagina come pagina canonica ed univoca.

Ecco come gli sviluppatori di Adidas hanno gestito la navigazione a faccette.

Se accedete alla pagina di categoria “scarpe” https://www.adidas.it/scarpe e affinate la ricerca (clic/tap sulla voce “Uomo”) potrete notare che l’url della pagina filtrata si comporrà in questo modo: https://www.adidas.it/scarpe-uomo, l’ottimizzazione SEO della pagina è finalizzata a lavorare tutti i termini di ricerca legati a “scarpe uomo”, il link canonical è autoreferenziale https://www.adidas.it/scarpe-uomo, infine cercando su Google la query “scarpe adidas uomo” troveremo in prima posizione la pagina di categoria specifica “scarpe uomo”.

Screenshot serp adidas

Anche altre tipologie di filtro sono indicizzabili, ad esempio i colori

Le collezioni

La ricerca per tipologia di sport praticato

mentre altre invece no, ad esempio se utilizziamo i filtri misura o prezzo il sistema agisce sul link Canonical della pagina.

Se l’utente affina la ricerca con più filtri il sistema gestisce in modo intelligente il link canonical affinchè mostri ai crawler solo le pagine formate da combinazioni che effettivamente possono rispecchiare le potenziali ricerche online da parte degli utenti. 

Ottimizzare crawl budget

Può capitare, come nel caso del sito web del brand Uniqlo di avere lo stesso la possibilità di accedere a pagine specifiche mediante url nonostante i link della navigazione a faccette siano parametrizzati e canonicalizzati verso la pagina principale.

Ad esempio, se accediamo alla categoria Calzini: https://www.uniqlo.com/eu/en/men/innerwear-loungewear/socks e vogliamo visualizzare un gruppo specifico di prodotti possiamo agire in 2 modi:

  1. Cliccare/tap sui link che troviamo dopo il testo introduttivo
  2. Utilizzare la navigazione a faccette

I prodotti della categoria “patterned socks” si possono raggiungere da 2 url differenti:

  1. https://www.uniqlo.com/eu/en/men/innerwear-loungewear/socks/patterned-socks
  2. https://www.uniqlo.com/eu/en/men/innerwear-loungewear/socks?prefn1=category-id&prefv1=IDpatterned24410

Qual è il problema?

Nonostante il canonical della pagina 2 sia settato correttamente gli spider possono comunque accedere ai link generati dalla navigazione a faccette, pertanto si consiglia di limitarne la scansione al fine di ottimizzare il crawl budget messo a disposizione per analizzare il sito web, utilizzando il rel=”nofollow” nel tag <a> di ogni singolo link oppure aggiornando le regole presenti nel file robots.txt. In alternativa sarebbe stato opportuno modificare il codice affinchè la navigazione a faccette venga gestita come sul sito di adidas.com

Schede prodotto raggiungibili da più URL

Url parametrizzati

È normale che Demandware inserisca un parametro alla fine dell’URL di un prodotto, che cambia in base a come lo si accede. Su alcuni sistemi di griglia del prodotto, il parametro aggiunto riflette la posizione nella griglia (quindi il primo prodotto diventa? Start = 1, il secondo diventa? Start = 2 e così via).

Man mano che i prodotti si spostano nei layout della griglia, ogni volta verranno generati più URL con un nuovo parametro: per questo, il semplice blocco *? Start * nel file robots.txt non risolverà il problema.

La soluzione a lungo termine sarebbe quella di far sì che le pagine del prodotto non richiedessero parametri, ma a breve termine aggiungendo un riferimento auto canonico alla pagina del prodotto, meno il parametro dovrebbe mitigare il problema:

Quindi https://sito.com/sneakers/adidas-neo?start=1 avrebbe un puntamento canonico anche https://sito.com/sneakers/adidas-neo.

Prodotti appartenenti a più categorie

Assicurarsi che le url dei prodotti non contengano il livello categoria/sottocategoria nelle directory poiché in alcuni casi si potrebbe verificare per via della configurazione della piattaforma.

Ad esempio:

Le 2 URL indirizzano verso lo stesso prodotto, per Google sono 2 url differenti e quindi si incappa in duplicazione di contenuto.

Nel caso del sito web direct.asda.com (George) l’url della scheda prodotto contiene il percorso completo che va dalla categoria principale alla sotto categoria di appartenenza del prodotto:

https://direct.asda.com/george/mens/shorts/blue-faded-wash-distressed-denim-shorts/GEM658758,default,pd.html?cgid=D2M1G10C7

Configurazione URL path homepage

A volte Demandware genera URL di homepage alternativi lunghi e brutti. Questo probabilmente ti sembrerà familiare:

sitoweb.com/on/demandware.store/Sites-YOURS_US-Site/default/Home-Show

Identifica questi URL e assicurati di utilizzare i redirect 301 che puntano alla home page di root.

Ad esempio, la homepage del sito web principale del dominio michaels.com (Brand Michaels) è settata correttamente:

https://www.michaels.com/

Ecco come viene composto l’url quando tentiamo di accedere alla versione franco-canadese del sito:

http://canada.michaels.com/on/demandware.store/Sites-MichaelsCanada-Site/fr_CA/Default-Start

Anche se il link canonical è settato correttamente la homepage dovrebbe essere raggiungibile in tutti i casi da questo url https://canada.michaels.com/ quindi sempre in ottica di ottimizzazione crawl budget sarebbe meglio indirizzare con redirect 301 l’url complessa verso il path radice; nel caso di siti multilingua utilizzare il livello path che rappresenta la lingua scelta.

Anche l’e-commerce del brand George potrebbe far meglio, ecco con quale url risponde attualmente la homepage del sito web:

https://direct.asda.com/george/clothing/10,default,sc.html

Crawling sezioni del sito inutili

Ogni volta che eseguiamo la scansione del sito Web di un nuovo cliente, scopriamo sempre le directory che non sono utili per i crawler e i motori di ricerca(le pagine inutili appunto ;^ ) )

Queste directory possono includere:

  • Domini di gestione temporanea
  • Pagine di accesso
  • Variazioni del prodotto

Queste pagine sono copie carbone della pagina radice, creando problemi con contenuti duplicati e budget di scansione scaduti vedere ad esempio cosa è successo al dominio uniqlo.com

Pagine inutili indicizzate su uniqlo.com

Ecco alcune soluzioni per evitare la possibilità di generare contenuto duplicato.

Dovete ancora pubblicare il sito?

  • Eseguite una scansione del sito con strumenti dedicati, ad esempio Screaming Frog SEO Spider
  • Confrontate le url generate e le tipologie di path creato
  • Fate in modo che in html non vengano generate url delle pagine inutili
  • Se proprio non potete rimuoverle identificate i pattern e i gruppi di parametri che volete escludere e aggiornate il file robots.txt con le regole di esclusione dei gruppi di pagine che non volete mostrare al crawler

Avete già pubblicato online il sito?

  • Verificate lo stato di indicizzazione del sito (site:nomesito.com) ed analizzate le pagine indicizzate
  • Scansionate il sito e cercate di capire come hanno fatto i crawler ad indicizzare i contenuti inutili che avete rilevato in SERP
  • Fate in modo che le pagine che volete cancellare dall’indice rispondano con status code 410
  • Assicuratevi che il file robots.txt non blocchi queste pagine altrimenti gli spider non possono entrare ed individuare lo status code
  • Tenete monitorata la situazione su Search Console analizzando le statistiche di scansione, i messaggi che appariranno sulla schermata delle prestazioni
  • Consultando il file dei log potete capire meglio quali contenuti analizzano gli spider

Man mano che si risolvono le problematiche aggiornate il file robots.txt e i template del sito affinché gli spider non possano più entrare e leggere i contenuti inutili

Nota di approfondimento: Oltre alla tecnica del 410 è possibile risolvere la problematica dei contenuti duplicati agendo sui link Canonical delle pagine inutili facendole puntare alla pagina originale.

Nel caso del dominio geox.com evidentemente non era gestita correttamente questa funzionalità, ad ogni modo se analizziamo i gruppi di pagine indicizzate potremo notare che gli sviluppatori hanno risolto la problematica aggiungendo il link Canonical nelle pagine inutili, in alcuni casi alcuni gruppi di pagine rispondono con status code 410, in questo modo, nell’arco di qualche mese, il motore di ricerca rimuoverà dall’indice tutte le pagine inutili mantenendo solo quelle di interesse per il posizionamento organico.

Nel caso del dominio uniqlo.com riscontriamo ancora delle criticità, ad esempio il link canonical della scheda prodotto https://www.uniqlo.com/on/demandware.store/Sites-FR-Site/fr_FR/Product-Variation?pid=406109&dwvar_406109_color=COL69 non è corretto

<link rel=”canonical” href=”https://www.uniqlo.com/fr/fr/product/jupe-plissee-maxi-femme-406109.html” /> poiché il crawler che tenta di accedere all’indirizzo dell’attributo href viene indirizzato con redirect 302 a questa pagina https://www.uniqlo.com/fr/fr/product/jupe-plissee-maxi-femme-406109.html ovvero la categoria padre della scheda prodotto: https://www.uniqlo.com/fr/fr/femme/bas/jupes-shorts

Cosa non va bene in questo caso:

  • Link canonical non è settato correttamente
  • Redirect doppio

Con questa configurazione sarà molto difficile che gli spider rimuovano dall’indice tutte le pagine inutili poiché i prodotti legati ad esse sono fuori produzione. In questo caso per aumentare le probabilità di successo è più saggio forzare lo status code delle pagine inutili facendo in modo che risponda con 410.

Controllo comportamento pagine 404

È la migliore pratica SEO per il tuo sito dovrebbe fornire un errore 404 per una pagina che non è stata trovata. Per qualche ragione, quasi tutte le installazioni di Demandware hanno visto i valori predefiniti come redirect 302 o redirect 301 quando non si trova una pagina.

Ad esempio:

sito.com/dead-page/

indirizza di default verso:

sito.com/on/demandware.store/Sites-loremipsum-Site/en_UK/Default-Start

la quale è una versione duplicata della home page.

Soluzione: Assicurati di configurare una pagina 404 personalizzata sul tuo sito.

Esempio pratico: direct.asda.com

Questo è l’url di una pagina prodotto presa a caso:

https://direct.asda.com/george/mens/shorts/blue-faded-wash-distressed-denim-shorts/GEM658758,default,pd.html?cgid=D2M1G10C7

Se cambiamo una parte dell’url (evidenziata in grassetto) e tentiamo di accedere alla pagina

https://direct.asda.com/george/mens/shorts/blue-faded-wash-distressed-denim-shorts/EEM658758,default,pd.html?cgid=D2M1G10C7

atterreremo qui

La pagina analizzata non ha alcun link Canonical e risponde con status code 200

Non essendoci limitazioni on-page e nemmeno nel file robots.txt questa pagina può essere potenzialmente indicizzata su Google.

Teoricamente modificando la stringa in grassetto possiamo generare una moltitudine di pagine duplicate ed inutili ai fini del posizionamento di questo sito web danneggiando a tutti gli effetti il cliente

Stesso problema si verifica accedendo ad una pagina che effettivamente non esiste la quale dovrebbe rispondere con status code 404/410 ed invece risponde con status code 200:

https://direct.asda.com/on/demandware.store/Sites-ASDA-Site/default/Link-Product?pid=002650489

Ecco cosa succede se non si riesce a gestire questa criticità:

SEO Internazionale su e-commerce multilingua/multi mercato

Quando si utilizza Demandware su siti web internazionali, è fondamentale fare in modo che l’architettura SEO sia progettata fin dall’inizio, in modo da garantire ad ogni singolo la rispettiva versione in lingua del sito web.

Senza una dovuta configurazione SEO si può correre il rischio che chi effettua una ricerca online non trovi la versione in lingua desiderata, di conseguenza le probabilità di alzare il tasso di conversione si abbassano.

Esempi

Simuliamo una geolocalizzazione a Madrid e cerchiamo il brand Uniqlo il motore di ricerca restituisce la homepage per il mercato statunitense del sito uniqlo.com

Altro esempio per il brand Cotton On (Ricerca su Google Sud Africa, geoloc. Cape Town)

Altro esempio per il brand francese Etam (ricerca brand su Google Italia)

Altro esempio per Hoka One One (hokaoneone.eu) (ricerca brand su Google Francia)

Ecco degli esempi nei quali gli spider riescono a fornire la versione in lingua corretta dei vari siti web.

Adidas (Google Spagna)

Puma (Google Italia)

Lacoste (Google Polonia)

In Demandware, è possibile condividere codici tra più siti Demandware con Master Architecture.

In sostanza, Master Architecture significa che esiste una parte fondamentale del codebase che si applica a tutti o alla maggior parte dei tuoi siti. Inoltre, tutti gli stili e le funzionalità site specific sono sovrapposti. La parte centrale del codebase conterrà tutte le funzionalità condivise comuni a più siti.

Come accennato in precedenza, le considerazioni SEO internazionali sono vitali e quanto prima viene preso in considerazione, tanto migliore è la prova futura della strategia SEO internazionale di Demandware. In molti casi ciò significa considerare le migliori pratiche SEO prima di qualsiasi pianificazione dello sviluppo.

Provate a testare le versioni in lingua del vostro sito ed effettuate dei test simulando una ricerca internazionale.

Ecco gli step per eseguire il test(si consiglia di utilizzare il browser Google Chrome):

  1. Aprite Chrome
  2. Cancellare i dati di navigazione
  3. Tasto dx > ispeziona > Customize and control Dev Tools > more tools > Sensors
  4. Inserite latitudine e longitudine della location che volete
  5. Accedete alla homepage del motore di ricerca desiderato (es. Google.es per la spagna)
  6. Inserite la query ed effettuate la ricerca
  7. Scorrete nella parte bassa della pagina e fate clic su “utilizza la posizione esatta”
  8. Vicino alla barra degli indirizzi comparirà un pop up che vi chiederà di poter leggere la posizione, cliccate su Consenti
  9. Infine dalla barra di ricerca google premete nuovamente sulla lente di ingrandimento (tasto cerca)

Se non vi torna il risultato e non riuscite a visualizzare la pagina corretta probabilmente c’è qualche problema con la configurazione internazionale del dominio, dovrete quindi chiedere al vostro team di sviluppatori che configuri correttamente:

  • Parametri hreflang all’interno dei tag head nelle pagine del sito, rispettando le guidelines fornite da Google
  • Parametri lang in dichiarazione del codice html
  • Dichiarazione di encoding della pagina e test sui caratteri speciali

Velocità Caricamento contenuti e-commerce/ Performance

Il tasso di conversione di un sito ecommerce è inversamente proporzionale alla velocità di caricamento del sito stesso. Per amazon.com ogni 100 ms (0,1 secondi) di miglioramento della velocità si traduce in un miglioramento delle entrate dell’1%.

Questo è il motivo principale per cui i contenuti del tuo sito devono essere veloci a caricarsi.

Inoltre devi considerare che da qualche anno ormai, Google tiene conto del fattore velocità e premia i siti web che riescono a fornire ai propri utenti i contenuti ricercati in tempi brevissimi.

Assicurati dunque che il sito sia il più veloce possibile.

Ecco dei semplici suggerimenti per il tuo team di sviluppatori:

  • Codice html pulito e minificato: riduce il peso della pagina html stessa, anche pochi byte moltiplicati per n visite possono far la differenza!
  • Settare una CDN (Content Distribution Network) in modo da bilanciare meglio le richieste ed alleggerire il server
  • Abilitare la compressione gzip delle risorse in modo intelligente
  • Valutare attentamente le risorse js e css richiamate nel template e valutare la possibilità di escludere le risorse inutili.
  • Ottimizzate le immagini rispettando le dimensioni intese come larghezza/altezza/peso

Molto importante! Quando eseguite i test di velocità ricordatevi che il vostro sito è raggiungibile in tutto il mondo quindi è importante testare la velocità e le performance per ogni mercato di riferimento. Non è detto che chi naviga il sito dalla Russia riesca a navigare bene come in Italia.

Ottimizzazione title e description di default

I Tag <title> non sono solo un fattore di ranking, ma influenzano il comportamento dei clic di un utente. È fondamentale creare titoli di pagina che catturino le parole chiave, ma guidino anche l’azione degli utenti.

Demandware ti consente di impostare titoli di pagina e metadati predefiniti. Approfitta di questo. Se hai migliaia di prodotti, ti farà risparmiare un sacco di tempo.

Continuerai comunque a personalizzare i tuoi titoli, poiché a volte i valori predefiniti possono ritorcersi contro se non riesaminati periodicamente. L’ideale sarebbe riuscire a verificare l’ottimizzazione dei meta ogni 3 mesi, ovviamente il tempo varia in base alla frequenza di aggiornamento del catalogo prodotti del sito e-commerce.

Considerazioni finali

Queste sono tutte le attività che il team di sviluppatori e il team SEO della tua azienda dovrebbero tener conto, in sintesi:

  • Controllare i codici di errore. Un sito dovrebbe fornire un errore 404 per una pagina non trovata. Ma ogni installazione di Demandware ho rivisto le impostazioni predefinite su un reindirizzamento 302, un reindirizzamento 301 o un codice 200.
  • Impostare correttamente i link Canonical. Se hai un negozio online con oltre 10.000 SKU ci può essere la probabilità che il sistema generi contenuti duplicati.
  • Creare dei pattern sensati affinchè venga automatizzato l’inserimento dei title tag e description delle categorie e delle schede prodotto. Ad ogni modo deve essere sempre consentita la modifica manuale dei meta di ogni singola pagina
  • Se state rifacendo il sito eseguite una completa pulizia delle url
  • Prestare attenzione alla directory on/demandware.store.
  • Assicuratevi che il tempo di caricamento delle pagine sia basso su tutti i dispositivi di accesso, in particolare su smartphone e telefoni con connessione internet lenta.

Pensi che il tuo team non sia in grado di risolvere queste problematiche? Non disperarti, possiamo affiancare la tua azienda e formare il vostro team affinché sia autonomo nel risolvere le problematiche del vostro ecommerce Demandware.

Siamo infatti specializzati sulla piattaforma ecommerce Demandware di Salesforce, per maggiori informazioni contattaci.