WordPress/Elementor/JetEngine Developer — WooCommerce Product Loop Performance Fix
Worldwide
# WordPress/Elementor/JetEngine Developer — WooCommerce Product Loop Performance Fix ## Project summary We run a WooCommerce store on Elementor Pro + Crocoblock (JetEngine, JetSmartFilters, JetWooBuilder). A performance investigation identified that our category and search pages take 8.5–9.3 seconds to generate, and traced the cause to how product cards are rendered — not the server, database, or hosting, all of which are confirmed healthy. **Root cause:** category/search pages render each product card through JetEngine's Listing Grid widget, which pipes every card through the full Elementor dynamic-template rendering pipeline. This costs ~6.6 seconds of pure PHP execution per page. A native WooCommerce loop renders the same cards in milliseconds. We need an experienced Elementor/JetEngine/WooCommerce developer to implement the fix on our staging site, verify it thoroughly, and deploy to production. ## What's already done We have a first-draft PHP plugin (delivered via Code Snippets) that: - Registers a custom shortcode that outputs the product grid - Renders WooCommerce's native product loop against the existing `$wp_query` (no new query — inherits whatever category/search/filtered context WordPress has already built) - Reproduces the current card design confirmed from the live DOM: product image with existing hover-grow animation, YITH wishlist icon, category label, product title, price - Fires standard WooCommerce hooks (`woocommerce_before_shop_loop_item`, `woocommerce_after_shop_loop_item`, etc.) so third-party plugins that hook into the loop (badges, swatches) still work - Uses standard numbered pagination (`woocommerce_pagination()`) — **by decision, not infinite scroll** — since the existing scroll-based "Load More" behaviour would need extra work to coordinate with AJAX filtering, and we're treating that as unnecessary added risk. Standard pagination is the accepted trade-off. This draft is a starting point, not a finished solution — it hasn't been tested against the live filter/pagination/badge/swatch stack and will need real debugging in situ. ## The exact widget being replaced - Elementor Theme Builder → **Product Archive** template - A specific JetEngine Listing Grid widget (its element ID and listing ID will be shared with the hired developer directly) - Current query: `product_cat` taxonomy, 16 products per page, infinite scroll enabled, wired to JetSmartFilters ## Scope of work 1. **Review and fix our draft plugin** against the real staging environment — expect it needs debugging, not a rewrite from scratch 2. **Swap the widget** in the Product Archive Theme Builder template: shortcode in, JetEngine Listing Grid widget deleted (not hidden — hidden widgets can still render server-side) 3. **Re-point JetSmartFilters** — all filter widgets currently query against the JetEngine listing need to be re-provider'd to WooCommerce Shop/Products, with apply mode set to page-reload (not AJAX, since the infinite-scroll listener the AJAX apply currently targets won't exist anymore) 4. **Full QA pass** on staging before anything touches production: - Product cards: pricing including sale/discount-rules pricing, stock badges, category labels, wishlist icon - Pagination (numbered, not infinite scroll) - Every filter type and filter combinations - Sorting - Search results page specifically (separate query path from category pages) - Mobile breakpoints - Any homepage/featured sections using a *different* Listing Grid instance — confirm those are untouched 5. **Performance verification** — before/after page generation time and query count (Query Monitor is already installed) on the same URLs, targeting the report's benchmark: ~8.5s down to ~1.5–2.5s on category/search pages 6. **Production deployment** once staging is signed off by us ## Stack - WordPress, WooCommerce (HPOS enabled) - Elementor Pro + Theme Builder - JetEngine, JetSmartFilters, JetWooBuilder (Crocoblock) - YITH WooCommerce Wishlist - Query Monitor (already installed for diagnostics) - Code Snippets plugin (current delivery method for custom PHP — no direct file/FTP access) ## What we'll provide - Staging site access - The draft plugin file - A full technical performance report (PDF) covering the root-cause diagnosis, server/DB health checks (both confirmed fine, do not need re-investigating), and the original resolution plan this work is based on ## Ideal candidate - Strong hands-on experience with Elementor Theme Builder + JetEngine/JetSmartFilters specifically, not just general WordPress - Comfortable reading WooCommerce hook/action flow and reproducing existing hook timing correctly - Someone who will actually test filter/pagination/badge interactions thoroughly rather than declaring it "done" once cards render
- Less than 30 hrs/weekHourly
- < 1 monthDuration
- IntermediateExperience Level
$15.00
-
$30.00
Hourly- Remote Job
- One-time projectProject Type
Skills and Expertise
Activity on this job
- Proposals:20 to 50
- Interviewing:0
- Invites sent:0
- Unanswered invites:0
About the client
- United KingdomStratford-Upon-Avon10:16 PM
- $1.9K total spent15 hires, 7 active
- 5 hours
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers earned on Upwork in 2020
Find the best freelance jobs
Growing your career is as easy as creating a free profile and finding work like this that fits your skills.
Trusted by