WordPress Plugin: Mass Page Maker

As of February 24, 2013, there is a new version of this plugin that I will be updating. Called Mass Page Maker Pro, it has new features like a customizable CSV format and improved web UI, but costs money.

This older, free version will continue to be available. If you’ve gotten any value from the plugin before, please consider purchasing the full version to get all future updates.

UPDATE — March 19, 2013
After a conversation with the WordPress plugin repository staff, it looks like the updated free version of this plugin will not be listed in the directory, making this the only place to download it. I will continue to provide the last free full featured version for download, but cannot support it.

Ever had the need to create multiple pages or posts and dreaded the idea of doing it manually?

Mass Page Maker is an admin panel that gives you the ability to create as many pages or posts as you like in a matter of seconds. It can create posts and pages that are customized with every aspect of a regular WordPress page.

It is a more human-readable way for users to insert new posts, compared to the native WordPress XML importer.

If you need to import data to WordPress and it seems like this plugin can almost do the job, send me an email with what how you’d like the plugin to be different. I can work with you to develop a customized version, but I must change for the service: $25/hour with a minimum charge of $50.

Tested most recently with WordPress 3.3.1. Please send feedback via the contact page or post a comment.

Table of Contents


Mass Page Maker is compatible with WordPress’ locale system. If you are interested in translating for your locale, please comment below or email w [at] wesg [dot] ca. If you’re particularly ambitious, translate the .PO file in the plugin download and send back to that address.
Current Translations

Thanks for helping to translate!

Download v2.7 of Mass Page Maker


  • Fill out the fields in the admin panel according to what your needs are. If you include [+], the plugin automatically inserts the incremented data.
  • As of version 2.7, the web interface inserts posts with the same data. If you want unique pages, please use a CSV file.
  • Entering a post date in the future will result in the post being published at that time.
  • Use a CSV (comma separated value) file to insert a large number of customized pages.
  • The plugin can handle nearly all the regular WordPress options.

If the name of your post is New Page [+] and you want 5 pages written, the resulting pages will be

New Page 1
New Page 2
New Page 3
New Page 4
New Page 5

Custom fields example:
To add two new fields to your new posts, use semicolons.

phone; address --> 123 456 7890; 123 fake st

This results in each new post having both of those fields associated with it.

Using CSV files

The plugin supports importing CSV files to add multiple posts very quickly. While being more powerful when entering pages, it is also more complicated. You must follow a specific format when building files.

Please view the sample file before adding your own. Be advised that while the sample file will work, it contains mostly irrelevant data to a blog.

The CSV file must have exactly 15 columns. Any columns that aren’t used must be included, but kept blank (ie. “”).

When using Excel to create CSV files, be sure to check the use of quotation marks before uploading the file to the plugin. Excel has a tendency to get confused when fields of text use quotation marks inside.

Format to follow
Each line in a CSV file follows a pattern separated by commas that turns the file into a makeshift database. The MPM CSV follows this pattern:

  • Page title
    Regular post title value
  • Page publishing date (in the timezone of your WordPress installation)
    Must follow the format YYYY-MM-DD HH:MM:SS. The seconds are optional. The plugin will verify the format before inserting the file.
  • Post content (commas and quotation marks must be escaped using the \\ character)
    Escape the quotations and apostrophes with the backslash character.
  • Post excerpt (same restrictions as content)
  • Post category
    The category title.
  • Post parent
    The page ID of the parent post (only valid on pages). Default should be 0.
  • Page template
    The PHP file in your template directory you want to use (ie. contact.php). “Default” is the default template.
  • Post status
    One of the following list: publish, draft, private.
  • Post type
    Either post or page.
  • Comment status
    Open or closed.
  • Ping status
    Open or closed.
  • Custom key
    Post meta field (doesn’t have to previously exist). Separate different fields with semicolons — be sure to surround the field in quotations (ie. “field 1; field 2”) Can be empty.
  • Custom key value
    Corresponding post meta value. Separate different values with semicolons (ie. “value 1; value 2”) Can be empty.
  • Tags
    Enter tags separated by commas Can be empty.
  • Post password
    The post password Can be empty.

Escaping characters
To clarify some of the questions coming in, here is an overview of how to escape characters when using CSV. Inside the sample file, you’ll note that fields are either surrounded by quotation marks or not. When fields are surrounded by quotation marks, any extra quotation marks inside the text must be escaped (ex.1) and when there are no quotation marks, all commas need to be escaped (ex.2). The latest version of the plugin appears to import Excel .CSV files correctly, so that is a good way to format everything correctly. Be sure that lines are deleted, and not only blank (otherwise they include useless lines).

, “Sample field with \” inside the text”, , Sample field\, with comma escaped,
, “Sample field with improper ” inside the text”, , Sample field, with comma improperly escaped,

Caution: This plugin is extremely powerful. A slip of the mouse can cause your blog to insert many more pages than you intended, which can take a lot of time to delete. Read the options carefully before inserting pages.


  1. Copy the folder mass-page-maker to your WordPress plugin folder (usually wp-content/plugins).
  2. Open the WordPress Admin Panel and activate the plugin.
  3. Navigate to your Option panel, where you will see the plugin’s interface.


What is the purpose of this plugin?
Mass Page Maker automates the task of making pages or posts that are similar to each other. This can be a very time consuming process that can now be done in a matter of seconds.

What options are available?
In the interface panel, you have the ability to customize the page insertion.
You can change:

  • Number of pages
  • Starting number of page
  • Post/Page title
  • Post/Page content
  • Post/Page status (published or draft)
  • Post/Page type
  • Post/Page category
  • Page parents
  • Page excerpts
  • Specific page dates
  • Time interval between pages
  • Page template
  • Page visibility/password

How many pages can I enter at once?
This will depend on the hardware of your server and your patience. Using a modest development server, I have been able to insert 2500+ pages in around 1 minute.


Click for a larger view.


v2.7 — March 10, 2012
* Major overhaul for WP 3.3.1
* Uses WordPress native functions
* Provides immediate progress feedback during CSV import

v2.6.7 — July 19, 2010
* Rewritten for WP 3.0
* Improved the reliability of the CSV and web interface
* Fixed tags in CSVs

v2.6.6 — December 17, 2009
* Added support for page orders
* Improved handling of escaped characters in CSV and web interface
* Various other bug fixes

v2.6.4 — August 20, 2009
* Repaired category support

v2.6.3 — August 10, 2009
* Cleaned page insertion problem
* Repaired template issues

v2.6.2 — August 9, 2009
* Fixed quotation handling

v2.6.1 — August 9, 2009
* Improved quotation handling
* Added page visibility options

v2.6 — July 23, 2009
* Fixed WP 2.8.x compatibility

v2.5.9 — July 22, 2009
* Added troubleshooting information

v2.5.8 — June 28, 2009
* Improved support for WP 2.8
* Added tag support
* Better compatibility with CSV files

v2.5.7 — May 17, 2009
* Added better compatibility and feedback with CSV files

v2.5.6 — April 30, 2009
* Added placeholder support
* Added better troubleshooting feedback for CSV files

v.2.5.5 — April 6, 2009
* fixed increment tag in page content and excerpt

v2.5.4 — March 21, 2009
* Made custom field work in each way
* Add German translation

v2.5.3 — March 18, 2009
* Added custom field support

v2.5.2 — March 15, 2009
* Finally fixed future posting cron errors

v2.5.1 — March 14, 2009
* Corrected some type wrong in v2.5

v2.5 — March 14, 2009
* Corrected cron behaviour with future posts
* Added page template option
* Add CSV file imports

v2.1 — February 8, 2009
* fixed what should have worked in 2.0

v2.0 — February 6, 2009
* Overhauled date and time system
* Added page excerpt data
* Added ability to insert posts in the future or the past

v1.5 — January 18, 2009
* Added ability to create pages with different content

v1.5 — January 18, 2009
* Added ability to create pages with different content

v1.4 — January 6, 2009
* Updated for WordPress 2.7
* Completed localization capability

v1.3 — November 1, 2008
* Enabled page parents
* Made the plugin compatible with WordPress internationalization

v1.2 — September 2, 2008
* Enabled adding categories to posts
* Optimized code

v1.1.1 — July 28, 2008
* Cleaned up code and readme file

v1.1 — June 19, 2008
* Added support for multiple page titles
* Built fault tolerance in
* Added new ways to enter pages faster
* Posts and pages can how have comments and pings that are open or closed

v1.0 –– June 18, 2008
* Initial release

View all plugins

For those looking for a solution to proper Excel usage with the CSV feature, Adam, of http://beernews.org/ offers this suggestion:

For any people using only Excel to alter CSV files and get errors when uploading, I think I have your fix.

1) Download the original CSV sample file here and right-click to open the file w/ notepad. Keep it open.

2) Right-click the sample again but open with Excel. Save in Excel. Right-click to open w/ Notepad again. See a difference (i.e. extra quotations all over the place?)

3) Excel puts double quotations around cells (aka fields) where there is a quotation by default but there is a workaround. Go to http://www.mcgimpsey.com/excel/textfiles.html

4) Scroll down to the heading ‘Text files with no modification’ and copy that code underneath.

5) Open that sample csv file back up in Excel

6) Click on Visual Basic Editor in Excel (I think you need to click on Macros in 2003 version or Developer tab in 2007 version)

7) Right-click sheet 1, click on insert module and paste the big code into the large white text box that opens up.

8) Click back to Excel view and click Run Macro. Choose the one that says ‘Text no modification’ and click run.

9) Check the directory on your local machine where you saved the sample file and look for test.txt. Open in notepad, save the file as a CSV file. But do you notice there are no more double quotes everywhere??

10) Upload new CSV file…seems like a pain, but this honestly takes about 2 minutes to do once you’ve learned it. 30 min learning curve.

Tagged with: , , ,
281 comments on “WordPress Plugin: Mass Page Maker
  1. Seo Cádiz says:

    The plugin is no longer available, do you have any idea when it will be updated to wordpress 3 ?

  2. Emipromos says:

    All I can see so far is a lot of unhappy people trying to get a plugin to work that never has. Its obvious that the programmer has no undertstanding about csv files “OR HOW THEY ARE FORMATTED”. As far as instruction go, well, when the instructions supplied dont work should tell you everything you need to know! As far as Im conerned the hours Ive wasted trying to get this plugin to work are worth the donation of a testimoney on my 1000+ sites about you being the type of person to stay well clear of!

  3. Anonymous says:

    I appreciate your comment, and I apologize if the plugin has not worked properly. Like most plugin authors, I write in my spare time and have struggled lately to fit it in with my other obligations. I try to respond to as many emails as possible about the plugin, so if you’d like to send an example line from your file, I might be able to help out. Use the contact form at the top.

  4. Kris says:

    when attempting to download I get

    404 File not found

  5. Pbbmax says:

    Actually, this plugin stil works fine in the newest wordpress and CSV files! WordPress 3.x and I have used it today, works very nice.

  6. Steve Gayler says:

    Just interested in whether anyone managed to get PAGES to create with the DRAFT status? We’ve just done a test import of a file with 3 lines (Final table is about 300) and worked perfectly, apart from, the pages got published. We run a tool to auto tweet and Facebook post new content so was a bit embarrasing and thank god we didnt do it with 300!

  7. Max says:

    Hello and thanks for a great plugin, Its working pretty well for me. I was wondering if while using the CSV import, is there a way to assign more than one post category for a single post?

  8. Vish Dawg says:

    I have downloaded this plugin and after activating this plugin i have tried to upload the sample file (downloaded from this tutorial). But it shows the date format error issue . Can you please tell me how to fix it

  9. Is there a limit to how many characters that can be uploaded? The individual pages have quite a bit of code and it stops uploading the text after the 3rd or 4th sentence. Any idea?

  10. Go into XLS and change the format to custom, set it as is stated yyyy-mm-dd etc

  11. Sudsig says:

    I have placed the unzipped folder in my wp-content/plugins folder but the addon does not show up to activate in the plugins pane of the admin screen. Of note, the original unzipped folder was named “2.7” which I tried to rename to “mass-page-maker” but this did not help. There are files in the folder, one named mass-page-maker.php and it does have a “file header” as required. Any suggestions?

  12. Fnickels says:

    is there any way that i can toggle the “featured post” option? i want all the posts i add to be so called featured posts so they show on my homepage

  13. Paul Ascalon says:

    Hi, I keep getting this message each time i click the mass page maker setting. “You do not have sufficient permissions to access this page.” What i do with it? Urgent reply pls.

  14. wesgood says:

    Paul, I have to look into this problem further, but I believe the plugin can be used only by administrators. Can you confirm that your user is something less? If there is enough demand for lower permission users, I might move that requirement.

  15. Songsmadeforyou says:

    Is there a way to use a -Custom Post Type-?

  16. nathan says:

    not work for PHP 5.3.17 VC9 and above, only work for PHP 5.2.17 VC6, maybe you can fix this?

  17. Caroline says:

    I am trying to escape a comma in the page title but the plugin’s complaining when importing it. I’ve tried all sorts of combinations. \ and \\ Any suggestions anyone?

  18. Wes says:

    Caroline, using quotation marks around text with commas shouldn’t be a problem. Is the field using quotes? (eg. “Page title, with comma”)

  19. Wes says:

    Nathan, I’ll try to take a look at this. Do you have a specific error message or problem I should look at?

  20. igor says:

    Hi Wes,

    Your plugin is great and works excellent.

    Where can I find Russian translation?

    Thanks a lot.

  21. JBMKL says:

    How can I put a post in several categories ? I’ve tried several formats but it doesn’t work.
    “blabla” ==> one category is ok
    “blabla,fufu” ==> not ok
    “blabla;fufu” ==> not ok
    Thanks !

  22. Akiba Howard says:

    To the developer – tell me, can you easily add the function to Duplicate multiple pages?

    I have a number of pages across different categories that need to be duplicated. So, in essence, it’s a mass page create, using an already existent page.

    Kind of a Mass duplicate…..???



  23. Wes says:

    Akiba, thanks for the suggestion, I’m going to try to incorporate it into my upcoming new version. Potentially it will allow you to “seed” a new post with existing data, then overwrite immediately as you see fit. Hopefully this will be a solution you can use.

  24. Jonathan says:

    Hi, is this plugin working with the latest version of wordpress?

  25. Wes says:

    Jonathan, as far as I can tell, this plugin continues to work with the latest version of WordPress. I’m working on a new version to confirm compatibility now.

  26. chris says:

    I am trying to upload via csv and the date keeps holding me down. I believe I have correct format like explained here YYYY-MM-DD HH:MM:SS this is the error The date of the CSV is in an incorrect format on line 1. It should be YYYY-MM-DD HH:MM:SS I pulled the date from wordpress settings 2013-03-06 23:24:41 and no luck any suggestions thanks guys

  27. Bob says:

    Works great, but can’t get the Post Parent to work in CSV. I input the correct ID, which is 14, but it’ll publish the pages without a parent. Any thoughts?

  28. Julian says:


    This plugin works great although I have found with a csv file if you exceed about 1,500 posts within 1 csv file it just wont upload and if you have exactly 1500 items in your csv file after about 1200 post at some point times out and creates an error. Any suggestions????

  29. Wes says:

    Bob, this appears to be an issue with this particular version. I’ve fixed it with the $10 Mass Page Maker Pro, but it may take some time to update the free version here.

  30. Wes says:

    Julian, importing a large number of posts at once with the plugin is limited almost completely by server configuration. If you have access to your host’s PHP.ini file, modify the memory and timeout settings to be able to import more data.