Se eu tiver um link quebrado, ele será registrado com um 404. Se eu tiver um link para uma âncora e a âncora estiver ausente, não recebo uma entrada no log. Como posso encontrar esses links de âncora quebrados, especialmente se o tráfego é proveniente de um referenciador? Existe uma maneira de configurar o log para capturar essas informações?
Servidor HTTP: Apache 2
Respostas:
É impossível configurar o log da parte #fragment da URL porque o servidor da Web nunca a vê. From RFC3986
O que isso significa é que o navegador da Web basicamente retira a parte âncora do URI antes de enviá-lo ao servidor da Web. O protocolo HTTP nem lida com fragmentos por causa disso; eles nunca são enviados por fio.
Fragmentos estão disponíveis para JavaScript (porque é do lado do cliente) como parte da propriedade location.href. Depois de obter o nome do fragmento, você pode confirmar que ele é válido pesquisando a propriedade name dos elementos da matriz document.anchors [] para esse valor.
Depois de fazer isso, ele pode ser registrado usando o AJAX ou, como observa o artigo , passado para o Google Analytics ou serviços similares.
fonte
<a name="blah"></a>
você não poderá determinar a existência com getElementByID; pode funcionar no IE (não tenho certeza se ainda é o caso no 8), mas se você quiser fazer isso, sugiro adicionar o ID também.Como já foi dito, as âncoras de páginas são algo em que o navegador opera e não o servidor da web.
Você pode usar algum código para passar as informações da âncora para o seu programa do Analytics. Por exemplo, você pode extrair o
location.hash
valor e passá-lo ao Google Analytics como uma variável personalizada .Mais útil, você pode executar um código que verifique o html da página em busca de uma âncora que corresponda ao valor de
location.hash
e, se estiver faltando, dispara um evento do GA . Isso forneceria um relatório do GA sobre links de âncora de página quebrados, conforme os usuários clicam neles.fonte
Eu não acho que é possível ver isso nos logs do Apache. Se um arquivo for solicitado e servido, isso praticamente encerrará o envolvimento do Apache (ou qualquer outro servidor). Encontrar e posicionar na âncora é algo que o navegador faz. Quando o seu navegador consegue localizar a âncora, a conexão com o servidor já está fechada.
Um bom verificador de link deve buscar isso, mas esse é um processo manual.
fonte
O CSE HTML Validator verifica se há âncoras ausentes ... por um preço.
Consulte http://www.htmlvalidator.com/htmlval/whycseisbetter.html
fonte