web-dev-qa-db-ja.com

ページ番号付き投稿のタイトルタグを変更するにはどうすればいいですか?

私はnextpageタグを使って複数のページでたくさんの投稿を作成しました。問題は、タイトルタグとメタ説明が重複しているために、これらが「Googleウェブマスターツール」にエラーとして表示されることです。

URLは次のとおりです。

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

それらはすべて同じタイトルとメタタグを持っています。

ページ番号をメタタグに含めることはどういうわけか可能ですか。

私は驚くべきことにこの機能を持っていない "WP SEO"を使っています。

1
Eddie

"WP SEO" = "WordPress SEO by Yoast"ですか?もしそうなら、プラグインはあなたのためにいくつかのタグを持っています:

  • %%page%% - 現在のページ番号に置き換えられます(すなわち、2/4ページ)
  • %%pagetotal%% - 現在のページの合計に置き換えられます
  • %%pagenumber%% - 現在のページ番号に置き換えられます

wp-admin/admin.php?page=wpseo_titlesページの一番下を見てください。やってみなよ。

4
Anh Tran

Titleタグの下のheader.phpにこれらの行を追加するだけです。

<?php if ( $paged < 2 ) { } else { echo (' Page '); echo ($paged);} ?>
1
Puneet

上記の答えは、グローバル変数の問題のために機能していません、私たちは '$ page'の代わりに '$ paged'を使用する必要があります。以下は更新された解決策です

function wpse24661_filter_wp_title( $title, $separator ) {
    // Globalize $page
    global $paged;

    // Determine if current post is paginated
    // and if we're on a page other than Page 1
    if ( $paged >= 2 ) {
        // Append $separator Page #
        $title .= ' ' . $separator . ' ' . 'Page ' . $paged;
    }    
    // Return filtered $title
    // echo $title;die;
    return $title;
}
add_filter( 'wp_title', 'wpse24661_filter_wp_title', 101, 2 );
0
Mohan Gathala

$pageをフィルタリングするには、 wp_titleグローバル を使用してみてください。

<?php
function wpse24661_filter_wp_title( $title, $separator ) {
    // Globalize $page
    global $page;

    // Determine if current post is paginated
    // and if we're on a page other than Page 1
    if ( $page >= 2 ) {
        // Append $separator Page #
        $title .= ' ' . $separator . ' ' . 'Page ' . $page;
    }    
    // Return filtered $title
    return $title;
}
add_filter( 'wp_title', 'wpse24661_filter_wp_title', 10, 2 );
?>
0
Chip Bennett