it-swarm-es.com

¿Se pueden registrar las anclas faltantes?

Si tengo un enlace roto, se registra con un 404. Si tengo un enlace a un ancla y falta el ancla, no obtengo una entrada en el registro. ¿Cómo puedo encontrar esos enlaces de anclaje rotos, especialmente si el tráfico proviene de un referente? ¿Hay alguna forma de configurar el registro para capturar esta información?

Servidor HTTP: Apache 2

8
Dennis Williamson

Es imposible configurar el registro de la parte #fragmento de la URL porque su servidor web nunca lo ve. De RFC3986

el identificador del fragmento se separa del resto del URI antes de una desreferencia, y por lo tanto la información de identificación dentro del fragmento en sí es desreferenciada únicamente por el agente de usuario, independientemente del esquema de URI. Aunque a menudo se percibe que este manejo separado es una pérdida de información, particularmente para la redirección precisa de referencias a medida que los recursos se mueven con el tiempo, también sirve para evitar que los proveedores de información nieguen a los autores de referencia el derecho de referirse a la información dentro de un recurso de manera selectiva. La referencia indirecta también proporciona flexibilidad y extensibilidad adicionales a los sistemas que usan URI, ya que los nuevos tipos de medios son más fáciles de definir e implementar que los nuevos esquemas de identificación.

Lo que esto significa es que el navegador web básicamente elimina la parte de anclaje del URI antes de enviarlo al servidor web. El protocolo HTTP ni siquiera trata con fragmentos debido a esto; nunca se envían por cable.

Los fragmentos están disponibles para JavaScript (porque es del lado del cliente) como parte de la propiedad location.href. Una vez que obtenga el nombre del fragmento, puede confirmar que es válido buscando en la propiedad de nombre de los elementos de la matriz document.anchors [] para ese valor.

Una vez que haya hecho esto, puede registrarse usando AJAX o, como notas de pelms , pasar a Google Analytics o servicios similares.

11
JasonBirch

Como han dicho otros, los anclajes de página son algo en lo que opera el navegador en lugar del servidor web.

Puede usar algún código para pasar la información de anclaje a su programa de Analytics. Por ejemplo, puede extraer el valor location.hash y pasarlo a Google Analytics como variable personalizada .

De manera más útil, podría ejecutar código que verifique en la página html un ancla que corresponda al valor de location.hash y si falta, se activa un evento GA . Eso le daría un GA informe sobre enlaces de página rotos cuando los usuarios hagan clic en ellos.

3
pelms

No creo que sea posible ver esto en los registros de Apache. Si se solicita y sirve un archivo, eso prácticamente termina la participación de Apache (o cualquier otro servidor). Encontrar y posicionarse en el ancla es algo que hace el navegador. Para cuando su navegador llegue a localizar el ancla, la conexión al servidor ya está cerrada.

Un buen verificador de enlaces debería recogerlo, pero ese es un proceso manual.

1
Tim Post

CSE HTML Validator busca anclajes faltantes ... por un precio.

Ver http://www.htmlvalidator.com/htmlval/whycseisbetter.html

0
vmarquez