f in x
WooCommerce from Scratch: Installation, Products, Payments, and Shipping
> cd .. / HUB_EDITORIALE
Analisi dei dati e metriche

WooCommerce from Scratch: Installation, Products, Payments, and Shipping

[2026-06-09] Author: Ing. Calogero Bono

You installed WordPress and you are ready. Now comes the moment of truth: turning that site into a real store that sells. WooCommerce is the most popular plugin, but a bad setup costs you money. Slow loading, broken payment gateways, shipping config errors. We, Meteora Web, have built dozens of WooCommerce stores. We know what works. Let's start.

Before you start: what you really need

WooCommerce is a WordPress plugin, but a 2-euro hosting won't cut it. You need:

  • Fast hosting with PHP 8.0+, MySQL 8.0+, at least 2 GB RAM. Shared cheap hosting won't deliver a sub-2-second cart.
  • SSL active — without HTTPS browsers block checkout pages and customers leave.
  • Clean permalinks — set permalink structure to “Post name” (Settings → Permalinks). Your store URLs become /product/product-name/.
  • Automatic backup — enable a backup plugin (or via cPanel) before making changes.

Action: check your PHP version in the hosting panel and update to at least 8.1. If unsure, ask support.

Installing WooCommerce: two paths, one choice

Install via plugin

Go to Plugins → Add New, search “WooCommerce”, install and activate. The setup wizard starts immediately. Fill in your address, currency (EUR), location, weight and dimension units. We recommend setting Italy as base country and leaving taxes for later.

Essential initial settings

After installation:

  • Set up store pages: WooCommerce → Settings → Products → Pages. Make sure Cart, Checkout, My Account, and Shop pages exist. If missing, click “Create pages”.
  • Disable maintenance mode: if the store is not live yet, use a maintenance plugin, not WooCommerce defaults.
  • Enable error logs (WooCommerce → Settings → Advanced → Logs) for future debugging.

Action: after activation, complete the wizard. Then go to WooCommerce → Status → Tools and click “Create default WooCommerce pages”.

Products: the heart of your store

Every product page must sell. Start with the right structure.

Simple vs variable product

Simple product: one price, no variations. Example: a book, a unique mug, a service. Variable product: sizes, colors, materials. Each combination has its own price and stock. Example: T-shirt available in red/blue, sizes S/M/L.

We recommend using variable products only when necessary. Each variant adds database complexity. If you have few variations, use custom attributes and manage prices manually.

Real example: a client sells handmade candles with 3 scents and 2 sizes: 6 variants total. We used a variable product with attributes “Scent” and “Size”. Each variant has its own SKU, price, weight, and stock.

Adding images and descriptions that sell

Images must be optimized. Loading a 3 MB JPEG slows the page. We cut image weight by 60% for a client using jpegoptim and WebP. Use plugins like Smush or ShortPixel on WooCommerce.

The description must answer “why should I buy this?”. Use bullet points, technical specs, benefits. Separate the short description (on catalog pages) from the long description (on product page).

Categories and attributes

Categories help navigation (e.g. “Clothing” → “T-shirts”). Attributes (e.g. “Size”, “Color”) are for filters and variations. Create categories first, then assign products. Keep hierarchy to max 3 levels.

Action: add a simple test product: go to Products → Add New, enter name, price (e.g. 29.90), short description, featured image (max 200 KB, 800x800 px), publish. Check it on /shop/.

Payments: the moment of truth

Main gateways: Stripe and PayPal

WooCommerce includes bank transfer and check by default. Not enough. You need at least one credit card gateway. We use Stripe (simple, low fees) and PayPal (user coverage).

Stripe setup: install the plugin “WooCommerce Stripe Payment Gateway”. Go to WooCommerce → Settings → Payments → Stripe. Enter public and secret keys (from Stripe dashboard). Enable test mode and use test cards provided by Stripe to test without real money.

PayPal setup: install “WooCommerce PayPal Payments”. Link your PayPal Business account. Wait for verification. Note: PayPal charges extra for cross-border transactions if customer is outside Italy.

Cash on delivery: yes or no?

Cash on delivery is still popular in Italy, especially in the South. It has hidden costs: banks charge for cash handling, couriers take a percentage. We enable it only when requested, and suggest adding a surcharge (e.g. €5) to cover costs.

Security note: checkout must be over HTTPS. WooCommerce checks automatically. Disable card payments if SSL is missing. Set order management: online payments set status to “Processing” automatically; cash on delivery stays “Pending”.

Action: activate Stripe in test mode. Register on Stripe.com, get keys, enter them in WooCommerce. Place a test order using card 4242 4242 4242 4242, future date, CVV 123. It should go through.

Shipping: costs and zones

Shipping zones and methods

WooCommerce handles shipping by geographic zones. Each zone can have multiple methods: flat rate, free shipping, local pickup. Create at least “Italy” and “International” zones.

Practical example: a client sells Sicilian olive oil. They set:

  • Italy zone: free shipping above €50, otherwise €7.
  • Europe zone: flat rate €15.
  • Local pickup: free (visible only for nearby Sciacca addresses).

Courier integration

For automatic labels and tracking, use plugins like “WooCommerce Shipping” (for USPS/Canada Post) or Italian-specific ones like “SpedireWeb” for BRT, SDA, GLS. We integrated BRT API for a client: medium complexity, worth it for high volumes.

Local shipping

If you have a physical store, enable “Local pickup”. WooCommerce lets you specify a pickup address. Great for avoiding shipping costs.

Action: go to WooCommerce → Settings → Shipping. Add a zone “Italy”, then add method “Flat rate” with cost €7, and “Free shipping” with minimum order €50. Save.

Test the purchase flow

Do not go live without testing every step. Place a test order with a dummy customer account. Check:

  • Confirmation email arrives (verify your server sends email; use SMTP plugin like WP Mail SMTP if needed).
  • Order status changes: from “Pending” to “Processing” after payment.
  • Cart page updates when you change quantity.
  • Shipping cost is calculated correctly.

If everything works, switch Stripe from test to live (replace keys with production keys).

Action: after testing, delete the test order and reset stock. Then launch.

In summary — what to do now

  1. Install WooCommerce and complete the setup wizard (currency, address).
  2. Add a simple product with optimized images and a compelling description.
  3. Activate Stripe in test mode and make a test order.
  4. Create an Italy shipping zone with flat rate and free shipping above a threshold.
  5. Check order notification emails and set up a backup system.

You have a working store. Now focus on content, SEO, and marketing. We are here for that.

Sponsored Protocol

Ing. Calogero Bono

> AUTHOR_EXTRACTED

Ing. Calogero Bono

Co-founder di Meteora Web. Ingegnere informatico, sviluppo ecosistemi digitali ad alte prestazioni. AI, automazione, SEO tecnica e infrastrutture web. Scrivo di tecnologia per rendere complesso… semplice.

[ Read Full Dossier ]

Hai bisogno di applicare questa strategia?

Esegui il protocollo di contatto per iniziare un progetto con noi.

> INIZIA_PROGETTO

Sponsored

> MW_JOURNAL

> READ_ALL()