RiTurban‘sサイト解析ブログ

短縮URLや自動転送サイトのリンク(リダイレクト)のnofollow有無の調査方法

2014年10月04日

仕事のちょっとした用事で、あるyahoo関連サイトに掲載された被リンクにnofollowが入っているかどうかを調べることになりました。しかしこのサイト、一旦リンクはyahoo内のプログラムに飛ぶようになっており、そこから転送される仕様です。

基本的に短縮URLなどプログラムによるリダイレクトでもSEOの被リンク効果はあるとマット・カッツも言っているようですが、(参考:http://www.suzukikenichi.com/blog/do-url-shorteners-pass-anchor-text-or-pagerank/)その情報にnofollowが入っているかは重要です。

ということでその調べ方。

一般的な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で開いていたタブに戻り、転送された時の通信情報を探す(下図参照)
chrome___net-internals_#events.png


上記の中で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情報ブログ 鈴木さん
http://www.suzukikenichi.com/blog/x-robots-tag-via-php/
▼SEO Imagination 伊藤さん
http://holy-seo.net/blog/seo/x-robots-tag-index-and-redirect/