Generate: Content Spinning (Spintax)

Videos are not designed to be a substitute for instructions. Please refer to the detailed Documentation below.

Overview

Page Generator Pro supports Content Spinning, which allows you to generate variants of strings or paragraphs within your content for each generated Page – without using the Keywords system – in a random fashion.

Specifically, Page Generator Pro supports:

  1. Block Spinning
  2. Spintax

Block Spinning

It’s best to think of block spinning as a way of generating unique sections or paragraphs of content, by specifying one or more sentences, where each sentence has two or more choices.

Specifically, three tags are used:

  • #section# and #/section#: These denote a single section.  All paragraphs within these tags will be sorted randomly when block spinning takes place.  You don’t have to use sections if you wish to preserve the order of your paragraphs.
  • #p# and #/p#: These denote a single paragraph.  All sentences within these tags will be wrapped in a single paragraph.  They may be used within a section, if you want to output them in a random order or define a minimum / maximum number of paragraphs to output.
  • #s# and #/s#: These denote a single sentence.  They must be used within a paragraph (#p# and #/p#) where you want a variation of each sentence to be chosen at random.  Within each sentence (#s# and #/s#), you’ll enter two or more sentences, each on its own line.  Block spinning will then choose one sentence from the available sentences specific to that sentence block.
It’s best to write Block Spintax in plain text (i.e. not a Visual Editor or Rich Text / Content based Page Builder block).  This avoids Page Builders wrongly wrapping/adding its own tags within Block Spintax (e.g. <p>#section#<br />#p#</p>), which will result in invalid layout and/or no/invalid parsing of spintax.
#p# and #/p# denote paragraphs, and therefore will output <p> and </p>. As HTML does not permit specific elements to be within paragraphs (such as headings) you’ll need to put headings outside of block spintax in e.g. standard spintax.
Our syntax slightly differs from block spinning that you might have used with AutofillMagic.  We use #section# in place of #block, and groups of sentences in a paragraph must be wrapped with #s# and #/s#

For example, a sentence might be:

Writing content is a lot of fun.

Using block spinning, we can define variants of that sentence:

#p#
	#s#
		Writing content is a lot of fun.
		Creating articles is a rewarding experience.
	#/s#
#/p#

Page Generator Pro will then, at random, generate a variation for each generated Page.  In this case there are 2 possible variations:

Writing content is a lot of fun.
Creating articles is a rewarding experience.

Indentation isn’t a requirement; provided you have #p# and #s# (with closing #/p# and #/s#), block spinning will work.  Indentation is at your discretion, and can be used to make it easier to view block spinning.

Block Spinning: Multiple Sentences

Extending on our example, we can construct a paragraph comprising of several sentences.

#p#
	#s#
		Writing content is a lot of fun.
		Creating articles is a rewarding experience.
	#/s#
	#s#
		When done correctly, it captures the audience’s attention.
		The audience is immersed in the story, and continue to read.
	#/s#
#/p#

Page Generator Pro will then, at random, generate a paragraph comprising of sentence variations for each generated Page.  In this case there are 4 possible variations:

Writing content is a lot of fun. When done correctly, it captures the audience’s attention.
Writing content is a lot of fun. The audience is immersed in the story, and continue to read.
Creating articles is a rewarding experience. When done correctly, it captures the audience’s attention.
Creating articles is a rewarding experience. The audience is immersed in the story, and continue to read.

If you are familiar with traditional spintax, using curly braces, you’ll notice Block Spinning is similar in functionality.  It’s best used for larger pieces of content, such as paragraphs, where you wish to retain readability versus using traditional spintax.

Block Spinning: Multiple Paragraphs and Sentences

Extending on our example, we can construct multiple paragraphs comprising of several sentences.

#p#
	#s#
		Writing content is a lot of fun.
		Creating articles is a rewarding experience.
	#/s#
	#s#
		When done correctly, it captures the audience’s attention.
		The audience is immersed in the story, and continue to read.
	#/s#
#/p#
#p#
	#s#
		It's important to add rich media, such as images and video.
		Images and video add to the audience's experience.
	#/s#
	#s#
		Be sure to optimize media for the audience's device.
		However, avoid media that takes a long time to load.
	#/s#
#/p#

Page Generator Pro will then, at random, generate two paragraphs comprising of sentence variations for each generated Page.  In this case there are 4 possible variations in each paragraph, resulting in 16 possible variations in total:

Writing content is a lot of fun. When done correctly, it captures the audience’s attention.
It’s important to add rich media, such as images and video. Be sure to optimize media for the audience’s device.

Writing content is a lot of fun. When done correctly, it captures the audience’s attention.
It’s important to add rich media, such as images and video. However, avoid media that takes a long time to load.

Writing content is a lot of fun. When done correctly, it captures the audience’s attention.
Images and video add to the audience’s experience. Be sure to optimize media for the audience’s device.

Writing content is a lot of fun. When done correctly, it captures the audience’s attention.
Images and video add to the audience’s experience. However, avoid media that takes a long time to load.

Writing content is a lot of fun. The audience is immersed in the story, and continue to read.
It’s important to add rich media, such as images and video. Be sure to optimize media for the audience’s device.

Writing content is a lot of fun. The audience is immersed in the story, and continue to read.
It’s important to add rich media, such as images and video. However, avoid media that takes a long time to load.

Writing content is a lot of fun. The audience is immersed in the story, and continue to read.
Images and video add to the audience’s experience. Be sure to optimize media for the audience’s device.

Writing content is a lot of fun. The audience is immersed in the story, and continue to read.
Images and video add to the audience’s experience. However, avoid media that takes a long time to load.



Creating articles is a rewarding experience.
When done correctly, it captures the audience’s attention.
It’s important to add rich media, such as images and video. Be sure to optimize media for the audience’s device.

Creating articles is a rewarding experience. When done correctly, it captures the audience’s attention.
It’s important to add rich media, such as images and video. However, avoid media that takes a long time to load.

Creating articles is a rewarding experience. When done correctly, it captures the audience’s attention.
Images and video add to the audience’s experience. Be sure to optimize media for the audience’s device.

Creating articles is a rewarding experience. When done correctly, it captures the audience’s attention.
Images and video add to the audience’s experience. However, avoid media that takes a long time to load.



Creating articles is a rewarding experience.
The audience is immersed in the story, and continue to read.
It’s important to add rich media, such as images and video. Be sure to optimize media for the audience’s device.

Creating articles is a rewarding experience. The audience is immersed in the story, and continue to read.
It’s important to add rich media, such as images and video. However, avoid media that takes a long time to load.

Creating articles is a rewarding experience. The audience is immersed in the story, and continue to read.
Images and video add to the audience’s experience. Be sure to optimize media for the audience’s device.

Creating articles is a rewarding experience. The audience is immersed in the story, and continue to read.
Images and video add to the audience’s experience. However, avoid media that takes a long time to load.

If you are familiar with traditional spintax, using curly braces, you’ll notice Block Spinning is similar in functionality.  It’s best used for larger pieces of content, such as paragraphs, where you wish to retain readability versus using traditional spintax.

Block Spinning: Sections

Extending on our example, we can have Page Generator Pro swap the order of the paragraphs at random, by placing our existing paragraphs and sentences inside a #section

#section#
	#p#
		#s#
			Writing content is a lot of fun.
			Creating articles is a rewarding experience.
		#/s#
		#s#
			When done correctly, it captures the audience’s attention.
			The audience is immersed in the story, and continue to read.
		#/s#
	#/p#
	#p#
		#s#
			It's important to add rich media, such as images and video.
			Images and video add to the audience's experience.
		#/s#
		#s#
			Be sure to optimize media for the audience's device.
			However, avoid media that takes a long time to load.
		#/s#
	#/p#
#/section#

Page Generator Pro will then, at random, generate two paragraphs comprising of sentence variations for each generated Page in the same way as we did in the previous example. In this case, however, there are 32 possible variations in total – the 16 above, multiplied by the 2 possible paragraph orders.  For example, but not limited to:

Writing content is a lot of fun. When done correctly, it captures the audience’s attention.
It’s important to add rich media, such as images and video. Be sure to optimize media for the audience’s device.

It’s important to add rich media, such as images and video. However, avoid media that takes a long time to load.
Writing content is a lot of fun. When done correctly, it captures the audience’s attention.

Writing content is a lot of fun. The audience is immersed in the story, and continue to read.
It’s important to add rich media, such as images and video. However, avoid media that takes a long time to load.

It’s important to add rich media, such as images and video. Be sure to optimize media for the audience’s device.
Creating articles is a rewarding experience. When done correctly, it captures the audience’s attention.

Images and video add to the audience’s experience. Be sure to optimize media for the audience’s device.
Creating articles is a rewarding experience. The audience is immersed in the story, and continue to read.

Block Spinning: Sections: Disable Randomizing Paragraph Order

Disabling randomization of paragraph order within a section is available in Page Generator Pro 3.4.6, releasing October 21st 2021 23:59 UTC

To honor the order of paragraphs within a section, specify the random_p_order=0 option within the #section# tag

#section random_p_order=0#
	#p#
		#s#
			Writing content is a lot of fun.
			Creating articles is a rewarding experience.
		#/s#
		#s#
			When done correctly, it captures the audience’s attention.
			The audience is immersed in the story, and continue to read.
		#/s#
	#/p#
	#p#
		#s#
			It's important to add rich media, such as images and video.
			Images and video add to the audience's experience.
		#/s#
		#s#
			Be sure to optimize media for the audience's device.
			However, avoid media that takes a long time to load.
		#/s#
	#/p#
	#p#
		#s#
			You should write paragraphs that make sense, regardless of the order they are output.
			Content should be written to be fluid
		#/s#
		#s#
			Page Generator Pro can randomize paragraphs and choose the minimum and maximum number to output.
			One of the key features of Page Generator Pro's Block Spintax is that it can output a limited number of paragraphs based on the limits defined by the user
		#/s#
	#/p#
#/section#

Block Spinning: Minimum / Maximum Paragraph Limits

Minimum and Maximum Paragraph Limits are available in Page Generator Pro 3.0.0, releasing January 7th 2021 23:59 UTC

Within each #section#, it’s possible to define the minimum and maximum number of paragraphs to output by specifying both min and max options within the #section# tag

#section min=2 max=3#
	#p#
		#s#
			Writing content is a lot of fun.
			Creating articles is a rewarding experience.
		#/s#
		#s#
			When done correctly, it captures the audience’s attention.
			The audience is immersed in the story, and continue to read.
		#/s#
	#/p#
	#p#
		#s#
			It's important to add rich media, such as images and video.
			Images and video add to the audience's experience.
		#/s#
		#s#
			Be sure to optimize media for the audience's device.
			However, avoid media that takes a long time to load.
		#/s#
	#/p#
	#p#
		#s#
			You should write paragraphs that make sense, regardless of the order they are output.
			Content should be written to be fluid
		#/s#
		#s#
			Page Generator Pro can randomize paragraphs and choose the minimum and maximum number to output.
			One of the key features of Page Generator Pro's Block Spintax is that it can output a limited number of paragraphs based on the limits defined by the user
		#/s#
	#/p#
#/section#

In this example, Page Generator Pro will, at random, generate between 2 and 3 paragraphs comprising of sentence variations for each generated Page.  For example, but not limited to:

Writing content is a lot of fun. When done correctly, it captures the audience’s attention.
You should write paragraphs that make sense, regardless of the order they are output. Page Generator Pro can randomize paragraphs and choose the minimum and maximum number to output.
It’s important to add rich media, such as images and video.
Be sure to optimize media for the audience’s device.



Images and video add to the audience’s experience. Be sure to optimize media for the audience’s device.
Creating articles is a rewarding experience. The audience is immersed in the story, and continue to read.

Block Spinning: Require Paragraph(s) when using Minimum / Maximum Paragraph Limits

Requiring paragraphs when using Minimum and Maximum Paragraph Limits is available in Page Generator Pro 3.4.6, releasing October 21st 2021 23:59 UTC

Within each #section#, it’s possible to define paragraph(s) that must always be included at the start of the section when using the minimum and maximum number of paragraphs option, by adding the required_p option:

#section min=2 max=3 required_p=2#
	#p#
		#s#
			Writing content is a lot of fun.
			Creating articles is a rewarding experience.
		#/s#
		#s#
			When done correctly, it captures the audience’s attention.
			The audience is immersed in the story, and continue to read.
		#/s#
	#/p#
	#p#
		#s#
			It's important to add rich media, such as images and video.
			Images and video add to the audience's experience.
		#/s#
		#s#
			Be sure to optimize media for the audience's device.
			However, avoid media that takes a long time to load.
		#/s#
	#/p#
	#p#
		#s#
			You should write paragraphs that make sense, regardless of the order they are output.
			Content should be written to be fluid
		#/s#
		#s#
			Page Generator Pro can randomize paragraphs and choose the minimum and maximum number to output.
			One of the key features of Page Generator Pro's Block Spintax is that it can output a limited number of paragraphs based on the limits defined by the user
		#/s#
	#/p#
#/section#

In this example, Page Generator Pro will, at random, generate between 2 and 3 paragraphs comprising of sentence variations for each generated Page.  The second paragraph will always be included as the first paragraph, denoted by the use of required_p=2.  For example, but not limited to:

It’s important to add rich media, such as images and video. Be sure to optimize media for the audience’s device.
Writing content is a lot of fun.
When done correctly, it captures the audience’s attention.
You should write paragraphs that make sense, regardless of the order they are output. Page Generator Pro can randomize paragraphs and choose the minimum and maximum number to output.



Images and video add to the audience’s experience. Be sure to optimize media for the audience’s device.
Creating articles is a rewarding experience.
The audience is immersed in the story, and continue to read.

To specify multiple required paragraphs, separate paragraph numbers with a comma:

#section min=3 max=4 required_p=1,2#
	#p#
		#s#
			Writing content is a lot of fun.
			Creating articles is a rewarding experience.
		#/s#
		#s#
			When done correctly, it captures the audience’s attention.
			The audience is immersed in the story, and continue to read.
		#/s#
	#/p#
	#p#
		#s#
			It's important to add rich media, such as images and video.
			Images and video add to the audience's experience.
		#/s#
		#s#
			Be sure to optimize media for the audience's device.
			However, avoid media that takes a long time to load.
		#/s#
	#/p#
	#p#
		#s#
			You should write paragraphs that make sense, regardless of the order they are output.
			Content should be written to be fluid
		#/s#
		#s#
			Page Generator Pro can randomize paragraphs and choose the minimum and maximum number to output.
			One of the key features of Page Generator Pro's Block Spintax is that it can output a limited number of paragraphs based on the limits defined by the user
		#/s#
	#/p#
#/section#

In this example, Page Generator Pro will, at random, generate between 3 and 4 paragraphs comprising of sentence variations for each generated Page.  The first and second paragraphs will always be included as the first two paragraphs, denoted by the use of required_p=1,2.  For example, but not limited to:

Writing content is a lot of fun. When done correctly, it captures the audience’s attention.
It’s important to add rich media, such as images and video. Be sure to optimize media for the audience’s device.
You should write paragraphs that make sense, regardless of the order they are output. Page Generator Pro can randomize paragraphs and choose the minimum and maximum number to output.



Creating articles is a rewarding experience. The audience is immersed in the story, and continue to read.
It’s important to add rich media, such as images and video. Be sure to optimize media for the audience’s device.
You should write paragraphs that make sense, regardless of the order they are output. Page Generator Pro can randomize paragraphs and choose the minimum and maximum number to output.

Block Spinning: Output a Single Paragraph at Random

To output a single paragraph at random, it’s possible to define the minimum and maximum number of paragraphs as the same number (1):

#section min=1 max=1#
	#p#
		Writing content is a lot of fun.
	#/p#
	#p#
		It's important to add rich media, such as images and video.
	#/p#
	#p#
		Page Generator Pro can randomize paragraphs and choose the minimum and maximum number to output.
	#/p#
#/section#

In this example, Page Generator Pro will, at random, generate one of the paragraphs above.  For example, but not limited to:

Writing content is a lot of fun.



Page Generator Pro can randomize paragraphs and choose the minimum and maximum number to output.

Spintax

It’s best to think of spintax as a way of generating unique sentences, by specifying one or more words within a sentence, where each word has two or more choices.

For example, a sentence might be:

Writing content is a lot of fun.

Using spintax, we can use:

{Writing|Creating} {content|articles} is a {lot of fun|rewarding experience}

Page Generator Pro will then, at random, generate a variation for each generated Page.  In this case there are 8 possible variations:

Writing content is a lot of fun
Creating content is a lot of fun
Writing articles is a lot of fun
Creating articles is a lot of fun
Writing content is a rewarding experience
Creating content is a rewarding experience
Writing articles is a rewarding experience
Creating articles is a rewarding experience

Spintax must contain two or more choices e.g. {Writing|Creating}.  Whilst e.g. {Writing} or {|Writing} may validate in your own spintax validator, Page Generator Pro will treat this as a Keyword, and not perform any spintax or removal of braces. If necessary, use HTML characters for blank spins e.g. &nbsp;
It’s best to write Spintax in plain text (i.e. not a Visual Editor or Rich Text / Content based Page Builder block).  This avoids Page Builders wrongly wrapping/adding its own tags within Spintax, which will result in invalid layout and/or no/invalid parsing of spintax.

Nested Spintax

Spintax can also be nested.  For example:

{Hello|Hi}, {{Joe|Steve}|Tim|Tom}

Page Generator Pro will then, at random, generate a variation for each generated Page.  In this case there are 8 possible variations:

Hello, Joe
Hello, Steve
Hello, Tim
Hello, Tom
Hi, Joe
Hi, Steve
Hi, Tim
Hi, Tom

Combining Block Spinning and Spintax

Both Block Spinning and Spintax can be combined.  Building on our earlier examples:

#p#
	#s#
		{Writing|Creating} {content|articles} is {a lot of fun|rewarding experience}.
		{Creating|Publishing} {articles|posts} is a {great SEO tool|fantastic way to generate unique content}.
	#/s#
	#s#
		When done correctly, it captures the audience’s attention.
		The audience is immersed in the story, and continue to read.
	#/s#
#/p#

Page Generator Pro will then, at random, generate a variation for each generated Page.  In this case there are a total of 128 possible variations:

  • First sentence: 64 variations (8 x 8):
    • {Writing|Creating} {content|articles} is {a lot of fun|rewarding experience}: 8 variations (2 x 2 x 2)
    • {Creating|Publishing} {articles|posts} is a {great SEO tool|fantastic way to generate unique content}: 8 variations (2 x 2 x 2)
  •  Second sentence: 2 variations

Keywords

You can nest keywords anywhere within both Block Spinning and Spintax.  When this happens, Page Generator Pro will replace the keyword with one of the keyword terms, and then execute / run the block spin or spintax.

For example, if we have a city keyword with the terms Birmingham and London:

Thanks for visiting {{city}|us}

Page Generator Pro will then, at random, generate a variation for each generated Page.  In this case there are 3 possible variations:

Thanks for visiting Birmingham
Thanks for visiting London
Thanks for visiting us

Supported Fields

Block Spinning and Spintax is supported on all fields on the Generate screen, including Page Builders.

We do not recommend using Spintax on the Title or Permalink.  This is because Spintax increases the chances of the same Title / Permalink being generated twice in a generation set.  As WordPress does not support multiple Pages having the same URL, and Page Generator Pro avoids duplicate content by Title and Permalink, should this condition occur, the duplicate Pages would not be generated.  This results in fewer Pages being generated than expected, and is by design.

Automatically Generate Spintax

Page Generator Pro provides an automatic spintax generation tool.

If you’ve specified a third party service to use for generating spintax on the Settings screen, such as OpenAI, it will be used here.

This can be used to replace selected text with spintax for both Content Groups and manually created Pages and Posts.

Using this functionality when editing a Page or Post? You’ll need to also enable the Process on Frontend setting, for your manually created Pages / Posts to produce a variation on each page load.

Gutenberg

Automatically Generate Spintax in Gutenberg is available in Page Generator Pro 4.1.5, releasing Thursday 20th April 2023 23:59 UTC.

To automatically generate spintax from selected text in Gutenberg / the block editor:

  1. Select some text, or a paragraph
  2. In the rich text toolbar, click the spintax button
    Page Generator Pro: Spintax: Automatically Generate Spintax: Gutenberg
  3. The selected text will be replaced by Spintax, using the service defined in the Plugin’s Spintax Settings
    Page Generator Pro: Spintax: Automatically Generate Spintax: Gutenberg Result

Classic Editor

To automatically generate spintax from selected text in the Classic Editor:

  1. Select some text, or a paragraph
    Page Generator Pro: Spintax: Auto Generate: Before
  2. In the Visual Editor’s toolbar, click the spintax button
    Page Generator Pro: Tutorial: Spintax Button
  3. The selected text will be replaced by Spintax, using the service defined in the Plugin’s Spintax Settings
    Page Generator Pro: Spintax: Auto Generate: After
Don’t see the icon above? Make sure you’re editing a Content Group, using the Classic Editor and that the SCRIPT_DEBUG constant in your wp-config.php file is set to false.
If no spintax replaces the selected text, the Plugin could not find any suitable spintax replacements for the given text.

Common Issues

Block Spintax does not process

If using the Classic Editor’s Visual tab (or a Page Builder which provides the equivalent):

  • Use the Text view of the Classic Editor instance by clicking the Text tab
  • Ensure a newline space before and after the block spintax

Keywords vs Block Spinning and Spintax

Keywords are more suited to generating uniform Pages, with each Page using one Term across all fields for that given Page – for example, if we’re generating a unique page for 3 cities (Birmingham, London and Bristol), we’d want the same city term to be used across every content field on a Page:

  • Birmingham Travel Guide
  • London Travel Guide
  • Bristol Travel Guide

It wouldn’t be useful if the Birmingham Travel Guide had London in it!

Block Spinning and Spintax is more suited to quick, inline random Pages, where you’re not fussed what the content is for each generated Page – so long as it’s some variant of the supplied spintax.

You can use Keywords, Spintax or a mixture of both on your Generated Pages.

Process Spintax in manually created Pages, Posts and Custom Post Types

This feature is available in Page Generator Pro 3.2.9 and higher, releasing Thursday June 24th 2021 23:59 UTC.

By enabling the Process on Frontend option, Page Generator Pro will attempt to process any Block Spintax and/or Spintax detected in any manually created (that is, non-Content Group) Pages, Posts or Custom Post Type’s, across the Title, Excerpt and Content fields.

Whilst every best effort is made by Page Generator Pro to do this, it might not work with all Page Builders, which is why it’s recommended to generate your Pages, Posts and Custom Post Types through Content Groups.

As Block Spintax/Spintax is stored in the manually created Page, it will be spun every time the Page is viewed on the frontend site. Spins cannot be cached.

Developers: Programmatically Process Spintax

If your Theme or third party Plugin requires arbitrary strings of text to support and process Block Spintax and/or Spintax, refer to the below code examples that can be used.

Process Spintax

Process Block Spintax

 

Process Spintax and Block Spintax

 

The above examples are provided as-is with no support or warranty offered, due to the varying nature of possible implementations, Themes and third party code.