Ich wusste nicht, dass das existiert, bis Stefan Judis' Beitrag
<a href="https://www.stefanjudis.com/popular-posts/"
ping="https://www.stefanjudis.com/tracking/">Read popular posts</a>
Sie geben einem Ankerlink über ein `ping`-Attribut eine URL und der Browser ruft diese URL mit einer Webanfrage (einem buchstäblichen PING) auf, wenn darauf geklickt wird. Die Header haben einen `ping-to`-Schlüssel mit dem `href`-Wert des Links.
Warum? Daten. Wäre es nicht schön zu wissen, auf welche externen Links Leute auf Ihrer Website klicken?
Selbst wenn Sie Google Analytics installiert haben, erhalten Sie diese Daten nicht standardmäßig. Sie müssten etwas Benutzerdefiniertes schreiben oder ein Plugin wie ihr autotrack-Plugin mit dem outboundLinkTracker verwenden. Was auch immer Sie tun, es ist nicht trivial, da es, um zu funktionieren, muss
- JavaScript eingreifen lassen
- Die Standardaktion des Links (zum Aufrufen der Website) verhindern
- Das Ereignis verfolgen (irgendwohin einen Ping senden)
- Dann den Browser anweisen, tatsächlich zur Website zu gehen (window.location = …)
Das liegt daran, dass das Ausführen eines kleinen JavaScripts, um Ihren Tracking-Dienst anzupingen, bei einem externen Klick unzuverlässig ist. Ihre Seite wird entladen und die neue Seite so schnell wie möglich geladen, was bedeutet, dass der Ping möglicherweise keine Chance hat, ausgeführt zu werden.
Vermutlich müssen Sie mit dem `ping`-Attribut diesen kleinen JavaScript-Tanz des Sendens des Pings vor dem Entladen der Seite nicht durchführen – es wird „einfach funktionieren“. Das ist ein großes Plus für diese Technik. Es ist so cool, komplexe Ideen in Low-Level-Sprachen zu verschieben, die einfacher und besser funktionieren.
Es gibt jedoch viele Nachteile. Sie erhalten keine schöne API zum Übergeben von Metadaten. Das Beste, was Sie tun könnten, wäre, eine Query-String für zusätzliche Daten anzuhängen (z. B. befand sich der Link in der Fußzeile? oder in einem Blogbeitrag?). Aber die vielleicht größte Einschränkung ist, dass es nur für Ankerlinks gilt. Wenn Sie eine wirklich ernsthafte Ereignisverfolgung entwickeln würden, möchten Sie, dass sie für jeden Ereignistyp (nicht nur Klicks) auf jedem Elementtyp (nicht nur Links) nützlich ist. Es ist also nicht besonders überraschend, dass dies fast ausschließlich die Domäne von JavaScript ist.
Warum nicht Google Tag Manager verwenden und ein Ereignis erstellen, das bei allen URLs ausgelöst wird, die eine Domain enthalten, die von der Domain der Website ausgeschlossen ist?
Es scheint, dass `autotrack` nicht mehr gepflegt wird. Außerdem ist gtag.js seit einiger Zeit verfügbar und Google empfiehlt, es anstelle von analytics.js zu verwenden. Könnte gtag.js nicht automatische Dinge für uns tun?
Google verwendet das Ping-Attribut in seinen Suchergebnissen, wenn Sie nicht Firefox verwenden. Ich habe letztes Jahr darüber geschrieben: https://dev.to/madsstoumann/google-tracking-and-the-ping-attribute-41d5
Die DSGVO betrifft Tracking/personenbezogene Daten im Allgemeinen, nicht nur Cookies – daher frage ich mich, ob Ping-basiertes Tracking legal ist, wenn Sie es ohne Information des Endnutzers verwenden?
Ich weiß nicht, ob das Anpingen von etwas automatisch personenbezogene Daten verfolgt. Das wäre der Fall, wenn Sie beispielsweise einen eingeloggten Benutzer hätten und seinen Namen und seine E-Mail-Adresse als Query-Parameter senden würden. Bin aber kein Anwalt.
Ich bin auch kein Anwalt :-) Aber es kann das Nutzerverhalten verfolgen, und vielleicht ist das der Grund für die Deaktivierung in Firefox? Außerdem erfüllen keine Browser, die das Ping-Attribut unterstützen, dies
„Wenn das Ping-Attribut vorhanden ist, sollten Benutzeragenten dem Benutzer klar anzeigen, dass das Folgen des Hyperlinks auch sekundäre Anfragen im Hintergrund sendet, möglicherweise einschließlich der Auflistung der tatsächlichen Ziel-URLs.“
Das Ping-Attribut ist auch ein riesiges Sicherheitsloch. Es gibt keine Begrenzung für die Anzahl der URLs, die es anpingen kann, die URLs sind nicht auf dieselbe Domain wie der ursprüngliche Klick beschränkt, und es wird dem Endbenutzer nicht ohne aktive Nutzung von Dev Tools angezeigt.
Dieses Feature wurde 2010 aus der HTML5-Spezifikation entfernt, da es für bösartige Ausnutzungspotenzial hatte. Google hat Glück, dass es bisher nicht die Quelle einer großen Datenpanne war.
Eigentlich, lassen Sie mich mich korrigieren: es *wurde* bösartig eingesetzt. https://www.imperva.com/blog/the-ping-is-the-thing-popular-html5-feature-used-to-trick-chinese-mobile-users-into-joining-latest-ddos-attack/