本サイトではアフィリエイト広告を利用しています
meta-nofollow

コード

[HTML] nofollow はどう使う?

2020年4月7日

ウェブサイトを作成するときに、リンクに nofollow を入れることを忘れないようによく言われます。これは何を意味するのかちょっとだけ復習です。

 rel="nofollow"

と言う感じで、アンカータグ「a タグ」や「meta タグ」によく含めます。

具体例としては、

 <meta name="robots" content="nofollow">


 <a href="https://yahoo.com/" rel="nofollow">ヤフー・ジャパン</a>

と言った記述です。

これらの場合の content= rel= に続けた "nofollow" は何の意味があるのかの復習です。
試しに、"nofollow" 部分を削除して、

 
<meta name="robots">
<a href="https://yahoo.com/">ヤフー・ジャパン</a>

と書いて、ブラウザで表示させてみても何らの変化もありません。
つまり、"nofollow" はページを見てくれるユーザーには何の影響も与えず、あってもなくてもかまわないものです。

ところが、機械的にウェブサイトのデータを集めてデータベース化するロボット(クローラー)にとっては、この記述は「リンク先をたどらないで」という合図になります。つまり、Google のような有名検索エンジンのクローラーは、"nofollow" を目印に、指定ページをインディクス化しないようになっています。要するに、そのページもしくはリンク先を検索エンジンに登録しないということです。当然、検索結果には表示されないページになるわけです。

ちなみに、クローラーというのは Google に代表される検索エンジンか世界中のウェブページをまわりまわって読み込み、検索エンジンのデータベースに登録する作業を行うアプリケーションのことです。自動で動くのでロボットやボットなどとも呼ばれます。

ウェブページが、検索エンジンのデータベースに登録(インデックス)されるというのは、検索結果にそのウェブページが表示されることを意味します。

nofollow の活用の仕方

"nofollow" はクローラー対策のために行う記述であることがわかりました(PageRank 供給の拒否という意味)。検索エンジンに載せてほしくないページを作成している人もいるので、積極的に "nofollow" を使う制作者もいるはずですが、 多くのケースでは、自分のページを検索エンジンに載せてもらって、検索結果に反映される方がメリットが大きく感じるものです。

〔nofollow する理由1〕内部リンク対策

例えばワードプレス上に複数のページがあり、ページAにページ1、2、3がリンクを貼っているとします。この場合、3つのリンクが貼られているページAが重要なページと判断されます。ところが、管理者としてはページ3が最も注目してほしいページだった場合、ページAよりページ3の方を高く評価してほしいと思っている場合に、"nofollow" を記述することが役に立ちます。

上の例ではページ3からページAに貼られているリンクに "nofollow" を記述することにより、検索エンジンがページAを重要なページだと判断しなくなります。

〔nofollow する理由2〕外部リンク対策

例えば、自分のページから Yahoo! や Google にリンクを貼ることがあるかもしれませんが、これ以外のページにリンクを貼ることも多いと思います。自己完結しているようなページはあまり面白くないので、ほどほどに外部リンクがある方がページとしては楽しいのですが、調子に乗って他人のページをリンクに貼り付けてしまうのは好ましいことではありません(マナー違反とSEO的に好ましいとはいえません)。

 <a href="https://XXX.co.jp/shopping/o123.html" rel="nofollow">XXX 商店</a>

この際に、「リンクを貼っているけどメインはこのページね!」と意思表示するときに、外部リンクに "nofollow" を記述します。例えば、アフィリエイトなどで商品紹介ページを作る場合、商品製造元のリンクは貼るのが当然です。ても、自分のページが検索エンジンに表示されてほしいわけであって、商品の製造元が一番に表示されてほしいわけではありません。このような意図がある場合は、外部リンクに "nofollow" を記述します。

これにより、商品の製造元のページランクを上げずに、リンクを貼ることができるようになります。
いやらしいセコイ意味でリンク先のページランクを上げたくないという意味ではなく、リンク先の検索結果を意図しない方に誘導しないためのエチケットでもあります。例えばリンク先が真面目な企業であるのに、リンク元がいかがわしい商品ばかりを宣伝しているような場合、その企業も同類と検索エンジンが判断してしまうことが、かつてはありました(現在はかなり解消されている)。このような悪い経験を持つようなリンク先も存在するので、迷惑をかけないためにも "nofollow" を記述します。

結果的に "nofollow" は、「SEO」を意識して、目的のページを上位表示を狙い「アクセスアップ」を稼ぐ目的で利用することになります(これが普通です)。

nofollow する理由3〕アフィリエイト向け

自分のページにアフィリエイト商品のリンクを貼り付ける場合は、"nofollow" を記述すののが鉄則です。現在のアフィリエイトの多くは、このルールに従わなくても問題が起きないようになっていますが、企業から特単をもらっているような直の商品紹介などは、"nofollow" を入れるに越したことはありません。(もちろん、リンク元とリンク先が責任を持って "nofollow" を外す、つまり "follow" にするのも問題ありません。)

というのも、Google は PageRank を転送するリンクの売買を禁止していて、このルールに違反した場合は検索圏外に飛ばされるということが起こります。多くのアフィリエイト商品は PageRank の転送目的ではないと思われるのですが、Google にそう判断されてしまうと、私企業ですので Google の勝手ということで済まされてしまうのです。そのため、明示的に "nofollow" をつけてリンクするのが定石になっています。

なお、多くの ASP でリンクを作成する場合、自動で "nofollow" がつきますので気にとめる必要はありません。

"nofollow" の書き方をマスターする

"nofollow" が使えるタグを見ていきましょう。実際は「a タグ」だけ覚えておけば、そのほかはなんとかなります。ワードプレスなどでページを作成する場合は、プラグインが自動的にタグをつけてくれるのでさほど気にとめなくてもかまいません。
しかし、いったんエラーが起きたとき、この知識があるかないかではバグ取りの時間節約の程度が大きく違いますので、知っておくに越したことはありません。

a タグに "nofollow" はどう使う?

 <a href="faq/question.html" rel="nofollow">質問</a>

a タグは特定のリンク先のみを対象にします。タグ内で指定したリンク先のページを対象にして、リンク元のページをインディクスしないでと宣言します。わかりやすく言えば、"nofollow" を記述することにより、リンク先とリンク元に「信頼関係はない」ことをわかりやすくすると言うことです。リンク先が自分のページからリンクされているからといって、リンク先の評価を変えないで(評価を上げたり下げたりしないで)ねという意味があります。

meta タグに "nofollow" はどう使う?

 
<head>
<meta name="robots" content="nofollow">
</head>

meta タグに上のように "nofollow" に指定すると、ページ内の全てのリンクの「リンク先ページ」(a タグで指定された別ページ)が対象に、クローラーがリンクをたどらないようになります。

例えば、リンク集のようなページを作成した場合、リンク先のページをキャッシュしてほしくない場合は、そのページのヘッダに記述しておきます。

"noindex" とセットで使う

例に挙げたようなリンク集のようなページを作る場合、あまりに他力本願的なページになりがちでそのページを検索エンジンに反映してほしくないとが普通にあります。そのため、普通は "noindex" とセットで使います。"noindex" はこの記述があるページを、「検索結果に反映しないでね」という合図です。つまり、"nofollow,noindex" と記述してやると、そのページは「リンクはたどらないで、検索結果にも反映しないで」という意味になるので、クローラーはデータを捨てて別のページに移ります。

 
<head>
<meta name="robots" content="nofollow,noindex">
</head>

,(カンマ)」で区切って複数まとめて記述します。

"noarchive" とセットで使う

meta タグには "noarchive" という記述もあります。これは検索エンジンに「キャッシュしないで」ということを伝えます。
これを指定しておくと、クローラーがウェブページのデータをデータベースに保存しなくなるため、キャッシュリンクをたどることができません。クローラーがインディクスしたページがキャッシュされないため、常に最新のページにアクセスさせるように仕向けることができます。

 
<head>
<meta name="robots" content="nofollow,noindex,noarchive">
</head>

こう記述すれば、リンクはたどるな、データベースに登録するな、キャッシュはやめろという意味になります。
もちろん、

 
<head>
<meta name="robots" content="noarchive">
</head>

として、「キャッシュすることだけはやめてくれ」というように使うこともできます。

"noindex""noarchive" は役に立つのか?

"noindex" はそのページを検索エンジンに登録しないでくれという意味でした。"noarchive" はキャッシュしないでくれという意味でした。しかし、この2つが無視されて検索エンジンに登録されてしまうことがあります。このことは、莫大にリンク先が(上の記述がされたかされていないかにかかわらず)リンクを獲得している場合は、上の記述にかかわらず登録されることがあります。この「莫大」がどれほどの数のことなのかは明らかにされていないのですが、おそらく数千以上のリンクがなければこのようなことは起こらないと考えられます。

Google だけに登録させない方法はあるのか?

Google が現在最も有効な検索エンジンだと思いますが、Google にはインディクスさせず、Yahoo にはインディクスさせてやりたいという方がいる場合、どうすればできるのかを考えてみます。
確実な方法ではないのですが、特定のクローラだけを拒否する記述があります。

 
<meta name="googlebot" content="nofollow,noindex,noarchive">
<!-- Google にはインデックス等を拒否します。-->
<meta name="slurp" content="nofollow,noindex,noarchive">
<!-- Yahoo にはインデックス等を拒否します。-->
<meta name="msnbot" content="nofollow,noindex,noarchive">
<!-- MSN にはインデックス等を拒否します。-->

という記述がありますが、記述してもインディクスされることがあるので確実とはいいきれません。また、それ以外のマイナー検索エンジンは無視してインディクスすることも普通にあります(対応していない)。

-コード
-