Magento

Home/Magento

Query come cancellare gli ordini di prova dal database

Con Magento per cancellare gli ordini che si sono effettuati come test e prove durante la fese di sviluppo, ci sono diverse possibilità.

Una possibilità è quella di scaricare dei plugin estensioni che consentono proprio di installare questa funzionalità, cancellando con un semplice click gli ordini dal pannello di amministrazione di Magento nella sezione Gestione Ordini.

L’altra possibilità più efficace, è quella di agire direttamente sul database per cancellare fisicamente tutti i dati relativi agli ordini dal database. Infatti spesso i plugin non cancella tutti i dati dal database riguardanti gli ordini, ma effettuano solo una cancellazione parziale. Qusto può portare a problemi di compatibilità e quindi è sempre consigliabile cancellare tutti i dati relativi agli ordini direttamente dal database.

Di seguito la query per la cancellazione degli ordini Magento dal database:

 

Testata su Magento 1.8.

Note: Eseguire sempre un Backup del database prima di eseguire la query.

 

SET FOREIGN_KEY_CHECKS=0;
TRUNCATE `sales_flat_creditmemo`;
TRUNCATE `sales_flat_creditmemo_comment`;
TRUNCATE `sales_flat_creditmemo_grid`;
TRUNCATE `sales_flat_creditmemo_item`;
TRUNCATE `sales_flat_invoice`;
TRUNCATE `sales_flat_invoice_comment`;
TRUNCATE `sales_flat_invoice_grid`;
TRUNCATE `sales_flat_invoice_item`;
TRUNCATE `sales_flat_order`;
TRUNCATE `sales_flat_order_address`;
TRUNCATE `sales_flat_order_grid`;
TRUNCATE `sales_flat_order_item`;
TRUNCATE `sales_flat_order_payment`;
TRUNCATE `sales_flat_order_status_history`;
TRUNCATE `sales_flat_quote`;
TRUNCATE `sales_flat_quote_address`;
TRUNCATE `sales_flat_quote_address_item`;
TRUNCATE `sales_flat_quote_item`;
TRUNCATE `sales_flat_quote_item_option`;
TRUNCATE `sales_flat_quote_payment`;
TRUNCATE `sales_flat_quote_shipping_rate`;
TRUNCATE `sales_flat_shipment`;
TRUNCATE `sales_flat_shipment_comment`;
TRUNCATE `sales_flat_shipment_grid`;
TRUNCATE `sales_flat_shipment_item`;
TRUNCATE `sales_flat_shipment_track`;
TRUNCATE `sales_invoiced_aggregated`;
TRUNCATE `sales_invoiced_aggregated_order`;
TRUNCATE `sales_order_aggregated_created`;
TRUNCATE `sendfriend_log`;
TRUNCATE `tag`;
TRUNCATE `tag_relation`;
TRUNCATE `tag_summary`;
TRUNCATE `wishlist`;
TRUNCATE `log_quote`;
TRUNCATE `report_event`;
ALTER TABLE `sales_flat_creditmemo` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_creditmemo_comment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_creditmemo_grid` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_creditmemo_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_invoice` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_invoice_comment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_invoice_grid` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_invoice_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_address` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_grid` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_payment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_status_history` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_address` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_address_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_item_option` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_payment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_shipping_rate` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_shipment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_shipment_comment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_shipment_grid` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_shipment_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_shipment_track` AUTO_INCREMENT=1;
ALTER TABLE `sales_invoiced_aggregated` AUTO_INCREMENT=1;
ALTER TABLE `sales_invoiced_aggregated_order` AUTO_INCREMENT=1;
ALTER TABLE `sales_order_aggregated_created` AUTO_INCREMENT=1;
ALTER TABLE `sendfriend_log` AUTO_INCREMENT=1;
ALTER TABLE `tag` AUTO_INCREMENT=1;
ALTER TABLE `tag_relation` AUTO_INCREMENT=1;
ALTER TABLE `tag_summary` AUTO_INCREMENT=1;
ALTER TABLE `wishlist` AUTO_INCREMENT=1;
ALTER TABLE `log_quote` AUTO_INCREMENT=1;
ALTER TABLE `report_event` AUTO_INCREMENT=1;
SET FOREIGN_KEY_CHECKS=1;

Tag: , , |

Ottimizzazione SEO Magento per i motori di ricerca

Magento è una delle migliori piattaforme di e-commerce, ma la versione base non è ottimizzata per i motori di ricerca. Per sfruttare al massimo le sue potenzialità è necessario adottare alcuni accorgimenti SEO per ottenere un negozio online ottimizzato per i motori di ricerca.
Ottimizzazione delle URL rewrite
Come sempre in qualsiasi tipo di sito web, anche in Magento,  bisogna considerare  la riscrittura delle URL,  per avere delle URL SEO friendly.
Quindi bisognerà attivare la funzionalità URL rewrite di Magento.  Per attivare l’URL rewrite è necessario seguire dal menu “System” / “Configuration/ Web” e selezionare Yes nella scheda “Search Engine Optimization” alla voce “Use Web Server Rewrites“.

Rimuovere index.php

Un altro accorgimento per l’ottimizzazione è la rimozione di index.php da tutte le URL.

Per farlo è necessario editare il file .htaccess che si trova nella root dell’installazione di Magento, alla riga 123

sostituendo

RewriteBase /magento/

con

RewriteBase /

Ottimizzazioni generali
Configurare l’header indicando i suffissi e meta tag da applicare come default.
Per la configurazione dell’header si accededel menu “System” / “Configuration / Design” nella sched HTML Head .

Creare una Sitemap

Per creare una sitemap in Magento si accede dal menu “Catalog / Google Sitemap” , cliccare su “Add Sitemap” e compilare i campi richiesti.

Dopo aver cliccato su Save & Generate, per far si che si aggiorni automaticamente, è necessario settare il campo Enabled: Yes nella pagina “Google Sitemap” del menu “System” / “Configuration” . Bisogna infine ricordarsi di settare i permessi del file sitemap.xml a “777″.

Aumentare la Velocita di caricamento della pagine di Magento

Una delle operazioni da effettuare per migliorare le performance di Magento è l’attivazione della cache, abilitare tutte le opzioni dalla pagina “System” / “Cache Management“

Evitare prodotti duplicati

Uno stesso prodotto si può trovare in più categorie, generando qualche problema con i motori di ricerca dal momento che URL diverse che portano alla stessa pagina possono far incorrere in ban o penalizzazioni per contenuti duplicati.

Il problema può essere risolto disabilitando l’inserimento dei nomi delle categorie nelle URL dei prodotti, dalla scheda “Search Engine Optimization” della pagina “System” / “Configuration” / “Catalog” settando Use Categories Path for Product URLs: No.

rel=”canonical”
Uno strumento che ci può tornare molto utile è il tag rel=”canonical”, elemento che indica al motore di ricerca quale tra le varie versioni di una pagina è quella canonica, cioè quella preferita dal proprietario del sito.
Il tag si può attivare tanto per i prodotti che per le categorie dalla scheda “Search Engine Optimization” della pagina “System” / “Configuration” / “Catalog“

Ottimizzare la configurazione di MySQL per Magento

Magento è un’applicazione molto incentrata sui database con uno schema complesso e centinaia di tabelle, usando un’architettura che viene indicata come il modello Entity-attribute-value model (EAV) .

Questo modello fa di Magento una piattaforma molto potente ed estensibile , ma il server deve essere ottimizzato per elaborare queste query complesse sul database . La maggior parte dei problemi di prestazioni di magento, sono in realtà causati da una configurazione inefficiente di MySQL .


Nota : queste modifiche richiedono l’accesso amministratore sul server , quindi se il vostro sito è hostato su un provider di hosting condiviso probabilmente non siete grado di applicare queste modifiche .

Sul server MySQL , aprire il file di configurazione ( di solito si trova in /etc/my.cnf ) in un editor di testo . Questo file contiene vari parametri che hanno effetto su come MySQL alloca le risorse , limite di connessione , ecc.

I numeri possono variare a seconda della configurazione del sistema .

MySQL Query Cache

Parameter: query_cache_type
Recommended value: 1 (on)

Parameter: query_cache_size
Recommended value: 64M

Forse il più importante di tutti i parametri di ottimizzazione è la cache delle query . La cache delle query memorizza il testo di un’istruzione SELECT insieme al risultato corrispondente che viene inviato al client . Se una dichiarazione identica viene inviata in seguito , il server recupera i risultati dalla cache delle query invece di eseguire nuovamente l’istruzione .Questo avrà un impatto significativo sulle prestazioni di Magento .

 

Thread Cache Size

Parameter name: thread_cache_size
Recommended value: 16

MySQL utilizza un thread separato per ogni connessione client . In ambienti dove le applicazioni non si attaccano ad un’istanza di database persistente , ma piuttosto creano e chiudono un sacco di connessioni ogni secondo , il processo di deposizione dei nuovi threads ad alto tasso può consumare notevoli risorse di CPU . Per alleviare questo effetto negativo , MySQL implementa thread cache, che permette di risparmiare thread di connessioni che vengono chiuse e riutilizzarli per nuove connessioni .

 

Key Buffer

Parameter name: key_buffer
Recommended value: 256M

 

Il key buffer viene utilizzata per memorizzare i blocchi di indice per le tabelle MyISAM . Magento utilizza InnoDB per molte delle sue tabelle del database più pesanti , l’effetto del buffer delle chiavi MyISAM è alquanto ridotta . Tuttavia, è una buona idea impostarlo un po ‘ superiore a quello di default .

 

Table Cache

Parameter name: table_cache
Recommended value: 512

 

MySQL alloca una porzione della memoria per il table caching. table_cache è legato al max_connections .

Ad esempio , per 200 connessioni simultanee in esecuzione , si dovrebbe avere una dimensione di cache table di almeno 200 * N , dove N è il numero massimo di tabelle per join a una delle query che si esegue .

 

InnoDB impostazioni specifiche

Parameter name: innodb_buffer_pool_size
Recommended value: 512M

Parameter name: innodb_thread_concurrency
Recommended value: 8 (equal to number of CPU cores)

Parameter name: innodb_additional_mem_pool_size
Recommended value: 8M

Parameter name: innodb_log_buffer_size
Recommended value: 4M

 

Magento usa il motore di database InnoDB per la maggiorparte delle sue tabelle.


Mostrare Bandierine delle Lingue invece del menu a discesa su Magento

1. Andare sul file app/design/frontend/

[theme-directory]/template/page/switch/

2. Aprire il file “languages.phtml” e modificarlo con il codice seguente:

(altro…)

Ottimizzare velocità performance di Magento

Uno dei problemi di Magento è la lentezza delle performance, che più i siti sono grandi e complessi più aumenta, e bisogna considerare delle tecniche di ottimizzazione di Magento.

Vediamo di seguito alcune techiche e metodi per migliorare le performance di Magento, ottimizzando il codice html, le immagini, il database e il server.

Google considera anche la velocità del sito web come parametro di ranking di un sito web, infatti la velocità è importante per il vostro sito , e non solo per Google , ma soprattutto per la User Experience ( UX) sul tuo sito.

La ricerca di Google e Microsoft dimostra che i siti web più lenti convertono meno e che l’effetto di un sito web lento è durevole.

Il consiglio è sempre quello di rivolgersi ad una web agency specializzata nella realizzazione di siti web per l’ottimizzazione della velocità del sito web.

A) Hosting / suggerimenti generali

– Utilizzare un server dedicato.
– Ospitare il sito nel paese dove sono i clienti.
– Andare su MySQL Admin  selezionare tutte le tabelle ed effettuare i comandi repari e optimize.
– Utilizzare un acceleratore di PHP come APC, ZendOptimizer + o XCache.
– Installare sul server solo moduli di Apache necessari.
– Utilizzare  Apache mod_expires
– Abilitare Gzip Compression in htaccess.
– Non usare troppe fonti esterne diverse ( per le immagini , iframe , ( Twitter / facebook ) feed , ecc ), perché ogni ricerca DNS richiede tempo supplementare e si crea una dipendenza supplementare.
– Abilita Apache KeepAlives : Assicuratevi che la vostra configurazione di Apache ha KeepAlive abilitati.
– Ridurre al minimo i reindirizzamenti.
– Compilare MySQL dal sorgente invece di gestore dei pacchetti del sistema operativo.
– Aggiornare sempre alla versione più recente di Magento.
Non solo si ottiene più caratteristiche e correzioni di bug- e di sicurezza , ma con ogni aggiornamento Magento comporta dei vantaggi.
– setttare ‘ php_value memory_limit 128M ‘ nella configurazione di PHP o aggiungerlo al file htaccess . per essere sicuri di non esaurie la memoria .

B) Ottimizzazione del Template

– Ottimizzare tutto il vostro template comprese le immagini
– Utilizzare PNG8 file o file GIF piuttosto che Jpeg e non usare la trasparenza
– Scala le immagini: usare le immagini nelle dimensioni che servono.
– Usa compressione delle immagini.
– Minimizza il tuo Css, rimuovere il codice inutilizzato.
– Ridurre al minimo l’utilizzo Javascript.

 

C) Ottimizzare configurazione Magento

– Disinstallare tutte le estensioni che in realtà non sono utilizzate.
– Disabilitare i moduli che non si usano: Sistema -> Configurazione -> Advanced

– Abilitare tutte le cache di Magento: System -> Cache Management
– Combinare Javascript e file CSS: Sistema -> Configurazione -> Advanced -> Developer -> Impostazioni JavaScript” e “Impostazioni CSS. Si può anche considerare l’utilizzo di un estensione per fare questo come l’estensione Fooman Speedster.

– Abilitare il Magento Flat Catalog, utile per grandi cataloghi di prodotti

Visualizzare lista prodotti in homepage su Magento

Ci sono numerosi modi per far visualizzare la lista dei prodotti nella home page, e noi sottoporremo un elenco di frammenti di codice che è possibile utilizzare sul proprio negozio.

Lista dei nuovi prodotti in homepage

Vai sul pannello di amministrazione magento in “CMS Gestione Pagine” e selezionare “Home Page” dalla lista delle pagine.

Utilizzare questo frammento di codice per mostrare i prodotti etichettati come “nuovo” sulla tua pagina:

(altro…)

Aggiungere un blocco reference personalizzato in magento

Magento è costruito su un modello completamente modulare che dà grande scalabilità e flessibilità per il tuo negozio. Durante la creazione di un tema, si sono dotati di molti blocchi di contenuto che è possibile inserire in blocchi strutturali.

Magento offre alcuni blocchi strutturali di default e molti blocchi di contenuto. Questo articolo descrive che cosa si deve fare  per creare nuovo blocco strutturale personalizzato.


Cosa sono i blocchi strutturali?

Sono i blocchi capogruppo di blocchi di contenuto e servono per posizionare i suoi blocchi di contenuti all’interno di un contesto pagina del negozio. I blocchi strutturali magento di default sono i seguenti:

– Header

– Left column

– Right column

– Content

– Footer

Il nostro obiettivo è quello di creare un nuovo blocco strutturale chiamato “newreference”.

Fase 1 : il nome del blocco strutturale

Aprire il file di layout/page.xml nella cartella del tema attivo . All’interno troverete linee come :


<block type=”core/text_list” name=”left” as=”left”/>
<block type=”core/text_list” name=”content” as=”content”/>
<block type=”core/text_list” name=”right” as=”right”/>


Cerchiamo di imitare questo e aggiungere una nuova linea da qualche parte dentro lo stesso tag blocco .


<block type=”core/text_list” name=”newreference” as=”newreference”/>