短縮URLや自動転送サイトのリンク(リダイレクト)のnofollow有無の調査方法
2014年10月04日
仕事のちょっとした用事で、あるyahoo関連サイトに掲載された被リンクにnofollowが入っているかどうかを調べることになりました。しかしこのサイト、一旦リンクはyahoo内のプログラムに飛ぶようになっており、そこから転送される仕様です。
ということでその調べ方。
一般的なaタグの場合はソースを見て<a href=”signin.php” rel=”nofollow”>sign in</a>のように記載してあるか調べればOKですよね。Googleのbotは、おそらくこのnofollowを見た時に、そのリンク先をnofollowとして扱って動くのでしょう。(詳しくはないです。違うと思いますが、ひょっとしてApacheがやっていたらごめんなさい)
では、プログラムなどによる転送時はどうか?
プログラムで転送する場合は、最終的に転送用のヘッダー情報をおくることになります。
Googleのbotの動きを考えると、そのHTTPリクエストのヘッダー情報中にnofollowがあれば、そのリンクをnofollowとして扱うという動きになっているようです。
じゃぁどんなヘッダーかというとX-Robots-Tagというものがあります。ここのnofollowやnoindexが入っていると、そのように扱われます。
ということでHTTPリクエストのヘッダー情報を見ればいいのですね。
Chromeでは、以下の手順で、全タブの通信時のヘッダー情報を見ることができます。
1.Chromeの新規タブでchrome://net-internals/#eventsと入力してEnter
2.別タブで開いているサイトを開き、調べたいリンクをクリックする
3.1で開いていたタブに戻り、転送された時の通信情報を探す(下図参照)
上記の中でURL_REQUESTを見つけてクリックすると、右側にその通信の中身が表示されます。
リダイレクトをしている部分は、こんな感じです。
t=91350 [st=75] HTTP_TRANSACTION_READ_RESPONSE_HEADERS
–> HTTP/1.1 302 Found
Server: nginx
Date: Sat, 04 Oct 2014 01:37:38 GMT
Content-Type: text/html
Content-Length: 1452
Connection: close
Cache-Control: private, max-age=0, no-cache
P3P: policyref=”http://privacy.yahoo.co.jp/”
Location: http://example.com/
Cache-Control: private
Vary: Accept-Encoding
Content-Encoding: gzip
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
ここからわかることは
・302リダイレクトを使用している
・X-Robots-Tagがないのでnofollowではない
ということです。
もしX-Robots-Tagが入っていると、上記はこんな感じになっているはずです。
–> HTTP/1.1 302 Found
Server: nginx
Date: Sat, 04 Oct 2014 01:37:38 GMT
Content-Type: text/html
Content-Length: 1452
Connection: close
Cache-Control: private, max-age=0, no-cache
P3P: policyref=”http://privacy.yahoo.co.jp/”
Location: http://example.com/
Cache-Control: private
Vary: Accept-Encoding
Content-Encoding: gzip
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Robots-Tag: noindex,nofollow
あまり情報がなかったので誰かの参考になるかと思い書いてみました。
X-Robots-Tagについては、このあたりの方の情報が参考になりました。感謝。
▼海外SEO情報ブログ 鈴木さん
▼SEO Imagination 伊藤さん