Автоматическая разбивка длинных страниц в WordPress

Достаточно редкая задача, но все же кому потребуется ее решение. У меня есть ряд сайтов, которые наполняю не я и тексты там бывают по 25 тысяч символов и более. В таком случае встает задача разбить на несколько страниц данную статью в WordPress. Можно вручную вставить тег <!—nextpage—>. но если таких статей много, то этот процесс надо автоматизировать.

Для чего делать автоматический перенос на новую страницу, это личное дело каждого. Для кого то, чтобы пользователям было удобно читать, разделяя большой текст на более удобные маленькие, для кого то нужно, чтобы увеличить количество страниц в индексе, а кто то хочет увеличить тем самым поведенческий фактор, подталкивая пользователя увеличивать глубину просмотра на вашем сайте.

К примеру, главной картинке к данному посту изображены ссылки на страницы одной моей записи на 2 с лишним миллиона символов.

Плагин Auto paging mb

С этой задачей хорошо справляется плагин далекого 2009 года Auto paging mb. Плагин хоть и старенький, но со своей задачей справляется на ура. Он автоматически вставляет тег next page в wordpress.

Скачать плагин можно тут

Устанавлиется плагин так же как всегда. Визуальных настроек не имеет. Но есть одна важная настройка, это длина страницы, после которой нужно делать перенос на новую страницу. Данную настройку делать надо правя код плагина. Но тут ничего сложного.

Идем в плагины, находим наш плагин и нажимаем “изменить”

Там единственный файл

 

его и меняем. В моем случае он таким способом не открывался.

Я его открыл через ФТП

Он располагается по адресу ageta.ru/wp-content/plugins/mb_paging

Там присутствует строка

$paging_number = 3000; ### Максимальный размер страницы в символах

Ищите в поиске через “$paging_number”, у меня 33 строка.

И все меняйте на нужное количество символов. в моем случае 3000 и радуйтесь. Тег <!—nextpage—> будет вставлен автоматически во все записи вордпресс

Нюансы при работе плагина Auto paging mb

1. Если не хотите на какой либо записи разбивать постранично текст

Часто бывают записи. которые вы не хотите разбивать. порой это страницы. содержащие другию информацию. Это разработчики предусмотрели, вам нужно в текстовом редакторе вставить тег

<!—nopage—>

Его достаточно вставить 1 раз в начале текста. И сохранить. На данной странице не будет постраничной разбивки.

2. Разбивка по абзацам.

Если я не ошибаюсь, то есть такой косяк/нюанс. Плагин разбивает по абзацам и если у вас будет большой текст (условно 20к символов) и без абзацев то он его не разобьёт. Или же веселей может быть. если у вас одно предложение абзацем идет вначале. а потом сплошной текст, то у вас будет первая страница из одного предложения, а вторая весь сплошной текст. Не очень то красиво получиться, но тут ничего не поделать, либо искать другой плагин или дорабатывать.

Решается так, находите строку в самом плагине (как открывать для редактирования файл плагина описано выше)

$breakpoints = array(‘</p>’,'<br />’,'<br>’,"\n");

И добавляете ‘. ‘, т.е. точку с пробелом, обозначение конца предложения. Если у вас в текстах точки без пробелов или нужен другой символ для разрыва. вставляйте его в одинарные кавычки.

$breakpoints = array(‘</p>’,'<br />’,’. ‘,'<br>’,"\n");

Есть плюс переноса по абзацам. В таком случае, получаются разной длины обзоры, на что Яндекс будет более положительно относиться, чем нежели все статьи были бы одинаковой длины в 3000 символов.

3. Не индексируются страницы.

Если вы просто запустите плагин, то у вас не будут индексироваться вторая и последующая страницы. Это связано с тем, что на 2й и следующих страницах устанавливается следущее:

<link rel=’canonical’ href=’http://ageta.ru/primer/’ />

Хотя фактически страница должна быть ссылка http://ageta.ru/primer/2, http://ageta.ru/primer/3, http://ageta.ru/primer/4…

Что это за тег можете почитать здесь.

В двух словах. “какая страница является «канонической» – предпочтительной для индексации и появления в результатах поиска”. Т.е. данный тег говорит. что главная для индексации http://ageta.ru/primer/. а все остальные страницы, это копии главной страницы. В итоге все страницы не заходят в индекс, кроме первой.

Для того, чтобы избавиться от этого, нужно в Теме > Функции темы (functions.php), добавить следующие строки:

/*** Удалить canonical в ссылках ***/
remove_action(‘wp_head’, ‘rel_canonical’);

После этого, данная строка исчезает и соответственно проблема тоже.

Это косяк именно вордпресса, даже если ты без плагина используешь тег, все равно такая же петрушка. Есть плагины, которые корректно использует данный тег, вставляя нужную страницу в rel=’canonical’. К примеру это плагин Afer Last Page Fix. Настраивать его не надо.

У меня используется и плагин и хак в функции темы. Если вдруг забуду и отключу плагин, страницы не вылетят из индекса.

Поделитесь своим мнением
Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>