Добавление rel="next" и rel="prev" для пагинированных архивов

18 дек. 2011 г., 19:35:14
Просмотры: 13.9K
Голосов: 6

Кто-нибудь знает плагин или сниппет (кроме WordPress SEO от Yoast), который может это реализовать? Пагинация с rel=“next” и rel=“prev”

Единственное, что мне удалось найти, это 3-месячный тикет в Trac.

11
Комментарии

вы можете сделать это с помощью query и append

Niraj Chauhan Niraj Chauhan
18 дек. 2011 г. 19:40:07

@ntechi, спасибо за быстрый ответ. Однако, я предполагаю, что это отвечает примерно на 99,9% всех вопросов, перечисленных здесь. Должен признать, я надеялся на что-то более детальное.

User User
18 дек. 2011 г. 19:49:07

ваша цель - добавить rel в ссылки next и previous?

Niraj Chauhan Niraj Chauhan
18 дек. 2011 г. 19:52:04

Тот, который рекомендует Google, да. Не те, которые используются по умолчанию в WordPress.

User User
18 дек. 2011 г. 19:54:37

@CorvanNoorloos Тот, который рекомендует Google, должен быть в секции head, а не непосредственно в элементе ссылки...

kaiser kaiser
18 дек. 2011 г. 21:44:28

@kaiser, да, именно этого я и пытаюсь добиться. Насколько я понимаю, именно об этом говорится в статье и тикете trac.

User User
18 дек. 2011 г. 22:08:06

Мне просто было интересно насчет ответа от @ntechi и вашего комментария.

kaiser kaiser
18 дек. 2011 г. 22:28:03

@kaiser, возможно, мне следовало быть более понятным. Я определенно искал решение для раздела head. Основное отличие - отсутствие заголовка страницы и его доступность для пагинации. В основном это не мой код, но вот что я искал https://gist.github.com/1494942

User User
19 дек. 2011 г. 02:34:30

А, понятно. Значит, мы знакомы по классу rilwis meta-box. Хорошо, в чем именно проблема с вашим сниппетом? Кстати: если добавить <?php в начале gist'а, получите подсветку синтаксиса.

kaiser kaiser
19 дек. 2011 г. 03:42:33

Думаю, это решение: https://wordpress.stackexchange.com/a/307182/64590

Revious Revious
15 окт. 2018 г. 11:59:20
Показать остальные 6 комментариев
Все ответы на вопрос 3
4
10

Попробуйте добавить этот код в ваш файл functions.php

<?php
function rel_next_prev(){
    global $paged;

    if ( get_previous_posts_link() ) { ?>
        <link rel="prev" href="<?php echo get_pagenum_link( $paged - 1 ); ?>" /><?php
    }

    if ( get_next_posts_link() ) { ?>
        <link rel="next" href="<?php echo get_pagenum_link( $paged +1 ); ?>" /><?php
    }

}
add_action( 'wp_head', 'rel_next_prev' );
?>

Если вы не хотите, чтобы ссылки rel="next" и rel="prev" отображались на страницах записей (singular pages), просто оберните вывод в условие !is_singular()

19 дек. 2011 г. 05:46:09
Комментарии

Спасибо @Joshua, это работает даже лучше, чем упомянутый выше gist!

User User
20 дек. 2011 г. 19:05:33

Я бы рекомендовал использовать is_archive() вместо ! is_singular()

Josh Mountain Josh Mountain
9 мая 2014 г. 00:43:36

get_next_posts_link() не работает без параметра max_num_pages, как я могу получить эту переменную в functions.php? Я что-то упускаю?

HOY HOY
14 авг. 2017 г. 06:15:58

Означает ли синтаксис PHP ### if ( get_previous_posts_link() ) ### следующее: заменить функцию get_previous_posts_link() на функцию, которая следует после?

Revious Revious
15 окт. 2018 г. 12:22:20
1

Этот плагин делает именно то, что вам нужно - http://wordpress.org/extend/plugins/pagination-rel-links/

6 июл. 2012 г. 22:14:19
Комментарии

Ответ должен содержать больше, чем просто ссылку на внешний сайт. Пожалуйста, добавьте решение.

fuxia fuxia
6 июл. 2012 г. 23:26:05
4
-3

Хорошо, тогда это будет хорошим решением:

$('YOUR_PAGINATION_A_ID').attr('rel', 'next');
$('YOUR_PAGINATION_A_ID').attr('rel', 'prev');

Попробуйте это, возможно, поможет вам.

18 дек. 2011 г. 19:57:18
Комментарии

Если я правильно понял, вы предлагаете, чтобы этим занимался JavaScript? Поскольку Google или другие поисковые системы не понимают JavaScript, я сомневаюсь, что это будет идеальным решением.

User User
18 дек. 2011 г. 20:17:02

Да, это было бы так. Лучше отредактировать сам PHP-код или подождать другого ответа.

Niraj Chauhan Niraj Chauhan
18 дек. 2011 г. 20:18:55

Всегда лучше делать это на стороне сервера.

Amit Kosti Amit Kosti
17 июл. 2012 г. 03:30:27

Это совершенно бесполезно для SEO

Richard Richard
4 янв. 2017 г. 20:24:59