Magento 2: la gestione degli indici

23 Maggio 2021

In questo breve articolo voglio spiegarti come vengono gestiti gli indici su Magento 2, come sfruttarli al meglio e come gestirli da backoffice e da terminale

[epcl_box type="notice"]NB: Per poter effettuare alcune operazioni in questa guida è necessario avere accesso al proprio sito tramite SSH[/epcl_box]

Cosa sono gli indici di Magento2

Il processo di indicizzazione permette a Magento di organizzare e strutturare i dati variabili presenti sul Database del nostro E-commerce(Prodotti,prezzi,categorie,etc. ) al fine di renderlo più performante e reattivo. Quando avviene un cambiamento sui nostri dati, Magento deve effettuare un "reindex", affinchè la modifica sia effettiva e visibile sul nostro E-commerce.

Ad esempio, se modifichiamo il prezzo di un prodotto da €89,99 a €109,99 Magento dovrà effettuare il Reindex per aggiornare i dati per far si che la modifica sia visibile sul nostro E-commerce

L'organizzazione dei dati indicizzati di Magento, permette di riuscire ad avere un'elevata reattività nel recuperare i dati variabili del nostro negozio, soprattutto in presenza di migliaia e migliaia di prodotti, viste negozio, regole di prezzo e carrello.
Immaginiamo uno scenario in cui abbiamo un E-commerce con 100.000 prodotti, 5 viste negozio e delle regole di prezzo sul carrello personalizzate, immaginiamo un Cliente acceda alla pagina Il mio carrello , senza gli indici Magento dovrebbe interrogare il database al momento ed andarsi a calcolare,ad esempio, il prezzo dei prodotti nel carrello sulla base delle regole di prezzo attualmente attive sul nostro negozio. Questo, su larga scala di prodotti e regole di prezzo, implicherebbe inevitabilmente un rallentamento del nostro sito web.
Con la gestione ad indici invece, nel momento in cui il cliente accede a Il mio Carrello magento dovrà solo recuperare i dati già elaborati e generati precedentemente con il processo di indicizzazione. Il risultato è un accesso più rapido alla pagina e minor consumo di risorse.

Magento 2, indici schedulati vs indici al salvataggio

Il processo di indicizzazione ( o meglio dire "Reindex" ) può avvenire principalmente in due modi:

  • Al salvataggio
    Magento aggiorna gli indici subito dopo che una modifica viene effettuata sul nostro negozio. Questa può essere una strategia ottimale quando si hanno poche interazioni sul nostro negozio, nessuna( o quasi) integrazione/sincronizzazione esterna con gestionali, pochi operatori backoffice, o in linea di massima poche variazioni sul Database.
    [epcl_box type="error"]Attenzione: Il Reindex al salvataggio è fortemente sconsigliato nel caso in cui vi siano molte variazioni sul nostro E-commerce[/epcl_box]
  • Schedulato
    Magento aggiorna gli indici in modo pianificato, ossia solo quando tramite Cron gli verrà indicato di effettuare il reindex di quella tipologia di indici. Il reindex schedulato è fortemente consigliato nel caso in cui il nostro E-commerce abbia molte movimentazioni di magazzino, sincronizzazioni esterne che aggiornano i prodotti, molte attività di modifica backoffice o sistemi di cache http come Varnish.
    [epcl_box type="error"]Attenzione: Per poter funzionare correttamente, è importante configurare sul proprio server un Cron che periodicamente chieda a Magento di effettuare il reindex. Senza Cron i dati del nostro E-commerce non saranno aggiornati[/epcl_box]

Come cambiare la programmazione indici dal backoffice

Per gestire quando vengono generati gli indici su Magento 2, dobbiamo andare dal nostro Backoffice su:

Sistema > Strumenti > Gestione indice
Sulla pagina gestione indici ci troveremo davanti una tabella con l'elenco degli indici, il loro nome, descrizione, modalità di esecuzione ed ultimo aggiornamento.
Per modificare un indice da "Al salvataggio" a "Schedulato" ( O viceversa) ci basterà spuntare gli inidici interessati dalla nostra tabella e poi su "Azioni" selezionare dal dropdown come Magento deve gestire quegli indici.

Come effettuare il reindex su Magento2

Per poter effettuare il reindex su Magento2, devi collegarti al tuo sito web tramite SSH ed entrare nella directory di installazione di Magento. da lì ti basterà lanciare il comando:

php bin/magento indexer:reindex

Questo, farà partire il processo di reindex su tutti gli indici disponibili. Il processo potrebbe richiedere del tempo a seconda delle risorse a disposizione sul Server, ottimizzazione, numero di prodotti,categorie etc.
Quando Magento avrà terminato il reindex ti troverai sul terminale un risultato simile a questo:

[test@srvtest-web public_html]$ php bin/magento indexer:reindex
Design Config Grid index has been rebuilt successfully in 00:00:00
Customer Grid index has been rebuilt successfully in 00:00:00
Category Products index has been rebuilt successfully in 00:00:00
Product Categories index has been rebuilt successfully in 00:00:00
Catalog Rule Product index has been rebuilt successfully in 00:00:00
Product EAV index has been rebuilt successfully in 00:00:00
Stock index has been rebuilt successfully in 00:00:00
Inventory index has been rebuilt successfully in 00:00:00
Catalog Product Rule index has been rebuilt successfully in 00:00:00
Product Price index has been rebuilt successfully in 00:00:00
Amasty: ElasticSearch - Relevance Rules (Products) index has been rebuilt successfully in 00:00:00
Amasty: ElasticSearch - Relevance Rules (Rules) index has been rebuilt successfully in 00:00:00
Amasty: Advanced Search  - Categories index has been rebuilt successfully in 00:00:00
Catalog Search index has been rebuilt successfully in 00:00:09
Amasty Improved Sorting - Bestsellers index has been rebuilt successfully in 00:00:00
Amasty Improved Sorting - Most Viewed index has been rebuilt successfully in 00:00:00
Amasty Improved Sorting - Wishlists index has been rebuilt successfully in 00:00:00
Amasty: Xsearch - Popup Data index has been rebuilt successfully in 00:00:00
Amasty Yotpo Review index has been rebuilt successfully in 00:00:02
[test@srvtest-web public_html]$ 

Questo indica che il processo di Reindex è andato a buon fine e che Magento ha aggiornato i dati. Subito dopo, è sempre consigliato pulire anche la Cache di Magento. Per pulire la cache quindi lanciamo subito dopo

php bin/magento cache:flush

Fatto! Adesso i nostri indici sono correttamente aggioranti.

Consulente esperto IT ed imprenditore digitale.
Mi occupo di consulenza digitale ed IT per professionisti affermati e grandi Aziende sul territorio nazionale che vogliono rendere Affidabile e Sicura la loro presenza Online.

Vuoi ottimizzare le Performance e Costi dell'Hosting del tuo E-commerce?

Stanco dei soliti problemi di Performance del tuo E-commerce? Hai un E-commerce lento con Punteggio Google Pagespeed ridicolo?
Contattami ora, riceverai GRATIS entro 24 ore, una prima analisi professionale del tuo Sito web e ti mostrerò come risolvere i tuoi problemi di Performance ed aumentare il tuo Punteggio Google Pagespeed.
Form pag articolo
wpChatIcon
wpChatIcon
crossmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram