WooCommerce Headless: come creare un eCommerce super veloce e reattivo

6 Ottobre 202315,9 min

Un eCommerce WooCommerce Headless è un tipo di soluzione di eCommerce che consente di sfruttare la potenza di WooCommerce come piattaforma di sviluppo eCommerce, mantenendo al tempo stesso la flessibilità di una piattaforma headless.

Si tratta di una soluzione che consente di sfruttare al meglio le funzionalità di WordPress, come un potente motore di gestione dei contenuti e una piattaforma di sviluppo flessibile, senza la necessità di utilizzare i temi e i plugin di WordPress.

In questo articolo su WooCommerce Headless vedremo come creare un eCommerce super veloce e reattivo.

WooCommerce Headless: approfondimenti

Se non conosci bene WooCommerce, ti consiglio di leggere questo articolo: Come creare un eCommerce con WooCommerce.

Mentre se vuoi approfondire il concetto di headless, ti consiglio: Ecommerce Headless: significato e guida completa.

Inoltre se vuoi testare le funzionalità di un eCommerce headless già pronto e funzionante, puoi generarne uno tuo a questo indirizzo. Sarà pronto in 15 minuti e potrai testare la sua velocità e reattività.

La soluzione più rapida per creare un eCommerce WooCommerce headless è Megicart. La nostra piattaforma offre tutto ciò di cui hai bisogno, trasformando WooCommerce in una soluzione headless pronta all’uso. Con Megicart, hai già la configurazione e le funzionalità necessarie, risparmiando tempo e semplificando il processo di sviluppo.

WooCommerce standard VS WooCommerce Headless: quali sono le differenze

WooCommerce Standard

  • Immagine: Un ristorante con un menù fisso.
  • Descrizione: In questo ristorante, hai un menù predefinito con piatti già pronti. Puoi scegliere tra le opzioni disponibili e aggiungere qualche modifica, ma in generale, le scelte sono limitate a ciò che è già stato preparato. È veloce e facile perché tutto è già stato pensato e sistemato per te.

WooCommerce Headless

  • Immagine: Un servizio di catering dove puoi personalizzare tutto.
  • Descrizione: Questo servizio ti offre la possibilità di creare il tuo menù da zero. Puoi scegliere ogni ingrediente, decidere come devono essere preparati i piatti, e persino come devono essere presentati. Hai molta più libertà per personalizzare ogni dettaglio, ma devi lavorare di più per definire tutto e farlo funzionare come desideri.

La Differenza

  • WooCommerce Standard è come un ristorante con un menù fisso: è semplice e immediato, con opzioni già pronte e facili da scegliere.
  • WooCommerce Headless è come un servizio di catering personalizzato: ti permette di creare tutto su misura e personalizzare ogni aspetto, ma richiede più tempo e lavoro per mettere tutto insieme e farlo funzionare.

In breve, WooCommerce Standard ti offre una soluzione pronta e facile, mentre WooCommerce Headless ti dà la possibilità di personalizzare tutto in dettaglio, ma richiede più impegno per la configurazione e la gestione.

Vantaggi dell’utilizzo di un eCommerce Headless con WordPress

L’utilizzo di un eCommerce Headless con WordPress può comportare una serie di vantaggi per i proprietari di siti web.

Innanzitutto, una piattaforma headless consente di sfruttare la potenza di WooCommerce come piattaforma di sviluppo eCommerce senza la necessità di utilizzare temi e plugin WordPress.

Inoltre, l’utilizzo di una piattaforma headless consente di migliorare l’esperienza utente, poiché i temi e i plugin WordPress possono essere spesso lenti e complicati da utilizzare. Inoltre, una piattaforma headless consente di creare un sito web altamente scalabile, poiché non è limitato dalle funzionalità dei temi e dei plugin WordPress.

  1. Flessibilità e Personalizzazione: Design del front-end completamente separato dal back-end, con maggiore libertà di personalizzazione.
  2. Prestazioni Migliorate: Tempi di caricamento più rapidi e caching efficiente grazie alla separazione front-end/back-end.
  3. Scalabilità: Scalabilità separata per front-end e back-end, facilitando la gestione del carico e l’adattamento alle nuove tecnologie.
  4. Ottimizzazione per la SEO: Controllo totale su SEO, dati strutturati e URL, con possibilità di implementare tecniche moderne.
  5. Esperienza Utente Migliorata: Interattività e compatibilità ottimizzata per dispositivi mobili con tecnologie front-end moderne.
  6. Indipendenza dalle Limitazioni di WordPress: Aggiornamenti e modifiche senza influenzare l’altro lato; maggiore sicurezza.

Prezzi WooCommerce Headless

OpzioneCosto MensileCommissione sulle TransazioniDominio PersonalizzatoNote
WooCommerce Headless Megicart (Piano Base)0€/mese3,5%Non inclusoIdeale per chi cerca una soluzione economica con commissioni più alte.
WooCommerce Headless Megicart (Piano Avanzato)19,90€/mese1,9%InclusoPer chi preferisce un costo mensile fisso e commissioni più basse.
Sviluppo WooCommerce Headless Custom presso Agenzia8.000€ – 45.000€+
oltre ai costi di manutenzione
Non applicabile direttamente; costi aggiuntivi possono includere commissioni di pagamento e mantenimentoIncluso o meno a seconda dell’accordoCosti iniziali elevati e personalizzazione completa, ma con maggiori spese a lungo termine.

Tipo di ServizioCosto IndicativoDettagli
Sviluppo Iniziale5.000€ – 30.000€+Costo per lo sviluppo e la personalizzazione di una soluzione eCommerce headless. Include progettazione, sviluppo, e integrazione con WooCommerce e altre tecnologie.
Design Personalizzato2.000€ – 10.000€+Costo per il design su misura del sito, inclusi layout, UI/UX e personalizzazione del tema.
Integrazione e Configurazione1.000€ – 5.000€+Costo per l’integrazione di API, configurazione di sistemi di pagamento, e altre funzionalità specifiche.
Manutenzione e Supporto500€ – 2.000€/meseCosto per la manutenzione continua, aggiornamenti, e supporto tecnico.
Dominio e Hosting100€ – 500€/annoCosto per dominio personalizzato e hosting dedicato.

Costi Totali di Sviluppo Custom

Costo Iniziale Totale: 8.000€ – 45.000€+ (una tantum)

Costo Annuale di Manutenzione: 6.000€ – 24.000€/anno

Come creare un eCommerce Headless con WooCommerce: guida tecnica

Avviare un progetto di un eCommerce Headless con WordPress è relativamente semplice. La complessità riguarda le molte variabili in gioco in un progetto eCommerce, che dovranno essere gestite singolarmente (es. il front-end di un prodotto non si limita al singolo, ma anche ai prodotti variabili, composti, con affiliazioni, ecc.). Seguendo questi passaggi, è possibile avviare il progetto di un sito web headless con WooCommerce.

1. Installare WordPress e WooCommerce

In questa guida (come creare un eCommerce WooCommerce) puoi leggere davvero tutto quello che serve per approfondire questo argomento. Se decidi di continuare darò per scontato che hai una certa conoscenza degli argomenti.
La prima cosa da fare è acquistare uno spazio hosting (oppure avviare un progetto in locale se sei uno sviluppatore).
In seconda battuta dovrai acquistare un dominio e puntarlo sul tuo hosting.
In particolare dovrai puntare il RECORD A del dominio sull’indirizzo IP del server su cui sarà ospitato il sito. Se acquisterai entrambi i servizi nella stessa piattaforma, solitamente è già tutto configurato.

Solitamente i provider offrono dei servizi di autoinstallazione di WordPress. In quel caso ti basterà seguire la procedura guidata.

In alternativa i passaggi da fare sono:

  1. Scarica WordPress da questo link.
  2. Installa WordPress e apri il file wp-config.php
  3. Crea un database sul tuo hosting e inserisci le credenziali appena create nel file wp-config.php
  4. Inserisci le chiavi di salatura nel wp-config.php create qui
  5. Naviga il dominio
  6. Segui la procedura guidata
  7. Vai nei plugin e scarica WooCommerce

2. Installa il plugin WP-GraphQL

WP-GraphQL Con WP-GraphQL, puoi aggiungere un’API GraphQL al tuo sito WordPress, permettendoti di ottenere e gestire i dati in modo più flessibile e efficiente.

Vantaggi di WP-GraphQL:

  • Interrogazioni Efficaci: Accedi solo ai dati di cui hai bisogno con richieste precise e personalizzate.
  • Integrazione Facile: Lavora perfettamente con framework moderni come Vue.js e React per un front-end fluido.
  • Scalabilità: Supporta una gestione dei dati più dinamica e scalabile per progetti complessi.

Come Installare WP-GraphQL:

  1. Vai alla tua bacheca WordPress.
  2. Seleziona Plugin > Aggiungi Nuovo.
  3. Cerca “WP-GraphQL” e clicca su Installa Ora.
  4. Attiva il plugin e inizia a configurare la tua API GraphQL!

A questo punto, nelle impostazioni del plugin potrai copiare l’endpoint delle tue API.

3. Installa il plugin WP-GraphQL e WPGraphQL JWT Authentication

WPGraphQL for WooCommerce
Descrizione: Estensione per WPGraphQL che aggiunge supporto specifico per WooCommerce. Permette di interrogare i dati di WooCommerce come prodotti, ordini, categorie e altro tramite GraphQL.
Download: WPGraphQL for WooCommerce

WPGraphQL JWT Authentication (opzionale, per sicurezza)
Descrizione: Plugin per aggiungere l’autenticazione JWT a WPGraphQL, utile se hai bisogno di proteggere le tue API e garantire che solo gli utenti autorizzati possano accedere ad alcune informazioni.
Download: WPGraphQL JWT Authentication

4. Configura il tuo progetto front-end

Per configurare un progetto Nuxt.js collegato al tuo backend WordPress headless (utilizzando WPGraphQL), segui questi passaggi:

1. Vai nella directory del tuo progetto

Apri il terminale e naviga la directory del tuo progetto in locale, oppure collegati in ssh sul tuo progetto online.

2. Impostare il Progetto Nuxt.js

Installa Nuxt.js: Se non hai ancora installato Nuxt.js, puoi iniziare un nuovo progetto con il comando:

npx create-nuxt-app nome-progetto

Segui le istruzioni per configurare il progetto. Se hai già un progetto, salta questo passaggio.

Naviga nella Directory del Progetto:

cd nome-progetto

Installa le Dipendenze Necessarie
Axios: Per effettuare richieste al tuo backend.

npm install @nuxtjs/axios

GraphQL e Apollo Client: Per interagire con l’API GraphQL di WordPress.

npm install @nuxtjs/apollo graphql

Configura Axios (opzionale)
Se desideri utilizzare Axios per le richieste REST API, aggiungi e configura il modulo Axios nel file nuxt.config.js.

// nuxt.config.js
export default {
  modules: [
    '@nuxtjs/axios',
    // altri moduli
  ],
  axios: {
    // Configura la base URL per le richieste REST (opzionale)
    baseURL: 'https://tuosito.com/wp-json/wp/v2/', // Modifica l'URL se necessario
  },
}

Configura Apollo Client
Aggiungi e configura il modulo Apollo Client nel file nuxt.config.js

// nuxt.config.js
export default {
  modules: [
    '@nuxtjs/apollo',
    // altri moduli
  ],
  apollo: {
    clientConfigs: {
      default: {
        httpEndpoint: 'https://tuosito.com/graphql', // URL dell'endpoint GraphQL di WPGraphQL
        // Se hai bisogno di autenticazione JWT, puoi configurarla qui:
        // tokenName: 'access_token',
        // httpLinkOptions: {
        //   headers: {
        //     authorization: `Bearer ${process.env.GQL_TOKEN}`
        //   }
        // }
      }
    }
  }
}

Esegui Query GraphQL
Puoi eseguire query GraphQL utilizzando Apollo Client all’interno delle tue pagine o componenti Nuxt.js.

Crea una Pagina o Componente: Esempio di una pagina Nuxt che esegue una query GraphQL:

// pages/index.vue
<template>
  <div>
    <h1>Articoli</h1>
    <ul>
      <li v-for="post in posts" :key="post.id">{{ post.title }}</li>
    </ul>
  </div>
</template>

<script>
import gql from 'graphql-tag'

export default {
  async asyncData({ app }) {
    const { data } = await app.$apollo.query({
      query: gql`
        query {
          posts {
            nodes {
              id
              title
            }
          }
        }
      `
    })
    return {
      posts: data.posts.nodes
    }
  }
}
</script>

Avvia il Progetto
Avvia il tuo progetto Nuxt.js con:

npm run dev

Visita il tuo sito locale (di solito http://localhost:3000) per vedere il risultato.

Ora voglio spiegarti una cosa fondamentale: le chiamate al backend. Solitamente si pensa che un sito headless, essendo statico non faccia chiamate. Tuttavia nel caso di un eCommerce, queste chiamate sono fondamentali!

Pensa ad esempio ai prodotti: se la quantità di un prodotto varia, ma il tuo sito non è stato buildato in questo frangente, le quantità visibili sul sito saranno sbagliate!

Chiamate al Backend con Axios

Perché si fanno:

  1. Recuperare Dati: Spesso, un’applicazione web ha bisogno di recuperare dati dal server. Ad esempio, un sito di eCommerce deve ottenere informazioni sui prodotti, un blog deve caricare articoli, ecc. Axios permette di fare queste richieste in modo semplice ed efficace.
  2. Inviare Dati: Quando un utente compila un modulo o fa un’azione che modifica i dati (come creare un nuovo post o fare un acquisto), devi inviare questi dati al server. Axios gestisce queste operazioni di POST e PUT.
  3. Interagire con API: Le API RESTful sono comuni nelle moderne applicazioni web. Axios permette di comunicare con queste API, inviando e ricevendo dati in vari formati (JSON, XML, ecc.).

A cosa servono:

  1. Recuperare Informazioni Dinamiche: Per mostrare contenuti aggiornati e personalizzati basati sui dati del server. Ad esempio, un’app di notizie può caricare articoli recenti ogni volta che l’utente visita una pagina.
  2. Gestire Dati dell’Utente: Per inviare e ricevere dati dell’utente, come preferenze o credenziali di login, mantenendo l’interfaccia utente aggiornata.
  3. Integrazione con Servizi Esterni: Per connettersi a servizi esterni come pagamenti online, sistemi di gestione delle risorse, ecc.

Metodo mounted in Vue.js/Nuxt.js

Perché si usa:

  1. Accesso al DOM: Il metodo mounted viene chiamato dopo che il componente è stato montato nel DOM, quindi è il momento giusto per accedere o manipolare il DOM. Ad esempio, puoi eseguire operazioni che richiedono l’esistenza effettiva degli elementi nella pagina.
  2. Inizializzazione dei Dati: È un buon punto per inizializzare i dati del componente con chiamate API, caricare informazioni necessarie, o eseguire operazioni che devono avvenire solo dopo che il componente è stato visualizzato.

A cosa serve:

  1. Eseguire Chiamate API: Puoi usare mounted per fare chiamate al backend e ottenere i dati necessari per il componente. Ad esempio, caricare un elenco di articoli quando il componente viene visualizzato.
  2. Manipolare il DOM: Se hai bisogno di eseguire operazioni che richiedono che gli elementi DOM siano già presenti, come inizializzare un plugin di terze parti che dipende dal DOM.
  3. Avviare Operazioni: Può essere usato per avviare animazioni, inizializzare componenti di terze parti, o eseguire qualsiasi codice che dipende dal fatto che il componente sia completamente montato e visibile.

Esempio Combinato

Immagina di avere un componente che mostra una lista di articoli:

  • Chiamata al Backend con Axios: Quando il componente è montato, utilizzi Axios per fare una richiesta al server e ottenere l’elenco degli articoli.
  • Metodo mounted: Il metodo mounted è il momento in cui esegui la chiamata Axios perché sai che il componente è pronto e visualizzabile. Dopo aver ricevuto i dati, puoi aggiornare lo stato del componente per mostrare l’elenco degli articoli all’utente.

In sintesi, le chiamate al backend con Axios servono per comunicare con il server e gestire dati dinamici, mentre il metodo mounted è un punto chiave nel ciclo di vita del componente Vue.js per eseguire operazioni dopo che il componente è stato montato e visualizzato. Entrambi aiutano a creare applicazioni web interattive e reattive.

Conclusione

Creare un eCommerce Headless con WooCommerce è relativamente semplice. Seguendo questi passaggi, è possibile creare un sito web headless con WooCommerce in pochi minuti. L’utilizzo di una piattaforma headless consente di sfruttare al meglio le funzionalità di WooCommerce, come un potente motore di gestione dei contenuti e una piattaforma di sviluppo flessibile, senza la necessità di utilizzare temi e plugin WordPress. Inoltre, l’utilizzo di una piattaforma headless consente di migliorare l’esperienza utente e di creare un sito web altamente scalabile.

Approfondimento su: Come creare un eCommerce Headless con WordPress

Come creare un eCommerce Headless con WordPress

Un eCommerce headless è una soluzione di eCommerce che separa il front-end dal back-end. Ciò significa che la parte visibile del sito web, inclusa l’interfaccia utente, è separata dal back-end, che include la gestione dei prodotti, dei pagamenti e dei processi di ordinazione. Un eCommerce headless è un’ottima soluzione per le aziende che vogliono un sito web veloce e reattivo con una grafica moderna che sia in grado di gestire la complessità dei processi di ordinazione.

WordPress è uno dei CMS più popolari per la creazione di siti web. È un CMS facile da usare con una vasta gamma di plugin e temi. Tuttavia, WordPress non è una soluzione di eCommerce nativa. Per creare un eCommerce headless con WooCommerce, è necessario utilizzare alcuni plugin di terze parti.

In questo articolo, esamineremo come creare un eCommerce headless con WordPress. Discuteremo la scelta del plugin di terze parti, le funzionalità di cui hai bisogno e come configurarlo.

Scegli un plugin di terze parti

La prima cosa da fare quando si crea un eCommerce headless con WordPress è scegliere un plugin di terze parti. Ci sono molti plugin di eCommerce disponibili per WordPress, tra cui WooCommerce, WP-GraphQL e WPGraphQL JWT Authentication.

Ogni plugin ha le sue caratteristiche uniche e può offrire funzionalità diverse. Ad esempio, WooCommerce è una delle soluzioni di eCommerce più popolari ed è dotata di una vasta gamma di funzionalità, tra cui la gestione dei prodotti, dei pagamenti e dei processi di ordinazione. Gli altri servono per estendere le funzionalità di GraphQL

Configura il tuo plugin

Una volta scelto il plugin, dovrai configurarlo. La configurazione varia da plugin a plugin, ma in generale, dovrai configurare le seguenti impostazioni:

• Impostazioni generali: qui dovrai inserire le informazioni di base del tuo negozio, tra cui il nome, l’indirizzo e altri dettagli.

• Prodotti: luogo in cui aggiungere i prodotti che stai vendendo, inclusi prezzo, descrizione, immagini e altre informazioni.

• Metodi di pagamento: sezione per configurare i metodi di pagamento che offrirai ai tuoi clienti, come carte di credito, PayPal e altri metodi di pagamento.

• Spedizioni: area per configurare le opzioni di spedizione che offrirai ai tuoi clienti, come costi di spedizione, tempi di consegna e altri dettagli.

Una volta configurato il plugin, dovrai collegare il tuo sito web al tuo negozio. Per fare ciò, dovrai inserire un codice di collegamento nel tuo tema WordPress.

Crea la tua interfaccia utente

Una volta configurato il tuo plugin e collegato il tuo sito web al tuo negozio, sei pronto per creare la tua interfaccia utente. L’interfaccia utente è la parte visibile del tuo sito web, inclusa la home page, le pagine di prodotto, le pagine di checkout e altro.

Per creare la tua interfaccia utente, dovrai utilizzare una combinazione di HTML, CSS e JavaScript. Solitamente si utilizzano framework come Nuxt JS, o Gatsby.

Testa il tuo eCommerce Headless

Una volta che la tua interfaccia utente è pronta, dovrai testarla. Dovrai assicurarti che tutte le funzionalità funzionino correttamente, tra cui la gestione dei prodotti, dei pagamenti e dei processi di ordinazione.

Inoltre, dovrai testare la tua interfaccia utente per assicurarti che sia veloce, reattiva e facile da usare. Puoi farlo utilizzando strumenti di test come Google PageSpeed Insights e Pingdom.

Woocommerce Headless: Conclusione

Creare un eCommerce headless con WordPress è un modo complesso per creare un sito web di eCommerce moderno e reattivo. Tuttavia, dovrai scegliere un plugin di terze parti, configurarlo e creare una interfaccia utente personalizzata. Una volta fatto questo, dovrai testarlo per assicurarti che tutte le funzionalità funzionino correttamente.

Woocommerce Headless: FAQ

Come creare un eCommerce Headless con WordPress?

Per creare un eCommerce Headless con WordPress è necessario installare un plugin di eCommerce come WooCommerce, WP-GraphQL e WPGraphQL JWT Authentication, un plugin per la gestione dei contenuti come Advanced Custom Fields.

Quali sono i vantaggi dell’utilizzo di un eCommerce Headless?

Gli eCommerce Headless consentono di separare la parte di presentazione dei contenuti (front-end) dalla parte di gestione dei contenuti (back-end). Ciò consente di sfruttare al meglio le potenzialità delle API e di creare un’esperienza utente più fluida. Oltre a questo le velocità sono strepitose e la sicurezza è massima.

Quali sono i plugin WordPress necessari per creare un eCommerce Headless?

Per creare un eCommerce Headless con WordPress è necessario installare un plugin di eCommerce come WooCommerce, un plugin per la gestione dei contenuti come Advanced Custom Fields e un plugin per la creazione di API come WP-GraphQL e WPGraphQL JWT Authentication

Come funziona un eCommerce Headless?

Un eCommerce Headless è un’architettura che consente di separare la parte di presentazione dei contenuti (front-end) dalla parte di gestione dei contenuti (back-end) utilizzando un’API. Questo consente di sfruttare al meglio le potenzialità delle API e di creare un’esperienza utente più fluida

Quali sono le alternative a WordPress per creare un eCommerce Headless?

Oltre a WordPress, ci sono anche altre piattaforme che consentono di creare un eCommerce Headless, come Megicart, Prestashop e Magento. Tuttavia Megicart è l’unica nativamente headless.

Come si crea un’API per un eCommerce Headless?

Per creare un’API per un eCommerce Headless è necessario installare un plugin per la creazione di API come WP REST API o GraphQL

Quali sono i vantaggi di un eCommerce Headless rispetto a un eCommerce tradizionale?

Gli eCommerce Headless offrono una maggiore flessibilità nello sviluppo, poiché consentono di separare la parte di presentazione dei contenuti (front-end) dalla parte di gestione dei contenuti (back-end) e di sfruttare al meglio le potenzialità delle API

Quali sono i plugin di eCommerce più comunemente utilizzati per creare un eCommerce Headless?

I plugin di eCommerce più comunemente utilizzati per creare un eCommerce Headless sono WooCommerce e WP-GraphQL e WPGraphQL JWT Authentication.

Andrea Tasselli

Faccio siti web ed eCommerce, smanetto con codice e colori.

Sono un po’ sviluppatore, un po’ grafico — e un po’ Balto: so solo quello che non sono. Mi piacciono la meccanica quantistica, le Magic e costruire cose inutili con Arduino (ma bellissime).

Stay in the loop

Hai un'idea in mente?

🎉 Megify – Sito Web in un click
Apri, personalizza e gestisci il tuo sito web in modo semplice e veloce.
👉 Provalo gratis su megify.it

🎉 Megify eCommerce – L’eCommerce in un click
Il tuo negozio online, pronto in pochi minuti. Nessun codice, zero stress.
👉 Provalo gratis su megify.it

🎉 Contattami su
👉 info.andreatasselli@gmail.com 👉 3398710808