IISサーバでHTMLファイル以外にcanonical属性をつける方法

小ネタですが、サーバサイドでうんたらやる方には、便利ではないかと。

6月半ばから、HTTPヘッダーでcanonical属性を設定してクローラに伝えることができるようになりました。

canonical属性は、一般的にはHTMLファイルの<head>内に直で書くか、ないしHTMLファイルではない場合、htaccessで指定するやり方が一般的です。

例えばこんな感じですね

<Files “/xxx/yyy.xml”>
Header set Link “<http://hogehoge.com/xxx/yyy.html>; rel=”canonical””
</Files>

htaccessでやってしまえば、大概が何とかなるのですが、サーバがIISの場合もあります。

そんなときに…以下の記事が参考になるかと思います。

▼How To Implement rel=”canonical” HTTP Headers
http://www.searchenginepeople.com/blog/hwoto-canonical-headers.html

Googleオフィシャルブログによると、以下のように出ていれてばいいようです。

GET /white-paper.pdf HTTP/1.1
Host: www.example.com (…rest of HTTP request headers…)

HTTP/1.1 200 OK
Content-Type: application/pdf
Link: ; rel=”canonical”
Content-Length: 785710 (… rest of HTTP response headers…)


なので、先ほどの記事によると、具体的にはこんな感じでLink属性として設定できるみたいです。

ASP.Net C#:

<%Response.AddHeader(@”Link”,@”< http://www.yoursite.com/>; rel=”"canonical”"”);%>

ASP VBScript:

<%Response.AddHeader “Link”,”< http://www.yoursite.com/>; rel=”"canonical”"”%>

PHP:

<?php header(“Link: <http://www.yoursite.com/>; rel=”canonical”");?>

IIS系のサーバを使っている方には結構便利な情報です。

お悩みの方へ。一回のご相談で解決することもあります
ラウンドナップ・コンサルティングへのお問合せ方法 お電話でのご相談もお気軽に。[048-234-3361](10〜16 土日祝日除)全国対応 24時間受付 お問合せメールフォーム