Make a Website

How to Create an E-Commerce Website with WordPress

Build a working online store with WordPress and WooCommerce — including JazzCash, EasyPaisa, bank transfer and cash on delivery, which most tutorials leave out.

A WooCommerce online store open in a browser

WordPress with WooCommerce is the most common way to build an online store, and you do not need to write any code. What you do need is about a day, roughly Rs 12,000 to start, and the patience to work through the settings properly.

This guide covers the whole thing — including the part most tutorials skip: taking payments in Pakistan, where PayPal and Stripe are not options.

What it costs to start

ItemCostNeeded?
Domain nameRs 3,000 / yearYes
HostingRs 800–2,500 / monthYes
WordPress + WooCommerceFreeYes
SSL certificateFreeYes
ThemeFree, or Rs 15,000 onceFree is fine
Payment pluginFree, or Rs 8,000 onceDepends

You can genuinely start for the price of a domain and one month of hosting. Spend on a paid theme later, once the store is actually selling.

Step 1: Plan before you install anything

Ten minutes here saves hours later. Write down:

  • What you sell — physical goods, digital files, or both. Digital changes the shipping and tax settings completely.
  • Your categories — three to six is right at the start. More than that and nobody can find anything.
  • How customers will pay you — see Step 6. Decide now, because it affects which plugins you install.
  • How orders reach people — your own delivery, a courier like TCS or Leopards, or downloads.

Step 2: Domain and hosting

Pick a short domain that people can spell after hearing it once. .com if you can get it, .pk if you sell only inside Pakistan.

For hosting, WooCommerce is heavier than a blog. The cheapest shared plans will feel slow once you have a few hundred products. Look for:

  • At least 2 GB RAM, or a plan that says "WooCommerce optimised"
  • PHP 8.1 or newer
  • Free SSL included
  • Daily backups — the day you need one, you will need it badly

More detail in what actually matters in cheap web hosting.

Step 3: Install WordPress

Almost every host has a one-click WordPress installer in cPanel — look for Softaculous or WordPress Toolkit. Give it your domain, an admin username that is not "admin", and a strong password.

Then do these three things immediately, before you forget:

  1. Settings → General — set both addresses to https://
  2. Settings → Permalinks — choose Post name
  3. Delete the sample content — the Hello World post and the sample page

If your host did not install SSL, follow how to install a free SSL certificate on a WordPress site. Nobody types their card details into a site showing "Not secure".

Step 4: Install WooCommerce

Go to Plugins → Add New, search for WooCommerce, install and activate. A setup wizard starts on its own.

Work through it honestly — your country, currency (PKR), what you sell, and whether you ship physically. The wizard creates the Shop, Cart, Checkout and My Account pages for you.

Skip the plugin suggestions it offers. It will try to install marketing extras. Say no. You can always add them later, and a fresh store does not need five plugins on day one.

Step 5: Choose a theme

The theme controls how the store looks. It must be WooCommerce compatible — not every theme is.

Good free options are Storefront (made by WooCommerce, plain but reliable), Astra (fast and flexible) and Kadence (good-looking defaults).

Judge a theme on three things and ignore everything else:

  1. Does it look right on a phone? Most of your customers are on one.
  2. Does it load fast? Test a demo on PageSpeed Insights.
  3. Was it updated in the last six months?

Step 6: Payments — the part that matters in Pakistan

This is where generic tutorials fail. They tell you to enable PayPal and Stripe. Neither is properly available in Pakistan, so here is what actually works.

MethodHow it worksWorth knowing
Cash on DeliveryBuilt into WooCommerce. Turn it on and you are done.Still the most trusted option locally. Expect some refused deliveries.
Bank transferBuilt in as "Direct bank transfer". Show your IBAN, confirm manually.Free, works today. You verify each payment by hand.
JazzCashOfficial merchant account plus a WooCommerce plugin.Needs business registration. Automatic confirmation.
EasyPaisaSame idea, through Telenor Microfinance Bank.Also needs registration. Very wide reach.
RaastState Bank instant transfer, by ID or IBAN.No fees. Usually handled as a manual transfer.

A practical order of work: launch with Cash on Delivery and bank transfer, both of which are free and take ten minutes. Apply for JazzCash or EasyPaisa once you have real orders and can justify the paperwork.

Set them up under WooCommerce → Settings → Payments.

Step 7: Shipping

Go to WooCommerce → Settings → Shipping. Create a zone for Pakistan and add a rate.

Three approaches that work:

  • Flat rate — one price nationwide, for example Rs 250. Simplest, and customers understand it.
  • Free over an amount — free above Rs 3,000. Reliably increases order size.
  • Two zones — cheaper inside your own city, higher elsewhere.

Courier plugins exist for TCS and Leopards if you want live rates, but do not bother on day one. A flat rate is easier to explain and easier to fix.

Step 8: Add your products

Products → Add New. For each one:

  • Title — what someone would actually search for, not a clever name.
  • Description — the full story: what it is, size, material, what is included.
  • Short description — the two or three lines that appear next to the price.
  • Price — and a "regular price" above it if you want to show a discount.
  • Images — at least three angles. Square, around 1000×1000, on a plain background.
  • Category — one per product. Resist the urge to tick five.
  • Stock — turn on stock management so you cannot oversell.

Compress your images before uploading. A phone photo is often 4 MB. At that size, ten products will make your store painfully slow on mobile data. Run them through Squoosh or install a WebP plugin.

Step 9: Set up the front page and menu

By default WordPress shows a blog. For a store you want products first.

Go to Settings → Reading, choose A static page, and set your homepage. Then under Appearance → Menus build a simple menu: Home, Shop, your main categories, About, Contact.

Keep it to six items or fewer. Long menus get ignored.

Step 10: SEO so people can find the store

Install one SEO plugin — RankMath or Yoast. One, not both; they fight each other.

Then, for every product:

  • Write a title that includes what it is and where you sell it, for example "Leather office chair in Lahore"
  • Write a real meta description, not the auto-generated one
  • Fill in the alt text on every image

Setup walkthroughs: Yoast or All in One SEO. For the wider picture, see how to increase your website ranking.

Step 11: Make it fast

WooCommerce is slow out of the box, and a slow store loses sales. Three things fix most of it:

  1. Caching — W3 Total Cache or LiteSpeed Cache if your host supports it
  2. Image compression — convert to WebP
  3. A CDN — Cloudflare free tier is enough

Full walkthrough: how to make WordPress faster with W3 Total Cache and Cloudflare.

Launch checklist

Before you tell anyone the site exists, place a real order yourself, end to end:

  • Buy something, with each payment method you enabled
  • Confirm the order email actually arrives — check spam
  • Open the store on a phone and complete a purchase there
  • Check the total: product + shipping + any tax
  • Try a refund from the admin side so you know how
  • Confirm the padlock shows on the checkout page
  • Make sure your contact details and return policy are visible

Most abandoned carts come from something on this list being broken, not from the price.

Common problems

The checkout page is blank

Usually a plugin conflict. Switch temporarily to the Storefront theme; if checkout works, the theme is the problem. If not, disable plugins one at a time.

Order emails never arrive

Very common on shared hosting, because the PHP mail function is often blocked. Install an SMTP plugin and send through a real mail account. See how to send emails without landing in spam.

The store is slow

Check image sizes first — it is images nine times out of ten. Then caching. Then the number of plugins.

"Add to cart" does nothing

A JavaScript error, usually from a caching plugin minifying scripts too aggressively. Turn off JS minification and test again.

Is WordPress the right choice at all?

Honestly, not always.

WooCommerce suits you if you want to manage everything yourself through a familiar admin screen, and you are happy to keep WordPress and its plugins updated.

It suits you less if you have only a handful of products and want a fast, light site — WordPress carries a lot of weight you will never use. A small custom PHP store loads faster and has far less to maintain.

Both are valid. Pick the one you will actually keep running.

Questions people ask

How much does it cost to build an online store with WordPress?
You can start for about Rs 12,000: a domain at roughly Rs 3,000 a year and hosting from about Rs 800 a month. WordPress, WooCommerce, the SSL certificate and good free themes all cost nothing. Paid themes and payment plugins are optional and can wait until the store is selling.
Can I accept JazzCash or EasyPaisa on WooCommerce?
Yes. Both offer merchant accounts with WooCommerce plugins, though they require business registration. Until that is approved, use Cash on Delivery and Direct Bank Transfer — both are built into WooCommerce, free, and take about ten minutes to switch on.
Do I need to know coding to build a WooCommerce store?
No. Installing WordPress, adding WooCommerce, choosing a theme and adding products are all done through menus. You only need code if you want a custom design or a feature no plugin provides.
Why is my WooCommerce checkout page blank?
Almost always a plugin or theme conflict. Switch temporarily to the Storefront theme — if checkout then works, the theme is at fault. If it does not, disable plugins one at a time until the page comes back.
Why are my WooCommerce order emails not arriving?
Shared hosting frequently blocks the PHP mail function. Install an SMTP plugin and send through a real mail account such as Gmail or your own domain mailbox. Always check the spam folder while testing.
How do I make my WooCommerce store faster?
Compress images and serve them as WebP — images cause most slowness. Then add a caching plugin such as W3 Total Cache or LiteSpeed Cache, and put Cloudflare in front. Finally, remove plugins you are not using.
How many products can WooCommerce handle?
Thousands, if the hosting is right. Trouble usually starts on the cheapest shared plans at a few hundred products. If you plan a large catalogue, choose a plan with at least 2 GB of RAM from the beginning.
Should I use WordPress or a custom PHP store?
Use WordPress if you want a familiar admin panel, plugins for everything, and do not mind keeping them updated. A custom PHP store is lighter and faster with fewer moving parts, which suits a small catalogue. Both work — choose the one you will keep maintained.
What shipping should I set up for Pakistan?
Start with a flat rate, for example Rs 250 nationwide, because customers understand it and you can explain it. Add free shipping above a threshold such as Rs 3,000 to lift order sizes. Live courier rate plugins for TCS and Leopards exist, but they are not worth the complexity on day one.
Do I need an SSL certificate for an online store?
Yes, and it is free. Browsers label sites without it as Not secure, which stops people at checkout. Most hosts now include a free Let's Encrypt certificate that can be enabled from cPanel.

Written by Habib Baloch

I build Android apps, websites and Ubuntu servers, and write down exactly how I did it.

Ask me about this guide →