Владельцы сайтов на WordPress часто сталкиваются с необходимостью разбить длинные статьи на несколько страниц. Это помогает улучшить читаемость, ускорить загрузку страниц и повысить вовлечённость пользователей. В этой статье подробно рассмотрим, как разделить длинный пост на страницы, используя стандартные средства WordPress, а также популярные плагины и примеры кода для тонкой настройки.
Стандартный способ разбивки поста на страницы с помощью тега <!--nextpage-->
В WordPress есть встроенный тег для разбиения постов — <!--nextpage-->. Этот HTML-комментарий вставляется в текст статьи в том месте, где вы хотите сделать разрыв страницы.
Чтобы использовать этот способ, откройте редактор WordPress в режиме текстового редактора (HTML) и вставьте <!--nextpage--> в нужных местах. Например:
Первый абзац статьи.
<!--nextpage-->
Второй абзац, который будет на второй странице.
<!--nextpage-->
Третий абзац, показываемый на третьей странице.
После публикации поста WordPress автоматически разбивает его на страницы и выводит навигацию для перехода между ними.
Преимущества этого способа:
- Не требует установки плагинов;
- Прост в использовании;
- Поддерживается любой темой WordPress.
Однако есть и недостатки — навигация по страницам может быть не очень удобной, а SEO-оптимизация требует доработки.
Как улучшить навигацию по страницам поста: настройка шаблона
По умолчанию навигация по страницам поста выводится функцией wp_link_pages(). Чтобы улучшить внешний вид и функциональность, можно переопределить её параметры.
Например, добавим в файл single.php вашей темы следующий код, чтобы вывести понятные ссылки:
if ( function_exists('wp_link_pages') ) {
wp_link_pages( array(
'before' => '<nav class="post-pagination"><span>Страницы: </span>',
'after' => '</nav>',
'link_before' => '<span>',
'link_after' => '</span>',
'pagelink' => '%',
'separator' => ' | ',
) );
}
Это выведет навигацию в виде списка страниц с красивым оформлением. Можно добавить стили CSS для класса .post-pagination для улучшения внешнего вида.
Плагины для разбиения длинных постов на страницы
Если стандартного функционала недостаточно, можно использовать плагины, которые расширяют возможности разбивки:
- Page Break — добавляет удобный визуальный редактор для вставки разрывов страниц;
- WP-PageNavi — улучшает навигацию по страницам, добавляя красивые номера страниц;
- ABC Pagination — профессиональный плагин с расширенными возможностями пагинации, поддержкой AJAX и SEO-оптимизацией.
Особенно советуем обратить внимание на ABC Pagination, который отлично интегрируется с разметкой WordPress и позволяет настроить внешний вид и логику разделения постов.
Автоматическая разбивка длинных постов на страницы по количеству слов
Если не хочется вручную вставлять теги <!--nextpage-->, можно сделать автоматическую разбивку поста по количеству слов. Ниже пример функции, которую можно добавить в functions.php вашей темы:
function wpreboot_auto_paginate_post_content( $content ) {
if ( is_single() && ! is_admin() ) {
$word_limit = 300; // Количество слов на страницу
$words = explode(' ', $content);
if ( count($words) > $word_limit ) {
$pages = array_chunk($words, $word_limit);
$paged = get_query_var('page') ? intval(get_query_var('page')) - 1 : 0;
if ( isset($pages[$paged]) ) {
$content = implode(' ', $pages[$paged]);
if ( count($pages) > 1 ) {
$content .= wp_link_pages(array(
'echo' => 0,
'before' => '<nav class="post-pagination"><span>Страницы: </span>',
'after' => '</nav>',
'link_before' => '<span>',
'link_after' => '</span>',
'pagelink' => '%',
'separator' => ' | ',
));
}
}
}
}
return $content;
}
add_filter( 'the_content', 'wpreboot_auto_paginate_post_content' );
Эта функция делит содержимое поста на страницы по 300 слов и выводит навигацию. Можно настроить $word_limit под свои нужды.
Учтите, что при таком подходе HTML-теги могут быть повреждены, если в тексте есть сложные структуры. Для более аккуратного разбиения нужна дополнительная обработка HTML.
SEO и UX рекомендации при разбиении постов на страницы
Разбивка постов на страницы влияет на SEO и удобство пользователей. Важно учитывать следующие моменты:
- Добавляйте уникальные заголовки и мета-описания для каждой страницы с помощью плагинов SEO (Yoast SEO, Rank Math);
- Используйте канонические ссылки, чтобы избежать дублирующего контента;
- Навигация должна быть удобной — используйте понятные номера страниц и ссылки «Следующая», «Предыдущая»;
- Избегайте слишком мелких страниц — не стоит разбивать пост на 10 страниц по 50 слов;
- Тестируйте загрузку страниц на мобильных устройствах.
Заключение
Разбиение длинных постов на страницы — важный инструмент для оптимизации вашего сайта на WordPress. Стандартный тег <!--nextpage--> — простой и удобный способ, который можно улучшить настройкой шаблона и плагинами, такими как ABC Pagination. Автоматизация разбиения с помощью кода подойдёт для сайтов с большим объёмом контента, но требует аккуратности в реализации.
Применяйте описанные методы на практике, и ваши длинные статьи станут удобнее для чтения и эффективнее для SEO.