XStore 9.7 – Product carousel blocking LCP on mobile (5090ms render delay)

This topic has 12 replies, 3 voices, and was last updated 2 months, 4 weeks ago ago by Jack Richardson

  • Avatar: Andrei Andrei
    Andrei Andrei
    Participant
    May 22, 2026 at 15:31

    Hello,

    We are using XStore 9.7 with Elementor and LiteSpeed Cache on onedee.ro.

    We have a performance issue on mobile: our LCP element is the H2 heading inside the etheme_product_carousel widget (“Cele mai vandute produse din sex shop online”). Lighthouse reports an Element Render Delay of 5,090ms for this element because the browser cannot paint it until the carousel JavaScript finishes executing.

    Setup details:
    – Theme: XStore 9.7 + child theme
    – Page builder: Elementor
    – Cache: LiteSpeed Cache with UCSS enabled
    – Widget: etheme_product_carousel (bestsellers, grid type, 6 products)

    Our questions:
    1. Is there a way to lazy load the etheme_product_carousel widget so it does not block the initial render?
    2. Can the carousel heading be rendered as static HTML before the JS initializes, so the browser can paint it immediately?
    3. Is there a recommended approach in XStore 9.7 to reduce the JavaScript render-blocking impact of the product carousel on mobile?

    Thank you.

    11 Answers
    Avatar: Jack Richardson
    Jack Richardson
    Support staff
    May 22, 2026 at 15:41

    Hello @Andrei Andrei,

    If you would like to enhance the loading speed of specific widgets, please enable the “XStore Ajaxify” option in the Page Editor under “Widget → Advanced tab → XStore Ajaxify setting” (https://prnt.sc/gte5t_WqjmdN).

    To ensure this feature functions properly, please also activate the “Enable Ajaxify On Website” option in “Theme Options → Speed Optimization” (https://prnt.sc/mv0CLmmakYbJ).

    Best regards,
    Jack Richardson
    The 8Theme’s Team

    Avatar: Andrei Andrei
    Andrei Andrei
    Participant
    May 22, 2026 at 15:53

    Hello Jack,

    Thank you for the suggestion. We have now enabled “Enable Ajaxify On Website” in Theme Options and activated “XStore Ajaxify” on the product carousel widget (etheme_product_carousel, bestsellers, grid type).

    Our current setup for reference:

    XStore 9.7 + child theme, Elementor 4.0.9, LiteSpeed Cache 7.8.1

    XStore Speed Optimization settings:
    – CSS Minify (et_load_css_minify): OFF (disabled to avoid conflict with LiteSpeed UCSS)
    – Disable Block CSS: ON
    – Disable Elementor Dialog JS: ON
    – Disable Theme Swiper JS: ON
    – Menu Cache: ON
    – Ajax Search Cache: ON
    – Global Ajaxify: ON (just enabled)
    – Widgets Ajaxify: applied to product carousel widget

    LiteSpeed Cache settings:
    – CSS Combine + UCSS: ON
    – JS Defer: ON
    – Guest Mode + Guest Optimization: ON
    – Redis Object Cache: active

    Current mobile Lighthouse scores: Performance 86, LCP 3.1s, TBT 0ms
    CrUX (real users, 28-day): LCP 3.8s, INP 223ms, CLS 0.16, TTFB 2.8s

    Our remaining issues:
    1. LCP 3.8s on mobile – element render delay 5090ms on the H2 heading inside the carousel
    2. INP 223ms – slow interaction response on mobile, likely from XStore + Elementor JS
    3. CLS 0.16 – layout shift from announcement bar injected via JS

    Are there any additional XStore-specific optimizations you recommend for our setup to further reduce LCP and INP on mobile?

    Thank you,
    Andrei

    Avatar: Jack Richardson
    Jack Richardson
    Support staff
    May 22, 2026 at 17:38

    Hello @Andrei Andrei,

    You can find detailed information about the available configuration options in our article: https://www.8theme.com/documentation/xstore/troubleshooting/the-ultimate-2025-guide-to-boosting-wordpress-speed-with-xstore-theme/.

    Best regards,
    Jack Richardson
    The 8Theme’s Team

    Avatar: Andrei Andrei
    Andrei Andrei
    Participant
    May 22, 2026 at 20:51

    Hello Jack,
    Thank you for the article. We have reviewed it and applied all relevant optimizations:

    Disable Native WordPress Lazy Loading: ON
    Disable Old Browser Support: ON
    FontAwesome: Disabled
    Ajax Menu Dropdown: ON
    Menu Cache + Ajax Search Cache: ON
    Disable jQuery Migrate: ON
    Disable Gutenberg Styles: ON
    Disable Elementor Dialog JS: ON
    Disable Theme Swiper JS: ON
    Disable Emoji + Embeds: ON
    Static Block Cache: ON
    Ajaxify: ON on product carousel widget
    Elementor Global Fonts: all set to system fonts, no external fonts loading
    CSS Minify: OFF (LiteSpeed handles CSS optimization)
    Image Quality: 82

    Our remaining issue is the LCP element render delay of 5090ms on mobile for the H2 heading inside the etheme_product_carousel widget. Even with Ajaxify enabled on the carousel, the heading still cannot be painted until the carousel JS executes.
    Is there a way in XStore 9.7 to render the carousel heading as static HTML independently of the carousel JS initialization? This would allow the browser to paint the LCP element immediately without waiting for the full widget to load.
    Thank you,
    Andrei

    Avatar: Andrei Andrei
    Andrei Andrei
    Participant
    May 22, 2026 at 21:09

    Subject: XStore – HTTP API calls to 8theme.com on every page load

    Hi,

    I’m running XStore on onedee.ro and I’ve identified a performance issue using Query Monitor.

    On every page load, the theme makes 2 external HTTP requests to your servers:

    1. https://8theme.com/import/update-history/xstore/ — ~0.20s
    2. https://8theme.com/x-api/?action=check — ~0.44s

    Total: ~0.64 seconds added to every single page load, for every visitor.

    This is happening on the frontend, not just in wp-admin. These requests appear to be a license check and an update history fetch. Both are blocking the PHP execution and contributing significantly to our TTFB.

    Questions:
    1. Is there a setting to disable or limit these checks to wp-admin only?
    2. Can the frequency be reduced (e.g. once per day via transient, not on every request)?
    3. Is there a known fix or upcoming update addressing this?

    Currently I’ve blocked these requests at the WordPress level as a workaround, but I’d prefer an official solution.

    Please advise.

    Thank you

    Avatar: Jack Richardson
    Jack Richardson
    Support staff
    May 25, 2026 at 06:06

    Hello @Andrei Andrei,

    Regarding the rendering of your product widget, could you please try hiding this widget on responsive devices (Widget -> Advanced tab -> Responsive) and use the Products Grid for testing? This widget does not use scripts for rendering, so it will be displayed immediately upon loading. As an alternative, you may use the Products Carousel for desktop and tablet devices, and display the Products Grid widget only on mobile devices, with options to load more products or enable infinite loading.

    Your request related to additional theme functionality has been forwarded to another specialist for review. Once we find a solution, we will provide you with feedback. In the meantime, please ensure that your temporary wp-admin access is correct so that we can check the settings if necessary.

    They will update you as soon as possible, and we’ll make sure to keep you posted. If you have any additional details that might help, feel free to reply here.

    Thank you for your cooperation!

    Best regards,
    Jack Richardson
    The 8Theme’s Team

    Avatar: Andrei Andrei
    Andrei Andrei
    Participant
    May 25, 2026 at 10:09

    Hello Jack,
    Thank you for the suggestion. Before we proceed with switching the carousel to a Products Grid on mobile, we would like to understand the trade-offs.
    Our concerns with replacing Products Carousel with Products Grid on mobile:

    The carousel currently displays 6 products in a horizontal swipeable layout. A grid would change the visual experience and likely increase page height significantly on mobile.
    We have 4 product carousels on the homepage (bestsellers, Pentru El, Pentru Ea, new arrivals). Switching all to grids would dramatically change the homepage layout.

    Before making this change, could you please clarify:

    Is there a planned fix in an upcoming XStore version that would address the LCP render delay on the carousel widget natively? We would prefer to wait for an official fix rather than restructure our homepage.
    The render delay is on the H2 heading, not the products themselves. Could the heading be rendered as static HTML by your developers in a future update, independently of the carousel JS?
    For the announcement bar that causes CLS 0.16 from JS injection, is there a setting to render it server-side or reserve space to prevent layout shift?
    Regarding INP 227ms on mobile, are there specific XStore scripts you would recommend deferring or eliminating that wont break theme functionality?

    Our wp-admin access is active and credentials are valid. Please have the specialist check our setup directly when ready.
    Thank you,
    Andrei

    Avatar: Jack Richardson
    Jack Richardson
    Support staff
    May 25, 2026 at 10:41

    Hello @Andrei Andrei,

    At this time, we have not yet reviewed the overall improvements for our Product Carousel widgets, as enabling the Ajaxify feature often removes the entire widget content and displays it only when customers scroll to the widget’s anchor.

    In your case, if product titles are crucial and using the H2 tag causes a delay, you may change the tag type to “span” or another suitable option (https://prnt.sc/cXkTwgSw3DiT).

    Additionally, as you can see in the product grid, all items are loaded and displayed. You can limit the number of visible items and load additional ones using infinite scroll, a “Load More” button, or pagination options (https://prnt.sc/rD26BPgufDhs).

    Regarding access, could you please provide the credentials in the private content section? We currently only have access to another website with the /wp subdomain.

    Best regards,
    Jack Richardson
    The 8Theme’s Team

    Avatar: Andrei Andrei
    Andrei Andrei
    Participant
    May 25, 2026 at 15:38

    Ok, rescris:

    Hello Jack,
    Thank you for the response, but it does not address our specific questions.
    To clarify: Ajaxify is already disabled on our carousels because it was removing content until scroll. The LCP issue persists regardless.
    Changing the H2 tag to span does not fix the render delay. The problem is that carousel JS blocks the heading from being painted for 5090ms, regardless of tag type.
    Switching to product grids is not an option. We have 4 carousels on the homepage and restructuring all of them would fundamentally change the UX.
    Our questions remain unanswered:

    Is there a planned fix to render the carousel heading as static HTML, independent of JS initialization?
    Is there a way to render the announcement bar server-side to prevent the CLS 0.16 caused by JS injection?
    Which specific XStore JS files can you recommend deferring safely without breaking theme functionality?

    Please provide the specific code changes or configuration steps and we will implement them on our end. We do not need to share wp-admin access.
    Thank you.

    Avatar: Andrew Mitchell
    Andrew Mitchell
    Support staff
    May 26, 2026 at 07:19

    Could you please provide temporary wp-admin and FTP access? We will check what can be done to help you.
    To grant WP-Admin access, please proceed to create a new user account with an administrator role through your WordPress Dashboard. Once the account is established, you may securely transmit the username and password to us via the Private Content section designated for this purpose.

    For FTP access, we require the following details: FTP host, FTP username, FTP password, FTP port, and FTP encryption type. If you need assistance in creating these credentials, please reach out to your hosting provider who will guide you through the process.

    Avatar: Jack Richardson
    Jack Richardson
    Support staff
    May 26, 2026 at 07:31

    Hello @Andrei Andrei,

    Is there a planned fix to render the carousel heading as static HTML, independent of JS initialization?
    – We have not planned this yet, but we have added this task to our to-do list for future review.

    Is there a way to render the announcement bar server-side to prevent the CLS 0.16 caused by JS injection?
    – We did not fully understand your request regarding the “announcement bar.” Could you please provide some screenshots so that we can assist you further with this issue?

    Which specific XStore JS files can you recommend deferring safely without breaking theme functionality?
    – Each website uses different types of widgets. Since you are already using the LiteSpeed Cache plugin, it automatically defers the necessary scripts during page load. Without access to your WordPress admin panel, it is not possible to analyze the list of scripts, as all loaded scripts are cached and have modified names.

    Best regards,
    Jack Richardson
    The 8Theme’s Team

  • Viewing 12 results - 1 through 12 (of 12 total)

You must be logged in to reply to this topic.Log in/Sign up

We're using our own and third-party cookies to improve your experience and our website. Keep on browsing to accept our cookie policy.