Лічильник відвідувачів на PHP
Пропонуємо до вашої уваги повнофункціональну систему контролю відвідуваності сайту. Web-додаток розроблено за допомогою PHP і є досить потужною системою збору та аналізу інформації про відвідувачів сайту. Цей лічильник відвідувачів був розроблений співробітниками IT-студії SoftTime за активної участі Левіна А.В. ([email protected], http://alna.spb.ru), який буквально вдихнув у нього друге життя.
На даний момент лічильник використовується для збору статистики та аналізу схем розкрутки багатьох сайтів, у тому числі і http://www.softtime.ru. Це не просто лічильник - це сучасний інструмент, що дозволяє відстежувати потоки відвідувачів на вашому сайті, скільки сторінок вони просмотирують, скільки часу перебувають на сайті, звідки вони потрапляють на ваш сайт, з інших сайтів або пошукових систем, а які ключові слова використовуються? На ці запитання відповість даний лічильник. Перевагою вбудованого лічильника є те, що він, на відміну від зовнішніх, таких як rambler.ru, mail.ru або hotlog, фіксує всіх відвідувачів, а не тих, які завантажили зображення-банер. Тому зі статистики ви дізнаєтеся і про те, чи відвідували вас роботи пошукових систем, чи використовують користувачі менеджери завантажень, щоб передерти весь сайт собі на машину і більше вас не відвідувати :).
Інформація надається за 5 тимчасових інтервалів: "Сьогодні", "Вчора", "за 7 днів", "за 30 днів" та "за весь час". Більшість звітів виводиться подобова, понедельная і щомісячна статистика.
| Завантажити PowerCounter. |
| Завантажити PowerCounter. |
| Завантажити PowerCounter. |
Системні вимоги
PHP (як модуль) версії не нижче 5.0
MySQL версії не нижче 5.0
Що нового в PowerCounter 4.0
Система повністю переписана за допомогою набору класів SoftTime FrameWork, свіжі версії якого можна знайти за посиланням. Набір класів описується у книзі "Кузнєцов Максим, Симдянов Ігор. Об'єктно-орієнтоване програмування на PHP".
У версії 4.0 була виправлена підсистема збору інформації, що дозволяє збирати запити всіх пошукових систем у коректному кодуванні.
Виправлено збір статистики з пошукових робіт Google.
Значно посилено уточнюваність механізму архівації даних.
Розроблено сторінку реферерів для поточного дня.
Встановлення лічильника відвідувань
Система моніторингу є фрагментом системи керування сайтом, що описується в книзі "PHP. Практика створення Web-сайтів" та за замовчуванням захищена паролем.
Для успішного функціонування лічильника необхідно створити базу даних (за замовчуванням count), в якій слід розмістити таблиці з файлу PowerCoutner.sql. На різних хостингах бази даних створюються по-різному: за допомогою web-інтерфейсу, на запит адміністратора, командою SQL (create database count;).
Розміщення таблиць з бази файлу PowerCoutner.sql зручно проводити через панель керування phpMyAdmin, встановлену на переважній більшості хост-майданчиків. Слід вибрати базу даних, перейти до пункту меню SQL, помістити вміст файлу account.sql у текстову область та натиснути кнопку "виконати".
як це продемонстровано у тестовій сторінці index.php. Ви не обмежені вибором розташування цієї конструкції. Довантажує відвідувач сторінку до кінця чи ні не має ніякого значення - він буде підрахований. Це пов'язано з тим, що PHP-кодвиконується на сервері і доки не буде виконаний, клієнту нічого відправлено не буде. Тому коли відвідувач отримує лише перші байти, він уже врахований. При першому ж зверненні до сторінки відвідувачем, у таблиці pages буде створено запис, що відповідає цій сторінці, і сторінку буде автоматично включено до системи статистики. Кількість сторінок, що підключаються, не обмежена.
Якщо перед файлом увімкненням файлу за допомогою інструкції require_once помістити ім'я сторінки в змінній $titlepage, у звітах системи, ця сторінка братиме участь під цим ім'ям. Більше того, ви можете поєднувати кілька сторінок в один рядок, присвоюючи їм однакові назви.
Окремо слід згадати архівацію робочих таблиць у добові, тижневі та місячні таблиці. Стиснення відбувається після 0:00, при першому відвідуванні сторінки адміністрування. Однак ви можете самостійно змусити систему стискати дані по cron – за цей процес відповідальний скрипт admin/archive.php. Прив'язавши його до cron, ви змусите систему архівувати дані самостійно. Однак якщо це зовсім не обов'язково, ви можете просто відвідувати систему адміністрування іноді і система сама все зробить.
Проблеми при інсталяції
Слід пам'ятати, що сервери - це клієнтські машини з Windows XP, вони та його налаштування часто відрізняються друг від друга. Тому виникнення проблем дуже ймовірне і пов'язані вони в першу чергу з нестандартними серверними параметрами змінних. Тому якщо щось не вважається і не враховується, слід або брати до рук PHP-функцію phpinfo() і лізти в count.php і виправляти змінні на ті, які ви відкопаєте у звіті phpinfo(), в тех.підтримці і т.д. п., або якщо це занадто складно для вас (а копатися в чужому коді не просто і всі це розуміють)Ви можете сміливо звертатися до форуму http://www.softtim.ru/forum/, де розробники PowerCounter допоможуть вам модифікувати count.php під ваш сервер.
Модифікація
За промовчанням лічильник вважає сторінки, які відрізняються лише параметрами за одну сторінку, наприклад сторінки
будуть рахуватися як одна і та ж сторінка (index.php), з усіма витікаючими. Для того, щоб такі сторінки вважалися як різні, необхідно в кодах всього лічильника замінити $_SERVER['PHP_SELF'] на $_SERVER['REQUEST_URI'] - можна просто відкрити кожен файл у блокноті і скористатися функцією автозаміни.
Стиснення бази даних по cron-завдання
При штатній роботі PowerCounter дані стискаються в архівні таблиці при першому заході відвідувача після опівночі. Це може бути незручним через тривалість цієї операції або прив'язування панелі статистики сайту до добових архівних таблиць. Щоб процес архівації протікав автоматично, можна скористатися cron – планувальником завдань у UNIX-системах. У різних хост-провайдерів різний порядок встановлення cron-завдань, який слід уточнити у служби технічної підтримки або в OnLine-документації. У класичному варіанті завдання зводиться до рядка виду
Де послідовність 0 5 * * * означає, що завдання буде запускатися щодня в 0 годин 5 хвилин. Після чого слідує шлях до скрипту cron.php (іноді його може випереджати шлях до PHP-інтерпретатора, це потрібно уточнювати на кожному хостингу окремо). Файл cron.php має бути позначений як виконуваний (права доступу: rwxr-xr-x або 0755).
Сам файл cron.php також потребує налаштування. Для цього потрібно налаштувати такі параметри
Останні чотири параметри відносяться до бази даних, перший параметр налаштовує абсолютний шлях до директорії з бібліотеками,необхідні стиснення бази даних. Так як PHP-інтерпретатор у cron-завданнях діє поза середовищем сервера, скрипт не бачить сусідні файли, тому шлях у $abspath слід вказувати абсолютний, від початку диска (подивитися його можна у звітах функції phpinfo()).
Адміністрація лічильника відвідувань
Меню складається з наступних пунктів:
- "Хіти та хости" (подобовий, понеділок, помісячний звіти),
- "Системи та браузери" (подобовий, понеділковий, помісячний звіти),
- "Пошукові роботи" (подобовий, понеділковий, помісячний звіти),
- "Пошукові запити" (подобовий, понеділковий, помісячний звіти),
- "Статистика пошукових запитів",
- "Реферери" (подобовий, понеділковий, помісячний звіти),
- "Час сеансу" (подобовий, понеділковий, щомісячний звіти).
Перехід до сторінки "Поштовий звіт" призводить до сторінки, що дозволяє надіслати поштові звіти за вчорашній день, що пройшов тиждень, що минув місяць на поштову скриньку адміністратора, задати який можна в константі EMAIL_ADDRESS у конфігураційному файлі admin/config.php.
Перехід до сторінки "Системи та браузери" приводить до сторінки з таблицею, в якій зазначено кількість відвідувачів, які використовують як операційні системи Windows, один з варіантів UNIX і Macintosh, а також браузерами Internet Explorer, Opera, Netscape, Firefox, MyIE та Mozilla за 5 тимчасових інтервалів: "Сьогодні", "Вчора", "за 7 днів", "за 30 днів" та "за весь час" для цієї сторінки сайту.
На сторінці "Пошукові запити" виводиться таблиця з інформацією про кількість пошукових запитів та самі ключові слова, за якими ваш ресурс був виявлений для пошукових систем Yandex, Rambler, Google, Aport, Mail.ru та MSN), так і для кожної окремо.
На сторінці "Статистика пошукових запитів" виводиться список ключових слів, за якими відвідувачі знайшли ваш сайт у пошукових системах. Крім того, виводиться частота використання ключових слів відвідувачами.
На сторінці "Точки входу" можна визначити найбільш популярні сторінки вашого сайту, через які відвідувачі потрапляють на ваш сайт, за рахунок посилань з інших сторінок або пошукових систем. Якщо за загальної високої відвідуваності сайту для якихось сторінок ви спостерігаєте цифру 0 - ця сторінка не вдало спроектована і через неї відвідувачі не потрапляють на ваш ресурс.
На сторінці "Час сеансу" можна з'ясувати скільки часу проводять відвідувачі на вашому сайті. Дана сторінка надасть інформацію про кількість відвідувачів, які пробули на сайті 1, 2, 3 хвилини. чи можливо кілька годин. і т.д сторінок вашого сайту. Статистика виводиться за 5 тимчасових інтервалів: "Сьогодні", "Вчора", "за 7 днів", "за 30 днів" та "за весь час".
Крім того, на головній сторінці адміністрування є механізм видалення мертвих посилань, що виникають в результаті редизайну ресурсу. Якщо Ви видаляєте сторінку, підключену до лічильника зі структури Вашого ресурсу, не забудьте видалити його з таблиці сторінок за допомогою гіперпосилання "Видалити".