Как разбить большую страницу вордпресс на страницы, уменьшение уровней вложенности страниц (Сайтостроение: WordPress: SEO-оптимизация)

Вопрос Как разбить большую страницу вордпресс на страницы. Почему страница не разбивается на страницы тегом nextpage. Как эти страницы перенести с четвертого уровня вложенности на третий.
Ответ

Если у вас очень большая страница и вы хотите ее разбить на части, то используйте для этого тег:

<!--nextpage-->

Важно: Вставляйте этот тег прямо в тексте своей страницы, в режиме «HTML». Не должно быть никаких преобразований символов в «gt» и «lt»

Важно: Обратите внимание на количество тире и угловых скобок в этом теге — проверьте, правильно ли он в итоге вставился. Если правильно, то в «Визуальном» режиме редактирования записи вы увидите характерную черту со словами «…Next Page…» на конце. Обратите внимание, при переходе с одного режима на другой, т.е. при переключении этих режимов, WordPress (или его плагиы) могут портить этот тег, добавляя лишние тире и(или) угловые скобки. Чтобы этого избежать, сначала сохраните изменения, и только потом проверяйте, чтополучилось — возможно, придется проделать это несколько раз, пока ваша система, наконец, согласится с вашей «интерпретацией» 🙂

Важно: Чтобы этот тег работал, в соответствующем месте соответствующего файла должна быть директива wp_link_pages:

  • если вы разбиваете страницы, то она должна быть в файле page.php
  • если вы разбиваете посты, то она должна быть в файле single.php
  • в обоих случаях директива вставляется внутрь так называемого цикла loop ( т.е. между if (have_posts()) : while (have_posts()) : the_post();
    и соответствующим им endwhile;  endif;)
  • пример содержимого файла page.php с директивой wp_link_pages:

'

Pages: ', 'after' => '

', 'next_or_number' => 'number')); ?>
  • пример содержимого файла single.php с директивой wp_link_pages, с немного по-другому оформленным массивом(просто для примера):
  • 
    

    '

    ' . __('Страницы:'), // текст перед ссылками (или код) 'after' => '

    ', // текст после ссылок (или код) 'link_before' => '', // текст перед каждой ссылкой (или код) 'link_after' => '', // текст после каждой ссылки (или код) 'next_or_number' => 'number', // использовать ли нумерацию 'nextpagelink' => __('Вперед'), // текст для ссылки на следующую страницу 'previouspagelink' => __('Назад'), // текст для ссылки на предыдущую страницу 'pagelink' => '%', //текста ссылки 'more_file' => '', // ссылка на страницу, по умолчанию текущая. 'echo' => 1 ); // выводить или нет wp_link_pages($args); ?>
    Опубликовал .
    Размещено в .
    .
  • И, наконец, последнее. Если вы внимательно посмотрите на вырисовывающуюся таким образом структуру сайта, то обнаружите, что та часть постов, которая оказалась таким образом разбита на страницы, перейдет на четвертый уровень вложенности. Избежать этого просто — достаточно сделать аналогичные изменения в файле основного шаблона.
  • 24 thoughts on “Как разбить большую страницу вордпресс на страницы, уменьшение уровней вложенности страниц (Сайтостроение: WordPress: SEO-оптимизация)

    1. Вы хотите сказать, что сделав эти изменения страница 3 уровня вложенности например, разбитая на части сохранит 3ув и ее части соответственно тоже?

    2. Спасибо за ответ! Но мы наверно не поняли друг друга. Вопрос в следующем:
      есть страница 3 ув, тегом разбиваем ее на n частей и получаем 1 страницу 3 ув и n-1 страниц 4 ув(если я правильно понимаю). Как сделать, чтобы страницы 4 ув стали 3ув? Карта сайта видит только 1 страницу в целом.

      • Да, верно. Если этим тегом разбить страницу 3 у.в. на страницы, и исправить только файл single.php, то остальные будут на 4-ом. Поэтому и нужны аналогичные изменения в файле основного шаблона — тогда ссылки на подстраницы окажутся рядом со ссылкой на основную страницу, на 2-ом уровне вложенности, и все они в итоге будут на 3-ем у.в.
        Трудно объяснить это на пальцах, не показав пример такого сайта. Такой сайт есть, но он не для общего доступа.
        В общем, попробуйте начать делать — сделайте аналогичное исправление в файле основного шаблона (index.php), и увидите результат.

    3. Вот так?

      get_header(); ?>
      
      		
      			
      
      
      
      				<div id="post-" >
      					
      						
      					
      						
      					
      
      					
      						
      						 '' . __( 'Pages:', 'twentyten' ), 'after' => '' ) ); ?>
      						<?php edit_post_link( __( 'Edit', 'twentyten' ), '', '' ); ?>
      					
      				
       'Pages: ', 'after' => '', 'next_or_number' => 'number')); ?>
      				
      
      
      
      			
      		
      
      
      
    4. Видимо код в комментарий вставился некорректно, но думаю, Вы мыслите в верном направлении 🙂

    5. Да, с кодом что-то не получается…
      Однако я вставил wp_link_pages: в page.php и в index.php — ничего не происходит (в карте сайта покрайней мере изменений нет)
      Может нужно сделать что-то еще?
      И где вообще должны быть видны изменения?
      Заранее спс.

    6. См. < ссылка удалена> — это страница второго уровня вложенности, на ней есть ссылки на подстраницы к записи «Мой нежный убийца»: 1, 2, 3, 4

    7. Спасибо за пример. Но в любом случае у меня ничего не получается, поэтому задаю вопрос в лоб (вопрос корыстный): хочу сделать блог на wordpress под sape, есть контент тысяч 400 символов с картинками, в нем можно выделить 40 рубрик (тематически), т. е. в каждой получается 10000 символов. Для сапы хватит и 1000 символов на пост. Поэтому хотелось бы разьить каждую рубрику еще на 10 частей, но это получается 4 у.в. (главная(1)-Рубрики(2)-РубрикаХ(3)) и если ее разбить на 10 частей, то получаются 4 у.в. Как из них сделать 3 у.в?
      Т. е. получается надо каждую рубрику дробить на подрубрики, присваивая каждой свой заголовок?
      Или есть варианты? Хотелось бы узнать ваше мнение.
      Спасибо.

      • Такую задачу можно решить проще.
        Создаете эти 40 рубрик. В каждой рубрике пишете посты по 1000 симвлов каждый в стиле «продолжение следует». Т.е. каждую статью делаете из 10 постов по 1000 символов, в конце каждой статьи можно дать ссылку на продолжение (на следующий пост)
        Таким образом разбивать на страницы описанным тут способом вообще не потребуется.

      • Кстати, делать сайт под сапу — неблагодарное занятие. Доход с одного такого сайта, как Вы задумали, будет едва покрывать расходы на хостинг. IMHO, конечно.

    8. Спасибо. Вроде как получилось. Сделал рубрику с общим названием «name», разбил на 10 постов 3 у. в. вре вроде бы все ок, но теперь каждому посту надо давать подназвание, не так ли? Ну, чтобы было как-то человекопонятно, иначе получается набор текстов без иерархии.

      • Мжно, вывести в название нумерацию, примерно так:
        «Уменьшение уровней вложенности (страница 1 из 10)»
        «Уменьшение уровней вложенности (страница 2 из 10)»
        «Уменьшение уровней вложенности (страница 3 из 10)»

      • Можно еще подумать, может разбить на «параграфы», в общем — большое поле для творчества 🙂

        Пожалуйста, было приятно помочь.

    9. как же всё запутанно. Мне надо чтобы уровень вложенности не изменялся, а статья делилась на несколько страниц.

      Главная — > Статья — > 1 страница / 2 страница / …
      index.html -> statya.html -> statya1.html / statya2.html

      Вот таким образом, что и где мне нужно поменять?

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

        При этом если на первой же странице дать все ссылки на все остальные части статьи, то уровень вложенности увеличится у них только на один. А если на первой странице дать ссылку на продолжение, затем в продолжении — ссылку на следующее продолжение (и т.д.), то это будет последовательным увеличением вложенности. В итоге конец статьи (если страница разбита например на 4 части) не будет индексироваться поисковыми системами.

        Чтобы получить то, о чем Вы написали, просто вставляйте тег «nextpage» последовательно в статью. Т.е. общий текст статьи будет выглядеть так:
        «Ехал Грека через реку (nextpage) Видит Грека в реке рак (nextpage) Сунул Грека руку в реку (nextpage) Рак за руку цап»

        • в таком случае у меня появятся страницы третьего уровня (domen.ru/1uroven/2uroven/3uroven)

          А мне бы хотелось чтобы они тоже были второго уровня.

          • Но ведь вид написания адреса в адресной строке (наличие слешей) вовсе не означает, что страница станет иметь больший уровень вложенности.
            Важно лишь сколько раз посетителю придется щелкать мышью по ссылкам, чтобы добраться до страницы.

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

            Чтобы движок WP умел правильно интерпретировать тег «nextpage», нужно написать код wp_link_pages в соответствующих местах файлов шаблона WP, вот и все…

    10. И, наконец, последнее. Если вы внимательно посмотрите на вырисовывающуюся таким образом структуру сайта, то обнаружите, что та часть постов, которая оказалась таким образом разбита на страницы, перейдет на четвертый уровень вложенности. Избежать этого просто – достаточно сделать аналогичные изменения в файле основного шаблона.
      А как вставить в основной шаблон там же нет цикла loop. Можно пример

    11. Спасибо, всё получилось сразу, но я хочу, чтобы было написано по русски «Страницы» а не Pages: Как это изменить? Я новичок.

    12. Спасибо за статью. Скажите, вот есть страница ермолинский.рф/zadat-vopros, как ее разбить, чтобы не создавался небоскреб? Спасибо.

    Добавить комментарий

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.