WordPress publishing guide

How to split a WordPress post or page into multiple pages

Insert deliberate page breaks into long content, confirm that the active theme displays page navigation, and test every segment for readability, accessibility, and discoverability.

WordPress can divide one post or page into separately addressable content segments. In the block editor, insert a Page Break block. In the classic or code editor, place the exact <!--nextpage--> marker where each new segment should begin.

Block editor

Page Break block

Insert a visible editor block at each intentional break. WordPress saves it as the built-in next-page content marker.

Code or classic editor

<!--nextpage-->

Place the exact HTML comment between content sections. Do not add spaces inside the marker or confuse it with the More tag.

When should a post be split?

Pagination can help when one document contains clear chapters, lessons, stages, image groups, or other natural units. It should not be added merely to increase page views or force readers through unnecessary clicks.

Good candidate Usually better as one page
A tutorial with distinct stages that readers may complete separately. A short article that can be scanned comfortably without a break.
A reference divided into meaningful chapters. Content divided only to create more impressions or ad views.
A large gallery or case study where each segment has enough context. A list where every item is brief and users need easy comparison.
A lesson sequence with a clear next step and progress. Instructions where readers must repeatedly move backward to understand the next step.

Plan the breaks before inserting them

Each segment should be understandable when opened directly. Add a descriptive heading near the beginning, avoid splitting a sentence or list, and place breaks after a complete idea.

Introduction
Preparation
Implementation
  • Decide the purpose of every segment.
  • Use headings that describe the content rather than labels such as Part Two alone.
  • Keep required warnings and prerequisites with the steps they govern.
  • Avoid hiding the conclusion, download, or answer behind an unnecessary final click.
  • Remember that a search result or shared link may send a visitor directly to a later segment.

Method 1: Insert the Page Break block

Open the post or page

Edit the content in the WordPress block editor and place the cursor between the blocks where the new segment should begin.

Open the Block Inserter

Select the plus icon and search for Page Break. You can also type /page break in a new paragraph and select the block when offered.

Insert the block

The editor displays a page-break indicator. Add another Page Break block for every additional segment.

Update and preview

Save the content and preview the public page. Confirm that navigation appears after the content and that each generated URL loads.

Method 2: Add the next-page marker manually

In the classic editor’s Text view or the block editor’s Code editor, place the marker on its own line between complete sections:

<h2>Part one</h2>
<p>Content for the first segment.</p>

<!--nextpage-->

<h2>Part two</h2>
<p>Content for the second segment.</p>

<!--nextpage-->

<h2>Part three</h2>
<p>Content for the final segment.</p>

Use the marker exactly as shown. The original source displayed <!-nextpage->, which is missing one hyphen at each side. The correct WordPress marker is <!--nextpage-->.

Confirm that the theme displays page links

WordPress splits the content when page breaks are present, but a classic theme must output the navigation. The standard template function is wp_link_pages(), and it belongs inside the Loop, normally after the_content().

<?php
if ( have_posts() ) :
    while ( have_posts() ) :
        the_post();

        the_content();

        wp_link_pages();
    endwhile;
endif;
?>

Depending on the theme, this code may belong in single.php, page.php, singular.php, a content template part, or another file selected by the template hierarchy. Make changes through a child theme rather than editing the parent theme directly.

Use semantic navigation markup

What about block themes?

With a block theme, the Post Content block renders the paginated content. The Page Break block is designed as a child of Post Content. Test the active Single and Page templates before editing theme files; the theme may already render the required navigation through WordPress’s content output.

If page links do not appear, first check whether the problem occurs with a current default theme in staging. A custom block theme may need its templates or supporting styles corrected rather than a PHP edit copied from a classic theme.

wp_link_pages() accepts arguments for the wrapper, separator, page numbers, and previous/next labels. Numbered links are often easier for readers who need to estimate progress or return to a specific segment.

Pages: 1 2 3 4

Previous and next links instead of numbers

<?php
wp_link_pages(
    array(
        'before'           => '<nav class="page-links" aria-label="' .
                              esc_attr__( 'Article pages', 'your-text-domain' ) .
                              '">',
        'after'            => '</nav>',
        'next_or_number'   => 'next',
        'previouspagelink' => esc_html__( 'Previous section', 'your-text-domain' ),
        'nextpagelink'     => esc_html__( 'Next section', 'your-text-domain' ),
    )
);
?>

Do not label a content segment simply “Next” when the surrounding interface also contains next-post, next-slide, or carousel controls. Specific labels reduce ambiguity.

The exact HTML depends on the function arguments and theme. Inspect the generated markup before writing selectors.

.page-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-block: 2rem;
}

.page-links a,
.page-links .post-page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid #dfe5ef;
  border-radius: 0.5rem;
  text-decoration: none;
}

.page-links .current {
  border-color: #3157d5;
  background: #3157d5;
  color: #fff;
}

.page-links a:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

Use the methods in How to Add Custom CSS to a WordPress Theme instead of editing a parent stylesheet.

Understand the generated URLs

The first segment uses the normal post or page URL. Later segments add a page number according to the site’s permalink structure and rewrite configuration. The exact form can vary, so use links generated by WordPress rather than constructing segment URLs manually.

  • Test every numbered link after changing permalinks.
  • Check redirects, canonical output, caching, and language plugins.
  • Avoid using numeric slugs that create confusing URL patterns.
  • Do not create separate posts that duplicate the paginated segments.

SEO and content-quality considerations

Pagination does not improve content simply because it creates more URLs. Each segment should contain meaningful information and remain easy to discover and navigate.

  • Keep the title and topic consistent across the sequence.
  • Use descriptive headings within every segment.
  • Do not repeat the same introductory paragraphs on each page.
  • Ensure internal links and references still make sense when a segment is opened directly.
  • Review canonical tags, indexing directives, structured data, and social metadata produced by the active SEO system.
  • Include the complete sequence in XML sitemaps only when that is the intended output of the site’s SEO configuration.
  • Do not split thin content into separate pages solely to manufacture additional indexed URLs.

Accessibility requirements

  • Wrap links in a navigation landmark with a descriptive accessible label.
  • Identify the current page with visible styling and aria-current="page".
  • Keep link targets large enough for touch and keyboard users.
  • Provide visible focus indicators.
  • Use descriptive previous and next labels.
  • Do not rely on color alone to identify the current segment.
  • Keep heading levels logical after each break.
  • Confirm that changing pages does not unexpectedly move focus or trap keyboard users.

Analytics and advertising considerations

A multi-page article can generate additional page views, but the measurement must be interpreted carefully. Track completion, exits, navigation clicks, reading time, and conversion—not page views alone.

  • Confirm that analytics does not count preview or editor activity as public traffic.
  • Avoid duplicate event firing during client-side transitions or cache restoration.
  • Do not overload every segment with advertising that interrupts the reading sequence.
  • Disclose affiliate or sponsored content wherever the relevant recommendation appears.

Test the complete sequence

Navigation

All numbers and previous/next links lead to the correct segment and identify the current page.

Direct entry

Opening page two or three directly still provides context, headings, and a route to the rest of the sequence.

Responsive layout

Links wrap cleanly and remain usable on phones, at increased zoom, and with long translated labels.

Keyboard and screen reader

Focus is visible, order is logical, landmarks are named, and the current segment is announced.

Cache and redirects

Every segment returns the intended content without stale copies, loops, or unexpected homepage redirects.

Theme updates

Pagination still appears after parent-theme, WordPress, plugin, and permalink changes.

Troubleshooting

The Page Break block does not create separate pages

Update the post, preview the public URL rather than only the editor, and confirm that the block remains in the saved content. Test with noncached requests and a current default theme in staging.

The content splits, but no links appear

The active classic theme may not call wp_link_pages(). Inspect its singular content template and add the function through a child theme when it is absent.

The marker appears as visible text

The syntax is incorrect or was entered in a normal visual paragraph. Use the Page Break block or the exact <!--nextpage--> marker in the code/classic Text view.

Only the first page is indexed or shared

Review the SEO plugin’s canonical and indexing settings, confirm that later URLs return successful responses, and verify that navigation links are crawlable normal links rather than script-only controls.

Page two returns 404

Save Settings > Permalinks, clear caches, review rewrite and redirect rules, and confirm that security or language plugins do not alter the numbered path.

Navigation appears twice

The theme or a plugin already outputs page links and a second function call was added manually. Remove the duplicate implementation.

The sequence is difficult to read

Remove unnecessary breaks, strengthen headings, increase target sizes, clarify labels, and consider returning the article to one page when the segmentation does not serve readers.

What changed from the original 2013 guide

Original syntax correction:

The source displayed <!-nextpage->. WordPress requires the complete HTML-comment marker <!--nextpage-->.

The original article also instructed users to enter the marker in the Text/HTML tab and add wp_link_pages() after the_content() when the theme did not show pagination. Those instructions remain, with the Page Break block, block-theme notes, child-theme safety, styling, accessibility, SEO, analytics, and troubleshooting added.

Official WordPress references

Article status

Archived discussion

The original page included an inactive reply form but no preserved comments. The form has been removed so visitors are not asked to submit personal information to an endpoint that may no longer work.

Questions, corrections, and feedback about this tutorial can be sent through the redesigned TDWP contact page.