Как изменить теги title на постраничных записях?

2 авг. 2011 г., 12:06:49
Просмотры: 15.7K
Голосов: 2

Я создал много записей с разбивкой на страницы с помощью тега nextpage. Проблема в том, что они отображаются как ошибки в "Google Webmaster Tools" из-за дублирования title-тегов и meta-описаний.

URL выглядят так:

http://mypage.com/mypost/
http://mypage.com/mypost/2  
http://mypage.com/mypost/3

Все они имеют одинаковые title и meta-теги.

Есть ли возможность добавить номер страницы в meta-теги?

Я использую плагин "WP SEO", который, как ни странно, не имеет такой функции.

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

Привет, у вас есть решение этой проблемы? У меня такая же ошибка с пагинацией на моем сайте: описание ссылки здесь, и я не могу ее исправить уже месяц! С наилучшими пожеланиями.

User User
12 апр. 2012 г. 21:31:04
Все ответы на вопрос 5
4

Является ли "WP SEO" плагином "WordPress SEO от Yoast"? Если да, то этот плагин предоставляет несколько тегов для использования:

  • %%page%% - Заменяется на номер текущей страницы (например, страница 2 из 4)
  • %%pagetotal%% - Заменяется на общее количество страниц
  • %%pagenumber%% - Заменяется на номер текущей страницы

Просто посмотрите в нижнюю часть страницы wp-admin/admin.php?page=wpseo_titles, вы увидите эти теги. Попробуйте их использовать.

2 авг. 2011 г. 12:23:06
Комментарии

Да, но я не могу определить разбитые на страницы записи, созданные с помощью тега nextpage, в этом плагине. По крайней мере, я не знаю, где это сделать.

Eddie Eddie
2 авг. 2011 г. 12:45:02

Я только что попробовал добавить %%page%% в шаблон заголовка записи, но это не дало эффекта.

Eddie Eddie
2 авг. 2011 г. 13:17:40

@Eddie, пожалуйста, используйте комментарии для обсуждения ответов. Если у вас есть новые детали по вашему вопросу, вы можете отредактировать его, чтобы добавить их.

Rarst Rarst
3 авг. 2011 г. 16:13:19

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

Anh Tran Anh Tran
3 авг. 2011 г. 18:07:10
1

Вы можете просто добавить эти строки в ваш header.php под тегом title:

<?php if ( $paged < 2 ) { } else { echo (' Страница '); echo ($paged);} ?>
20 апр. 2012 г. 14:17:51
Комментарии

Это решило мою проблему. Спасибо.

نرم افزار حضور و غیاب نرم افزار حضور و غیاب
2 мая 2022 г. 00:02:41
0

Попробуйте использовать глобальную переменную $page для фильтрации wp_title:

<?php
function wpse24661_filter_wp_title( $title, $separator ) {
    // Делаем $page глобальной
    global $page;

    // Проверяем, разбита ли текущая запись на страницы
    // и находимся ли мы не на первой странице
    if ( $page >= 2 ) {
        // Добавляем $separator и номер страницы
        $title .= ' ' . $separator . ' ' . 'Страница ' . $page;
    }    
    // Возвращаем отфильтрованный $title
    return $title;
}
add_filter( 'wp_title', 'wpse24661_filter_wp_title', 10, 2 );
?>
12 апр. 2012 г. 21:40:54
0

Приведенный выше ответ не работает из-за проблемы с глобальной переменной, необходимо использовать '$paged' вместо '$page'. Ниже представлено обновленное решение:

function wpse24661_filter_wp_title( $title, $separator ) {
    // Глобализация переменной $paged
    global $paged;

    // Проверяем, является ли текущая запись разбитой на страницы
    // и находимся ли мы на странице, отличной от первой
    if ( $paged >= 2 ) {
        // Добавляем $separator и номер страницы
        $title .= ' ' . $separator . ' ' . 'Страница ' . $paged;
    }    
    // Возвращаем отфильтрованный $title
    // echo $title;die;
    return $title;
}
add_filter( 'wp_title', 'wpse24661_filter_wp_title', 101, 2 );
24 сент. 2015 г. 09:16:38
0

Я попробовал ваш метод. Но он не отражается в заголовке страницы при пагинации блога. Я подключил wp_title так, как указано в functions.php, но это не работает. Можете ли вы предложить другие способы достижения этого?

2 апр. 2020 г. 10:01:24