Если у меня есть неработающая ссылка, она регистрируется с 404. Если у меня есть ссылка на якорь, а якорь отсутствует, я не получаю запись в журнале. Как я могу найти эти неработающие якорные ссылки, особенно если трафик идет от реферера? Есть ли способ настроить ведение журнала для сбора этой информации?
HTTP-сервер: Apache 2
Ответы:
Невозможно настроить ведение журнала части #fragment в URL, потому что ваш веб-сервер его никогда не видит. От RFC3986
Это означает, что веб-браузер в основном удаляет якорную часть URI перед отправкой на веб-сервер. Протокол HTTP даже не работает с фрагментами из-за этого; они никогда не отправляются по проводам.
Фрагменты доступны для JavaScript (потому что это на стороне клиента) как часть свойства location.href. Получив имя фрагмента, вы можете подтвердить его действительность, выполнив поиск значения в свойстве name элементов массива document.anchors [].
Как только вы это сделаете, его можно будет зарегистрировать с помощью AJAX или, как заметки , передать в Google Analytics или аналогичные сервисы.
источник
<a name="blah"></a>
вы не сможете определить существование с getElementByID; он может работать в IE (я не уверен, так ли это в 8), но если вы хотите сделать это, я бы посоветовал также добавить идентификатор.Как уже говорили другие, якоря страниц - это то, над чем работает браузер, а не веб-сервер.
Вы можете использовать некоторый код для передачи информации о привязке в вашу программу Google Analytics. Например, вы можете извлечь
location.hash
значение и передать его в Google Analytics в качестве пользовательской переменной .Полезнее было бы запустить код, который проверяет html страницы на предмет привязки, соответствующей значению
location.hash
и, если она отсутствует, запускает событие GA . Это даст вам отчет GA о неработающих ссылках на якорные страницы, когда пользователи нажимают на них.источник
Я не думаю, что это возможно увидеть в логах Apache. Если файл запрашивается и обслуживается, это в значительной степени прекращает участие Apache (или любого другого сервера). Поиск и позиционирование привязки - это то, что делает браузер. К тому времени, когда ваш браузер найдет якорь, соединение с сервером уже закрыто.
Хорошая программа проверки ссылок должна это понять, но это ручной процесс.
источник
CSE HTML Validator проверяет наличие недостающих якорей ... по цене.
См. Http://www.htmlvalidator.com/htmlval/whycseisbetter.html.
источник