?replytocom= URLs in Search Console: one extra address for every comment
Every comment on a WordPress post has a Reply link to the post's URL plus ?replytocom= and the comment's ID, so a post with 80 comments has 80 extra addresses. WordPress marks them noindex, so they are rarely indexed, but they are still crawled. Removing the parameter from the links ends it.
In Search Console they sit under "Excluded by 'noindex' tag" or "Alternate page with proper canonical tag". Neither status is an error. Whether it is worth acting on depends on how many comments your site has.
What it looks like
Before
<a rel="nofollow" class="comment-reply-link" href="https://example.com/brewing-guide/?replytocom=412#respond">Reply</a>
After
<a rel="nofollow" class="comment-reply-link" href="#comment-412">Reply</a>
What the link is for
The parameter is a fallback for browsers without JavaScript. With scripts enabled, clicking Reply moves the comment form under the comment you are answering, without loading anything. With scripts disabled, the browser follows the link and WordPress reloads the same post with the form pre-set to reply to that comment. The content of a ?replytocom= page is the post itself.
WordPress takes two precautions. The link carries rel="nofollow", and when a page is requested with the parameter, core adds a noindex, follow robots meta tag. Neither stops crawlers requesting the URL: nofollow is a hint, and noindex can only be read by fetching the page.
Confirm the pattern on your site
In Search Console, open Indexing → Pages, then each "not indexed" reason, and filter the URL list for replytocom. Export the examples to see the scale. In Settings → Crawl stats, the example URLs under By purpose and By response show whether Googlebot is spending a noticeable share of requests on them.
On the page itself, view the source of a post with comments and search for replytocom. Each occurrence is one crawlable address. Then check what one of them returns:
curl -s "https://example.com/brewing-guide/?replytocom=412" | grep -ioE '<meta[^>]*name=.robots.[^>]*>|<link[^>]*rel=.canonical.[^>]*>'
You should see either a noindex robots tag (WordPress core's behaviour) or a canonical pointing at the clean post URL. With Hydrogen SEO active, the plugin prints its own robots tag in place of core's, and the page carries a canonical to the post's permalink, so Google files these under "Alternate page with proper canonical tag".
When to leave it
On a blog with a few comments per post, do nothing. The URLs are excluded correctly, they do not dilute anything, and Google crawls them less over time. A "not indexed" count in Search Console is not a score to drive to zero.
Act when the volume is large: a site with thousands of posts and active discussions can have more reply URLs than real pages, and each is a full, uncached page render for your server.
Option 1: remove the parameter from reply links
This is the clean fix, because the URLs stop existing in your markup.
In Hydrogen SEO, open Hydrogen SEO → General, expand Crawl cleanup and switch on Remove ?replytocom= from reply links. The Reply link then points to the comment form on the same page. Replies still nest correctly when the theme loads WordPress's comment-reply script, which most themes do. Without that script, or with JavaScript off, a reply is posted as a new top-level comment. Post one test reply after switching it on. The switch and its trade-off are documented under crawl cleanup.
Without the plugin, the same effect needs a filter on comment_reply_link that rewrites the href.
Option 2: turn off threaded comments
Under Settings → Discussion, untick Enable threaded (nested) comments. WordPress then prints no Reply links at all. Use this only if you do not want nested replies; it changes how discussions read.
Option 3: block the pattern in robots.txt
User-agent: *
Disallow: /*?replytocom=
This stops the requests immediately, which helps if crawl load is the concern. The cost: Google can no longer see the noindex or canonical on those URLs, so any that are linked from elsewhere could be listed as indexed, though blocked by robots.txt. In practice reply URLs are rarely linked externally, so the risk is small, but option 1 has no such side effect. If you add the rule, check it against a real URL with our robots.txt tester.
What not to do
- Do not redirect
?replytocom=URLs to the post if you rely on the no-JavaScript fallback; the redirect removes it. - Do not add the URLs to a removal request. They are not in the index to begin with.
- Do not treat them as duplicate content that needs rewriting. They are parameter variants of one page, already consolidated.
Checking the result
After option 1, purge the page cache, view the source of a post with comments and search for replytocom: no matches. Post a reply to confirm threading still works. In Search Console the existing entries will fade from the report over the following months as Google stops finding links to them; there is nothing to validate. Crawl stats should show fewer requests to parameter URLs within a few weeks.
Common questions
Are replytocom URLs duplicate content?
They show the same content as the post, but WordPress marks them noindex and SEO plugins canonicalise them, so Google does not index them as separate pages.
Why does Search Console list thousands of them?
The report counts every URL Google has discovered. One reply link per comment adds up quickly on a busy site.
Will removing the parameter break comment replies?
Not on themes that load the WordPress comment-reply script. Test one reply afterwards. Without the script, replies are posted as new top-level comments.
Does this improve rankings?
No. It reduces wasted crawling and tidies reports. Rankings are unaffected either way.