seo magentoOrmai è un fatto assodato: Magento è una delle piattaforme e-commerce più versatili e potenti, al punto tale che spesso non ci sentiamo dire “voglio un e-commerce!” quanto piuttosto “voglio Magento!”.
E il bello è che “voglio Magento!” il più delle volte ce lo sentiamo dire da chi non ha la minima idea del motivo per il quale lo vuole e, soprattutto, non si rende conto di quanto sia importante e delicata la scelta della piattaforma e-commerce.
Anche per la SEO.

Se infatti è vero che Magento è, senza ombra di dubbio, una piattaforma e-commerce molto versatile (anche grazie a Magento Connect, il nutritissimo marketplace per le estensioni Magento), è altrettanto vero che non può essere considerato “La Soluzione”; è infatti dotato di caratteristiche che ne possono rendere complessa la gestione delle attività di search engine optimization, e non solo.

Nei giorni scorsi Piersante Paneghel mi ha raccontato di un bug, particolarmente insidioso, che può innescare la proliferazione di pagine duplicate su Magento, riscontrato in maniera diretta sulla versione 1.7.0.2.

Il bug è generato da un comportamento anomalo della componente che ha in carico la riscrittura delle URL e si innesca nel momento in cui viene avviata la procedura di reindex, nel corso della quale viene eseguito un check sulla preesistenza di una URL.
Il check sulla preesistenza della URL  in realtà pare andare a farsi benedire: anche se presente, per il componente questa URL non c’é mai e viene generata una nuova URL caratterizzata da una numerazione incrementale.
Si tratta di un circolo vizioso che: al successivo indexing la URL, anche se esistente, verrà ricreata ex-novo.

Questo fenomeno potrebbe risultare veramente dirompente in caso di database molto corposi: ogni volta che si rigenerano le URL, tutte le schede prodotto vengono riscritte in modo incrementale, senza soluzione di continuità.
Se poi da una parte è vero che Magento, che abbiamo detto essere una piattaforma veramente molto completa, in caso di cambio di URL su una scheda prodotto genera, in modo automatico, un rediretc 301 verso la nuova URL, ma la velocitá con cui si manifesta e ripete il fenomeno nel corso del tempo é superiore alla capacitá di di gestirlo ed interpretarlo in modo corretto da parte dei motori di ricerca.

url duplicate

Questo fenomeno tenderà a generare una minore profonditá di crawling e, in generale, si corre il rischio di veder la propria visibilità su Google compromessa.

Come rendersi conto se il vostro e-commerce è afflitto dal bug?

Già se state usando la versione versione 1.7.0.2. di Magento, allora avete già un primo indizio, ma la conferma vi arriverà da Google Webmaster Tools, menu Aspetto della ricerca > Miglioramenti HTML.
Se potete riscontrare una situazione simile a quella dell’immagine, ovvero un alto numero di gruppi di meta tag duplicati, allora potete essere sulla giusta strada.

 

title duplicati

 

Come metterci una pezza?

Piersante mi ha indicato la seguente soluzione (da testare in ambiente di staging prima della pubblicazione live): nel nostro caso ha funzionato alla perfezione!
Trovate il tutto descritto all’indirizzo https://gist.github.com/vdubyna/6162493; praticamente il problema è alla riga 800 del file app/code/core/Mage/Catalog/Model/Url.php.

Al posto di

if ($existingRequestPath == $requestPath . $suffix) {

bisognerà scrivere

if (($existingRequestPath == $requestPath . $suffix) || ($existingRequestPath == $requestPath .'-'.$product->getId(). $suffix)){

Occhio che si tratta di una modifica al core di Magento!