PHP 2009/12/08 09:08
同じエントリへのはてブがバラバラに付く
近頃、同じエントリへのはてブが別々のブックマークになっていませんか。
Wordpressでこの現象の対応方法を考えました。

utm_sourceというURLパラメータが
いつの頃か、FeedBurnerやTwitterFeedからのリンクに「utm_source=feedburner」といったURLパラメータが付くようになりました。これ自体はGoogle Analytics用なので、特に害は無いのですが、リンク先のblog側からすると1点だけ困ることがあります。
はてブがバラバラに付く
冒頭に触れたように、同じエントリに対するはてブなのにURLパラメータが付くことにより、別のPermlinkとして判定され、別のブックマークになってしまいます。つまり同じエントリへのはてブなのに、はてブ数が合算されません。
例えば以下のリンク先は同じエントリに対するはてブなのですが、FeedBurnerが付けるURLパラメータがあるため、5つに分かれています。
同じエントリなのに別々のブックマークになっています。
小さな事といえば小さな事なのですが、なんだかちょっぴり悲しいですよね。
URLパラメータを取り除く
これはPermlinkに不要なURLパラメータが付いているのが原因なので、それを取り除いてしまおうという話です。
方法は至ってシンプルで、utm_source=がURLパラメータにあれば、mod_rewriteでURLパラメータナシURLにリダイレクトするだけです。
Wordpressなら.htaccessに以下の記述を入れるだけです。/blogの箇所は各サイト毎に変更して下さい。また、この例ではPermlinkとして「*.html」という形式を想定しています。他のPermlinkの人は変更して下さい。
-
<IfModule mod_rewrite.c>
-
RewriteEngine On
-
RewriteBase /blog/
-
-
# ↓を追加
-
RewriteCond %{QUERY_STRING} utm_source=
-
RewriteRule ^(.*\.html)$ /blog/$1? [R,L]
-
# ↑を追加
-
-
RewriteCond %{REQUEST_FILENAME} !-f
-
RewriteCond %{REQUEST_FILENAME} !-d
-
RewriteRule . /blog/index.php [L]
-
</IfModule>
対処療法
対処療法的ではありますが、この方法を使えば、FeedBurnerからのリンクでもPermlinkを揃えることができ、はてブが分散することもありません。
他のサービスで特殊なURLパラメータが付けられても、記述を追加していけば、URLパラメータを取り除くことができます。
なおFeedBurnerやTwitterFeedを利用している人がそれぞれのサービスで設定変更する方法は、以下のリンクが詳しいです。
■Related Posts






on 17 12月 2009 at 12:48 1.Creazy! said …
ちょっとまった!→FeedBurner経由の分散したブックマークを一つにまとめる方法...
つい先日、FeedBurnerのトラッキング用パラメーターを取り除くUserScriptというのを公開したのですが、FeedBurnerやTwitterFeedが勝手に追加してくるパラメーターがウザイと感じている人が多いようですね。んで、ボクの書いたUserScriptはクライアント(閲覧者側)の対応方法だったんですけど、サイトオーナー側の対応方法としていくつかエントリーがでてきました。 同じエントリへのはてブがバラバラに付く | Shin x blog FeedBunner経由の分散したブックマ...
on 19 12月 2009 at 22:01 2.Garnet Sky≫ 気になったものリンク 12月15~19日 (#79) said …
[...] 同じエントリへのはてブがバラバラに付く | Shin x blog [...]
on 06 2月 2010 at 23:59 3.FeedBurner経由の人だけ、はてなブックマークが違うブックマークになる件 | Web活メモ帳 said …
[...] 同じエントリへのはてブがバラバラに付く | Shin x blog [...]