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.

TL;DR 😎

To bulk create WordPress pages, prepare your data in a spreadsheet, import it into Multiple Page Generator, build one template page using {{mpg_...}} tags, configure your URL format, and let the plugin generate one page per row. You can then create a page listing with MPG’s shortcode and generate a sitemap for indexing.

Requirements to bulk create WordPress pages

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 or upload a file and start building pages from there. The free version supports up to 50 rows of data and one active project, which is fine for smaller projects. If you need to go beyond that, the paid version is the practical choice.

Paid plans unlock everything: unlimited pages and projects, 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:

Sample Google Sheet structured with one row per page and columns for guitar attributes for MPG import

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, or upload one of MPG’s supported file formats directly.

Google Sheets Download as CSV menu path for exporting data to MPG

CSV still works great, but MPG can also import .csv, .xlsx, and .ods files, or use a direct link source.

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 and click Create New +. On the All Projects screen, you’ll also see the Add New Project button.

WordPress admin sidebar showing the MPG plugin menu location

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

MPG new project screen with From scratch option and preset templates

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 Select source step with options to use a direct link or upload a file

There are two main options for the import under Source Type: Direct link or Upload file. If you’re on the paid version of MPG, you can use a direct link and have the plugin keep 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 file (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 data preview showing imported rows and columns after source selection

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 Project settings with Entity type selection and Template assignment

This starts straightforward – pick your Entity type, either Pages or Posts. 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 thing 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:

List of generated mpg_ dynamic tags derived from the spreadsheet column headers

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:

Example WordPress template page using mpg_ tags to insert guitar data and an image URL

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 Template selector used to choose the source page for generated content

Lastly, adjust the final settings section:

MPG Generate URLs settings with URL Format Template and URL preview

The most important detail there is the URL Format Template. 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 a blue notice there saying that all those pages are “virtual.” In other words, MPG creates virtual pages that won’t appear under the normal All Pages screen in wp-admin. You manage them through the MPG interface instead. 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:

MPG All URLs screen listing generated page addresses

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:
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 Shortcode tab in your project settings:

MPG Shortcode tab entry point for creating a listing of generated pages

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:

MPG Sitemap settings with the option to generate and view the current sitemap

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.

After that, you’ll see the Current sitemap link right in the Sitemap section. Copy that URL, and then submit your sitemap to Google Search Console to complete the process.

For the official steps, you can also check Google’s sitemap submission documentation.

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

Start bulk creating WordPress pages from CSV or Google Sheets

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.

🚀 Quick recap

  • Prepare one spreadsheet row per page.
  • Use MPG to import a direct link or upload a .csv, .xlsx, or .ods file.
  • Create one template page and insert the correct {{mpg_...}} tags.
  • Set your Entity type, choose the template, and configure the URL Format Template.
  • Remember that generated MPG pages are virtual, so you manage them inside MPG rather than under All Pages.
  • If you’re using the free version, keep in mind the 50-row limit and one active project limit.
  • Optionally generate a listing shortcode and sitemap once your pages are live.

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