トラックバックの仕組みがわかってない。
トラックバックはリンク元サイトに「このような記事からリンクを張った」という情報を通知する仕組みで、リンク元記事のURLやタイトル、内容の要約などが送信される。トラックバックされたサイトはこの情報を元に「この記事を参照している記事一覧」を自動的に生成することができる。 相手に送信されるトラックバック通知のことを「トラックバック・ピング」(trackback ping)と呼び、通知の送信先を「トラックバックURL」(trackback URL)という。多くのウェブログの記事には隅に「この記事へのトラックバックURL」が記載されている。
トラックバックに使用されるプロトコルは、RESTアーキテクチャを採用している。また送信にはHTTPのPostメソッドが、返信にはXMLメッセージが使用される。
トラックバック技術仕様書 ここに詳しく書いてある。
トラックバックの送信は、すごく単純で、title、excerpt、url、blog_nameをトラックバックURLにPOSTで送ればいいだけらしい。自分のブログに送ってみたら出来てた。
function send_trackback($Model, $ping_url, $title, $excerpt, $url, $blog_name) { if(empty($ping_url)) return false; $HttpSocket = new HttpSocket(); try{ $HttpSocket->post($ping_url, array( 'url' => $url, 'title' => $title, 'excerpt' => $excerpt, 'blog_name' => $blog_name )); }catch(Exception $e){ $this->log($e->getMessage()); } }
エラーチェックとかしてないけど。下記のようなものが返ってきた。これはエラーがない状態。
<?xml version="1.0" encoding="utf-8"?> <response> <error>0</error> </response>