На время проведения реконструкции сайт переведён в режим "ТОЛЬКО ЧТЕНИЕ" (Read only). Приносим свои извинения!
MaxHub
Полезности по Maxsite CMS

Плагин «Down Counter» («Счетчик переходов») - замените down_count!

Плагины » Контент / 27 июля 2014

Счетчик переходов в maxSite CMS

Мне нравился стандартный плагин down_count, но не хватало некоторых возможностей в нём. Поэтому реализовал плагин в таком виде, каким хотел бы его видеть в стандартной поставке. Чтобы не было конфликта имён я решил назвать новый плагин «Down Counter». Кроме похожего имени в нём есть много остаточных фрагментов кода от старого плагина, но по большей части я всё перелопатил добавив много новых возможностей. Кому не интересны подробности - переходите в конец поста, ссылка на скачивание находится там. wink

Основные возможности

  • Статистика на главной странице Админ-панели - теперь можно выводить статистику переходов по ссылкам на главную страницу админки. Причём есть возможность разделить общую таблицу на две - с локальными ссылками (т.е. ссылающимися на ресурсы того же сайта) и с внешними ссылками (т.е. ссылающимися на ресурсы за пределами сайта/домена). Раньше всё было в единой таблице и было сложно анализировать данные. Кроме того, теперь каждая ссылка является кликабельной гипертекстовой ссылкой - поэтому появляется возможность быстро проверить работоспособность ссылки или наличие файла для скачивания. Если ссылка «локальная» и ссылается на ресурс в папке uploads, то выводится дополнительная ссылка на управление папкой, в котором лежит файл. Правда ведь удобно, если вдруг нужно быстро заменить файл?
  • Под таблицей/таблицами статистики есть две кнопки для быстрого перехода на страницы настроек плагина и на страницу правки накопленных данных. В общем, всё видно на скриншоте:

    Вывод статистики через плагин admin_announce

  • Статистика на отдельной странице - если вы не используете плагин admin_announce, то у вас всё равно есть возможность следить за статистикой - теперь на выделенной для этого странице. Страница доступна по ссылке в блоке «Плагины» сайдбара админ-панели. В новом плагине есть возможность выключить отображение этой ссылки. Это полезно в случае, если есть admin_announce и не хочется загромождать сайдбар админ-панели.
  • Страница статистики

  • Редактирование накопленных данных - в стандартном плагине версии до 1.3 если случались проблемы с подсчётами и возникала необходимость подкорректировать статистику или урлы приходилось лезть в ftp и править файл dc.dat на сервере. Нормальный вариант для тех, кто дружит с фтп. Но требует много телодвижений. Особенно, если уже смотришь статистику в админ-панели. В общем, я решил реализовать возможность править файл статистики прямо из админ-панели. Вот как это выглядит на скриншоте:
  • Редактирование данных о переходах

    Прицепом решил расширить объём хранимых данных для сохранения комментария-описания к ссылке. Оно сохраняется «третьим» столбцом в каждой строке. Этот комментарий-описание сейчас используется при выводе статистики. Гипотетически может быть очень полезным, т.к. позволяет использовать HTML - например, можно внедрять в текст описания ссылки на страницу с исходной ссылкой.

  • Гибкое отображение/сокрытие числа переходов - у бб-кода [dc] есть возможность задать атрибут hide(или «-» минус) для принудительного сокрытия числа сделанных переходов или атрибут show (или «+») для принудительного отображения числа.
  • Использование JS для вывода ссылки - позволяет завуалировать для посетителя факт использования счётчика переходов, т.к. при наведении мышки на ссылку пользователь увидит реальный адрес. Благодаря этому посетители охотнее переходят по ссылкам.
  • Оформление всех обрабатываемых ссылок в nofollow - позволяет через настройку одной опции сразу закрыть все ссылки (которые обрабатываются плагином) от утекания PR. Важная особенность для тех, кто серьёзно занимается контролем seo-параметров своего сайта.
  • Кнопки в редакторыs markItUp и editor_jw - удобно вставлять бб-код при редактировании текстов.

Опции плагина

Вот так выглядит минимизированная страница опций плагина:

Свёрнутые группы опций на странице настройки плагина

А вот так выглядит страница со всеми доступными опциями плагина «Счётчик переходов» (верно для версии 2.0):

Все опции плагина

Стоит пояснить что за опции про абсолютные адреса. Дело в том, что в начальных версиях движка в плагине не было ограничения на ссылки, которые подсчитывал плагин, а так как я успел за это время привыкнуть использовать относительные ссылки (в виду их меньшего занимаемого объёма и удобства при работе с бэкапом сайта на локалке или сервере), то с введением в плагине жесткого ограничения на использование только абсолютных ссылок стало очень не удобно (конечно это чисто субъективное ощущение) работать. Приходилось править код плагина и следить чтобы правки не затёрлись при обновлении движка. Сейчас я решил кардинально разобраться с этой проблемой. Результатом стало много строчек кода и возможность использовать в статьях относительные ссылки без особых проблем с сохранением статистики. Если вы не используете относительные ссылки, то вам и беспокоится нечего - всё будет прозрачно как вы уже привыкли с плагином down_count.

Скачать плагин «Down Counter»

Авторы: Илья Земсков, Максим, Wave

Сейчас для скачивания доступна версия плагина: 3.0

Работает стабильно на движке версии: от 0.863 и выше (на ранних версиях не проверялась), 0.93 и выше.

Для получения доступа к скрытому контенту вам нужно оставить больше 2 информативных комментариев на сайте. В зачёт идут комментарии к любой статье/материалу. Короткие комментарии от анонимов или «спасибо»/«благодарен» и прочее - учитываться не будут. Комментарии без смысла и пользы - будут удаляться.

Алгоритм хранения остался практически неизменным (отсносительно стандартного плагина down_count), поэтому можно безболезненно использовать вместо стандартного плагина (но перед первым включением всё же рекомендуется сделать бэкап файла dc.dat).

Нужно ваше мнение

Комментариев: 49
  1. Отличная работа. Благодарю.

  2. Здравствуйте. Отличный плагин! Благодарю.

    P. S. Всё руки не доходили написать о том, что почему-то произвольный текст, вставляемый в вашей версии плагина admin_announce, не выводится:

    Только заголовок, после него сразу копирайт, несмотря на то, что снят флажок "Скрывать пользовательскую вкладку", да и она не пустая.

    Версия 0.861

  3. Денис, а плагин Tabs включен?

  4. Константин | 2014-07-28 в 03:12:40

    Спасибо за плагин!

    Старый счетчик может периодически обновляться. С этим тоже такое возможно?

  5. Константин, вы имеете в виду, что стандартный плагин счётчика может обновиться в одно из обновлений движка? Так то может, да. Мой плагин тоже будет обновляться по мере необходимости. Обновления буду публиковать здесь, а анонсы значимых обновлений будут появляться в ленте новостей сообщества.

  6. Константин | 2014-07-28 в 08:22:06

    Ой, не так выразился. Обнуляется счетчик периодически.

  7. За стандартным плагином такого («обнуление») не наблюдал. На моём личном блоге уже несколько лет работал плагин - «полёт» был нормальным, накопились довольно внушительные значения счётчиков и пока багов не замечал. В алгоритме тоже не наблюдал ничего подозрительного, что могло бы привести к периодическому обнулению. В новом плагине алгоритм по сути не изменился, поэтому надеюсь, что обнулений не будет.

    Если у вас обнуления случаются, то надо разбираться конкретно с вашим сайтом. Возможно имеет место какой-то сбой или ещё что-то.

  8. Илья, озамечательно то что вы расширили возможности этого плагина, но есть один вопрос:

    А можно ли как либо добавить в следующие версии плагина, возможность добавлять пояснение к счётчику отображаемому на страницах пользователя.

    Там отоброжается только число, а не плохо было бы добавлять к числу пару слов - загрузок или просмотров, в зависимости какая ссылка.

    Ведёт ли она на загрузку файла или на другую страницу.

    Может это и лишние, но по мне так понятнее что это за цифра возле ссылки.

    Пробовал в ручную дописывать после закрывающего тега dc нужные слова, но выглядит это не очень.

    Для разделения подсчёта ссылок на загрузку файлов или ссылок с переходом на иные страницы, можно использовать два таких плагина, только один из них скорей всего нужно переправить, чтобы не было совпаденийв тегах dc и других местах.

    Но это на мой взгляд, вам же проще реализовать всё в одном плагине.

    Также можно ещё добавить кнопки для вставки тега dc в редактор на странице создания постов.

    Спасибо за плагины и этот в часности.

  9. Валентин, очень интересные предложения! Обязательно реализую в следующей версии!

    Возможно имеет смысл расширить синтаксис кода [dc], чтобы нужный комментарий прописывать в нём, а то в общем шаблоне вывода счётчика для всего сайта будет не очень гибко. Например, сделать как у тэга [cut] - через пробел альтернативный текст. Только тогда наверно придётся в таком тексте каждый раз упоминать %COUNT% для замены его на число.

    Идея с разделением на ссылки и скачивания мне тоже нравится. Скорее всего стоит сделать тэг [cc] (ClickCounter) и сохранять его данные в отдельный файл, типа cc.dat.

    Кнопку в редактор - да, тоже стоит добавить пожалуй. Вот только с этими сложности, ибо то, как это сейчас можно реализовать, позволяет сделать так, что она будет немного в нелогичном месте расположена и загромождать панель инструментов. Надо будет подумать ещё...

  10. Отличная доработка, спасибо за доп. опции и возможность редактирования файла.

  11. Илья, спасибо за сообщение о доработке плагина!

    А есть ли опция, чтобы отключить показ циферки и только пользоваться статистикой переходов в админке. Лично мне эта циферка не очень нравится :(, а для статистики плагин полезный.

  12. Владимир, посмотрите внимательно скриншот настроек плагина - есть такая опция (отключения вывода циферки)! wink Вот думаю, может имеет смысл сделать возможность через свойства в bb-коде задавать отображение этой циферки? А то если включаем, то у всех ссылок. А если выключаем - тоже у всех. Но по идее, иногда циферка нужна, а иногда не нужна и пока нет возможности повлиять на это гибким образом.

  13. Спасибо за ответ!

    Если внимательно smile, то увидел. Это опция "Отображать счетчик". Вот это дело!

    Насчет отображения и bb-кода, если уж задаться целью предоставить избыточный полный функционал, то я думаю, можно сделать так: в настройках опции - "единая настройка показа счетчика" и "индивидуальная настройка". Если выбрана "единая", то "отображать..." настраивается в админке - включил выключил для всех, если "индивидуальная" - то используются бб-коды.

    Как-то так... Наверно это удовлетворит всех.

    Или проще - в админке устанавливается общее правило - выключено или включено, а бб-код позволяет оперативно/локально создать исключение из этого правила добавлением аттрибута.

  14. Владимир, я думал про последний вариант.

    Пишу чтобы не забыть: добавить обработку тэга в комментариях!

  15. Доброго дня.

    Подскажите пожалуйста, как отключить шифрование ссылок в Down Counter?

    Хотелось бы чтобы ссылка была чистой например:

    http://домен.ru/derectory/files.php

    А у меня получается ссылка зашифрованой:

    http://домен/ru/dc/aHR0cDovL252ZGEucnUvdm9jYWxpemVyL3NlcmVuYS1zdGFuZGFyZC5waHA=

    Хотя может я ошибаюсь и шифруются ссылки иным плагином?

    Благодарю за помощь и наводку.

  16. Валентин, изначально в down_count и в текущей доступной версии плагина down_counter ссылки только зашифрованные, ибо это нужно для организации подсчёта переходов. В данный момент я тестирую версию плагина, в которой с помощью javascript будет реализована подстановка «на лету» зашифрованного адреса вместо «чистого» (совсем отказаться от шифрования - нельзя). Как более-менее отработаю алгоритм - опубликую новую версию плагина down_counter. Ориентировочно - начало сентября.

  17. Обновил плагин до версии 3.0. Почти все пожелания внедрил. Добавил в конце страницы голосование - буду благодарен за участие!

  18. Надо будет потестить. Правда, для этого сначала надо получить доступ smile Хитро, для шаровых сайтов годная фича.

  19. Ссылка не видна, а условие информативных комментариев у меня вызывает ступор... точнее детское упрямство. Одно дело поделиться чем-то от души, а другое высосать из пальца несколько слов.

    Если б мы не были знакомы, и плагин был бы мне условно интересен, то я б сайт с таким условием послал бы подальше. А так вот... обратная связь. Лучше б перепост в ВК в условия поставил, или еще что полезное для сайта, но не требование "написать что-то информативное".

  20. oleg, спасибо за обратную связь smile Вас можно понять. Буду рад, если найдёте возможность опубликовать что-нибудь полезное именно «от души». Но пока вашей и других коллег активности не наблюдается поймите меня тоже - очень трудно поддерживать свой уровень мотивации, если нет обратной связи. Уже много способов опробовал и похоже, что этот вариант самый действенный smile Давненько столько полезных каментов не присылали на проект!

    ЗЫ: Коллеги, предлагаю на этом закончить обсуждение правил раздачи полезного контента на этой странице. Всё таки она посвящена плагину. Если есть желание - создайте запись в раздел обсуждения. Там и обсудим.

  21. Большое спасибо за плагин!!!

    А будет ли он работать с версией 0.862? У меня сайт работает на этой версии. До 0.863 пока не обновлял.

    Я рад, что всё еще ведётся работа над Максайтом. Максайт развивается - и это главное. Печалит лишь одно - движок последнее время почти не обновляется, - не выходит новых версий.

  22. Иван Павлович, выше уже отвечал на такой вопрос:

    Скорее всего будет работать и на более ранних версиях (т.е. в тех, где новая админка), ибо в движке не было критичных правок.
  23. А если подобный плагин сделать для подсчета числа открываний споллера? Ведь иногда администратору или владельцу сайта необходимо знать читает ли посетитель запись под споллером, т.е. делать выводы об эффективности применения скрытого текста в той или иной статье.

  24. Иван Павлович, хорошая идея! Думаю, что надо соответственно расширить функционал именно плагина spoiler. Можете создать Issue на гитхабе (https://github.com/maxsite/cms/issues/) чтобы идея не потерялась?

  25. Пригодится и мне подсчет спойлера)

  26. Здравствуйте!

    У меня стоит стандартный плагин. Но цифра возле ссылки почему-то 0. Хотя смотрел на сервере файл dc.dat - nfv там переходы записываются. Почему так?

  27. Что-то тут страсти разгорелись rolleyes

    Люди, объясните мне - как вы используете инфу от этого плагина? Что вам дает знание количества кликов по ссылке? Я пока не понимаю полезности.

  28. Владимир, вот мои мотивации использования этого плагина:

    1. Быстрое получение информации о популярности того или иного направления. Например, стоит вопрос - сколько раз скачали плагин? Ответ виден сразу в виде циферки рядом с ссылкой или в админке, куда и так заглядываю. Да, ту же информацию можно получить используя Яндекс.Метрику, но её ещё нужно уметь настроить и потом пробираться сквозь дебри отчётов, чтобы увидеть нужный график..

    2. Удобный способ закрыть индексацию внешних ссылок - плагин автоматически ставит nofollow, да и ссылки /dc/ можно ограничить в robots.txt для пауков поисковиков.

  29. Эхма. Вот придется наново писать комменты, чтобы получить возможность потестить те или иные плагины. А все потому, что не помню уже данные для авторизации.

  30. Илья, А зачем все эти трудности с 3-мя комментариями, чтобы получить архив. Я уже начинаю уставать cheese

  31. Илья, А зачем все эти трудности с 3-мя комментариями, чтобы получить архив. Я уже начинаю уставать

    OlannMK, а представьте как я устаю за программированием, а потом прихожу на сайт, а никто мне даже доброго слова благодарности не сказал за мои труды smile Вот и приходится «принуждать» Шутка! cool grin Но в каждой шутке есть доля шутки, так что вот.

  32. Заменю как стандартный))

  33. А можно на примере объяснить (для особо одаренных) как должна выглядеть ссылка с кодом dc. Спасибо.

  34. И еще вопрос: в стандартной версии CMS (100) стоит стандартный плагин или уже обновленный вариант, поскольку выдает ошибку:

    A PHP Error was encountered

    Severity: Warning

    Message: Invalid argument supplied for foreach()

    Filename: down_count/index.php

    Line Number: 124

  35. А можно на примере объяснить (для особо одаренных) как должна выглядеть ссылка с кодом dc. Спасибо.

    Да можно, конечно. Вот: [dc][url=http://maxhub.ru]ссылка[/url][/dc] или даже [dc]<а href="//vizr.ru">вторая ссылка</а>[/dc]

    И еще вопрос: в стандартной версии CMS (100) стоит стандартный плагин или уже обновленный вариант, поскольку выдает ошибку:

    Судя по упоминанию в теле сообщения об ошибке файла down_count - речь идёт о стандартном плагине. Значит лучше всего написать сообщение об ошибке разработчику движка на гитхаб сюда - https://github.com/maxsite/cms/issues/

  36. А если в коде баннера:

  37. Понял, перед

  38. А если в коде баннера:

    Если код баннера у вас упоминается в теле записи, то не важно как и где разместить. Главное, чтобы сама ссылка оказалась обрамлённой бб-кодами плагина.

  39. Спасибо, все понятно.

  40. Я извиняюсь, но не работает.

    У меня баннер и текст, размещенный в сайдбаре, с них идет ссылка на партнерку. Если ставлю коды [dc] на самой ссылке (после и перед "), то выводится адрес - мой сайт\ссылка - несуществующая страница. Если ставлю перед а хреф - то не считает переходы.

  41. Нет ни статистики, ни вообще ничего. Все настройки есть, файл dc.dat создается, но он пустой. Ничего не происходит, никакие переходы, почему-то, не считает.

  42. У меня баннер и текст, размещенный в сайдбаре, с них идет ссылка на партнерку.

    Так плагин обрабатывает только содержимое записей. Чтобы в сайдбаре работал надо сперва руками сформировать ссылку (т.е. например вставить ссылки в запись, а потом, когда плагин их преобразует в свои - их и использовать) и потом только её подставлять в сайдбар.

  43. Не совсем понятно, можно любой пример, именно для ссылки в коде баннера, размещенного в сайдбаре. Заранее спасибо.

  44. Получается, если ссылка размещена только в сайдбаре, а на страницах сайта ее нет, то даже если все сделать правильно

    например вставить ссылки в запись, а потом, когда плагин их преобразует в свои - их и использовать) и потом только её подставлять в сайдбар

    а из статьи ее потом убрать, то плагин не будет учитывать переходы по ней (клики по баннеру)? Я правильно понимаю?

  45. В записи все работает, только нужно ставить [dc] перед

  46. ... перед и после а, я не так делал.

    Почему-то часть комментария теряется, хотя это и не ссылка.

    Как сделать именно в сайдбаре? Откуда брать преобразованную ссылку?

  47. Разобрался, спасибо, все работает. Извините, если достал.

  48. Что то скачать нельзя, пишет что нужно 2 комментария. У меня целый вагон комментариев, я забанен? LOL

  49. Хм, написал предыдущий комментарий, пишет теперь что нужно всего 1 комментарий. Похоже что то слетело и мои комментарии не учитываются вообще. question