目次
基本はcanonicalを設定する
WordPressは記事に対して、プラグインなどの影響もあって、URLにパラメーターをつけることが多く、一つの記事に対して複数のURLが存在することがあります。
例えばこのような感じです。
https://news.7zz.jp/sports/3553.html
https://news.7zz.jp/sports/3553.html?utm_source=rss&utm_m……
「?utm_source=rss……」の部分がパラメーターになります。この2つのURLは同じ記事で当然内容は同じです。
このようにURLが2つあるのに、内容が同じ記事が存在するため、「重複するメタデータ」と「タイトルタグの重複」という形でhtmlを改善するように、ウェブマスターツール上に表示されてしまいます。
ページの重複は、Googleにコピーページとして見られる危険性があり、スパムとして扱われる可能性があります。そうでなくても、ページ評価分散につながり、Googleの評価を下げるかもしれません。ページの重複には早急に対処が必要です。
そこで、パラメーターがついて複数のURLがあっても、元はどの記事なのかを表示することができる便利なタグがあります。それがcanonicalです。
<link rel="canonical" href="【記事のURL】"/>
このタグをheadタグ内に追加することによって、URLにどんなにパラメーターが追加されていても、元がどの記事なのかGoogleのクローラー(ロボット)に知らせることが可能になります。
canonicalは、WordPressの場合プラグインを導入して設定をONにするか、タグを直接テンプレートに書いて追加することが可能です。
プラグインでcanonicalを追加する
All in One SEO Pack – WordPress.org
プラグインでcanonicalを追加するのは簡単です。上のSEO用の超定番プラグインAll in One SEO Packに、canonicalを追加する項目があります。
All in One SEO Packの設定画面、「General Settings」の設定に「Canonical URLs」とありますので、チェックを入れておきます。
ついでに余計なページをGoogleのクローラー(ロボット)に拾われないように、「Noindex Settings」で設定しておきましょう。私の場合は、極力ページが重複しないように、カテゴリーページ以外の、月毎のアーカイブ、ユーザーのアーカイブ、タグのページは、チェックを入れています。
チェックを入れたページには、下記のタグが追加され、クローラーに拾われなくなります。
<meta name="robots" content="noindex,follow"/>
ただこのnoindexを余計なページにつける事による、Googleへの影響は正直よくわかりません。クローラーに拾われててもうまくGoogle側で処理してて、ページの評価には影響しない可能性もあります。
通常の記事は、クローラーが普通に拾っていますので、それ以外で内容の同じページをできるだけ減らすという考えで、noindexを設定しています。
正解はGoogle先生しかわかりませんので、いろいろ試してみようと思っています。今のところ問題ありません。
直接テンプレートにcanonicalを追加する
canonical urlは完璧ですか?SEO friendlyなWordPressサイトには絶対必要です。 – Web Shufu
正しくないURLでアクセスされた場合にCanonicalを出力する – APPOFIT
テンプレートに直接書く方法は、こちらが詳しいので参考にして下さい。ただ、SEOにもなりますし、WordPressなら普通はプラグインを入れたほうが簡単でしょう。
ウェブマスターツール「URLパラメータ」を設定する
canonicalの設定さえしておけば、Googleインデックス的にはなにも問題ないはずです。canonicalの意味を考えると、これで解決しているはずですが、私のケースではウェブマスターツールの「HTMLの改善」の検出数が数ヶ月減少しませんでした。
canonicalが効いてないのか、単に効果に時間差があるのかわかりませんが、原因が特定できず困ってしばらく放置していたのですが、ウェブマスターツールの「URLパラメータ」の設定をすると効果がありました。
URLパラメータ設定は、ウェブマスターツールの左メニュー「クロール」→「URLパラメータ」から行います。
URLパラメータページでは、URLに追加されている「utm_source」や「utm_medium」といったパラメータの意味を登録することができます。
まず、ウェブマスターツール「HTMLの改善」のページで、重複しているURLに追加されているパラメータをチェックします。本ブログでは、主に重複しているのは「utm_source」「utm_medium」「utm_campaign」の3つがURLパラメータが重複している原因になっていますので、これらに対処する必要があります。
[クリック拡大]
次に「URLパラメータ」のページで、検出されているURLパラメータを確認します。ちゃんと「utm_source」「utm_medium」「utm_campaign」の3つが検出されているので、このパラメータの意味を設定します。
編集をクリックすると、URLパラメータの設定画面が表示されます。ここでこの「utm_source」などのURLパラメータが、どのような役割があるのかを設定します。
「utm_source」がURLに追加されていても、実際にコンテンツは変化しませんので、「いいえ:ページのコンテンツには影響しません(例:トラッキング用)」として、「保存」を押せば完了です。
念のため「utm_medium」「utm_campaign」も設定しておきましょう。これでこの3つのパラメータがURLに追加されていても、「トラッキング用」で意味のないものとして登録することができました。
ページ送りしたタイトルに変化をつける
ここまで設定したら、「重複するメタデータ」と「タイトルタグの重複」の数は大幅に減っていると思います。もし対応して変化がなくても、数は即時反映されませんので気長に待って下さい。徐々に減っていくと思います。
URLパラメータの重複分がほとんど無くなったら、今度はページ送りの分が「タイトルタグの重複」に残ると思います。
https://news.7zz.jp ウェブソク https://news.7zz.jp/page/2 ウェブソク https://news.7zz.jp/page/3 ウェブソク https://news.7zz.jp/page/4 ウェブソク https://news.7zz.jp/page/5 ウェブソク …………………… ウェブソク ………… ウェブソク …… トップページはURL「https://news.7zz.jp」でタイトルは「ウェブソク」、2ページ目はURL「https://news.7zz.jp/page/2」でタイトルは「ウェブソク」……… ということで、タイトルが重複してますと指摘されるわけです。
これに対処するには、テンプレートのtitleタグの部分を少し改造します。
<title><?php bloginfo('name'); ?><?php if(get_query_var('paged')) echo ' ページ'.get_query_var('paged'); ?></title>
<?php if(get_query_var(‘paged’)) echo ‘ ページ’.get_query_var(‘paged’); ?> タイトルの最後にこちらを追加することにより、ページ番号をタイトルの後ろにつけることができます。
これにより、先ほどのページ送りのタイトルが、
https://news.7zz.jp ウェブソク https://news.7zz.jp/page/2 ウェブソク ページ2 https://news.7zz.jp/page/3 ウェブソク ページ3 https://news.7zz.jp/page/4 ウェブソク ページ4 https://news.7zz.jp/page/5 ウェブソク ページ5 …………………… ウェブソク ページ6 ………… ウェブソク ページ7 …… このようになり、タイトルの重複がなくなります。
archive.php
category.php
index.php
search.php
tag.php これをページ送りの必要なテンプレートのタイトル全てを改造します。
以上で、ウェブマスターツールの「重複するメタデータ」と「タイトルタグの重複」の検出がほぼ無くなります。ただ対処したからと言って、すぐには検出数に反映されませんので、気長に減るのを待っていて下さい。
コメント