How to Bulk Create Pages in WordPress

Creating one page in WordPress is easy. Creating hundreds? That’s different. If you’ve got structured data – like a catalog of real estate listings, product specs, or comparisons, for example – then you can actually skip your copy-paste routine and instead build all those pages in bulk.

Again, this is: straight from Google Sheets right into WordPress, and with no coding needed.

In this post, I’ll show you exactly how I do it using our free Multiple Page Generator plugin. I’ll walk through the whole process step by step – from setting up your spreadsheet to hitting publish on a batch of pages.

What you’ll need to get started

To bulk-create pages in WordPress, you only need three things. That’s it.

First, a Google Sheet with your data. This is where all the content for your pages lives – titles, text, anything that should change from one page to the next. Each row will turn into one page. I’ll show you exactly how to structure it in the next section.

Second, the Multiple Page Generator plugin (MPG). It’s free, and it does most of what you need out of the box. You can link it directly to your data (through CSV export, for example) and start building pages from there. The free version supports up to 50 rows of data, which is fine for smaller projects. If you need to go beyond that (like hundreds or thousands of pages) you’ll need the Pro version.

Pro unlocks everything: unlimited data, scheduled syncs, conditional logic, smart alerts, and more. But you can try everything out first without paying a cent. That’s what I recommend.

Third, a template. This is the WordPress page you design once, and the plugin uses it to build the rest. You can use any theme or page builder you want. The plugin will fill in the blanks from your sheet. I’ll show you my template in this post as well.

We’ll go through all three of these next, step by step.

Bonus: Video tutorial

If you’d prefer to learn how to do this in video form, here’s a quick tutorial I created:

Step 1. Prepare your data

The most important part about preparing your spreadsheet is that every row represents a single individual page that will be created.

In other words, you need to make sure that all the key details that you want to import for each item are in some column in each row.

Just to give you an example, here’s my sheet that lists 30 most well-known guitars:

guitars

As you can see, I have details like: guitar type, body shape, body wood, scale length, pickup configuration, and much more there. I want to show all this info on the pages I’ll be creating.

Replicate this idea when creating your sheet.

Then, once you have the sheet ready, simply export it as CSV, like so:

export as csv

Step 2. Install the MPG plugin

This part is pretty simple. MPG acts like any other plugin in WordPress – as in, you install it through Plugins → Add New, and then activate. Basic stuff.

Additionally, if you’ve decided to go with the pro version of the plugin, then you install that by getting the plugin’s ZIP from the Themeisle repo and then uploading it through Plugins → Add New → Upload.

With the plugin installed, you can start crafting your bulk page rollout.

First, go to MPG’s section in the wp-admin:

MPG in wp admin

Click on Add New Import to begin:

add import

You’ll see a range of choices on the next page:

templates available

For me, most of them are just demos of the plugin’s abilities – they come with example datasets and example page templates to go alongside. If you happen to be creating pages of any such types, you can check out those options.

However, if you’re building something original, you’ll most likely want to go with the “From scratch” option. That’s what I’ll do.

MPG divides the setup page into a couple of sections. First:

MPG section 1

There are two main options for the import: direct link or upload. If you’re on the pro version of MPG then you can choose direct link and then have the plugin keep all your data in sync – meaning that your pages will always reflect the data currently in your sheet.

If you just want to do this one time, select upload (that’s what I’m going to do).

As soon as the data fetches, you’ll see a quick preview in the next section of the plugin’s screen.

MPG section 2

As I’ve mentioned before, I’m fetching some guitar data for this demo, so you’ll see some details about those guitars in the screenshot above.

If your preview is looking fine, you can move on to the next section – Project settings:

MPG section 3

This starts straightforward – pick whether you want to create multiple posts or pages. I’ll go with pages.

The other field is more interesting because that’s where you’ll get to pick the template for all your pages.

This is a good moment to create your template.

Step 3. Create your template

The best way to go about this is to open a new browser tab and start creating a new page – a normal blog page at first.

What you’re building is an example page whose design is going to be used for all the bulk pages.

The good news is that MPG doesn’t force you to use any specific tool when building this template page. You can do it all in your favorite tool – be it the native WordPress block editor, Elementor or some other favorite page builder of yours.

The only things that’s different is that you should use the “mpg_” tags in places where you’ll want your data to be inserted dynamically.

You can see what those tags are exactly in your case by glancing at the data preview section in MPG settings (we were there just a minute ago). For my project, these tags are:

mpg tags

You’ll notice that MPG creates them simply by taking the header row from your data source and adding “mpg_” at the start of each one.

These are the tags that you should use in your template. Here’s an example of how you can do this:

So since I’m building pages listing various parameters of popular guitars, I could do something like this:

template example

What you can see there is:

  • The headline of the page is simply: {{mpg_brand}} {{mpg_model}} – which will be turned into something like “Fender Stratocaster”
  • Then below I’m also using: {{mpg_guitartype}} • Made in {{mpg_countryoforigin}} – which shows the type of the guitar (e.g. Electric) and the country it was produced in
  • Next, I have an image section on the left. My CSV has a column that mentions a direct URL to a guitar image. You can see it in the src parameter: <img src="{{mpg_imageurl2}}" />
  • And then, I start listing all the other details of the guitar inside that box on the right

Build your template in a similar way – using your data for whatever type of pages you’re building.

Once you are done, just save that template page normally.

We can switch browser tabs once again and go back to MPG.

Step 4. Launch your bulk pages

With the template ready, we can now assign it in the correct section. This one:

MPG section 3 b

Lastly, adjust the final settings section:

MPG section 4

The most important detail there is the URL format. MPG allows you to use all the “mpg_” tags to craft those URLs.

For me, I’ll just go with mpg_brand-mpg_model which will give me URLs like https://mysite.com/fender-stratocaster/ or https://mysite.com/gibson-les-paul-standard/

If it’s all looking fine, click on the Save changes button at the bottom.

You’ll also notice that blue bar there – saying that all those pages are “virtual.” This means that you won’t find them in the wp-admin if you go to Pages (where all your normal pages are stored). You cannot edit those MPG pages normally like your other WordPress pages. You can only work on them through the MPG interface that we’re using here. However, for your site visitors, there’s no difference between normal WordPress pages and virtual MPG pages.

Click on See all URLs to see all your pages. Here are mine:

all pages

You can also click through those pages individually and see if the bulk creation worked out fine. Here are two of my pages if you’re curious:

Fender Stratocaster:
Fender Stratocaster
Gibson Les Paul Standard:
Gibson Les Paul Standard

Step 5. Generate a listing of pages

At this stage, your bulk pages have been created. But you’ll also likely want to list all those pages somewhere – like on a separate page, on your homepage, in a sidebar, etc.

You can use the MPG shortcode for that.

To customize it, just go to the second tab in your project settings:

mpg shortcode

Let’s look through the sections there to see what’s going on:

The first section up top (“Shortcode”) is just a helper to let you find every “mpg_” tag easily. You will use those tags when building your listing.

The Generate list section is the main one to pay attention to.

There are lots of filtering options there that let you control which of your pages you want to showcase, how you want to order them, how many you want, and so on.

At the end, you’ll get a shortcode looking something like this:

[mpg project-id="8" where="" limit="5"]
    <a href="{{mpg_brand}}-{{mpg_model}}">{{mpg_model}}</a><br>
[/mpg]

If you add that to any of your standard pages, it’s going to list your MPG bulk pages.

Step 6. Generate a sitemap

Lastly, if you’d also like to let Google know about all those new pages (you probably do) then go to the Sitemap tab of the project settings:

sitemap settings

You can just save the changes and generate your sitemap. MPG is going to create a sitemap that’s very similar to the one you’ve probably gotten from your SEO plugin.

You should see a link in the bottom right-hand corner. Copy that URL, and then submit your sitemap to Google Search Console to complete the process.

That’s it! You’ve just built lots and lots of pages without breaking a sweat. 👍

Start bulk creating WordPress pages today ⏰

That wasn’t that hard, was it? If you’re looking for an easy-to-use solution to create bulk pages in WordPress, you can use Multiple Page Generator to quickly get the job done. It can create even thousands of pages for your website.

Do you have any questions about using Multiple Page Generator? Let us know in the comments section below!

Yay! 🎉 You made it to the end of the article!

0 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments

Or start the conversation in our Facebook group for WordPress professionals. Find answers, share tips, and get help from other WordPress experts. Join now (it’s free)!