Получите процент рефералов
Вопрос
Что будет лучшим способом получить данные реферала, такие как Google 20%, MSN 10%, внутренние 70%. Это для того, чтобы узнать, как каждая статья, размещенная на сайте, была просмотрена, доступна или направлена. Не в Google Analytics. Но для блогеров, чтобы проверить после того, как они разместили техническую статью. Приложение находится в PHP, а также использует Zen Framework.
Решение
Насколько в режиме реального времени результаты должны быть?
Подход 1 - Измените ваше приложение так, чтобы, когда оно обслуживает сообщение, он хранит информацию о реферике. (Доступно для вашего приложения PHP, проверьте библиотеку CGI). Преимущество: может дать статистику в реальном времени, но замедляет ваше приложение и добавляет дополнительную сложность.
Подход 2 - Сохраните файлы журнала и проанализируйте их в автономном режиме. Наверное, лучше. Обратите внимание, что Apache может хранить свои журналы непосредственно в базе данных (а не для регистрации файлов). Это облегчит запрос и анализ отчетов для ваших авторов.
Добавлено. Еще одно преимущество в хранении информации журнала в базе данных (либо на лету, либо в партии) заключается в том, что «один отчет ведет к другому»-сегодня авторы хотят знать информацию реферата. Завтра они захотят перекрестные таблы по типу браузера и стране.
Другие советы
Сделайте таблицу с реферерами:
id | Реферат | article_id | считать
а также:
id | article_id | общее количество
И каждый раз, когда кто -то обращается к вашей статье, внедрение Total_count для статьи и правильный счет.
И когда вы показываете это, просто разделите эти два счетчика.
Извините за мой английский ;)
Я не уверен, как настроено ваше приложение, но, давайте предположим, что каждый пост хранится в базе данных с уникальным идентификатором. Ваш сценарий будет выглядеть примерно так:
- Получите реферала, используя
$_SERVER['HTTP_REFERER
] - Сохраните это в базе данных, используя исходный идентификатор POST в качестве иностранного ключа и нормализованную версию домена
Затем, когда вы хотите показать статистику, запустите запрос, как это:
SELECT `domain`, COUNT(*) as `total` FROM post_referrers WHERE `post_id` = 5 GROUP BY `domain`
Затем вы можете рассчитать процент по общему возвращению общего числа.
А post_referrers
Таблица будет выглядеть так:
id, domain, post_id, full_url
И если ссылка на URL http://google.com/?q=whatever
Вы хотели бы хранить:
domain: google.com
post_id: 5
full_url: http://google.com/?q=whatever
Почему ты не хочешь использовать Гугл Аналитика?