How to Move Comments from One WordPress Post to Another

Written by James Parsons James Parsons, updated on 06/13/2025 11 minute read 0 Comments

How To Move Comments From One Wordpress Post To Another

When you're running a WordPress site for a while, you should ideally build up a community. People who are interested in your content will leave comments, and those comments add value to your posts. Sure, you have to moderate them and keep up with spam, but legitimate comments add keywords, build engagement, give you opportunities to hook people, and even give you ideas for future content.

All of this is fine, but what happens if you have to do a content audit?

When you perform a content audit, you will likely identify blog posts that aren't really serving a purpose anymore. Maybe they're old and out of date. Maybe they're narrow and cover a topic you better covered in another post. Maybe you have several posts on narrow topics you would rather merge into one.

Normally, content pruning will benefit your blog as long as you aren't losing too much in the way of backlinks. What some people forget, though, is those blog comments. Sure, they may be old, and you never know if those users are even still around, but salvaging the comments when you delete or merge a post isn't a bad idea.

Can you save blog comments? For example, can you move them from one post to another?

Well, with WordPress, nothing is technically impossible. Blog comments are just data stored in a database. The wp_comments table is the table in your database that includes all of the comment information, including comment ID, comment author, comment date, comment content, and more.

As long as that data exists and you have access to the database, you can do pretty much whatever you want with your comments. Fortunately, though, while you can use SQL to change which post a comment is associated with, there are easier options.

Before We Begin

Before we get started, I need to make one big note here, which is that all of these methods only work if you're using the default WordPress comments system.

If you're using something like Disqus, Facebook Comments, CommentLuv, or another comment system, the methods I outline below won't work. Well, the first one technically might, but with even more issues, so I wouldn't necessarily call it working.

Before We Begin

If you don't use default comments, I do have one other suggestion: quote the comments in the new post.

Since the biggest reason to keep old comments around is for their SEO value, you can just include that in your main post, especially if you're already doing this because you want to merge multiple posts.

For example, you could write a section that says:

"In an older version of this post, user Markus Exampleman pointed out this:

 

"Here's the text of the comment that Markus Exampleman posted that you would want to move over."

 

I thought this was worth bringing up because I wanted to touch on it more."

From there, you just go into whatever added value or response you want to add.

And, if you can't find value good enough in the comment to be worth quoting in the post, it brings up another question: is the comment actually worth saving? Sometimes, this process makes you realize that those comments may not be as valuable as you thought.

And if you're worried about the people who left the comments wondering where they went, well, don't. Most people view comments as transitory unless they're part of an active, ongoing conversation, so they probably won't even know they're gone.

Option 1: Manual Duplication of Comments

The first option you can explore is the manual option. It's one that, if you aren't particularly techy, might be your first thought. It's very much not the best option, but if you only need to move a couple of comments and you don't really need to care about the veracity or continuity of those comments, it can work fine.

Find the comment you want to move to another post and copy down the information. You want to copy the display name, comment content, and other relevant information.

Go to the post you want to put the comment on and create a new comment. Paste in all of the relevant information. Submit the comment: boom! You've "moved" the comment.

There are a few issues with this process, as you can already guess.

The first is that if there's any identifier that the site owner or admin posted a comment, like a shaded background or your unique gravatar, the comment will still have your information tied to it. In your admin dashboard, you can edit some of that, but you can't edit the email or gravatar.

One way around this is to create a bogus account, match the gravatar, and make the comment using that. It works, but it's clunky and feels bad, like you're astroturfing your comments.

Another issue is that, since this is a new comment, it will have a new, more recent date attached to it. Fortunately, that one you can actually edit in the WP Admin comment editing section.

Option 1 Manual Duplication Of Comments

The biggest issue, though, is that this is all manual. It's fine if you have a couple of comments you want to move over, but what if you have a dozen posts with a dozen comments each? What if you have a post with 50+ comments? It's a huge amount of not-easily-automatable work to salvage. There has to be a better way!

Option 2: Using PHP Code

If you're familiar with coding or you aren't too scared of getting your hands dirty, you can use manual code in your PHPMyAdmin dashboard to directly transfer comments from one post to another. It's pretty simple SQL, but some people are very hesitant to mess with code directly.

Before doing this, make sure you back up your database. Any changes you make, if you do it wrong, can harm your site, so you want to be able to restore to the state before you started messing with code, just in case.

The good news is that it's relatively easy to follow this process. All you need is the post ID for the old post and for the new post.

Step 1: Make the new post if you haven't already. Before you can run the script, you need the destination to exist, otherwise the script will put the comments in a post that doesn't exist.

Step 2: Fetch the post IDs of the source post and the destination post. The easiest way to do this is to open the posts in the WordPress admin editor and look in the URL. The URL will look something like:

https://yourdomain.com/wp-admin/post.php?post=123&action=edit

The key information here is the "post=123" bit; that number is your post ID. So, say you want to move comments from the source post 123 to the destination post 456. You'll want to note down those numbers.

There are other ways to get your post ID as well, and you can even write it into your script if you want, but I don't find it necessary.

Step 3: Write your script.

Option 2 Using Php Code

Like I said, it's pretty simple SQL, so we can walk through it.

  • UPDATE – This is a command that updates the records in a table. It needs several parameters.
    • The table name. In this case, it will be wp_comments since that's what we're updating.
    • SET. Pointed at comment_post_ID, this comment will set the data for that field within the table specified above.
    • WHERE. This is the command that identifies which information you're changing.

So, in plain English, you are Updating the comments table, setting the comment post ID for comments in the old post, to update it to the new post ID. Where the ID is X, you set it to Y.

The actual code will look something like this:

UPDATE wp_comments SET comment_post_ID = [NEW ID] WHERE comment_post_ID = [OLD ID]

The data in brackets should just be the new post ID and the old post ID, respectively, with no brackets in the final code. So, with our hypothetical example:

UPDATE wp_comments SET comment_post_ID = 456 WHERE comment_post_ID = 123

Simple, right?

Step 4: Run the script. You have everything you need; now it's time to put it into action.

Now, where do you run the script?

You need to log into your PGPMyAdmin, which will generally be in your web hosting dashboard. It looks like a proper vintage bit of software because it hasn't really changed in decades, but it's not too difficult to navigate.

Once logged in, you need to navigate to the right database, which will be your WordPress database itself. Once there, on the left side in the navigation menu, you'll find an SQL button. Click that to pop up a script window, where you paste in your code and run it.

Note that there are a few ways, like using SELECT or a transaction, to functionally test the results of your script before you run it in full. For something this simple and relatively low-stakes, I don't necessarily use them myself, but it's best practice to be in the habit of testing in some way before jumping right in, especially if you aren't comfortable with SQL. It's just more complex, so I didn't want to dig into it here.

Once you run the script, you can then go back to your published posts and find the comments moved over. If it didn't work, something went wrong, and you'll have to troubleshoot. If your site doesn't load, well, time to restore from that backup and either figure out what went wrong or try a different method instead.

Option 3: Use a Plugin

If plugins are available to do all of this, why didn't I lead with that?

Unfortunately, plugins have some potential issues. For one thing, two of the most common plugins people recommend for this task (Move WordPress Comments and Copy or Move Comments) have both been shut down for security issues and seem to have no desire to update.

For another, if you have custom post types or unusual circumstances on your site, the plugins that do work might not cover them. Updates to PHP itself have made it harder to keep finding functional plugins, as well.

Overall, I've only found a couple of potential plugins.

The first is Move Comments by Apostolis. This is a super simple version of the plugin that just adds a "move" command in the WordPress admin comments dashboard. I haven't tried it out myself, but reviews from as recently as a few years ago claim it works fine, at least for basic post types and moving a few comments. You do still need to manually move each comment one at a time, tediously, but at least it works.

Option 3 Use A Plugin

This is also a plugin that hasn't been updated since 2018, which is itself a bit of a risk, and the more time passes, the more likely it is to stop working. Let me know if that happens so I can edit this post!

The second option I've found is actually even older but with a caveat. It's Tako Movable Comments, which hasn't been updated since 2016, but it's a bit more advanced. You don't need to know post IDs; you can just choose the source and destination from drop-down menus, which can be pretty helpful. You can also move comments in bulk.

Since it's so old, though, it has issues with modern WordPress. So why do I have it listed here? An enterprising dev actually made a fix for it last year, including adding features like title autocomplete for searching for posts. You can find that fix here.

So, as far as plugins are concerned, this is the best option I've found. If you know of a better one, feel free to let me know! Likewise, if you know of another method that can help move comments from one post to another, feel free to leave that in the comments as well. I promise I won't arbitrarily move it to another post for no reason!

Written by James Parsons

Hi, I'm James Parsons! I founded Content Powered, a content marketing agency where I partner with businesses to help them grow through strategic content. With nearly twenty years of SEO and content marketing experience, I've had the joy of helping companies connect with their audiences in meaningful ways. I started my journey by building and growing several successful eCommerce companies solely through content marketing, and I love to share what I've learned along the way. You'll find my thoughts and insights in publications like Search Engine Watch, Search Engine Journal, Forbes, Entrepreneur, and Inc, among others. I've been fortunate to work with wonderful clients ranging from growing businesses to Fortune 500 companies like eBay and Expedia, and helping them shape their content strategies. My focus is on creating optimized content that resonates and converts. I'd love to connect – the best way to contact me is by scheduling a call or by email.