はてなブックマーク開発ブログ

機能変更、お知らせなど

はてなブックマークの正規化にルールを追加しました

はてなブックマークの正規化にルールを追加しました

以前よりはてなブックマークでは、同一 URLブックマークをまとめるため、ref=rss 等のクエリパラメータを取り除く等、サーバサイドでの URL の正規化を行っていました。 本日、このはてなブックマークサーバサイドでの URL の正規化に、以下のルール二つを追加しました。

feedburner 等経由で付与される utm クエリパラメータの削除

feedburner を通した RSS 等経由のリンクで付与される utm_source 等のクエリパラメータを正規化時に削除するルールを追加しました。RSSリーダー等経由でブックマークされる場合、意図しないクエリパラメータが追加されてしまうことがあるため、以下のクエリパラメータの削除を行います。

  • utm_source
  • utm_medium
  • utm_campaign
  • utm_content

例として挙げると、

URLブックマークしようとした場合、utm_source の部分が削除され以下の URLブックマークされるようになります。

もし、特定サイトで上記クエリパラメータが付いてないと正常にコンテンツが閲覧できない場合がありましたらご連絡ください。

URLエンコード(パーセントエンコーディング)された文字列は、すべて大文字として扱う

以前まではてなブックマークでは、パーセントエンコーディングされた文字列は小文字・大文字を区別して異なる URL としてブックマークできました。今回の変更で、すべて大文字としてブックマークされるようになります。RFC3986 ではパーセントエンコーディングの大文字小文字は等価として扱い、また正規化では大文字を使用すべきとのことから、サーバサイドの正規化に追加しました。

これの変更により、たとえばはてなダイアリーキーワードのマルチバイト文字を含むキーワードブックマークエントリーページが複数作成されてしまうような事例は今後は発生しません。

また今回の変更以前にブックマークされたエントリーに対しては、正規化前のエントリーの URL と正規化後のエントリーの URL が存在する場合があります。その場合、正規化前のエントリーページを表示すると以下のスクリーンショットのように、正規化後のエントリーページの URL も提示するようなナビゲーションの追加を行っています。どうぞご利用ください。

f:id:secondlife:20100217120752p:image:w400