it-swarm.it

Le ancore mancanti possono essere registrate?

Se ho un link non funzionante, viene registrato con un 404. Se ho un link a un anchor e l'ancoraggio è mancante, non ottengo una voce nel registro. Come posso trovare quei collegamenti di ancoraggio interrotti, specialmente se il traffico proviene da un referrer? C'è un modo per configurare la registrazione per acquisire queste informazioni?

Server HTTP: Apache 2

8

È impossibile configurare la registrazione della porzione #fragment dell'URL perché il tuo server web non lo vede mai. Da RFC3986

l'identificatore del frammento è separato dal resto dell'URI prima di una dereferenza, e quindi le informazioni identificative all'interno del frammento stesso sono dereferenziate esclusivamente dal programma utente, indipendentemente dallo schema URI. Sebbene questa gestione separata sia spesso percepita come una perdita di informazioni, in particolare per il reindirizzamento accurato dei riferimenti mentre le risorse si spostano nel tempo, serve anche a impedire ai fornitori di informazioni di negare agli autori di riferimento il diritto di fare riferimento alle informazioni all'interno di una risorsa in modo selettivo. Il riferimento indiretto fornisce inoltre ulteriore flessibilità ed estensibilità ai sistemi che utilizzano URI, poiché i nuovi tipi di media sono più facili da definire e distribuire rispetto ai nuovi schemi di identificazione.

Ciò significa che il browser Web sostanzialmente elimina la parte di ancoraggio dell'URI prima di inviarlo al server Web. protocollo HTTP non gestisce nemmeno i frammenti per questo motivo; non vengono mai inviati via cavo.

I frammenti sono disponibili per JavaScript (perché è lato client) come parte della proprietà location.href. Una volta ottenuto il nome del frammento, è possibile confermare che è valido cercando nella proprietà name il nome degli elementi dell'array document.anchors [].

Una volta fatto, può essere registrato usando AJAX o, come pelms notes , passato a Google Analytics o servizi simili.

11
JasonBirch

Come altri hanno già detto, le ancore di pagina sono qualcosa su cui il browser opera anziché il web server.

È possibile utilizzare un po 'di codice per trasmettere le informazioni di ancoraggio al programma Analytics. Ad esempio, è possibile estrarre il valore location.hash e passarlo a Google Analytics come variabile personalizzata .

Più utilmente si potrebbe eseguire il codice che controlla la pagina html per un ancoraggio che corrisponde al valore di location.hash e se mancante innesca un evento GA . Ciò ti darebbe quindi un rapporto GA sui collegamenti di ancoraggio di pagina non funzionanti mentre gli utenti fanno clic su di essi.

3
pelms

Non credo sia possibile vederlo nei registri di Apache. Se un file viene richiesto e pubblicato, questo praticamente interrompe il coinvolgimento di Apache (o qualsiasi altro server). Trovare e posizionare l'ancora è qualcosa che fa il browser. Quando il browser riesce a individuare l'ancoraggio, la connessione al server è già chiusa.

Un buon controllo dei link dovrebbe prenderlo, ma è un processo manuale.

1
Tim Post

CSE HTML Validator verifica la presenza di ancore mancanti ... per un prezzo.

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

0
vmarquez