How it works
The plugin loads your store's real next page in the background and adds its products to the list. Everything else on the page stays as it is.
Where it runs
- Shop page, including WooCommerce product search results.
- Product category archives.
- Only when there is another page: on the last page (or a store with one page of products) nothing changes.
- Not on tag, attribute or brand archives (Pro), plain WordPress search, single products, or pages using a
[products]shortcode. Shop or category pages set to show only subcategories are skipped. - A shopper who lands on page 2 continues with page 3. On such a later page your theme's page links stay visible, as the way back to earlier pages. Loading earlier pages in place is a Pro feature.
What happens on the page
- Finds the product list and the next-page link, using the Theme Compatibility selectors. If either is missing, the page is left untouched.
- Hides your theme's page links (on the first page) and adds the loader, Load More button and messages where they were, or directly after the product list.
- Loads the next page when the shopper nears the end of the list (or clicks Load More), and appends only its products, skipping duplicates.
- Updates the result count: "Showing 1–16 of 40 results" becomes "Showing 1–32 of 40 results", in any language.
- Shows the end message after the last page.
If the end of the list is already visible (a short page or a tall screen), it keeps loading until the screen is filled.
Sorting and filters
Each load requests the real next-page address, so sorting (?orderby=price), WooCommerce filter widgets and products-per-page choices are kept. Filter plugins that replace the product list with AJAX need Pro's filter compatibility.
If loading fails
On a server error, a timeout (20 seconds), a response that isn't an HTML page, a redirect to another site, or a page without the product list, the error message ("We couldn't load more products.") and a Try again button appear. Automatic loading pauses until the shopper clicks Try again.
- "We couldn't load more products." in the error color under the grid
- Try again button below it
Accessibility
- Screen readers hear "Loading more products…", "Products loaded: 16.", the end message and any error, through a polite live region. The end message is always announced, even when hidden.
- After using Load More, focus moves to the first new product (setting: Move Focus to New Products). If the focused button disappears (last page or an error), focus stays in the controls instead of jumping to the top of the page.
- Buttons are at least 44 px tall with a visible focus outline; high-contrast mode is supported.
- Shoppers who prefer reduced motion get no fade-in, still dots and a slower spinner.
SEO
Your HTML doesn't change: the normal /page/2/ links stay in the page and are hidden only after the script starts. Search engines and visitors without JavaScript get standard WooCommerce pagination. Nothing is changed in canonical tags or rel links.
The Back button
In Free the address bar doesn't change while products load. If a shopper opens a product and goes Back, they return to the original page without the extra products (unless the browser restores the page from its cache). Pro's URL sync and Return to the Same Spot fix this.
Performance & caching
- Its CSS (about 5 KB) and JavaScript (about 15 KB, no jQuery) load only on archives where it's active and there is a next page.
- Each load is a normal page request, so page caches and CDNs serve it. No extra database queries.
- Purge your page cache after changing settings.
Languages
- Translation-ready. Text you enter (button labels and messages) can be translated with WPML or Polylang string translation.
- Numbers in the result count use the page's locale. Right-to-left sites mirror the button alignment.