• Resolved rainsey

    (@rainsey)


    hi, our theme adds swatches below products on category pages (up to 20 variations) and when we load the page or page2 it takes 12secs to load. Query monitor shows 500 calls by wpsso. I’ve filtered options disabled. Is there any other fix to exclude variations or limit wpsso to 10?

    i may need to disable wpsso on category pages due to my theme.

Viewing 1 replies (of 1 total)
  • Plugin Author JS Morisset

    (@jsmoriss)

    You haven’t provided a URL to the webpage in question, so unfortunately my reply may be a bit general.

    When WordPress loads a page, WPSSO creates Schema markup and meta tags for that page content, then stores it in the WordPress transient cache. To create new Schema markup and meta tags (ie. no transient in the cache yet), you can expect a few database queries (about 21 in 0.01s for WPSSO, compared to 73 in 0.02s for WooCommerce and 29 in 0.006s for WordPress). Once the transient cache object for that page has been created, WPSSO would query the database only 2 times in 0.0004s. By default the transient object is good for 1 week before it is refreshed. So, you can expect WPSSO to contribute about 0.0004s to the page load.

    When a page is updated in the admin back-end, the transient cache is updated as well. When WPSSO is upgraded or activated, a background task crawls all post objects (which includes pages, products, etc.), terms, and users. If your WordPress scheduler is broken, each page may take 0.01s more to load as the new transient is created. On category or date archive pages, since WordPress must load 10 post objects (by default), if a transient cache object does not exist for all 10 post objects, it may take a second or two more for WPSSO to create the transient cache for each.

    500 queries to the database seems a bit high for an archive page, and since WooCommerce would create 3 times the number of queries, and take twice the time that WPSSO does, it sounds like an archive page of that size would take 2-3 seconds to load the first time (assuming there are no transient cache objects available). 12 seconds would suggest a database that has not been optimized – you may want to check your cache and buffer settings in your my.cnf file (for MySQL/MariaDB, for example).

    You may also want to check that your WordPress scheduler is working as WPSSO should pre-create all transient cache objects in background, so when a page loads in the front-end, WPSSO would only query the database twice in about 0.0004s.

    You may want to use a plugin like https://wordpress.org/plugins/wp-crontrol/ to make sure your scheduler is working properly. And a plugin like https://wordpress.org/plugins/advanced-database-cleaner/ to optimize your database content. This won’t optimize your database configuration, but it may find some issues with your database tables that could affect performance.

    js.

Viewing 1 replies (of 1 total)

You must be logged in to reply to this topic.