徹底解説:nofollowの役割・仕様・実装とSEOへの影響(WordPress向け実践ガイド)

はじめに:nofollowとは何か

rel="nofollow" はHTMLのリンク(a要素)に付ける属性で、検索エンジンに対してそのリンクを"追跡しない(followしない)"、あるいはリンクの評価(PageRank等)を渡さない意図を示すために使われてきました。2005年にGoogleが導入して以来、スパム対策や外部リンクの評価調整などで広く利用されてきましたが、扱われ方は検索エンジン側の方針変化により進化しています。本稿では歴史、仕様、実装方法、WordPressでの具体的な対応、SEO上の注意点まで体系的に解説します。

nofollowの歴史と検索エンジンの扱いの変化

Googleは2005年にnofollowを導入し、当初はそのリンク先にPageRankなどの評価を渡さない明確な命令として扱っていました。しかし2019年9月、Googleは rel="nofollow" を“ヒント(hint)”として扱うと発表し、2020年から段階的にその扱いを変更しました。これにより、nofollowが付与されていても内部アルゴリズムが状況に応じてリンクを参照する可能性があることを示唆しています。

nofollowとrel属性の種類(nofollow・sponsored・ugc)

近年は用途の明確化のために新たなrel属性が導入されました:

  • rel="nofollow":リンクを追跡しない/評価を渡さない意図を示す従来の属性(現在は検索エンジンにとって“ヒント”扱い)。
  • rel="sponsored":広告やスポンサーリンク、アフィリエイトなど有料の関係にあるリンクを示すための属性(Google推奨)。
  • rel="ugc":ユーザー生成コンテンツ(コメント、フォーラム投稿等)でのリンクであることを示す属性。

可能であれば有料リンクは rel="sponsored"、コメント等のUGCは rel="ugc" を使うことが推奨されます。

技術的な挙動:クローリング、インデックス、ランキングへの影響

重要な点は3つです。

  • クローリング(リンクを辿るか):nofollowはもともとクローラーにリンクを辿らせない指示でしたが、現在は検索エンジンによっては"ヒント"として扱い、状況によってはフォローする場合があります。
  • インデックス(リンク先がインデックスされるか):nofollowが付いていても、外部から別の参照があればそのURLはインデックスされ得ます。nofollowはURLのインデックスを完全に防ぐ保証ではありません。
  • ランキング(PageRankの伝達):過去は明確にPageRankを遮断していましたが、現在は同様に"ヒント"扱いで、検索エンジンが内部判断で評価を反映する可能性があります。

つまり、nofollowは絶対的な遮断手段ではなく、サイト運営者の意図を示すためのシグナルであると理解してください。

いつ、どのように使うべきか(実務的ガイドライン)

  • 広告・アフィリエイト:rel="sponsored" を付与。従来のnofollowではなくsponsoredが明確。
  • コメントやフォーラム等のユーザー投稿:rel="ugc" を推奨。大量の外部リンクがあるUGCでは自動付与するのが現実的。
  • 信用できない外部サイトへのリンク:rel="nofollow" や rel="sponsored" を検討。
  • 内部リンク:原則nofollowを付けない。内部リンクにno­followを付けるとクローラビリティや内部リンクの価値伝達に悪影響を与える可能性がある。
  • サイトワイドでのno­follow設定:ナビゲーションやフッターに無差別に付与するのは避けた方が良い(例外的にログインページなど明確なケースはあり)。

WordPressでの実装方法(手動・プラグイン)

WordPressでリンクにrel属性を付ける方法:

  • ブロックエディタ(Gutenberg)やクラシックエディタでHTML編集:<a href="URL" rel="nofollow">リンク</a>のように直接記述できます。
  • リンク挿入時の属性:最近のエディタではリンク設定パネルに「rel属性」を追加できる場合があります。
  • プラグインの利用:Yoast SEO、All in One SEO Pack、Rank Mathなどはリンクにno­followやsponsored/ugcを自動付与する機能を提供しています。コメントや外部リンクに自動で付けたい場合は専用プラグイン(例:External Links、Rel NoFollow Linkなど)を検討してください。
  • テーマやフィルタで自動化:functions.phpにフィルタを追加して出力されるリンクに条件付きで rel 属性を付与することも可能です(実装時はバックアップとテストを推奨)。

メタrobotsやX-Robots-Tagとの違い

rel="nofollow" はリンク単位の指示です。一方で<meta name="robots" content="nofollow"> や HTTPヘッダの X-Robots-Tag: nofollow はページ単位でそのページ上のリンクをフォローさせない指示になります。用途に応じて使い分けますが、これらも検索エンジン側で「ヒント」として扱われる場合があることに留意してください。

よくある誤解とリスク

  • nofollowは完全にリンク効果をゼロにするわけではない:検索エンジンの裁量で参照されることがあります。
  • 内部リンクにno­followを多用するとサイトの重要ページの評価が流れず、SEOに悪影響を与える可能性がある。
  • robots.txtはnofollowとは別物:robots.txtでクロールを拒否すると、そのページ内のリンクもクロールされない可能性があるが、インデックス制御は別の問題。

調査・デバッグ方法

  • ブラウザの開発者ツールでDOMを確認し、該当リンクにrel属性が付いているか確認する。
  • Google Search Consoleの「URL検査」機能で、Googleがページをどうレンダリングしているかをチェックする(robotsやリンクのレンダリング差異を確認)。
  • 外部リンクの付与ルールを変更したら適切にクロールされるまで数日〜数週間を要することを想定する。

実践的なチェックリスト(WordPress運営者向け)

  • 広告やアフィリエイトは rel="sponsored" を優先して付与する。
  • コメント・フォーラムは rel="ugc" を自動付与する設定にする。
  • 内部リンクには原則no­followを付けない。ただし管理用途のリンク(管理画面やログインなど)には付与を検討。
  • サイトワイドなno­follow適用は避け、ケースバイケースで付与ルールを定義する。
  • 変更を行ったらSearch Console等で確認し、クロール状況を観察する。

まとめ

rel="nofollow" は長年の間に使われ方が変化し、現在は検索エンジンに対する"意図を示すシグナル"として位置づけられています。WordPressでは手動での編集や各種プラグインにより柔軟に運用できますが、内部リンクへの乱用やサイトワイドの安易な適用は避けるべきです。広告やユーザー投稿など用途に応じて rel="sponsored" や rel="ugc" を使い分けることが、近年の検索エンジンの推奨に沿った実務的な対応となります。

参考文献

Google Search Central Blog: Evolving "nofollow"
Google Developers: Qualify Outbound Links
Google Search Central: About nofollow