こんにちは、メディア事業部ウェブディレクターのコネル飯塚です。
第14回となる、この「ヘビーメタルSEO」ですが、前回の「重複コンテンツにならないようにチェックする」で、重複コンテンツとは何か、それによって起こる問題とは何か、そして重複コンテンツはスパムとしてペナルティを受けるのか、などについて学びました。
今回も引き続き「重複コンテンツ」について、問題解決に繋がる実践方法を具体例とともに「ヘビーメタルSEO」ようすけべー師匠に教わっていきたいと思います。
重複コンテンツの具体例と問題解決に繋がる実践方法
「ようすけべー師匠!それでは今回もよろしくお願いいたします。」
「SEO内部対策として前回に続き、『重複コンテンツ』の問題解決に役立つ方法について説明していきたいと思う!」
重複を避けるための方法について
「自分ではそのつもりが無くても検索エンジンが重複コンテンツと判断することがあるので、それを避けるための方法を知っておく必要があるのDEATH!!」
「どのような種類の方法があるのでしょう?」
「順番に見ていこう!」
重複ページを削除する
重複するページにユーザーのアクセスもなく、被リンクもついておらず、そのコンテンツ自体に何の価値もないと判断できるなら、そのページは削除してしまおう!
そして、エラーメッセージ"Not Found"「ページが見つかりません」という404エラーを返しておこう!
URLの削除
Google Search Consoleから特定のページのインデックスを削除するリクエストを送信することが出来る。
例えば、サイトからページを削除したのに、Googleの検索結果では表示され続けてしまうことがある。そのような場合に、検索結果から削除したいページのURLを、Search Consoleからリクエスト送信してみよう!
パラメータによるブロック
こちらもGoogle Search ConsoleからURLのパラメータを用いてページのインデックスをブロックすることが出来る。
パラメータ付URLの重複ページが複数存在する場合、1つの代表URLに統合するなどの指定が可能なのDEATH!!
robots.txt
robots.txtというファイルを一般的にはルートディレクトリに置いて、インデックスしたくないURLを指定して検索エンジンのクローラーをブロックするやり方なのDEATH!!
フォルダ全体やパラメーター付きのURLもブロックできるが、すでにインデックスされているページを削除するという使い方は出来ない。
meta robotsタグ(noindex)
特定のページをインデックスしてほしくない場合、該当ページのHTMLのhead要素にmeta robotsタグでnoindexを指定する。
<meta name="robots" content="noindex">
こちらを指定することでそのページがインデックスされることはないが、そのページ内にあるリンクはクローラーにたどってもらうことができる。
ページ内のリンクをクローラーにたどってほしくない場合は、content属性値にnofollowを追加する。
<meta name="robots" content="noindex,nofollow">
301リダイレクト
WEBサイトにおけるリダイレクトとは、サイト閲覧時に指定されたページから他のページに自動的に転送されることで、WEBページのURLが変更した場合、元のURLから新しいURLに飛ばすことなどでよく使われる。
301リダイレクトは、404エラーとは違って、元のURLから新しいURLに恒久的に移動したことを伝えるもので被リンクがついている場合、その効果も引き渡される。
rel="canonical"
カノニカルと言われるURL正規化タグのrel="canonical"は、正規としたいURLを指定することが出来る。
正規化したいページのHTMLのhead要素にカノニカルタグを指定する。
<link rel="canonical" href="http://sample.com">
例えば「www.sample.com」「sample.com/index.html」といったURLのページにカノニカルタグを設置し「sample.com」にURLを正規化したい場合、カノニカルタグが指定されているページのURLは、正規化されたURL「sample.com」とみなされる。そして非正規のURLはインデックスされることはないのDEATH!!
rel="alternate"
alternateとは取って代わるもの、代替手段という意味で、HTMLのhead要素にrel="alternate"をスマホ・フィーチャーフォン向けサイトURLや他言語サイトURLを指定することが出来る。
<link rel="alternate" media="only screen and (max-width: XXXpx)" href="このページのスマホ版URL">
<link rel="alternate" media="handheld" href="このページのフィーチャーフォン版URL">
rel="next"とrel="prev"
ページネーションといったページが分割された検索結果に対応するため、その分割されたコンテンツ同士の繋がりを検索エンジンに伝えることが出来る。
例えば、分割されたページごとにそれぞれのURLを持っていて、クローラーが検索結果の4ページ目をたどってきた場合
前のページを指す「rel="prev"」
次のページを指す「rel="next"」
<link rel="prev" href="http://sample.com/page/3/">
<link rel="next" href="http://sample.com/page/5/">
このようにHTMLのhead要素に実装する必要があるが、多くの場合は動的に生成する必要があるのDEATH!!
重複コンテンツの具体例とそれを解決する方法
「重複を避けるための方法について教わりましたが、実際には様々な状況があると思います。その場合どういう対応をすればよいでしょうか?」
「OK METAL!!いい質問だ!!」
「おおっ!!」
「よく起こり得るだろう具体例を上げて説明していこう!」
wwwの有無
URL先頭の「www」の有無だが、どちらも検索エンジンにインデックスされている場合、重複コンテンツとみなされる可能性がある。
サイト内のリンクや他サイトからのリンクが統一されておらず、URLに「www」が有ったり無かったりでリンクが張られているなどが原因で起こる。
「www.sample.com」
「sample.com」
ユーザーがアクセスしてくるURLが1つで構わない場合は、代表となるURLを1つに定め、正規のURLを検索エンジンに伝える必要がある。
この場合、301リダイレクトによるURLの正規化を行うか、Google Search Consoleから使用するドメイン名を設定すれば良い。
index.拡張子の有無(.htmlや.phpなど)
特にトップページなどで起こる問題だが、URLにファイル名が有ったり無かったりで、どちらもインデックスされている場合がある。
「sample.com/index.html」
「sample.com」
こちらもユーザーがアクセスしてくるURLが1つで構わない場合は、301リダイレクトによるURLの正規化を行えば良い。
もし、リダイレクトを行えない環境であったり、別々のURLのまま置いておく必要がある場合は、URL正規化タグのrel="canonical"を使用して正規のURLを検索エンジンに伝えれば良い。
URL末尾の/(スラッシュ)
URLの末尾にスラッシュが有るのと無いのでは、正確には別のURLということになる。URLの末尾に付ける「/」のことをトレイリングスラッシュ(trailing slash)と呼ぶが、Googleでは多くに場合、このようなURLを自動的に正規化してくれる。
「sample.com/」
「sample.com」
SEOとして以前ほど大きな問題ではなくなってきているが、必要な場合は301リダイレクトによるURLの正規化を行えば良い。
パラメータによる重複
検索結果の並べ替えやフィルタなど機能的に必要があり、コンテンツの一部が異なるページを動的に生成する場合、URLにパラメータを付けることがある。
ほぼ内容が同じで重複コンテンツとして見られる場合は、必要に応じてnoindexを指定しインデックスさせないようにする。またはURL正規化タグのrel="canonical"を使用するかGoogle Search ConsoleからURLのパラメータを用いてインデックスをブロックすれば良い。
商品のバリエーションなど
商品の色や形など、仕様やオプションの一部だけが異なるページは、重複コンテンツとなる可能性が高い。
重複が多く独自性が薄くなるバリエーションのページをすべてインデックスさせると、デメッリットが大きい場合もある。
重複の度合いにもよるが、バリエーションの中でメインの商品ページを正規のURLとしてURL正規化タグのrel="canonical"を使用し、1つにまとめることでメリットに働く場合もある。
PC向けサイトとスマホ・フィーチャーフォン向けサイトが別々のURL
レスポンシブWEBデザインなどではなく、PC向けサイトとスマホ・フィーチャーフォン向けサイトが異なるURLで、コンテンツがほぼ同じである場合、アノテーションと言われる設定を行うと良い。
PCやスマホなどデバイスごとにコンテンツが用意されているわけではなく、別々のURLが設定されている場合、検索エンジンにサイト内のそのページごとの関係性を伝えよう。
現在のWEBサイトの多くは、PC向けサイトを中心として必要に応じて他のデバイス向けサイトを構成していると思うが、例えば、スマホ・フィーチャーフォン向けページのURLがある場合、PC向けページのHTMLのhead要素に下記を記述する。
<link rel="alternate" media="only screen and (max-width: XXXpx)" href="このページのスマホ版URL">
<link rel="alternate" media="handheld" href="このページのフィーチャーフォン版URL">
そして、逆に同一コンテンツであるPC向けページに対して、スマホ・フィーチャーフォン向けページのそれぞれのhead要素に下記を記述する。
<link rel="canonical" href="このページのPC版URL">
まとめ
「最後のまとめとして、重複を避けるための方法と、重複コンテンツの具体例を挙げながらそれを解決する方法を説明してきたが、そもそもは初めの段階から重複コンテンツを作らないようにサイト設計することが重要なのDEATH!!」
「しかし、サイトが大規模になると意図せず重複してしまう可能性は高くなりますからね!」
「なのでサイトの構成やサイト内のリンクの構造などしっかりと検討してサイトを作り上げてくれ!他にもさまざまな重複の問題があるが、本日説明した方法などを用いて問題解決に繋げてくれ\m/」
「本日はようすけべー師匠有難うございました。ではまた次回よろしくお願いいたします。」
「STAY METAL!!!」
合わせてチェックすべきSEO内部対策と外部対策のポイント\m/