Si j'ai un lien cassé, il est enregistré avec un 404. Si j'ai un lien vers une ancre et que l'ancre est manquante, je n'ai pas d'entrée dans le journal. Comment puis-je trouver ces liens d'ancrage rompus, surtout si le trafic provient d'un référent? Existe-t-il un moyen de configurer la journalisation pour capturer ces informations?
Serveur HTTP: Apache 2
Réponses:
Il est impossible de configurer la journalisation de la partie #fragment de l'URL car votre serveur Web ne la voit jamais. De RFC3986
Cela signifie que le navigateur Web supprime essentiellement la partie d'ancrage de l'URI avant de l'envoyer au serveur Web. Le protocole HTTP ne gère même pas les fragments à cause de cela; ils ne sont jamais envoyés par fil.
Les fragments sont disponibles pour JavaScript (car il est côté client) dans le cadre de la propriété location.href. Une fois le nom du fragment obtenu, vous pouvez confirmer qu'il est valide en recherchant cette valeur dans la propriété name des éléments du tableau document.anchors [].
Une fois que vous avez fait cela, il peut être enregistré à l'aide d'AJAX ou, comme des notes , transmis à Google Analytics ou à des services similaires.
la source
<a name="blah"></a>
vous ne pourrez pas déterminer l'existence avec getElementByID; cela pourrait fonctionner dans IE (je ne suis pas sûr que ce soit toujours le cas dans 8), mais si vous voulez le faire, je suggère également d'ajouter l'identifiant.Comme d'autres l'ont dit, les ancres de page sont quelque chose sur lequel le navigateur fonctionne plutôt que sur le serveur Web.
Vous pouvez utiliser du code pour transmettre les informations d'ancrage à votre programme Analytics. Par exemple, vous pouvez extraire la
location.hash
valeur et la transmettre à Google Analytics en tant que variable personnalisée .Plus utilement, vous pouvez exécuter du code qui vérifie le code HTML de la page pour une ancre qui correspond à la valeur de
location.hash
et si elle manque déclenche un événement GA . Cela vous donnerait alors un rapport GA sur les liens d'ancrage de page brisés lorsque les utilisateurs cliquent dessus.la source
Je ne pense pas qu'il soit possible de voir cela dans les journaux d'Apache. Si un fichier est demandé et servi, cela met fin à peu près à l'implication d'Apache (ou de tout autre serveur). La recherche et le positionnement de l'ancre sont quelque chose que le navigateur fait. Au moment où votre navigateur parvient à localiser l'ancre, la connexion au serveur est déjà fermée.
Un bon vérificateur de liens devrait reprendre cela, mais c'est un processus manuel.
la source
Le validateur HTML CSE recherche les ancres manquantes ... pour un prix.
Voir http://www.htmlvalidator.com/htmlval/whycseisbetter.html
la source