
【WordPress】内部施策を積極的に行ってSEOの効果を高めたい
今回は、WordPressで構築したサイトで実際に実装したことがあるSEO内部施策を備忘録としてまとめました。
(SEO系のプラグインを使用しない場合)
● アーカイブページにrel="next"、rel="prev"を追加する
■rel="next"、rel="prev"とは?
rel="next"とrel="prev"を使用することによって、複数ページにまたがるコンテンツや記事の関連性をGoogleに示すことができます。(例えば、同一のカテゴリに属する記事を複数ページにまたがって掲載しているケースや長い記事を複数のページに分割しているケース)
下記のようなタグをそれぞれのページのタグ内に記載します。
1 2 | < link rel = "prev" href = "前のページのURL" > < link rel = "next" href = "次のページのURL" > |
■rel="next"、rel="prev"の設置方法
WordPressでは、個別記事以外のページにはrel="next"、rel="prev"を付加してくれません。
functions.phpに下記のような記述を追加することで、カテゴリー一覧ページや年別アーカイブページなどでページ分割が発生した場合に、タグにrel="next"、rel="prev"を追加することができます。
1 2 3 4 5 6 7 8 9 10 11 12 | 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"を削除する
前述のとおり、Wordpressは個別記事ページに対しては自動でrel="next"、rel="prev"を付加します。
ただし、ページ分割していない記事にも追加されてしまいGoogleが提示している使用方法とは少し異なってしまうため、functions.phpに下記の記述を追加してタグを削除するようにしています。
1 | remove_action( 'wp_head' , 'adjacent_posts_rel_link_wp_head' ,10); |
● ページ分割で2ページ目以降のページタイトルに「ページ2」「ページ3」などの連番をつける
titleタグを生成する箇所に下記のような記述を追加します。
1 | <?php if ( $paged || $paged > 2 ){ echo ' | ページ ' . $paged ;} ?> |
titleタグには、各ページ固有なものを設置し他のページと重複させないようにする必要があります。(重複コンテンツとみなされないようにするため)
rel="next"、rel="prev"の設置を行うのとセットでやっておくとよいと思います。
● metaタグ(title,keywords,description)の設定とOGPタグの設定
metaタグには、他のページと重複しない固有なものを設置できるような工夫をします。
例えば、投稿画面に下記のようなカスタムフィールドを用意しておけば、
投稿者が各記事ごとに簡単にmeta情報を設定することも可能になります。
【参考サイト】
【参考文献】
- 安川洋・江沢真紀・村山佑介(2014)『いちばんやさしい新しいSEOの教本―人気講師が教える検索に強いサイトの作り方』インプレスジャパン