Для Seo очень важно чтобы поисковики знали что у вашего каталога есть страница пагинации. Для того чтобы указать поисковику что у нас есть и другие страниц, будем использовать атрибуты rel="next" и rel="prev"
Добавить ссылки на предыдущую и следующую части статьи можно с помощью HTTP-заголовков или HTML-тегов <link>.
HTTP-заголовки
В ответе на запрос страницы необходимо возвращать один или оба из указанных ниже HTTP-заголовков.
Link: <www.example.com/cats_part_3; rel="next">
будет указывать на следующий фрагмент статьи.Link: <www.example.com/cats_part_1; rel="prev">
будет указывать на предыдущий фрагмент статьи.HTML-теги <link>
Добавьте соответствующие теги <link>
в раздел <head>
в коде страницы.
<link rel="next" href="URL следующей страницы">
будет указывать на следующий фрагмент статьи.<link rel="prev" href="URL предыдущей страницы">
будет указывать на предыдущий фрагмент статьи.Код ниже Добавляет rel="next" и rel="prev" артибуты
Добавляем код в functions.php
function wp_corenavi() {
global $wp_query;
$pages = '';
$max = $wp_query->max_num_pages;
if (!$current = get_query_var('paged')) $current = 1;
$a['base'] = str_replace(999999999, '%#%', get_pagenum_link(999999999));
$a['total'] = $max;
$a['current'] = $current;
$total = 1; //1 - выводить текст "Страница N из N", 0 - не выводить
$a['mid_size'] = 3; //сколько ссылок показывать слева и справа от текущей
$a['end_size'] = 1; //сколько ссылок показывать в начале и в конце
$a['prev_text'] = '«'; //текст ссылки "Предыдущая страница"
$a['next_text'] = '»'; //текст ссылки "Следующая страница"
if ($max > 1) echo '<div class="navigation">';
if ($total == 1 && $max > 1) $pages = ''."\r\n";
echo $pages . paginate_links($a);
if ($max > 1) echo '</div>';
}
function rel_next_prev() {
global $paged;
if ( get_previous_posts_link() ) {
echo '<link rel="prev" href="'.get_pagenum_link( $paged - 1 ).'" />';
}
if ( get_next_posts_link() ) {
echo '<link rel="next" href="'.get_pagenum_link( $paged + 1 ).'" />';
}
}
add_action( 'wp_head', 'rel_next_prev' );
/*Add Prev and Next Tags to Paginated Single Posts*/
function add_rel_prev_next_paginated_posts(){
global $post;
$paged = intval(get_query_var('paged'));
if(is_single()){
$perm_link = get_permalink();
# 1: Count number of paginated pages.
if( isset( $post->post_content ) ){
$num_pages = substr_count( $post->post_content, '<!--nextpage-->' ) + 1;
}
# 2: If pagination exists add the tags.
if($num_pages > 1){
$page = intval( get_query_var('page') ); # Get Page number
if( $page == 0 ){ $page = 1; }
# 3: Add rel="prev" meta tag.
if( ($page > 1) && ($page <= $num_pages) ){
$prev_page_num = ($page - 1);
if($page == 2){ $prev_page_num = '';}
$full_url = user_trailingslashit(trailingslashit($perm_link) . $prev_page_num);
echo '<link rel="prev" href="'. esc_url($full_url) .'" />';
echo "\n";
}
# 4: Add rel="next" meta tag.
if( ($page >= 1) && ($page < $num_pages) ){
$nxt_page_num = ($page + 1);
$full_url = user_trailingslashit(trailingslashit($perm_link) . $nxt_page_num);
echo '<link rel="next" href="'. esc_url($full_url) .'" />';
echo "\n";
}
}}}
add_action('wp_head', 'add_rel_prev_next_paginated_posts', 2);
коммент.