Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To lazy load native WordPress comments, use the Lazy Load for Comments plugin for a no-code setup, or build a custom loader that fits your theme. The plugin listing describes loading comments on scroll or after a button click; whichever route you choose, test the comments area, reply form, pagination, and mobile behavior on your own site.

Choose a plugin or a custom implementation

Approach Theme integration Loading controls Important limits
Lazy Load for Comments The plugin listing describes support for classic themes using comments_template() and block themes using the core Comments block. On-scroll or button-click loading; a minimum-comment threshold can leave short threads inline. The listing says it supports native WordPress comments, not replacement systems such as Disqus or Jetpack Comments. Verify compatibility with your theme and comment extensions.
Custom code Classic themes commonly render comments through comments_template(); block themes use the core Comments block and need a solution for that rendering route too. You choose the trigger and presentation, such as a button or an on-scroll trigger. You must account for the theme’s markup, pagination, reply form, moderation, caching, and any comment-related extensions.

The plugin listing is the source for its documented features and compatibility claims, not a guarantee for every site. A custom implementation has no universal drop-in snippet because themes and comment setups differ.

Set up the plugin

  1. In the WordPress dashboard, go to Plugins → Add New, search for Lazy Load for Comments, install it, and activate it.
  2. Open Comments → Lazy Load.
  3. Choose On scroll to load comments as a visitor reaches the comments area, or On button click to require an explicit action.
  4. Set the minimum-comment threshold if you want short threads to remain inline.
  5. Open a representative post on desktop and mobile. Check that comments appear, the reply form works, and pagination and moderation behave as expected.

The plugin listing also documents an option to disable its behavior without deactivating the plugin. It says the plugin uses the WordPress REST API to fetch rendered comments on demand; that describes this plugin’s implementation, not a requirement for all lazy loaders. Check the current listing for its version and requirements because those details can change: Lazy Load for Comments on WordPress.org.

Build a custom loader carefully

Classic themes

In classic themes, comments are commonly included with comments_template() in relevant single-post or page templates. WordPress provides the comments_template filter to change the template path. A custom approach can render a meaningful placeholder or button where the comments belong, then load or reveal comments when triggered.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Block themes

Block themes render comments with the core Comments block. A change that only swaps the classic comments template path may not affect this route. Ensure the implementation addresses the Comments block rather than assuming a classic-theme hook covers both.

Script loading and page behavior

Enqueue loader scripts through WordPress’s script API and account for dependencies. WordPress documents defer and async as script loading strategies: deferred scripts preserve execution order, while async scripts do not guarantee it. If the loader depends on page structure or other scripts, defer is generally easier to reason about. See the wp_enqueue_script documentation.

  • Preserve a usable comments location and a clear control for visitors when content is not yet loaded.
  • Test paginated threads, reply forms, moderation states, caching, and any comment extensions.
  • Use the comment provider’s own loading controls if it replaces native WordPress comments.

Understand crawler behavior and performance claims

The plugin listing says crawlers receive inline comments by default. Treat that as the plugin’s stated behavior, not an independent guarantee that every crawler or site configuration will index comments. If comment indexing matters, validate the rendered page and crawler access for your setup.

Deferring comment markup, avatars, or related scripts can reduce work during initial rendering, but the cited plugin listing’s claims of fewer requests and faster Largest Contentful Paint are not accompanied by controlled measurements. Do not assume lazy loading will improve Core Web Vitals or rankings. Compare your own site before and after, using the same pages and conditions, and confirm that visitors can still reach and use the comments.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

When a plugin is not the right fit

If a comment service replaces WordPress’s native comment area, the plugin listing says Lazy Load for Comments does not support it; consult that service’s loading settings instead. Choose custom development when your theme or comment workflow needs behavior the plugin does not provide, and plan for separate handling of classic and block themes.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.