Elementor
Design one landing page in Elementor, add a row per page, and RowSprout generates a real page for every row: the same design, each with its own title, URL and content. Change the design once, and every page follows.
Inside the editor
You never leave Elementor: the template’s rows, its URL pattern and the save action are all in the editor.
The RowSprout template tab in Elementor's panel holds the properties, the rows and the URL pattern of the pages.
Choose a preview row in the page settings and design with that row's real title, text and links in place.
With the save action "Create & update pages", clicking Update generates every new or changed page in the background.
Widgets
Two widget groups in Elementor’s panel: one for the values of the page you design, one for overviews on any page.
A Text field property as a heading, styled like any Elementor heading.
A longer text per row, as a paragraph with its line breaks kept.
A link to a URL, email address or phone number from the row, hidden on pages whose row has none.
A list or cards of every page of a template, on any page of your site: an overview that grows with every row.
One thing when a row matches your rules, another when it doesn't. With Elementor Pro, Then and Else can show a saved template.
A featured image per row, shown wherever you place the widget.
Links to the pages of other templates for the same row, such as every service in the same town.
Page Field fills a setting of any Elementor widget with a row's value; Page Link links to a related page.
Every property has a placeholder token, such as @code_city_123@. Type it in any Elementor text, or insert it with the Insert RowSprout property button in the Text Editor’s toolbar, and every generated page shows its own value there. RowSprout replaces tokens wherever Elementor stores them: headings, text, button labels, links, image alt texts, and the fields of your SEO plugin.
Every generated page is a WordPress page with its own copy of your Elementor layout and its own values filled in. Caching plugins, SEO plugins, sitemaps and your theme treat it like a page you built by hand, and nothing is assembled on the fly when a visitor opens it. Generated pages are locked against hand edits, because the next save of the template regenerates them: put what differs per page in a property, or in an If / then widget.
Not on Elementor? RowSprout works the same in the block editor, with blocks bound to properties, and in WPBakery Page Builder, with Grid and If / then elements.
FAQ
No. RowSprout's widgets work with the free Elementor. Elementor Pro only adds one option: showing a saved Elementor template in the Then or Else part of an If / then widget.
Save the template with "Create & update pages" and every page is regenerated with the new design. With RowSprout Pro, Smart Generate only regenerates the pages affected by what you changed.
Generated pages are locked, because the next generation overwrites them. Put what differs per page in a property of its row, or show it only on some pages with If / then. If you really want to, you can unlock them under RowSprout → Settings.
You type them in the RowSprout template tab, or import them from a CSV or Excel file or a Google sheet. See pages from a spreadsheet.
Yes, that is one of the most common uses: a page per town, and a page per service in every town. See location pages.
Install RowSprout from WordPress.org in a minute: no limits on templates or pages. Add Pro when you need more.