✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount

The Multi Pages Generator (MPG) alternative for mapped programmatic templates

MPG by Themeisle uses a virtual-page approach with shortcodes inside a chosen template and integrates with Yoast, RankMath, and AIOSEO. SleekRank uses a mapping config that targets specific elements on any existing WordPress page and resolves URLs from JSON, CSV, Sheets, Notion, or a REST endpoint.

€50 off for the first 100 lifetime licenses!

SleekRank — Multi Pages Generator MPG alternative

Shortcode placeholders vs. element-level mappings

Multi Pages Generator (MPG) by Themeisle is a well-built take on programmatic pages. It uses virtual pages (URLs that don't materialise as posts in wp_posts) and shortcodes inside a chosen template page to inject data row by row. It also integrates cleanly with Yoast, RankMath, and AIOSEO so the per-row meta works the way SEO teams expect. For sites already comfortable with shortcode-based templating, it's a solid choice.

SleekRank shares the virtual-page approach (URLs resolve on request, no per-row post is inserted) but differs in the templating model. Instead of shortcodes inside a page, mappings target specific elements: the title tag, the h1, meta description, list selectors, arbitrary CSS selectors, and meta attributes. The base page is whatever WordPress page you set as basePageId, with placeholder text in the spots that will become dynamic. The mapping config lives in JSON under sleek/rank/page-groups/, version-controlled and human-readable.

This affects two practical things. First, the template doesn't need to be aware that it's being used for programmatic generation; mappings address its HTML structure from outside. Second, mapping changes are config edits rather than template edits, so non-trivial transforms can be expressed without rewriting the page itself. Both approaches reach similar end results; the daily ergonomics are different.

Workflow

How SleekRank replaces a Multi Pages Generator project

1

Replace shortcodes with placeholders

The template page that MPG was driving becomes the SleekRank base page once its shortcodes are swapped for static placeholder text. It needs to render correctly on its own, with the elements that will get filled clearly identifiable.
2

Point at the data source

Whatever CSV or Sheet MPG was reading, SleekRank reads directly. Many teams take the opportunity to upgrade the source to a Google Sheet (for non-developer editing) or a REST endpoint (for fully live data).
3

Map fields to elements

Add mappings entries that target the title tag, h1, meta description, list selectors, and arbitrary CSS selectors on the base page. Each row's fields fill those elements on its URL.
4

Wire up SEO and OG images

Title and meta description come through meta mappings. Per-row OG images can be wired via the sleekRank/data/item/<slug> filter to build a SleekPixel URL using the row's fields. Yoast, RankMath, and AIOSEO continue to work in parallel for site-wide SEO defaults.

Comparison

SleekRank vs Multi Pages Generator (MPG) at a glance

Feature
Multi Pages Generator MPG
SleekRank
Templating model
Shortcodes inside a template page
Element-level mappings against the base page's HTML
Virtual pages
Yes (no per-row wp_posts entry)
Yes (no per-row wp_posts entry)
Data sources
CSV, Google Sheets
JSON, CSV, Google Sheets, Notion, REST API
SEO plugin integration
Yoast, RankMath, AIOSEO integrations built in
Meta mappings target the title/description directly, works alongside any SEO plugin
Config surface
Plugin admin UI
JSON in sleek/rank/page-groups/ (version-controlled)
Per-row transforms
Shortcode parameters and template logic
sleekRank/data/item/<slug> PHP filter hook

Differences

What changes when you move off Multi Pages Generator MPG

The short version: snippets stop being data trapped behind an admin screen and start being code you can actually work with. That sounds small — in practice it changes how your whole team ships WordPress fixes and features.

The Multi Pages Generator MPG way

  • Templating relies on shortcodes embedded in a template page
  • Data input is primarily CSV and Google Sheets, with REST and Notion not first-class
  • Per-row transforms typically need custom shortcode logic or template PHP
  • Configuration lives in the plugin admin UI rather than version-controlled files
  • Pages tend to be styled inside the chosen template page, with shortcodes interleaved

The SleekRank way

  • Mappings target tags, list selectors, CSS selectors, and meta attributes on the base page
  • Reads JSON, CSV, Google Sheets, Notion, and REST APIs as first-class sources
  • Page group config lives in JSON files under sleek/rank/page-groups/, version-controlled with the theme
  • Filter hooks (sleekRank/data/item/<slug>) for per-row PHP transforms
  • OG image integration via SleekPixel, wired through the sleekRank/data/resolved action

Features

Three things that actually change how you work

Anyone can list features on a comparison table. These are the three shifts that matter day to day when you replace Multi Pages Generator MPG with SleekRank.

Element-level mappings, no shortcodes

The base page stays a normal WordPress page. Mappings address its HTML from outside the template, targeting the title tag, h1, meta description, lists, CSS selectors, and meta attributes. The template doesn't need to know it's being used for programmatic generation.

Config as code

Page group settings live in JSON files under sleek/rank/page-groups/. They're version-controlled with the theme, reviewable in pull requests, and portable across environments. Changing a mapping is a config edit, not an admin click.

Dynamic OG images via SleekPixel

The sleekRank/data/item/<slug> filter and sleekRank/data/resolved action let each row build a SleekPixel OG image URL with the row's title, category, and accent color. Live preview images for every programmatic URL, no manual asset creation.

Migration

Moving from Multi Pages Generator to SleekRank

SleekRank and Multi Pages Generator MPG can run side by side. That means you can migrate at your own pace — there's no big switch weekend required.

1. Inventory the existing projects

Inside MPG, list each project: the template page, the source file (CSV or Sheet), the URL pattern, and the SEO plugin integration. Each project maps cleanly onto one SleekRank page group.

2. Strip the shortcodes from the template

Take the MPG template page and replace its shortcodes with static placeholder text. The result should render correctly on its own as a normal WordPress page. This is the SleekRank basePageId.

3. Translate the project into a page group

Create a JSON file under sleek/rank/page-groups/ with urlPattern, basePageId, dataSources pointing at the same CSV/Sheet/Notion/REST source, and mappings for the title, h1, meta description, and inline elements that shortcodes used to fill.

4. Flush, cache, verify

Run wp rewrite flush and clear the SleekRank items cache. The MPG project can be disabled for that URL pattern. If both share the same URL pattern temporarily, MPG should be turned off for that project to avoid conflicts.

Audience

Where teams move from Multi Pages Generator to SleekRank

Teams that want config in source control

Page group settings as JSON files under the theme means pull requests, code review, and atomic deploys with the rest of the codebase. The plugin admin stays read-only for non-developers, which most engineering teams prefer.

Sites with internal REST endpoints

Product catalogues, partner directories, integration pages, and other content already behind a REST API stay where they are. SleekRank reads them directly without an intermediate Sheet or CSV export.

Sites that need PHP-level transforms

When a row needs derived fields (OG image URLs, formatted dates, lookups against another data source), the sleekRank/data/item/<slug> filter handles it in PHP. No shortcode gymnastics inside the template.

The bigger picture

Why mappings outlive shortcodes

Shortcode-based templating is a familiar pattern in WordPress, and Multi Pages Generator uses it well. The cost of shortcodes is that they entangle the template with the programmatic layer. The template page knows it's a template.

Editing it without breaking the generator means understanding the shortcode contract. Migrating to a different editor or builder means rewriting the shortcodes for the new context. SleekRank's bet is that the programmatic layer should be a separate, smaller config that addresses the template's HTML from outside.

The base page stays a normal WordPress page that renders correctly on its own. The mapping config lives in version control. PHP transforms happen through filters rather than shortcode parameters.

None of those decisions are radical, and none of them are right for every site. For teams running a couple of MPG projects with shortcodes that aren't causing friction, the answer might be 'keep MPG'. For sites where the programmatic layer is becoming load-bearing, where the dataset is editable by non-developers in Sheets or Notion, where engineering wants config in pull requests, and where per-row OG images need to be generated dynamically, SleekRank's mapping-first model removes a class of coupling that tends to ossify over time.

Both tools serve URLs from data without inflating wp_posts. The difference is where the seams sit, and how easy it is to evolve each piece on its own track.

Questions

Common questions about switching from Multi Pages Generator MPG

Functionally overlapping for the programmatic-pages-with-virtual-URLs use case. The big difference is the templating model: MPG uses shortcodes inside a template page, SleekRank uses element-level mappings against any existing page. Sites comfortable with shortcodes and using MPG's SEO-plugin integrations are not under pressure to switch. Teams that want config in version control, PHP-level row transforms, and first-class Notion or REST sources tend to find SleekRank a cleaner shape.

 

SleekRank doesn't ship a per-plugin integration layer because it doesn't need one. Mappings target the title tag and meta description directly on the rendered HTML, so whatever SEO plugin already produces those tags continues to work. Per-row values come through the mapping config. Sitewide defaults, schema, and Open Graph come from your usual SEO setup.

 

Yes. Each URL is resolved on request from the data source, with results cached in wp_319_sleek_rank_items for the configured duration. No per-row wp_posts entry is created, so the WordPress posts table stays the size it was before you added the page group.

 

Yes, directly. CSV and Google Sheets are first-class data source types. Drop the CSV into the theme, or point a page group at the same Sheet URL. The migration usually doesn't require touching the data at all; the work is in rebuilding the template as a normal page and writing the mappings.

 

Via the sleekRank/data/item/<slug> PHP filter. Each row passes through the filter before replacements run, so you can compute derived fields (an OG image URL built from the row's title, a formatted date, a lookup against another data source) in PHP. MPG's equivalent is usually a shortcode parameter or template-level logic.

 

SleekRank uses a urlPattern per page group with {slug} tokens, for example directory/{country}/{slug}. Multi-segment patterns work as long as the data row carries the required fields. Running wp rewrite flush after adding a new page group registers the new pattern.

 

Per-row OG images are commonly wired through the sleekRank/data/item/<slug> filter to build a SleekPixel URL with the row's fields. SleekPixel renders the image on the WordPress server with brand fonts, colors, and templates. Static OG images set on the base page also work; the dynamic path is opt-in per page group.

 

Yes, as long as their URL patterns don't collide. MPG keeps serving the projects it currently owns while SleekRank handles a new page group on a different pattern. Once the new flow is verified, individual MPG projects can be migrated over without forcing a full switch.

 

Pricing

More than 1000+
happy customers

Explore our flexible licensing options tailored to your needs. Upgrade your license anytime to access more features, or opt for a lifetime license for ongoing value, including lifetime updates and lifetime support. Our hassle-free upgrade process ensures that our platform can grow with you, starting from whichever plan you choose.

Starter

€99

EUR

per year

Get started

further 30% launch-discount applied during checkout for existing customers.

  • 3 websites
  • 1 year of updates
  • 1 year of support

Pro

€179

EUR

per year

Get started

further 30% launch-discount applied during checkout for existing customers.

  • Unlimited websites
  • 1 year of updates
  • 1 year of support

Lifetime ♾️

Launch Offer

€299

€249

EUR

once

Get started

further 30% launch-discount applied during checkout for existing customers.

  • Unlimited websites
  • Lifetime updates
  • Lifetime support

...or get the Bundle Deal
and save €250 🎁

The Bundle (unlimited sites)

Pay once, own it forever

Elevate your WordPress site with our exclusive plugin bundle that includes all of our premium plugins in one package. Enjoy lifetime updates and lifetime support. Save significantly compared to buying plugins individually.

What’s included

  • SleekAI

  • SleekByte

  • SleekMotion

  • SleekPixel

  • SleekRank

  • SleekView