Multiple Pages Generator - Settings Reference
Multiple Pages Generator (MPG) is a WordPress plugin that bulk-generates virtual pages from spreadsheet data using a template with placeholder shortcodes. You find all settings under the MPG menu item in the WordPress admin sidebar, which contains Create New, All Projects, Advanced settings, and Search settings subpages.
Create New
This page displays a set of template tiles to start a new project. Choosing "From scratch" creates a blank project and takes you to the project builder. The remaining tiles load pre-made datasets. On the free plan, only one project is allowed. When a project already exists, the tiles are disabled and a notice prompts you to upgrade to MPG Pro for unlimited projects.
All Projects
When no project ID is selected, this page shows a table listing all your MPG projects with their name, status, and actions. Clicking a project or creating a new one opens the project builder, which is organized into five tabs: Main, Shortcode, Sitemap, Spintax, and Logs. The Shortcode, Sitemap, Spintax, and Logs tabs are disabled until you save a project for the first time.
Main
The Main tab walks you through project setup in four numbered steps, plus project-level settings.
Project name
A text field at the top of the page where you give your project a descriptive name. This name appears in the All Projects list and helps you identify the project when you have several.
Step 1: Select source
This section controls where the plugin gets its data.
Source Type
A dropdown with two options: Direct link and Upload file. Choose "Direct link" when your data lives in a Google Sheet or other publicly accessible file on the web. Choose "Upload file" when you have a local CSV, XLSX, or ODS file on your computer. The fields below this dropdown change depending on which option you select.
Direct link to source file
A URL field where you paste the public link to your data file. This works with Google Sheets (published to the web), or any direct link to a CSV file hosted online. The file must have public access or the plugin cannot read it. This field only appears when Source Type is set to "Direct link."
Worksheet ID (optional)
A number field where you can paste the worksheet ID from a Google Sheets URL. If your Google Sheet has multiple tabs, enter the ID of the tab you want to use. Leave this empty to use the first sheet automatically. This field only appears when Source Type is set to "Direct link."
Sync frequency
A dropdown that controls how often the plugin re-fetches your data from the direct link. The free plan only offers Manual, which means you must click "Fetch and use" each time you update your source. The Pro plan adds Live, Hourly, On Demand, Twice per day, Daily, Weekly, and Monthly options. When set to anything other than Manual, the plugin creates a scheduled task that automatically pulls fresh data at the chosen interval. This setting only appears when Source Type is set to "Direct link." All options except Manual require the Pro plan.
Update Date on Data Change
A dropdown that controls whether the modification date of generated pages changes when the source data is updated during a sync. The options are Don't update the date, Update all dates on sync, and Update individual dates on sync. The first option keeps the original post date untouched. The second resets the modification date on every generated page each time a sync runs. The third only updates the date on pages whose underlying data row actually changed. This setting only appears after you select a sync frequency other than Manual. This is a Pro feature.
Webhook URL
A read-only code block showing a URL unique to your project. Send a POST request to this URL from an external service (such as Zapier or a cron job) to trigger the plugin to fetch new data on demand. This field only appears when Sync frequency is set to "On Demand." This is a Pro feature.
First Fetch Date/Time for Sync
A date and time picker that sets when the scheduled sync should first run. After the first fetch, subsequent fetches follow the interval you chose in Sync frequency. This field only appears when Sync frequency is set to a recurring option (Hourly, Twice per day, Daily, Weekly, or Monthly). This is a Pro feature.
Notification
A dropdown that controls whether the plugin emails you after each sync. The options are Do not notify, Errors only, and Every time. Choose "Errors only" if you only want to know when something goes wrong. Choose "Every time" for a confirmation after each fetch. This field only appears when Sync frequency is set to a recurring or on-demand option. This is a Pro feature.
Notification Email
An email field pre-filled with your site's admin email address. Change it if you want sync notifications sent to a different address. This field only appears when Notification is set to "Errors only" or "Every time." This is a Pro feature.
Choose .csv, .xlsx or .ods file from your computer
A file upload field that accepts CSV, XLSX, and ODS files from your local machine. After uploading, the plugin processes the file and displays a data preview. A download link to the currently uploaded file appears next to the upload button. This field only appears when Source Type is set to "Upload file."
Step 2: Preview data
A read-only table showing the first rows of your uploaded or fetched data. A "Preview all Data" link opens a modal with the full dataset. On the free plan, a notice reminds you that processing is limited to 50 rows and prompts you to upgrade for unlimited row processing.
Step 3: Project settings
This section has two sub-tabs: General and Advanced settings.
Entity type
A dropdown listing every post type registered on your WordPress site, including Posts, Pages, and any custom post types. Select the type that matches the template you want to use. For example, if your template is a Page, select "Pages." This determines which entities appear in the Template dropdown below.
Template
A dropdown listing all published posts or pages of the entity type you selected. Pick the one that contains your {{mpg_column}} placeholder shortcodes. An "Edit template" link appears next to the dropdown after you make a selection, which opens the template in the WordPress editor in a new tab.
Apply template if URL contains
A text field in the Advanced settings sub-tab where you can enter a URL fragment (such as /en/ or ?lang=it). When set, generated pages only work if the URL includes this fragment. This is useful for multilingual setups where you want different MPG projects to handle different language prefixes. Leave it empty if you do not need URL-based filtering. Maximum 199 characters.
Hide this template from search engines and your site content
A toggle in the Advanced settings sub-tab that adds a noindex directive to the template page and excludes it from WordPress search results, category listings, and widgets like Recent Posts. Enabled by default. You should leave this on because the template page contains raw shortcode placeholders that would look broken to visitors and search engines. All generated virtual pages remain fully visible regardless of this setting.
Include generated pages in your site search results?
A toggle in the Advanced settings sub-tab that makes MPG-generated pages appear when visitors use your site's built-in search. Disabled by default. For this to work, you must also configure the Search settings page (accessible from the MPG sidebar menu). Without that configuration, enabling this toggle has no effect.
Display generated pages in your site content listings and query loop?
A toggle in the Advanced settings sub-tab that injects generated pages into blog archives, post lists, category pages, and WordPress query loops. Disabled by default. Enable this if you want generated pages to appear alongside regular posts in your theme's content listings. Be cautious with large datasets, as this could significantly increase the number of items in your archives.
Step 4: Generate URLs
This section defines the URL structure for your generated pages.
URL Format Template
An editable field paired with a shortcode dropdown. You build the URL pattern by typing text and inserting column shortcodes from your dataset. For example, inserting {{mpg_city}} and {{mpg_state}} produces URLs like /new-york-new-york-state/. The dropdown next to the field lists all available column shortcodes from your data.
Default separator
A row of six buttons: -, _, ~, ., /, and =. The hyphen is selected by default. This character replaces spaces in your shortcode values when generating URLs. For example, if a column value is "New York" and the separator is -, the URL segment becomes new-york. Unsupported characters are trimmed automatically.
Trailing slash settings
A set of three radio buttons: Default, With trailing slash, and Without trailing slash. "Default" accepts URLs both with and without a trailing slash. The other two options enforce one format exclusively. If your site has a specific permalink convention, match it here to avoid redirect issues or duplicate content.
URL preview
A read-only list showing a sample of generated URLs based on your current template and data. A "See all URLs" link opens a modal with the complete list, which is useful for verifying that the URL structure looks correct before publishing.
Shortcode
This tab is disabled until you save the project from the Main tab.
This tab helps you build shortcodes for use inside your template and on other pages.
Shortcode
Select header
A dropdown listing all column headers from your dataset. When you pick a column, the shortcode preview below updates to show the corresponding placeholder (for example, {{mpg_city}}).
Shortcode preview
A read-only field showing the shortcode for the currently selected column, with a copy button. Paste this shortcode into your template page wherever you want that column's data to appear.
Generate list
This section builds a list shortcode you can place on any page (not just the template) to display a filtered, sorted list of links to your generated pages. This is useful for creating index pages, sitemaps visible to users, or category-style link lists.
Set filters
A repeater control where you add conditions to narrow which rows appear in the list. Click "Add filter" to add a new condition row. Each row lets you pick a column, an operator, and a value. For example, you could filter to only show rows where the "state" column equals "California."
Logic
A dropdown that controls how multiple filters relate to each other. Show items that match any filter (the default) returns rows matching at least one condition. Show items that match all filters only returns rows that satisfy every condition.
Direction
A dropdown that sets the sort order for the list: Ascending, Descending, or Random. Leave it unset if you do not need sorting.
Order By
A dropdown listing all column headers from your dataset. Select the column to sort by. This dropdown is disabled until you choose a Direction.
Limit
A number field that controls how many rows the shortcode displays. Defaults to 5. Set a higher number if you want a longer list, or 1 if you only need a single item.
Unique rows
A dropdown with No (default) and Yes. When set to "Yes," duplicate rows are removed from the shortcode output. Useful when your data contains repeated values in the columns you are displaying.
Choose shortcode
A dropdown listing all column shortcodes from your project. Select one to insert it into the shortcode sandbox below.
Shortcode sandbox
A textarea pre-filled with the basic MPG list shortcode structure ([mpg project-id=""][/mpg]). You compose the HTML template for each list item here, inserting column shortcodes from the dropdown above. Click "Preview" to see a rendered preview of the list in the panel below, or "Copy expression" to copy the shortcode to your clipboard.
List preview
A read-only area that renders the output of your shortcode sandbox when you click Preview. Use this to verify the list looks correct before pasting the shortcode into a page.
Sitemap
This tab is disabled until you save the project from the Main tab.
This tab generates an XML sitemap for your virtual pages so search engines can discover and index them.
File name
A text field for the sitemap filename. Defaults to multipage-sitemap. The plugin appends .xml automatically. If you have multiple MPG projects, give each one a distinct filename to avoid overwriting.
Max URLs per sitemap file
A number field that sets how many URLs go into a single sitemap file. Defaults to 50000. If your project has more URLs than this limit, the plugin creates a sitemap index file with multiple child sitemaps. Most sites can leave this at the default unless an SEO tool recommends smaller files.
Frequency
A dropdown that sets the <changefreq> value in the sitemap XML. Options are Always, Hourly, Daily, Weekly, Monthly, Yearly, and Never. This tells search engines how often you expect the page content to change. For most projects where data updates occasionally, "Weekly" or "Monthly" is appropriate.
Priority
A text field that sets the <priority> value in the sitemap XML. Defaults to 1. Valid values range from 0.0 to 1.0. A higher number suggests the pages are more important relative to other pages on your site. This is a hint to search engines, not a guarantee of ranking.
Add sitemap to robots.txt
A toggle that, when enabled, automatically appends the sitemap URL to your site's robots.txt file. This makes it easier for search engines to find the sitemap without you having to submit it manually in Google Search Console or similar tools. Disabled by default.
After saving, the current sitemap URL is displayed below the form. Click "Save and generate" to create or update the sitemap file.
Spintax
This tab is disabled until you save the project from the Main tab.
This tab lets you create and preview spintax expressions, which generate randomized text variations across your generated pages. This helps avoid duplicate content when many pages share similar boilerplate text.
Spintax editor
A textarea pre-filled with an example spintax expression. The syntax uses curly braces and pipes: {option one|option two|option three}. You can nest expressions for more variation. Type or edit your spintax, then click "Spin!" to see one possible output in the result area below. Click "Copy expression" to copy the spintax text. Paste the result into your template using the [mpg_spintax] shortcode.
Cache
When a visitor first hits a generated URL, the plugin picks a random spintax variation and stores it in the database. On subsequent visits to the same URL, that cached variation is served instead of generating a new one. This ensures each page shows consistent content.
Flush cache
A button that clears all cached spintax results for the current project. Use this when you have changed your spintax expressions and want every page to get a fresh variation on its next visit. The number of cached records for the current project is displayed next to the button.
Logs
This tab is disabled until you save the project from the Main tab.
A table displaying activity logs for the current project, such as data fetches, errors, and sitemap generation events. Click "Clear logs" to delete all log entries for this project. This is useful for troubleshooting sync failures or investigating when data was last updated.
Advanced settings
This is a standalone page accessible from the MPG sidebar menu. It contains global settings that apply across all projects.
Update tables structure
A button labeled "Update" that re-creates or updates the plugin's custom database tables. Use this if you experience database errors after a plugin update. It has the same effect as deactivating and reactivating the plugin, but without losing your settings.
Page Builders Compatibility
Two dropdowns and an Update button that control which WordPress hook the plugin uses to render virtual pages. Most sites do not need to change these, but if generated pages display incorrectly (missing headers, footers, or unprocessed shortcodes), adjusting the hook and priority can fix the issue.
Hook
A dropdown with four options: pre_handle_404, posts_selection, template_redirect, and wp. The recommended configuration depends on your page builder:
- Gutenberg (the default WordPress editor): template_redirect
- Thrive Architect: posts_selection
- Divi: posts_selection with High priority
- Elementor Pro: pre_handle_404 with High priority
Priority
A dropdown with three options: High, Normal, and Low. This sets the order in which the plugin's hook fires relative to other plugins using the same hook. Try "High" first if pages are not rendering correctly.
A "Reset" button appears after you save a hook configuration. It removes the custom hook setting and returns the plugin to its default behavior.
WordPress base path
A dropdown with two options: ABSPATH and Path based on wp-content folder location. This controls which file path the plugin uses when generating sitemap files. Only change this if sitemap generation fails. Some hosting providers modify the ABSPATH constant for security reasons, which prevents the plugin from writing files to the correct location. Switching to the wp-content-based path works around this.
Branding position
This section only appears when using the free version of the plugin.
A dropdown with Right and Left options that controls which side of the page the MPG branding badge appears on. Change it if the badge overlaps with other elements on your site.
Help us improve
A checkbox that opts you in to anonymous telemetry. When checked, the plugin sends non-sensitive data about which features you use to help the development team prioritize improvements. No personal information or site content is collected. Unchecked by default.
License
This section only appears when using the Pro version of the plugin.
A text field where you enter your MPG Pro license key, with an "Activate" button. After activation, the key is masked for security (only the last five characters are visible) and the button changes to "Deactivate." A status message below shows whether the license is valid and its expiration date, or an error if the key is invalid. You need an active license to access Pro features such as sync scheduling, unlimited projects, and unlimited data rows.
Search settings
This is a standalone page accessible from the MPG sidebar menu. It controls how MPG-generated pages appear in your site's built-in WordPress search results. For these settings to have any effect, you must also enable "Include generated pages in your site search results?" on each project's Main tab under Advanced settings.
Single search result template
A textarea where you paste the HTML markup for a single search result. Use the plugin's search shortcodes to insert dynamic data: {{mpg_page_title}}, {{mpg_page_excerpt}}, {{mpg_page_author_nickname}}, {{mpg_page_author_email}}, {{mpg_page_author_url}}, {{mpg_page_url}}, {{mpg_page_date}}, and {{mpg_featured_image_url}}. This field is required. Leaving it empty means MPG-generated pages will not appear in search results at all, even if the per-project search toggle is enabled.
Text before MPG search results (optional)
A textarea for an introductory message that appears above the MPG search results on the search results page. This text only shows when at least one generated page matches the search query. Leave it empty if you do not want a header above the results.
Search results block selector
A text field where you enter a CSS selector (such as #main or .search-results) identifying the container element on your theme's search results page. The plugin injects MPG search results into this container. You need to inspect your theme's search page HTML to find the correct selector.
Is it case sensitive search?
A checkbox that controls whether the search comparison is case sensitive. When unchecked (the default), searching for "new york" matches "New York." Enable this only if you need exact-case matching, which is uncommon.
Featured image header name
A text field where you enter the name of the column in your dataset that contains image URLs. This maps to the {{mpg_featured_image_url}} shortcode used in the search result template. For example, if your spreadsheet has a column called "image_url," enter image_url here.
Excerpt length
A number field that sets the maximum number of words shown in the {{mpg_page_excerpt}} shortcode within search results. Adjust this to control how much text appears in each search result preview.
Max results count on a page
A number field that limits how many MPG-generated results appear on a single search results page. Increase it if you want visitors to see more results without paginating, or decrease it to keep the page concise.
