<a href="" ping=""></a>

更新日
仕様 HTML Living Standard
分類 フロー・コンテンツ / フレージング・コンテンツ / インタラクティブ・コンテンツ(href属性がある場合に限る) / パルパブル・コンテンツ
利用場所 フレージング・コンテンツが置ける場所
内容 トランスペアレント(親要素のコンテンツモデルを継承) ただし、インタラクティブ・コンテンツa要素、およびtabindex属性が指定された要素は含められない

a要素ping="" を追加すると、リンクをクリックした時にping(POSTリクエスト)を送信することができます。

この機能を使うことで、どのリンクが何回クリックされたのかといった情報を取得できるようになります。(別途プログラムが必要)


<a href="example.html" ping="tracking.cgi">リンクテキスト</a>

属性
任意属性
href="" リンク先の指定 URL リンク先のURL
ping="" [+]pingの送信先 URL 半角スペース区切りで複数指定可能

href属性とping属性について

href属性
href属性の値には、リンク先のURLを指定します。ここで指定されたリンク先のページが、ユーザーに表示されることになります。
ping属性
ping属性の値には、pingの送信先となるURLを指定します。この送信はバックグラウンドで行われます。(受信する側には、データの処理を行うプログラムが必要です)

次の例では、リンク先として example.html、pingの送信先として log.cgi を指定しています。

<a href="example.html" ping="log.cgi">リンクテキスト</a>

複数のURLにpingを送信する場合は、半角スペースで区切って次のように記述します。

<a href="example.html" ping="log1.cgi log2.cgi">リンクテキスト</a>

pingの送信内容について

送信されるping(POSTリクエスト)の内容には、次の3つの情報が含まれています。

Ping-From ヘッダー
リンク元のURLが入っています。HTTP_PING_FROM で取得が可能。
Ping-To ヘッダー
リンク先のURLが入っています。HTTP_PING_TO で取得が可能。
本文
リクエストの本文は PING という文字列です。

例えば、今見ているこのページからトップページにリンクした場合は、

<a href="../../" ping="/cgi/tracking.cgi">リンクテキスト</a>

取得できるURLは次のようになります。

  • Ping-From: https://www.tagindex.com/html/text/a_ping.html
  • Ping-To: https://www.tagindex.com/
  • ただし、SSLで保護されたページにリンクが設置されていて、pingの送信先が異なるオリジンになる場合には、Ping-From(リンク元のURL)は取得できません。

pingの用途

ping属性とプログラムの処理を組み合わせることで、広告の効果測定やダウンロード回数の集計などに役立てることができます。

使用例

広告の効果測定で使用した例

<p><a href="https://example.com/lp/" ping="/cgi/tracking.cgi">広告のテキスト</a></p>

ダウンロード回数の集計で使用した例

<p><a href="photo01.jpg" download="写真01" ping="/cgi/counter.cgi">ダウンロード</a></p>