NextWoo
Theme comparison

WoodMart vs Porto for WooCommerce: two ThemeForest store themes with the hosting taken out

WoodMart for most catalog stores. Its demo painted 5.5 seconds sooner, about 2 of which belong to Porto's demo hosting, and it builds in the wholesale features Porto's demo borrows from YITH plugins. Porto's case is narrower: a license you already own, or $10 saved on a site where the shop is secondary.

WoodMart, by xtemos, and Porto, by P-THEMES, are both one-time ThemeForest purchases that try to ship a whole store: header builder, AJAX filters, swatches, quick view, dozens of importable demos. On paper the demos are far apart, a median Lighthouse mobile score of 67 for WoodMart against 43 for Porto. Most of that gap sits in one number that has nothing to do with either theme's code. We ran both vendors' demo stores through Lighthouse 12.6.1 on mobile, three runs per template, on October 18, 2026, from one machine in Spain, and this page separates what the server did from what the theme did.

01

Every Porto request waited 2.1 to 2.3 seconds for its HTML

Porto's Shop 4 demo answered in 2,123 to 2,309 ms on all nine runs, and a separate curl check saw 2.25 to 2.40 s. Cloudflare marked every response DYNAMIC, meaning the HTML was built by the origin each time instead of served from cache. WoodMart's demo was uncached too and answered in 107 to 299 ms. That gap looks like an origin with a working page cache against one without. The Porto demo has WP Rocket installed, and its image paths run through uploads/sites/, the layout of a WordPress multisite, which suggests one network serving many demos. Under Lighthouse's simulation a slow first byte pushes every later timing back by roughly the same amount, which is why Porto's first paint landed at 4.9 seconds against WoodMart's 1.3. Your store's hosting will not be Porto's demo hosting, in either direction.

02

Take the server away and Porto's LCP still trails by about 3.5 seconds

The median LCP gap is 5.5 seconds, 10.1 against 4.6, and the server accounts for about 2.0 of it. The rest is how the demo loads its first screen. On all three Porto templates, the LCP resource waited about 6.5 seconds after the HTML arrived before the browser requested it; on the homepage that element is a banner image carrying Porto's porto-lazyload class. Lighthouse also counted 33 to 38 render-blocking files per page on Porto, jQuery, underscore, wp-util and the theme's dynamic_style.css among them, against 0 or 1 on WoodMart. Both demos run WP Rocket, so most of that gap is configuration rather than theme code: one demo defers and inlines, the other does not. A Porto store can close part of it, and Porto speed optimization lists the switches. The subtraction is approximate. Simulated throttling models the page rather than replaying it, and none of this was measured from the US.

03

Where hosting has no say, the two land within 20 ms and 14 KB

Main-thread work and theme code are a draw. Porto's median Total Blocking Time was 532 ms and WoodMart's 552. Porto's own JavaScript came to 117 KB per page against WoodMart's 103, and the demos' tracking tags to 159 KB against 178. The real differences are smaller and point both ways:

  • Requests: Porto 125, WoodMart 219, with 38 stylesheets on Porto's product page against WoodMart's 106
  • DOM elements: Porto 2,756, WoodMart 2,053, the second-largest DOM of the ten demos we measured
  • Layout shift: Porto 0.083 on all three templates, with the whole #main container moving; WoodMart 0 on home and shop, 0.067 on product
  • Fonts: Porto 127 to 154 KB per page, WoodMart 74 KB
04

The demo ran Porto 6.3.0 while the listing ships 7.9.5

Porto's demo stylesheet reports version 6.3.0. Its ThemeForest changelog is at 7.9.5, released October 9, 2026, after 7.9.2 on August 9 and 7.9.3 and 7.9.4 within three days in September. WoodMart's demo ran 8.6.4, current since October 6. The Porto numbers therefore describe an older major version, and a store on 7.9.5 may load differently in ways this test cannot predict. Install the current build on staging and measure it before treating any of this as Porto's verdict.

05

Built into WoodMart, borrowed from YITH on the Porto demo

Wholesale features decide this pair for many stores. WoodMart puts the B2B-shaped ones inside the theme: tiered pricing as part of its dynamic discounts, frequently bought together bundles, abandoned cart recovery and several wishlists per customer, next to quick view, filters, swatches and size guides. Porto's listing covers quick view and compare, color and image swatches, an AJAX filter element, catalog mode, pre-order support, a sales popup and, since 7.9.2, a free-shipping progress bar block. For wishlists it lists compatibility with YITH WooCommerce Wishlist, and the demo loads that plugin on its product page and YITH's AJAX navigation plugin on its shop page. Frequently bought together, tiered pricing and abandoned cart recovery are not on Porto's list. A B2B or wholesale store on Porto adds plugins for each of the three, and each brings its own scripts to a product page that already blocks for half a second. That makes Porto the worse choice there.

06

WPBakery under both demos, and the exit bill it sets

Both demos are built on WPBakery: WoodMart bundles it, and Porto's Shop 4 page calls itself a Full Site Editing demo while its headings carry vc_custom_heading classes from WPBakery. Porto supports Elementor, Elementor Pro, WPBakery and the block editor; WoodMart supports Elementor, WPBakery and the block editor. Whichever you pick sets the migration cost, and WPBakery's nested shortcodes are the dearest to extract. Porto adds one more layer, layout choices kept in its theme options. Porto to Next.js and WoodMart to Next.js cover each extraction. On either theme, build new pages in the block editor.

07

$59 against $69, both with six months of support

Porto's regular license is $59 and extending support to 12 months costs $17.63; WoodMart's is $69 and $21.38. Porto lists 103,016 sales and a 4.92 rating from 4.2K reviews, WoodMart 119,823 sales and 4.91 from 3.7K. Ten dollars is the smallest number on this page.

08

The short list of stores Porto suits better

A store already running Porto should tune it rather than switch: check the page cache first, because a 2.2-second first byte would cancel any theme change, then the render-blocking list and the layout shift covered on Porto Core Web Vitals. A new site that is mostly company pages with a small shop attached can take Porto for the $10 and its multipurpose demos. For a catalog store that sells on phones, or any store that needs tiered pricing and bundles, take WoodMart, and plan its tuning with WoodMart speed optimization. WoodMart is the worse pick for a small store that uses none of its built-ins, where 106 stylesheets buy nothing; WoodMart vs Flatsome covers a lighter rival. Our free audit measures your own server and templates instead of a vendor demo, and fixed prices are on pricing.

WoodMart against Porto's Shop 4 demo, October 18, 2026: medians of three Lighthouse 12.6.1 phone-profile runs on each of home, shop and product, broken out per template where the brackets show it

WoodMart against Porto's Shop 4 demo, October 18, 2026: medians of three Lighthouse 12.6.1 phone-profile runs on each of home, shop and product, broken out per template where the brackets show it
WoodMart 8.6.4Porto 6.3.0 (Shop 4 demo)
Mobile score67 (84 / 67 / 63)43 (47 / 39 / 43)
Server response, median219 ms, uncached2,193 ms, uncached
First Contentful Paint1.3 s4.9 s
Largest Contentful Paint4.6 s (1.5 / 5.1 / 4.6)10.1 s (9.3 / 10.1 / 12.2)
Total Blocking Time552 ms532 ms
Theme's own JavaScript103 KB117 KB
Analytics and marketing tags178 KB159 KB
All JavaScript382 KB420 KB
Render-blocking files per page0 to 133 to 38
Requests219125
DOM elements2,0532,756
Cumulative Layout Shift0 (0 / 0 / 0.067)0.083 on every template
Regular license$69 once, 6 months support$59 once, 6 months support
Latest release on Oct 18, 20268.6.4 (Oct 6), same as demo7.9.5 (Oct 9); demo on 6.3.0

Frequently asked questions

Still have questions?

Reach out and we'll get back to you within 24 hours.

Contact us
Is WoodMart faster than Porto?

Yes, on the vendors' demos: 67 against 43 on mobile, and an LCP of 4.6 s against 10.1 s. Roughly 2 seconds of that LCP gap is Porto's demo server. Blocking time and theme JavaScript were close, 552 ms against 532 ms and 103 KB against 117 KB.

Why is the Porto theme demo so slow?

Its HTML was generated uncached on every request and took 2.1 to 2.3 seconds to arrive, and each page then loaded 33 to 38 render-blocking files. Both are hosting and configuration choices on the demo, and a Porto store on a cached server would not inherit the first.

Does Porto have a built-in wishlist?

Porto's listing names compatibility with YITH WooCommerce Wishlist, and its demo runs that plugin. WoodMart builds multiple wishlists into the theme.

Which page builder does Porto use?

Porto supports Elementor, Elementor Pro, WPBakery and the block editor. The Shop 4 demo we measured is built on WPBakery.

Is WoodMart or Porto better for a B2B store?

WoodMart, because tiered pricing, dynamic discounts and frequently bought together are built in. Porto's listing does not include them, so each one is an extra plugin.

Related reading
  • WoodMart speed optimization

    WoodMart speed optimization as a triage: Theme Settings → Performance first, then find the slow template, the red metric or the heavy layer, and fix that one.

  • Porto speed optimization

    Porto speed optimization for WooCommerce: scope Slider Revolution, trim the WPBakery and Porto Functionality layer, clear the demo, then decide on Next.js.

  • Porto Core Web Vitals

    Diagnose Porto WooCommerce LCP, INP and CLS issues — Slider Revolution, hover-swap images, AJAX quick view — and decide when a Next.js storefront is cleaner.

  • Porto to Next.js

    Move a Porto WooCommerce storefront to Next.js: untangle WPBakery content and theme-option layouts while products, orders and checkout stay in WooCommerce.

  • WoodMart to Next.js migration

    How to migrate a WoodMart store to a Next.js storefront: extract theme options, WPBakery or Elementor layouts, HTML Blocks and swatches, then rebuild them.

  • WoodMart vs Flatsome

    WoodMart vs Flatsome on both vendors' demo stores: the scores tie, but WoodMart blocks the main thread 3x longer. Which theme suits which store, and why.

  • WoodMart vs Astra

    WoodMart vs Astra for WooCommerce: Astra's own code is 8 KB of an 853 KB demo, WoodMart's is 103 KB of 382. What each costs to run, extend and leave.

See how many sales your store is losing

Start with a free speed audit. You'll get your store's real numbers and an honest recommendation — even if it's "you don't need us".

Anything you already suspect — checkout feels slow on phones, the category pages crawl, you were told the theme is the problem. Guesses are useful; we check them.

No sales call — you'll get a written report with your store's numbers.

By requesting an audit you accept our Privacy policy and Terms of service. We may publish an anonymised summary of the findings as an example of our work. We never name your business without your written consent.