Porto fix

Why Is My Porto Website Slow? What Really Makes It Faster

Porto ships with nearly everything switched on, because a demo has to show nearly everything. Your site uses a fraction of it and pays for all of it on each page load. Speed work on Porto is mostly subtraction, and the theme supplies some of the tools for it.

pagespeed · porto home page · mobile
Mobile wait, by cause
What a Porto home page is waiting on
Mobile
Second page builder78%
Slider in the hero71%
Unused element styles64%
Cart, search and wishlist JS57%
Icon sets and web fonts44%
Hosting response31%
Illustrative — a store still loading the demo it launched fromlargely subtraction

What you are seeing

  • The home page waits on a slider before anything else appears
  • Mobile PageSpeed scores stay red after a caching plugin went in
  • Plain text pages load shop scripts they never use
  • The Speed Optimize Wizard was run and little changed
  • The layout jumps as fonts and icons arrive late

Why it happens on Porto

Most common first.

  1. 1

    The demo brought more than you kept

    A Porto demo installs to impress: sliders, a wishlist, a compare tool, popups and whichever plugins that showcase needed. Sites launch with the home page rewritten and everything else still active. Each leftover plugin adds its files to pages that never show its feature.

  2. 2

    The Speed Optimize Wizard was skipped, or run too early

    The wizard's main job is to learn which elements the site uses and stop loading styles for the rest. Run before the pages were built, it trimmed for a site that no longer exists. Never run, it leaves Porto loading the stylesheet for every element it owns.

  3. 3

    Elementor and WPBakery both active

    Porto supports either builder, and demo imports plus changes of developer leave many sites with both. Each builder loads its own framework, so a visitor downloads two page-building systems to read one page.

  4. 4

    Shop features loading where there is no shop

    Porto's mini-cart, live search, quick view and wishlist hooks ride along on every page, including the blog and the contact page. The cart refresh is a background request that no page cache can answer, so even a cached page waits on the server once.

  5. 5

    Porto's optimizer and a caching plugin doing the same job

    Porto can merge and minify CSS and JavaScript, and recent versions can generate critical CSS. So can most caching plugins. Switch both on and the files are processed twice, layouts break and someone turns everything off to stop the bleeding. The site is then slower than before anyone touched it.

How to fix it, in order

Least invasive first. Stop at the step that fixes it.

  1. 1

    Measure three pages on mobile first

    Run the home page, a category page and a product page through PageSpeed Insights and note what it names as the largest element on each. On Porto home pages it is very often the slider. Keep the numbers so each later change has a before and an after.

  2. 2

    Clear out the demo's leftovers

    On a staging copy, list the plugins that arrived with the demo and deactivate those the site does not use, one at a time, checking the pages after each. Delete unused sliders and unpublish sample pages. Deactivating is the test. Deleting comes once nothing broke.

  3. 3

    Commit to a single builder

    Find which builder drew each page, including the headers and product layouts in Porto, Templates Builder. Rebuild the minority in the majority's builder, then deactivate the spare. This is the least glamorous step and usually the largest single saving.

  4. 4

    Rerun the Speed Optimize Wizard on the finished site

    Open Porto, Speed Optimize Wizard and go through every step with the current site in mind. Keep only the elements actually in use and turn on image lazy loading. Browse the main pages afterward. A section that lost its styling means an element was dropped that a page still uses.

  5. 5

    Give file merging to one tool

    Decide whether Porto or your caching plugin will merge and minify files and create critical CSS, and switch those features off in the other. Save Porto, Theme Options once to recompile, purge the cache and test the menu, the mini-cart and a product gallery.

  6. 6

    Lighten the first screen

    Replace the hero slider with one sized image and a headline. In Theme Options, cut the typography down to the font families and weights the design really uses, and switch off shop features you do not offer. Then measure the same three pages again.

Keep it from coming back

  • Rerun the wizard whenever the site gains a new kind of element or a new plugin
  • Keep one builder and write that down where the next developer will see it
  • Test a product page on a mid-range phone after each Porto update
  • Resist the second slider. The first is already the slowest thing on the page

The permanent fix

A faster Next.js build, with a CMS made for your business

If scores are still poor once the demo leftovers are gone, one builder remains and the wizard matches the site, what is left is the floor: a builder's markup, WooCommerce's scripts and a theme designed to do everything. A Next.js storefront sends each product page as a static file with only the code it needs, and the custom CMS behind it has no plugin stack to wake up for every visitor. That is the moment to price a rebuild against another round of tuning.

On Porto todayOn Next.js with a custom CMS
What you keep updatedWordPress, the theme, its builder and every bundled plugin, all in stepNothing on a schedule. There is no theme or plugin stack to fall out of step
How a page is servedBuilt from the database on each visit, through the theme and its builderBuilt ahead of time and served as finished files from servers near the visitor
How you edit itA general-purpose builder with every option the theme shipsA CMS built around what your business actually changes: services, prices, photos, posts
What can break itAn update to any one of those parts, or a license that lapsesA change someone makes on purpose, tested before it goes live

Your content, your addresses and your rankings come with you: every page is moved, every old address is redirected, and you get a login to an editor that only shows what you need. A repair is still the right call for many sites, and we will say so when it is.

Free · No obligation

Want this fixed on your Porto site?

Tell us what you are seeing. We look at the site, tell you plainly what is wrong and what it takes, and quote a fixed price before any work starts.

Which of these sounds like you? (pick any)

Frequently asked

No. The wizard reduces what Porto sends: fewer stylesheets, lazy-loaded images, merged files. A page cache saves the server from building the page again for each visitor. A Porto site wants both, with file merging and critical CSS assigned to one of them only.

It stopped loading styles for an element it was told the site does not use, and a page still uses it. Rerun the wizard, keep that element, save and clear the cache. If the damage is to menus or sliders that stopped responding, the merged JavaScript is the suspect. Turn merging off and test again.

The gap between them is smaller than the cost of running both. Either builder can produce a reasonably quick Porto page when the page is built with restraint. Choose the one your pages already use, remove the other and spend the effort on the slider and the leftovers.

A trimmed Porto store on sound hosting can reach passing Core Web Vitals on its home, category and product pages. It will not get there carrying a hero slider and two builders. Cart and checkout pages cannot be cached on any theme, so they depend on the server more than on Porto.

Keep reading

CallGet a quote