wesg header image 3

WordPress Plugin: Mass Page Maker

June 18th, 2008 · 257 Comments

Note – March 10, 2012: I have submitted a new update of this plugin to the WordPress repository. I’m working with the WP staff to have the plugin reinstated in the directory. I will update this page with additional news.

Note 2 – March 13, 2012: I’ve received word from the Plugin directory staff that this plugin does not fit the parameters of a WP plugin and will therefore not be listed in the repository (something about being able to duplicate blogs). I’ll continue to ask them for more information but in the meantime, the plugin will be hosted here. Download here

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.

Beta Testing
I try to test thoroughly before releasing a new version, but it is impossible to test every possible combination. Feedback is welcomed, whether it is positive or negative. If you’d like to be a part of the beta test program, send a blank email with subject “MPM Beta Test” to w [at] wesg [dot] ca and I’ll forward you new versions as they become available.

Customizations
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

Translations

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!

Donations

If you wish to donate to further the development of this plugin, please use the PayPal button below. Comments on posts are also very valuable to me.

Download the latest version of Mass Page Maker

Usage

  • 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.

Example:
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.

Installation

  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.

FAQ

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.

Screenshot

Click for a larger view.

Changelog

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

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.1.1 — July 28, 2008
* Cleaned up code and readme file

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

v2.6.5 — September 9, 2009
* Fixed category problems
* Improved fault tolerance
* Categories and tags are now inserted automatically if they do not already exist

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.7 — July 19, 2010
* Rewritten for WP 3.0
* Improved the reliability of the CSV and web interface
* Fixed tags in CSVs

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

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.

Category: Wordpress
Tags: , , ,

Similar Posts

  • http://sporkmarketing.com Jason Lancaster

    I too have experienced problems with this plugin. My CSV format – which worked quite well prior to upgrading – no longer allows me to set the parent page. I’ve checked to see if syntax has changed, but I still don’t see why this is happening.

    Now I’m on the hunt for an older version.

  • http://www.wesg.ca wesg

    @Jason Lancaster: A few changes were made in the most recent version, but it shouldn’t invalidate your previous format. If you want to be alerted to when I get a new version out, send an email to the address above. Also, the previous versions are available in the WordPress plugin repository under “Development Versions”.

  • Chris

    What does Google think about it and how many pages does Google accept at once?

  • Chris

    What does this mean?
    Fatal error: Call to undefined function term_exists() in …/wp-content/plugins/mass-page-maker/mass-page-maker.php on line 245

  • Chris

    got it after i uploaded a small text file within the mpm. Before i saved the csv file (I got from your csv-builder) with Mac’s Textedit as plaintext and csv-extention.

  • Chris

    btw… does it work with wp 2.9.2?

  • http://webapp360.com Larry

    The plug-in is very useful except the set parent page ID does not work for WP 3.0.1. Anyone experience the same?

  • Denin Shane

    Plugin works great. But i’m having issues with nesting the created pages into proper parent page. I know you say to use PageID but it doesn’t apply the parent to the created page/post. I’m using 2.6.7 on WP3.0.1.

    I’ve tried (assuming pageid is 132) 132, “132″, “parent”, and parent (with no “”)… any ideas?

  • Denin Shane

    Forgot to mention that if you use the admin form and select the parent page from the dropdown, then the parent is applied properly. Only leaves it out if using csv file.

  • http://www.verkaufsoffene-sonntage.de Max

    hi, if i try to create a csv sheet at your site, save it as csv and import it to your plugin i get an Fatal error: Maximum execution time of 30 seconds exceeded (mass-page-maker.php on line 184), even if the csv have only 1 dataline to import. do you know how this could happened?

  • http://www.scholarsguide-ng.com Gideon

    Hi, pls tell me how to convert this .txt output below to CSV as i still get d error message, ‘ check line 1. 16 columns were found.’ The file is meant to create 3 test pages and this I suppose shld not exceed 3 rows on the . csv file. it gives 9 rows instead. Your response will be appreciated.

    “Abia State University, Uturu.”, 2010-08-24 08:08:08, “[wp_campaign_1]
    [wp_campaign_2]
    [wp_campaign_3]“, “”, uncategorized, 48, default , publish, page, open, open, “”, “”, “”, “”, 1
    “Adamu Augie College of Education, Argungu, Argungu, Kebbi State.”, 2010-08-24 08:08:08, “[wp_campaign_1]
    [wp_campaign_2]
    [wp_campaign_3]“, “”, uncategorized, 48, default, publish, page, open, open, “”, “”, “”, “”, 2
    “Adeniran Ogunsanya College of Education, Otto/Ijanikin, Otto/Ijanikin, Lagos State.
    “, 2010-08-24 08:08:08, “[wp_campaign_1]
    [wp_campaign_2]
    [wp_campaign_3]“, “”, uncategorized, 48, default, publish, page, open, open, “”, “”, “”, “”, 3

  • Denin Shane

    @Gideon: appears to me that you do have 16 columns. Plugin only accepts 15 columns. Looks like there is a trailing integer (in this case 1, 2 & 3) at the end of every row that is giving you one column too many

  • http://www.chrismorton.com chris

    Hi m8,

    Great script.

    I just installed it today. Everything works find except it publishes the post even though i have set the “draft” status field in the csv file.

    Any help?

    Chris

  • http://ppi-insuranceclaims.co.uk/ PPI

    We use this Plugin! Saves a lot of time

  • http://www.scholarsguide-ng.com Gideon

    @Denin Shane: Thanks for your assistance. I am able to create the pages now but the page ordering doesn’t work. Any suggestions?

  • Denin Shane

    @Gideon: I don’t think the plugin accounts for page order at all. I could be wrong, but I think you would have to go into the PHP file and add it manually, which could be pretty intensive and I’m not exactly sure how to pull that off…

  • http://www.guntung.com/ Weight

    Wow! I found this plugin are very useful.

    Btw, I have one suggestion too. Can you add more future on this plugin to “automatic create post title via rss”?

    I need something like work automatically to create post title from rss feed.

    Unlike most other autoplugin make automatic posting via rss, they took the title of the article and a brief description or full.

    But I need a plugin that can perform automatic posting via rss, but the special title of article only.

  • http://www.wesg.ca wesg

    @Weight: could you explain a little more about what you’d like? How is the RSS feed different from the blog content?

  • John

    Gideon – i’m uploading via a csv file but my content is getting cut off – is there some kind of character limit for the post content? This is no use unless i can write as much as i like – i can’t have any character restrictions.

    john

  • John

    sorry, i meant to address that to WesG

  • John

    it’s ok Wes – i had an error on my upload file – i had an apostrophe where it was getting cut off – i think it just needed to be commented out with a \ – thks anyway.

  • John

    Hi WesG – i’m having an issue with my CSV upload – it’s to do with a semi-colon character within my custom key value field – as the custom field values use a semi-colon as their seperator, that means any semi-colon you have within the field value itself needs to be escaped – but no matter what i try i cannot escape it – i’ve tried \ \\ \” \;
    - none of these work, do you know how i can escape this semi-colon – it’s part of a script code which is the field value in this instance.

  • http://www.cyclocross-bikes.com Suzanne

    I am also having trouble with the sample CSV file. I”ve opened it in both excel as well as numbers and as a txt file…it seems like there are 17 fields inthe sample CSV. I tried to edit it to 15 files, all following the guidelines and still getting errors. I’ll try the suggestion above.

  • http://www.turbo-minisite.de Landing Page – Mahmut Yücebudak

    Great script. But one little problem:

    CSV-Import:
    It publishes the post even though i have set the “draft” status field in the csv file.

    Any solution?

  • http://www.turbo-minisite.de Landing Page – Mahmut Yücebudak

    Hi! I think, i fixed the problem with the CSV Import and status problem:
    Just Insert
    $post_array[$row]['post_status'] = $csvrow[7];
    in the line under //process post/page status comment-line in the mass-page-maker-php

    That’s all!

  • http://integritysafe.com Integrity Safe

    How could I use this plugin to mass create custom pages that are now available in WP 3.0+? I am particularly using the JV Press GoPages plugin which once installed, allows you to create new iframed redirects. Is there any way to use Mass Page Maker to create a massive amount of new “go pages”?

  • http://www.peoplesblog.co.uk Mark James

    I tired everything – escaping characters, deleting columns to match 15, various .csv formats but no joy – gutted.

    Has anyone found a work around?

  • Aaron

    Hi there,

    Can this plugin *replace* existing pages on a schedule? eg. If I have a page I want to auto-update once every 3 days over a span of several weeks, could this plugin do that?

  • Max

    Hi, following csv input works but its making password protect while I set it to publish.

    “test titel 3″, “2010-08-12 10:12:12″, “test content in here”, “”, “uncategorized”, “0″, “Default”, “publish”, “post”, “open”, “open”, “”, “”, “”, “”;

  • Max

    Hi,

    I want to thank you for this great plugin. Following csv input is working: “test titeltje 4″, “2010-08-12 10:12:13″, “content in here”, “test”, “uncategorized”, “0″, “Default”, “publish”, “page”, “open”, “open”, “”, “”, “”, “”

    greets

  • John

    Hi WesG – plugin is working ok, but i have a couple of questions about the csv file and wp tables:
    1. What are the official WP headings for each column in the CSV file?
    2. What table(s) in WP database/phpMyAdmin does the CSV file get loaded to?
    Appreciate your help with this.

  • John

    actually, just need to figure out what table the Post Category, Page Template, and Tags fields go in – I’ve checked in the wp_posts table but can’t find any column to match these?

  • Will

    Hi – great plugin, really love it.
    One problem I’m having is that the content stops about half way on my pages – they aren’t THAT long, but still stop short. Is there a maxium page length, or is this a limitation of the field length on the CSV file? Would absolutely love to find a solution to this.

  • Jason

    I am having the same problem. When importing a csv file and the post is set to draft it is publishing it not leaving it as a draft.

    Does anyone know a fix… otherwise this is the best plugin since sliced bread

  • John

    Wes – Bug Report: The csv upload in this plugin is not adding the custom fields for me anymore – can you please look into this – I’m using WP3.0.5

  • http://www.independentmusicawards.com/affiliate/youtube Bob

    Never got this plugin to work using CSV. The sample file provided has too many columns and doesn’t explain clearly how to format it. Tried all suggestions here. Emailed Wes last week and he never responded.

  • http://www.wesg.ca wesg

    Thanks everyone for the comments and bug reports. I see that a lot of people are using the plugin, but have been unable to get the CSV importer working properly. I’ll do my best to look through them all and get an update out in the near future.

  • Massimo

    The problem with the csv importer is in some fields of the table wp_posts that must be assigned a value (NOT NULL property in the definition)… also the plugin search for the 16th column that is the menu order of the page… but there is a check that prevent the plugin from working with csv with a number of column different from 15.
    Also the page_parent and menu_order field has problems (there are single quotes around an integer field in the SQL query)
    I’ve made quick changes to the plugin and now it seems to work…

  • Kathleen

    I need to create about 150 product posts for a client and I think this is exactly the solution I need…if only I could get the CSV importer to work. I opened the sample CSV file in Excel, then imported it into TextEdit and cleaned it up and added my own content. But the plugin still thinks there are 20 columns in line 1. I’m willing to throw a few bucks at anyone who is more PHP/Wordpress-savvy than myself and can get this working for me! Argh!

  • http://www.wesg.ca Wes

    @John: WordPress uses a number of tables for storing this data. Look in wp_term_relationships and wp_term_taxonomy.

  • Forumcivico

    Wonderful plugin. Exactly what I have been looking for months.

    Thank you so much! Keep it up, it is a wonderful service.

  • Mudassir imran

    I am working on a Plugin and my client using your Mass page maker plugin

    All post that are created by your plugin set the Post Status to Published even if it is Scheduled for next year.

    So due to this my plugin list all post that have post status “Published” and those post include that are scheduled for next year but as your plugin do not set post status to Scheduled.

    here is suggestion.

    If you can set the Post Status to scheduled if the post date is greator then current date so other plugin do not effected by this.

    i am waiting for new version with this new functionality.

    Mudassir

  • Dscj

    Hiii,i liked ur plugin very much and i am regularly using it.i had wordpress 3.0 installed that time it was working fine now i have moved to new host and updated wordpress but now the plugin is not working giving me error as

    Fatal error: Cannot use object of type WP_Error as array in /home/ziddiico/public_html/wp-content/plugins/mass-page-maker/mass-page-maker.php on line 313

    please help me to fix it.i will be thankful to u for this.
    wht caused it??i have uninstalled,deleted and again installed but error persists.thanks

  • Polok_p

    Hello

    I liketo use your plugin but on your site the download link is not working. Can you post a download link.

    Thanks

  • http://www.gloyns.com Gloyns SEO

    For Polok and all others looking to download, I’ve got a copy of version 2.6.7. available on my site here – http://www.gloyns.com/mass-paker-maker-wordpress-plugin/

  • Paul

    Is this project discontinued ?

    ( The dl link returns 404 )

  • Aaron

    I would be happy to help translate this into Spanish. Do you know how many words are in the text to be translated?

  • Matt Haff

    What happened to it, the download link is no longer active

  • Anonymous

    The plugin seems to have disappeared from the WP repository. I know that WP changed some of the passwords, but that still doesn’t really explain why it’s no longer available. I’ll look into it while building the new version.

  • http://usability-idealist.de/ fwolf

    It’s because they’re putting “old” plugins out of order. Seems to be a pretty braindead method thou, cause the criterium is the last update of the plugin and NOT whether is still working properly or not. Instead of just deleting them they should put em into an archive, and redirect download requests to a splash page that says something like: “this plugin hasnt been updated the last x month – using on your own risk => download link”

    cu, w0lf.