Клуб Яндекс.Метрики

reachGoal в коде страницы

Пост в архиве.

Пытаюсь настроить мониторинг страницы ошибки 404

Проблема в том, что у неё нет фиксированного адреса, поэтому не получается поймать её через URL содержит

Пытаюсь сделать это через reachGoal таким образом:

 

  1. Создал цель Ошибка 404, URL содержит ERROR404
  2. в код старницы ошибки вставил
    <script type="text/javascript">
    yaCounter200107.reachGoal('ERROR404');
    return true;
    </script>
  3. Получаю ошибку
    yaCounter200107 is not defined

Как сделать чтобы reachGoal запускался после загрузки кода счетчика?

Проверить можно тут http://www.rusalarm.ru/test-error

10 комментариев

Способы решения:

1. Установить неасинхронный код.

2. window.onload = function() {yaCounter200107.reachGoal('ERROR404');};

3. Установить отдельный счётчик для ошибочных страниц.

воспользовался вторым способом - заработало. ура!!!

P.S. может быть стоит внести в соответствующий раздел документации

есть еще разумное решение на самом деле)))

Для ошибки 404 сделать редирект на фиксированную страницу сайта -  которая + ко всему будет и пользователю полезна (например sitemap там выдать) ну и по ней уже считать стат)

тогда несуществующая страница вместо кода 404 будет отдавать 301, что не есть правильно :) а sitemap я и на 404 могу показывать

нет, я к тому что будет фиксированный адрес у страницы 404 )

вы ошибаетесь

а зачем её мониторить?

обычно делается редирект на главную, через создание в корне страницы 404.html

чтобы определять адреса входа и ставить оттуда редиректы

Красивое простое решение, которое с любой несуществующей страницы переводит юзера на страницу существующую:

1. создать в корне файл без имени , но с расширением: .htaccess

в нём прописать: ErrorDocument 404 /404.html

2. создать  в корне файл 404.html

в нём прописаить: редирект на нужную страницу, обычно делают  на главную. Можно просто в этот файл записать код главной.

Если этот метод не сработает, обратиться к хостеру, ибо возможны некоторые отличия в зависимости от того, какую математику использует хостер. На мастерхосте всё работает так, как я написал. Безупречно

вы не понимаете сути проблемы, но я её для себя уже решил, а заниматься вашим просвящением не собираюсь