Acerca de este problema HTML
El atributo ping especifica una lista separada por espacios de URLs que el navegador debe notificar (mediante una pequeña petición POST) cuando un usuario sigue un hiperenlace. Esto se usa comúnmente para seguimiento de clics y analíticas. Según la especificación HTML, cada URL en la lista debe ser una URL válida y no vacía que use el esquema http o https — no se permiten otros esquemas o rutas relativas.
Esta restricción existe por razones prácticas y de seguridad. El mecanismo ping está específicamente diseñado para endpoints de seguimiento basados en web, por lo que solo tienen sentido los protocolos web. Las URLs relativas no están permitidas porque el ping se envía como una petición separada independiente de la navegación normal, y la especificación requiere URLs absolutas para identificar inequívocamente el servidor objetivo. Usar valores inválidos no producirá el comportamiento de seguimiento deseado y hará que el navegador ignore silenciosamente el atributo ping por completo.
Desde el punto de vista de la accesibilidad y el cumplimiento de estándares, asegurar valores ping válidos significa que tus analíticas funcionarán de manera fiable en navegadores que soportan el atributo. Ten en cuenta que el soporte del navegador varía — algunos navegadores (notablemente Firefox) desactivan ping por defecto o lo ocultan tras una preferencia — por lo que no deberías depender de él como tu único mecanismo de seguimiento.
Cómo solucionarlo
-
Reemplaza URLs relativas con URLs absolutas. Si tienes un valor como
/trackotrack.php, antepón el origen completo (ej.,https://example.com/track). -
Elimina esquemas no-HTTP. Valores como
mailto:someone@example.comoftp://example.com/logno son válidos paraping. -
Asegúrate de que cada URL en la lista esté correctamente formateada. Múltiples URLs deben estar separadas por espacios (no comas o punto y comas), y cada una debe ser una URL
httpohttpscompleta.
Ejemplos
Incorrecto: URL relativa
<a href="https://example.com" ping="/track">Visit Example</a>
El valor /track es una URL relativa, lo cual no está permitido en el atributo ping.
Incorrecto: esquema no soportado
<a href="https://example.com" ping="ftp://example.com/log">Visit Example</a>
El esquema ftp: no está permitido — solo http y https son válidos.
Incorrecto: URLs separadas por comas
<a href="https://example.com" ping="https://example.com/track, https://analytics.example.com/log">Visit Example</a>
Múltiples URLs deben estar separadas por espacios, no por comas. Las comas hacen que cada URL sea inválida.
Correcto: URL absoluta única
<a href="https://example.com" ping="https://example.com/track">Visit Example</a>
Correcto: múltiples URLs absolutas separadas por espacios
<a href="https://example.com" ping="https://example.com/track https://analytics.example.com/log">Visit Example</a>
Cada URL es una URL https completamente cualificada, y están separadas por un único espacio. Ambas recibirán una petición POST cuando se haga clic en el enlace (en navegadores que soporten el atributo ping).
Encuentra problemas como este automáticamente
Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.