• Resolved nullkohol

    (@nullkohol)


    Hello, we are using Woocommerce with Full Site Editing (TwentyTwentyFour theme) to build our new online store (while in development, it’s not yet visible on our website, but on a private development page).

    Problem description: Loading the shop page takes very very long. You can actually watch parts appear and then disappear and re-appear again.

    Analysis: I used Firefox Developer Tools and added/deleted blocks and found out that for each block multiple requests are sent to the woocommerce api. I’ll add them below. Using just the “all products” block, 3 or 4 requests are ok. But for each filter block I add, another 3 or so requests are added. This sums up.
    I do understand that the filters are dynamic and thus have to access the api to find out which attributes to offer. But there must be a way to either reduce the number of requests or speed them up (maybe with caching?).
    I took a look at your featured partners’ websites and noticed that I don’t see all those requests for them. So there must be a way.

    I think it might be the same problem as described here, but there was no solution, the problem just disappeared … ? https://www.ads-software.com/support/topic/multiple-woocommerce-rest-api-calls/

    These are the requests just to load the “all products” block. They seem redundant to me.

    ***/wp-json/wc/store/v1/products?orderby=date&order=desc&catalog_visibility=catalog&per_page=9&page=1&_locale=user
    ***/wp-json/wc/store/v1?_locale=user
    ***/wp-json/wc/store/v1/products?include=0&_locale=user
    ***/wp-json/wc/store/v1/products?_locale=user

    System Status Report

    ### WordPress Environment ###

    WordPress address (URL): [Redacted]
    Site address (URL): [Redacted]
    WC Version: 9.1.4
    Legacy REST API Package Version: Auf dieser Website ist das alte REST-API-Plugin nicht installiert.
    Action Scheduler Version: ? 3.7.4
    Log Directory Writable: ?
    WP Version: ? 6.5.5 - Es ist eine neuere Version von WordPress verfügbar (6.6.1)
    WP Multisite: –
    WP Memory Limit: 512 MB
    WP Debug Mode: –
    WP Cron: ?
    Language: de_DE
    External object cache: –

    ### Server Environment ###

    Server Info: Apache
    PHP Version: 8.3.9
    PHP Post Max Size: 128 MB
    PHP Time Limit: 180
    PHP Max Input Vars: 4000
    cURL Version: 7.64.0
    OpenSSL/1.1.1n

    SUHOSIN Installed: –
    MySQL Version: 8.0.33
    Max Upload Size: 128 MB
    Default Timezone is UTC: ?
    fsockopen/cURL: ?
    SoapClient: ?
    DOMDocument: ?
    GZip: ?
    Multibyte String: ?
    Remote Post: ?
    Remote Get: ?

    ### Database ###

    [REDACTED]

    ### Post Type Counts ###

    attachment: 126
    customize_changeset: 114
    custom_css: 1
    ml-slide: 52
    ml-slider: 1
    nav_menu_item: 27
    page: 28
    post: 18
    product: 4
    rcb-banner-link: 4
    rcb-cookie: 1
    revision: 1884
    shop_order_placehold: 5
    ufaq: 4
    wpcf7_contact_form: 1
    wpforms: 1
    wp_block: 11
    wp_global_styles: 3
    wp_navigation: 6
    wp_template: 3
    wp_template_part: 6

    ### Security ###

    Secure connection (HTTPS): ?
    Hide errors from visitors: ?

    ### Active Plugins (13) ###

    Koko Analytics: von ibericode – 1.3.10
    Antispam Bee: von pluginkollektiv – 2.11.6
    The SEO Framework: von The-SEO-Framework-Team – 5.0.6
    Contact Form 7: von Takayuki Miyoshi – 5.9.8
    EWWW Image Optimizer: von Exactly WWW – 7.8.0
    MetaSlider: von MetaSlider – 3.90.1
    Mollie-Zahlungen für WooCommerce: von Mollie – 7.5.5
    Real Cookie Banner (Free): von devowl.io – 4.7.13
    Trusted Shops Easy Integration for WooCommerce: von vendidero – 2.0.2
    Spectra: von Brainstorm Force – 2.15.0
    Ultimate FAQ Accordion Plugin: von Etoile Web Design – 2.2.14
    Germanized für WooCommerce: von vendidero – 3.17.1
    WooCommerce: von Automattic – 9.1.4

    ### Inactive Plugins (5) ###

    Flexible Checkout Fields: von WP Desk – 4.1.8
    MetaSlider Lightbox: von MetaSlider – 1.13.2
    PDF Invoices & Packing Slips for WooCommerce: von WP Overnight – 3.8.6
    Simple Social Buttons: von WPBrigade – 5.2.0
    WooCommerce PDF Invoices, Packing Slips, Delivery Notes and Shipping Labels: von WebToffee – 4.6.0

    ### Dropin Plugins () ###

    maintenance.php: maintenance.php

    ### Settings ###

    API Enabled: –
    Force SSL: –
    Currency: EUR (€)
    Currency Position: right_space
    Thousand Separator: .
    Decimal Separator: ,
    Number of Decimals: 2
    Taxonomies: Product Types: external (external)
    grouped (grouped)
    simple (simple)
    variable (variable)

    Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog)
    exclude-from-search (exclude-from-search)
    featured (featured)
    outofstock (outofstock)
    rated-1 (rated-1)
    rated-2 (rated-2)
    rated-3 (rated-3)
    rated-4 (rated-4)
    rated-5 (rated-5)

    Connected to WooCommerce.com: –
    Enforce Approved Product Download Directories: ?
    HPOS feature enabled: ?
    Order datastore: Automattic\WooCommerce\Internal\DataStores\Orders\OrdersTableDataStore
    HPOS data sync enabled: –

    ### Logging ###

    Enabled: ?
    Handler: Automattic\WooCommerce\Internal\Admin\Logging\LogHandlerFileV2
    Retention period: 30 Tage
    Level threshold: –
    Log directory size: 166 kB

    ### WC Pages ###

    Shop-Basis: #15 - /produkte/
    Warenkorb: #1868 - /warenkorb/ - Contains the woocommerce/cart block
    Kasse: #1869 - /kasse/ - Contains the woocommerce/checkout block
    Mein Konto: #1870 - /mein-konto/
    Allgemeine Gesch?ftsbedingungen: #1872 - /agb/

    ### Theme ###

    Name: nk-fse-child
    Version: (Update auf Version 0 ist verfügbar)
    Author URL:
    Child Theme: ?
    Parent Theme Name: Twenty Twenty-Four
    Parent Theme Version: 1.1 – 1.2 ist verfügbar
    Parent Theme Author URL: https://de.www.ads-software.com
    WooCommerce Support: ? Nicht deklariert

    ### Templates ###

    Overrides: ***/wp-content/plugins/woocommerce/templates/block-notices/error.php
    ***/wp-content/plugins/woocommerce/templates/block-notices/notice.php
    ***/wp-content/plugins/woocommerce/templates/block-notices/success.php


    ### Admin ###

    Enabled Features: activity-panels
    analytics
    product-block-editor
    coupons
    core-profiler
    customize-store
    customer-effort-score-tracks
    import-products-task
    experimental-fashion-sample-products
    shipping-smart-defaults
    shipping-setting-tour
    homescreen
    marketing
    mobile-app-banner
    navigation
    onboarding
    onboarding-tasks
    product-custom-fields
    remote-inbox-notifications
    remote-free-extensions
    payment-gateway-suggestions
    shipping-label-banner
    subscriptions
    store-alerts
    transient-notices
    woo-mobile-welcome
    wc-pay-promotion
    wc-pay-welcome-page
    launch-your-store

    Disabled Features: experimental-blocks
    minified-js
    pattern-toolkit-full-composability
    product-pre-publish-modal
    printful
    settings
    async-product-editor-category-field
    product-editor-template-system

    Daily Cron: ? Next scheduled: 2024-06-17 09:25:58 +00:00
    Options: ?
    Notes: 67
    Onboarding: completed

    ### Action Scheduler ###

    Abgeschlossen: 66
    Oldest: 2024-05-17 04:56:01 +0000
    Newest: 2024-06-16 10:46:18 +0000

    Ausstehend: 18
    Oldest: 2024-06-16 19:47:18 +0000
    Newest: 2024-07-01 14:04:40 +0000

    Fehlgeschlagen: 5
    Oldest: 2024-05-20 12:21:11 +0000
    Newest: 2024-06-13 20:34:47 +0000


    ### Status report information ###

    Generated at: 2024-08-02 09:58:12 +00:00


    The page I need help with: [log in to see the link]

Viewing 12 replies - 1 through 12 (of 12 total)
  • Hey there, @nullkohol! Thanks for contacting us. I’m happy to help you.

    Have you checked if the issue persists if WooCommerce is the only plugin active?

    If it does, can you please share more detailed steps on how to trigger the issue so we can try to replicate it on our end?
    Exactly which blocks and filters have you added?
    If you could also share a screen recording of the issue, that would be great! You can use https://loom.com/.

    To confirm, have you checked in another browser/device/internet connection to see if the issue persists?

    Looking forward to your reply.

    Have a wonderful day!

    Thread Starter nullkohol

    (@nullkohol)

    Hi Carol, thank you for your support.

    Yes, I just disabled all plugins except WooCommerce and I see no changes with respect to the problem.

    Yes, i tried using private browser window in Firefox, another browser (Chromium), and mobile internet. With mobile internet, loading is a bit faster, but still not what I’d expect from a near-empty store. So I think the requests are each a bit faster, but there are still so many of them.

    I would like to add screenshots of the page setup/blocks and requests, but seems like I cannot add images here?

    • This reply was modified 3 months, 3 weeks ago by nullkohol. Reason: images not showing
    Plugin Support Rajesh K. (woo-hc)

    (@rajeshml)

    Hello @nullkohol,

    Thank you for providing the additional information.

    You can use?https://prnt.sc/?or?https://snipboard.io?to share screenshots here. There is also a walkthrough guide here:?https://en.support.wordpress.com/make-a-screenshot/

    Looking forward to hearing from you!

    Thread Starter nullkohol

    (@nullkohol)

    Thank you, I will try this. I hope you’ll be able to view the screenshots following the links.

    This is the amount of requests I see. Sometimes they have this turtle symbol, sometimes they don’t. So their individual time varies. But the number is always the same and adds up when I add more filters.

    This is the page setup I currently have (which leads to the requests above). It’s in German, but I think you’ll be able to recognize the blocks. I had to re-enable Spectra, because otherwise my content was not displayed properly (Spectra provides the container blocks). I can disable that again, but I don’t think that the containers initiate more requests.

    I hope this information will help you help me to reduce number of requests if possible or otherwise find out how to speed things up. Thanks in advance.

    Plugin Support Shameem R. a11n

    (@shameemreza)

    Hi @nullkohol

    It’s great to see that you’ve already done some troubleshooting and analysis on your own.

    Your observation about multiple requests being sent to the WooCommerce API for each block is correct. Each block does require a certain number of requests to load the necessary data. However, the number of requests and the time it takes to load the data can be influenced by many factors, including server performance, network connection, and the complexity of the data being requested.

    That being said, it’s unusual for the loading of the shop page to be as slow as you’ve described. It’s possible that there may be some optimization issues on your site that are contributing to this problem.

    One possible solution to reduce the number of requests could be to use a caching plugin. Caching can help to speed up your site by storing the results of these API requests and serving them from the cache instead of making a new request each time. There are several caching plugins available that are compatible with WooCommerce, such as WP Rocket, W3 Total Cache, and Jetpack Boost.

    Additionally, it’s worth noting that some sites may be using customized themes or plugins that optimize the loading of WooCommerce blocks. They may also be using advanced server configurations or caching systems to improve performance.

    Regarding the multiple requests to load the “all products” block, these requests are necessary for the block to function correctly. Each request retrieves a different set of data from the WooCommerce API. However, as mentioned earlier, a caching plugin could help to speed up the loading of this data.

    Furthermore, I would recommend checking your server’s performance and network connection to ensure they are not contributing to the slow loading times. If you’re not sure how to do this, your hosting provider should be able to assist you.

    I hope this information helps! If you have any further questions, please don’t hesitate to ask.

    Plugin Contributor Karol Manijak

    (@karolmanijak)

    Hi @nullkohol! In addition to previous responses, I’d like also to recommend switching to the Product Collection block instead. Product Collection block offers bigger flexibility than All Products and is server-side rendered which means it renders faster as there’s no need for that many requests on the client-side. Also, we’re actively developing Product Collection while not putting much effort into All Products block.

    We’re planning to hide All Products block from inserter (you can read about it more in Announcing the Product Collection Block). There’s just last extensibility bits missing in Product Collection block that we want to cover in Product Collection before that.

    Check out the Product Collection documentation for more information. Don’t hesitate to share feedback after trying out the block as well!

    Thread Starter nullkohol

    (@nullkohol)

    Hi @shameemreza, I’ll think about that and see what I can do. Thank you for explaining.

    Hi @karolmanijak, thanks for pointing that out. I did read your February post and tried out the new block and would love to leverage its speed, but as long as it does not support front-end filtering, it’s not what we are looking for. I don’t like to use something that is already legacy/deprecated, but we need the functionality.

    Plugin Contributor Karol Manijak

    (@karolmanijak)

    but as long as it does not support front-end filtering, it’s not what we are looking for. I don’t like to use something that is already legacy/deprecated, but we need the functionality.

    @nullkohol, can I confirm you mean filtering products without the page reload? This indeed is not the case between “Filter by *” and Product Collection block. We’re working on a new set of filter blocks based on Interactivity API which are server-side rendered as well (no additional requests on the frontend as the current filters) and won’t require a page reload with Product Collection to filter products.
    Here’s the issue summarising new filters work.

    Unless you mean that Product Collection doesn’t work with filters at all. Because that shouldn’t be the case. In that case, do you mind sharing a steps to reproduce? There’s a limitation in which Product Collection cannot be filtered on custom pages which was intended change, however eventually, we decided to allow filtering on pages as well (PR). That change will be available in WooCommerce 9.2 scheduled for August 13.

    Thread Starter nullkohol

    (@nullkohol)

    @karolmanijak thanks for explaining and for taking the time.

    I actually redid my website and now use the Product Catalogue template with the Product Collection block and the filters actually work. It took me some time, but now I understand how things work together in Woo. The hooks are also now executed. So overall my shop now works much better. I am looking forward to these new faster filters you mentioned ??

    Looking through your documentation and at the template parts, I noticed this Template Part called “filter overlay”. I get a warning that my WordPress instance does not support this. How can i find out why?

    Hey, @nullkohol!

    I’m glad that the website is working better now ??

    Looking through your documentation and at the template parts, I noticed this Template Part called “filter overlay”. I get a warning that my WordPress instance does not support this. How can i find out why?

    It might be a conflict issue. Do you mind sharing a screenshot of the warning message so we can take a look?

    Looking forward to your reply.

    Have a wonderful day!

    Plugin Contributor Karol Manijak

    (@karolmanijak)

    So overall my shop now works much better. I am looking forward to these new faster filters you mentioned ??

    @nullkohol, I’m so glad you gave it a try and it works for you! ?? If you have any feedback about the block, don’t hesitate to share it.

    Looking through your documentation and at the template parts, I noticed this Template Part called “filter overlay”. I get a warning that my WordPress instance does not support this. How can i find out why?

    “Filter overlay” template part is an unfinished feature exposed there by accident. It will be hidden in WooCommerce 9.2 until it’s finished and ready to use (PR). It’s related to the new filters I mentioned but they still require some work and polishing. Sorry you found it and got a warning.

    Plugin Support Shameem R. a11n

    (@shameemreza)

    Hi @nullkohol

    We’ve not heard back from you in a while, so I’m marking this thread as resolved. Hopefully, you were able to find a solution to your problem!

    If you have further questions, please feel free to open a new topic.

    Thanks!

Viewing 12 replies - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.