コメント欄のリンクにrel="ugc"、nofollowとの違いと設定手順
コメント欄を開放したら、知らない会社の商品名が入ったリンクが増えてきた。とりあえず全部 nofollow にしてあるけれど、これで正しいのか分からない。そんな状態の方に、先に答えを書きます。
ユーザーが書き込んだリンクに付ける値として Google が推奨しているのは rel="ugc" です。nofollow でも間違いではありません。両方を rel="ugc nofollow" のように並べて書くこともできます。
ただし、属性を付けること自体は対策の半分です。もう半分は、スパム投稿をそのまま公開しない運用です。Google のスパムポリシーは、コメント欄に積もった宣伝リンクを「ユーザー生成スパム」の例として名指ししています。属性の話と運用の話を分けて進めます。
Google が ugc を勧めている場所
ユーザー作成コンテンツ(UGC)とは、コメント、口コミ、フォーラムの投稿のように、サイトの訪問者が書き込んだ内容のことです。自分が書いたのではないので、そこに含まれるリンクに自社が責任を持てません。
Google 検索セントラルの「Google に外部リンクの関係性を伝える」は、この種類のリンクについて明確です。コメントやフォーラム投稿のようなユーザー作成コンテンツのリンクには ugc の値を付けることを推奨する、と書いています。
そもそも rel 属性は何のためにあるのか。同じドキュメントの冒頭は、「リンク先ページと自サイトの関係を Google に伝えたいときに使う」と説明しています。普通のリンク、つまり Google にそのまま取得して解釈してほしいリンクには、rel を付ける必要はありません。
つまり ugc は「このリンクは訪問者が置いたもので、自社の推薦ではない」という関係性を伝える札です。コメント欄のリンクは、まさにこの札が要る場所です。
nofollow と何が違うのか
nofollow も同じドキュメントに載っている値です。違いは、伝える内容の細かさにあります。
| 値 | ドキュメントが示している用途 | コメント欄での位置づけ |
|---|---|---|
sponsored | 広告や有料掲載(いわゆる有料リンク)。以前は nofollow が推奨されていて今も許容されるが、sponsored が望ましい | コメント欄では通常使わない |
ugc | コメントやフォーラム投稿など、ユーザー作成コンテンツ内のリンク | 第一候補 |
nofollow | 他の値が当てはまらず、リンク先と自サイトを関連付けたくない、またはリンク先をクロールしてほしくないとき | 間違いではないが、場所の性質は伝わらない |
ポイントは nofollow の説明です。ドキュメントは「他の値が当てはまらないとき」に使う値としています。コメント欄には ugc という当てはまる値があるので、ugc のほうが正確です。
とはいえ、今 nofollow だけが付いている状態を慌てて直す必要はありません。後で触れるとおり、ugc を「足す」だけで済みます。
もう1つ、ドキュメントには見落としやすい一文があります。自社サイト内のページへのリンクで Google にたどってほしくないものがある場合は、nofollow ではなく robots.txt の disallow ルールを使う、という記述です。コメント欄の話とは別ですが、「内部リンクに nofollow」をしているサイトは一緒に見直す価値があります。
2つの値を同時に書いてよい
ugc と nofollow、どちらか1つを選ばなければいけないわけではありません。
ドキュメントは、複数の rel 値を半角スペースまたはカンマで区切って並べられると書いています。例として挙がっているのは rel="ugc nofollow" と rel="ugc,nofollow" の2通りです。
なぜ併記するのか。ugc は Google が推奨している値ですが、nofollow は長く使われてきた値です。Google 以外の検索エンジンや、rel の値を見て動く外部ツールが ugc を解釈するかどうかは、ツールごとに確認が要ります。両方を書いておけば、どちらしか読まない相手にも意図が伝わります。
既存のコメント欄がすでに nofollow を出しているなら、テンプレートの該当箇所に ugc を1語足すだけです。書き換えではなく追記で済むので、事故が起きにくい変更です。
付けたリンクはどう扱われるか
属性を付けると何が起きるのか。ここは期待しすぎないほうがよい部分です。
ドキュメントには、これらの rel 属性が付いたリンクは「一般的にはたどられない」とあります。同時に、リンク先ページはサイトマップや他サイトからのリンクなど別の経路で見つかることがあり、その場合はクロールされうる、とも書いています。
つまり、ugc を付けてもリンク先が検索結果から消えるわけではありません。属性の目的は「自社がそのリンクを推薦したことにしない」であって、リンク先の扱いを決めることではありません。
また、これらの属性は Google がクロールできる <a> 要素の中でだけ使う、という記述もあります。例外は nofollow で、robots の meta タグとしても使えます。ただし meta タグの nofollow はページ内のすべてのリンクに効くので、コメント欄だけを対象にしたいなら <a> 要素側に付けるのが筋です。
放置したコメント欄は「ユーザー生成スパム」の例そのもの
ここからが後半、運用の話です。
Google の「スパムに関するポリシー」には、「ユーザー生成スパム」という項目があります。ユーザー向けの投稿経路を通じてサイトに追加されたスパム的なコンテンツのことで、サイト所有者が気づいていないことが多い、と書かれています。例として挙がっているのは、フォーラムスレッドへのスパム投稿、ブログのコメントスパム、ファイルホスティングサービスへのスパムファイルのアップロードなどです。
同じページの「リンクスパム」の項目には、もっと具体的な例があります。投稿本文や署名に最適化されたリンクを含むフォーラムコメントで、「Thanks, that's great info! - Paul」の後に「paul's pizza san diego」「best pizza san diego」のようなリンクが続く形です。
見覚えがあるはずです。日本語のコメント欄なら「参考になりました!」の後に「格安 ○○ 通販」が付く、あの形です。
ここで押さえたいのは、ポリシーが問題にしているのは属性の有無ではなく、スパム的な内容がサイト上にあること自体だという点です。ugc を付けていても、宣伝リンクの山を公開し続けていれば、ポリシーが例に挙げた状態と見た目は変わりません。
だから、属性は入口であって出口ではありません。承認制、投稿前の確認、怪しいリンクの削除。そういう運用が揃ってはじめて、コメント欄は安全になります。
常連だけ属性を外す、という例外
逆に、信頼できる投稿者のリンクまで一律に ugc にするのは惜しい、という場面もあります。
ドキュメントはこの例外も認めています。信頼できる貢献者を評価したい場合、長期間にわたって一貫して質の高い投稿をしてきたメンバーやユーザーのリンクからは、この属性を外してもよい、という記述です。
ただし、この例外は設計を間違えると穴になります。属性を外すということは、そのリンクを自社が推薦した扱いにするということです。外した相手が後からスパムを投稿すれば、そのリンクは属性なしで公開されます。
自社で例外を作るなら、次の条件を揃えておくと安全です。これは公式の記述ではなく、運用上の目安です。
- 「常連」の定義を数で決める(承認済み投稿が一定数以上、かつ直近の削除・差し戻しがない)
- 判定は人が行い、テンプレートはユーザーの権限や役割を見て分岐させる(コメントごとの手作業にしない)
- 権限を付けた日と理由を記録し、スパムが出たら即座に権限を戻す
人数が少ないうちは、例外なしで全部 ugc にしておくほうが運用は軽いです。常連を優遇したくなったときに、はじめて設計すれば十分です。
自社サイトのコメント欄を点検する5ステップ
属性と運用、両方の確認を1回で済ませる手順です。コンテンツ管理システム(CMS)が何であっても流れは同じですが、途中の確認箇所は WordPress を例にします。
- コメントが付いている記事を1本開き、ブラウザの開発者ツールでコメント欄の HTML を見る。 要素パネルでコメント一覧の領域を選び、
rel=で検索します。ここで「どんなrelが出ているか」と「relが無い<a>があるか」の2点を見ます。 - ユーザー起点のリンクを場所ごとに分ける。 コメント本文中の URL、投稿者名に紐づくサイト URL、署名欄、そしてサイドバーの「最近のコメント」ウィジェットのような、コメント欄の外に出ていく表示です。最後のものが漏れやすいです。
- 出力パターンを3つに分類する。
ugcが入っている(そのまま)、nofollowだけ(ugcを追記)、何も付いていない(ugc nofollowを追加)。出力はテーマ・プラグイン・CMS のバージョンで変わるので、「WordPress だから大丈夫」と決めずに実物を見ます。 - 直すのはテンプレートかフィルターで、1件ずつ編集しない。 WordPress なら、コメント本文や投稿者リンクを出力している箇所(テーマの
comments.php、または出力に介在するフィルター)にugcを足します。ステップ2で見つけたウィジェットも同じ扱いにします。 - 公開 HTML で再確認し、ついでにスパムを数える。 ブラウザのソース表示か、次のコマンドでコメント領域の
<a>を抜き出してrelを目視します。
curl -s https://example.com/blog/some-post/ | grep -o '<a [^>]*rel="[^"]*"[^>]*>' | sort | uniq -c
最後の「スパムを数える」が運用側の点検です。承認済みコメントのうち、本文と無関係な商品名や地域名がアンカーテキストになっているものが何件あるか。この数が、属性ではなく承認フローを見直す必要があるかどうかの目安になります。
ワークスルー例:記事30本・コメント120件のブログで通してみる
架空の例ですが、実際に起きやすい結果を並べます。
ステップ1で開いた記事のコメント本文中のリンクには rel="nofollow ugc" が付いていました。ここは問題なし。
ステップ2で場所を分けると、投稿者名に紐づくサイト URL は rel="external nofollow" でした。ugc が無いので、ステップ4で ugc を追記する対象です。
さらに、サイドバーの「最近のコメント」に投稿者名が並び、そのリンクには rel が何も付いていませんでした。コメント欄は守っているのに、ウィジェットから素通りしていた形です。ここが今回いちばん大きい修正点になります。
ステップ5で数えると、承認済みコメント120件のうち14件は「参考になりました」の一言に通販サイトのリンクが付いたものでした。これは属性を直す対象ではありません。削除し、今後は初回投稿を承認制にする、という運用側の変更になります。
つまりこのサイトの結論は、「テンプレートに ugc を2か所足す。ウィジェットに ugc nofollow を足す。14件を消して承認制にする」の3つでした。属性だけ直して終わっていたら、14件は残っていたはずです。
判断表:リンクの場所ごとに何をするか
| リンクの場所 | 推奨する扱い | 根拠・注意 |
|---|---|---|
| コメント本文中の URL | ugc(nofollow 併記可) | ドキュメントが推奨する値そのもの |
| 投稿者名に紐づくサイト URL | ugc(nofollow 併記可) | ユーザーが入力した URL なので本文と同じ扱い |
| 「最近のコメント」などのウィジェット | コメント欄と同じ属性 | コメント欄の外に出るため漏れやすい |
| 口コミ・レビュー投稿内のリンク | ugc | ユーザー作成コンテンツとして同じ扱い |
| 審査済みの常連・会員の投稿 | 例外として属性を外すことも可 | 外す=自社の推薦になる。権限と記録で管理する |
| アンカーテキストが商品名・地域名の宣伝 | 属性ではなく削除・非承認 | スパムポリシーが例に挙げる形 |
| 自社スタッフが返信で貼った外部リンク | 自社が責任を持つなら rel なしでよい | 普通のリンクには rel 不要と明記 |
| 自社サイト内でたどらせたくないページへのリンク | robots.txt の disallow | ドキュメントが nofollow ではなくこちらを指示 |
一つめと二つめは、さきほどのワークスルーでいえばコメント本文と投稿者 URL です。三つめがウィジェット。六つめが削除した14件に当たります。表は上から順に、自社のコメント欄で該当する行だけ拾えば足ります。
よくある誤解
ugc を付ければスパム対策は終わり。 終わりません。属性は「自社の推薦ではない」と伝えるだけで、スパム的な内容がサイトに載っている状態は変わりません。承認フローと削除が本体です。
過去の nofollow を全部 ugc に書き換えないといけない。 書き換えは不要です。ドキュメントは複数の値を並べて書けるとしているので、ugc を追記して nofollow ugc にすれば済みます。
属性を付ければリンク先はインデックスされなくなる。 そうはなりません。ドキュメントは、リンク先が別の経路で見つかればクロールされうると書いています。リンク先の扱いを決める手段ではないと考えてください。
meta タグの nofollow でページ全体に効かせれば楽。 nofollow は robots の meta タグとしても使えますが、meta タグはページ単位の指示なので、そのページ内のリンクが広く対象になります。自社が推薦したい外部リンクや、本文中の参考リンクまで巻き込みます。コメント欄だけなら <a> 要素側で付けます。
まとめ:まず実物の HTML を見る
コメント欄のリンクには ugc。nofollow が付いていれば ugc を足す。属性の無いウィジェットを探す。そして宣伝リンクは属性ではなく削除で対応する。この4つを、公開ページの HTML を実際に見ながら確かめてください。
広告やアフィリエイトのリンクに付ける sponsored との使い分けは、広告リンクのrel属性、sponsoredとnofollowの使い分けにまとめています。自分で貼る外部リンクに nofollow を付けるべきか迷っているなら、外部リンクを貼ると評価は逃げる?公式が示す判断軸が判断の軸になります。内部リンクに nofollow を付けてしまっている場合は、内部リンクのnofollowをやめる判断と、検索に出さない正しい手順を先に読んでください。
出典
