No sabía que esto era algo hasta la publicación de Stefan Judis:
<a href="https://www.stefanjudis.com/popular-posts/"
ping="https://www.stefanjudis.com/tracking/">Read popular posts</a>
Le das a un enlace de anclaje una URL a través de un ping
atributo, y el navegador accederá a esa URL con una solicitud web (un PING literal) cuando se haga clic. Los encabezados tienen un ping-to
clave con el href
valor del enlace.
¿Por qué? Datos. ¿No sería bueno saber en qué enlaces externos hacen clic las personas en su sitio web?
Incluso si tiene Google Analytics instalado, no obtiene esos datos de forma predeterminada. Tendrías que escribir algo personalizado o usar algo como su complemento autotrack con el outboundLinkTracker
. Hagas lo que hagas, no es trivial, ya que para funcionar, tiene que:
- Haga que JavaScript intervenga
- Evitar la acción predeterminada del enlace (ir al sitio web)
- Seguimiento del evento (envíe un ping a algún lugar)
- Luego, dígale al navegador que vaya al sitio web (window.location =…)
Esto se debe a que ejecutar un poco de JavaScript para hacer ping a su servicio de seguimiento no es confiable con un clic fuera del sitio. Su sitio se está descargando y el nuevo sitio se está cargando lo más rápido posible, lo que significa que es posible que ping no tenga la oportunidad de ejecutarse.
Presumiblemente, con el ping
atributo, no tiene que hacer este pequeño baile de JavaScript de enviar el ping antes de que se descargue la página; simplemente funcionará. Eso es una gran ventaja para esta técnica. Es genial trasladar ideas complejas a lenguajes de nivel inferior que funcionan mejor y más fácilmente.
Sin embargo, hay un montón de desventajas. No obtienes exactamente una buena API para enviar metadatos. Lo mejor que puede hacer es agregar una cadena de consulta para obtener datos adicionales (por ejemplo, ¿estaba el enlace en el pie de página? ¿O estaba en una publicación de blog?). Pero quizás la mayor limitación es que es solo para enlaces de anclaje. Si estuviera construyendo una cosa de seguimiento de eventos realmente seria, querría que sea útil para cualquier tipo de evento (no solo clics) en cualquier tipo de elemento (no solo enlaces). Por lo tanto, no es de extrañar que este sea casi en su totalidad el dominio de JavaScript.
Enlace directo →