Как передать в Google сведения о контенте, разбитом на страницы wordpress /

Добавляем атрибуты rel="next" и rel="prev" на страницах пагинации . Простой способ

22 / 02 / 2019 219 seo, wordpress Aвтор: Фрилансер
Как передать в Google сведения о контенте, разбитом на страницы wordpress

Для 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'] = '&laquo;'; //текст ссылки "Предыдущая страница"
  $a['next_text'] = '&raquo;'; //текст ссылки "Следующая страница"

  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);

 

3 случайных Поста

Card image cap
Парсинг курса валют
Card image cap
Галерея товара woocommerce
Card image cap
Из растра в svg

коммент.

© SiteBlog designer