トラックバックからリンク表示に変えてみました

シェアする

  • このエントリーをはてなブックマークに追加

先日の記事「DISQUSってトラックバックの表示が出来ない?
でも少し触れましたがこのブログでは、
コメントにDISQUSという外部のシステムを導入しています。

個人的にはかなり気に入ったシステムで、
Twitterでのリアクションも表示してくれるし、
最近はコメントも多くいただけるようになってうれしく思っていたのですが、
なんと、トラックバック一覧が出ないことに気がつきました。

MovableTypeなどでは一覧も出せるようになっているっぽいので、
そのうちバージョンアップするだろうとは思っているので、
とりあえずトラックバックはトラックバックで置いておくとして、
せっかくトラックバック通知をして下さっているのに、
一覧が出ないのは申し訳ない!ということで、2つの策をとりました。

  • 「リンクを張っていただいた方」の一覧を表示
  • 同じようなネタについて言及しているサイトの表示

この2つです。具体的な中身については折りたたみます。

リンクを張ってもらった方の一覧表示

実は私自身トラックバックを以前と違い多用していなかったので、
ほとんどトラックバックって来ないので、気づいてませんでした。
鹿田君の「大事なことはすべて記録しなさい」の感想を書いたときに、
ご本人からトラックバックを頂いて初めて気がついた次第(大汗)
みなさま、大変失礼いたしました。

とにかく言及して下さったサイトに関して、
ここはリンクを張らないと失礼だ!とも思うので、あわてて検索し、
行ったのが、自動でリンクを張っていただいた方のサイトを表示する方法。

先ほどの感想記事のリンクはこんな風に表示されています(09/11/23現在) hirinku.png
Google AJAX Feed APIというものを利用しているのですが・・・
勉強したいと思っているとはいえ、文系の私。
自力で出来るはずもなく・・・。

How to 自動でリンクを張っているサイトの一覧を作るか。

Creazyさんの
Trackbackをやめて、Google AJAX Feed APIを使って被リンクを表示
をコピーさせて頂きました。

まずはGoogle AJAX Feed APIに登録します。
Google AJAX Feed API への登録 – Google AJAX Feed API – Google Code

キーというのが作られるので、それを保管。

あとはこのCreazyさんのところにあるスクリプトにキーを貼り付けて
ブログに貼り付けただけ。

bodyタグのとじタグ直前に貼り付けるタグ

<script type="text/javascript" src="http://www.google.com/jsapi?key={YOUR_API_KEY}"></script>
<script type="text/javascript">
google.load("feeds", "1");
function initialize() {
var url = location.href;
var num = 100;
// Get Linkbacks from Google Blog Search
var feed = new google.feeds.Feed("http://www.google.co.jp/blogsearch_feeds?scoring=d&q=link%3A"+encodeURIComponent(url)+"&output=rss&num="+num+"&ie=utf-8");
feed.setNumEntries(num);
feed.setResultFormat(google.feeds.Feed.XML_FORMAT);
feed.load(function(result) {
if (!result.error) {
var items = result.xmlDocument.getElementsByTagName('item');
var entry = [];
var html = '<ul id="linkback_list">\n';
for (var i = 0; i < items.length; i++) {
entry = [];
// make simple array from item nodes
// You can access values like "entry['key']"

for ( var j=0; j<items[i].childNodes.length; j++ ) {
item = items[i].childNodes[j];
entry[item.nodeName] = item.textContent || item.innerText;
}
html += '<li class="linkback_entries">';
html += '<a class="linkback_links" href="'+entry['link']+'" rel>'+entry['title']+'</a>';
html += '<span class="linkback_blogs">('+entry['dc:publisher']+')</sapn>';
html += '<span class="linkback_dates">'+entry['dc:date'].substring(0,10)+'</sapn>';
html += '</li>\n';
}
html += '</ul>\n';
document.getElementById("linkbacks").innerHTML = html;
}
});
}
google.setOnLoadCallback(initialize);

そして自分のブログでこのリンクを表示させたいところへ

<div id=”linkbacks”></div>

このタグをぺたっと貼り付けて終了です。

私の場合は自分のブログに雰囲気があうよう、CSSを書き換えて、
他のコメントなどと雰囲気をあわせ、
それにプラス、Crazyさんもやってらっしゃるのですが、
トラックバックURLを表に出す代わりに、リンクURLを表に出しました。

トラックバックURLを表示してあった場所に、私はWordpressを使っているので、

<input onfocus=”this.select()” readonly=”readonly” value=”<a href=&quot;<?php the_permalink(); ?>&quot; target=&quot;_blank&quot;><?php the_title(); ?></a>” class=”tb_url” id=”tb_url” >

こういう一文を入れ、CSSでまた調整。

このときの注意としては、「”」とか「<」とか、
wordpressが表示用なの?構文用なの?ってわからなくなっちゃう部分は、
それがわかるように書いてやるってことだけ。

トラックバックを残す理由は・・・

で、私の場合、トラックバック(DISQUSの)を残しています。
それはなぜか。

最近スパムも多いし、トラックバックは嫌われ者。
でもブログが世に出始めたとき、このトラックバックが画期的だった!と思います。

いろいろとトラックバックの意義みたいなものを考えてみたんですね。

For Readers(読み手にとっては)

  • 同じことに言及している他のブログも見ることが出来る

For boggers(ブロガーにとっては)

  • 他にリンクを張らせてもらうことによって、宣伝になる。
  • リンクを張らせてもらうのが楽(笑)
  • 似た記事のブログを書いていることを知らせ、コミュニケーションが生まれるかも

利点はまだまだあるなぁと思ったんですね。

で、トラックバックを残しておくことで、リンクを張ることが楽ということに注目。
トラックバックをしていただいたら、こちらもトラックバック返しをさせて頂く。
そうすれば、こちらの記事が、あちらにも貼られ、
Google APIが拾ってくれば、一覧表示される。
まさにWin-Winな関係?なんて思っているわけです(笑)

問題点は・・・

大きな問題点はjavascriptがとても重いときがある。

それともう一つ、googleにクロールされていないと表示されない。

このあたりが問題点。
トラックバックが早く表示されるようになってくれるとうれしいんですが。。。

同じようなネタについて言及しているサイトの表示。

これは実は設置からかなり経っているのに、まだサイトには反映されてないんですよね。
シムエントリというものなんだけど、これは反映されてから書きます。

また、同じようなプラグインなどを探してみて、
リポートします。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする