Как реализовать базовый счетчик просмотров страниц для сайта на базе GitHub-Pages?

Я хочу вести блог Jekyll с помощью GitHub Pages. Я приобрел лицензию на отображение веб-шрифта до 50 000 просмотров страниц в месяц. Я дабы не нарушать это соглашение, мне нужно реализовать какой-то механизм для подсчета просмотров страниц, чтобы я мог принимать меры всякий раз, когда я достиг 50 000 просмотров страниц.

У меня в голове довольно сложные идеи. С одной стороны, я думал о том, чтобы выполнить вызов какой-нибудь функции AWS Lambda, которая подсчитывает каждый просмотр страницы и предпринимает действия, если их слишком много. С другой стороны, я узнал, что MyFonts, Linotype и другие магазины шрифтов предлагают некоторые из своих веб-шрифтов, используя модель лицензирования, называемую «оплата по мере использования», и в этом случае они обязывают своих клиентов использовать счетчик просмотров страниц. они обеспечивают, так что они могут заряжаться непрерывно, всякий раз, когда достигаются определенные квоты. Их клиенты добавляют эти счетчики просмотров страниц на свои веб-сайты, ссылаясь на уникальный файл CSS, размещенный в соответствующем магазине шрифтов.

Однако, поскольку я, вероятно, не единственный, кому приходится иметь дело с этим, мне интересно, как другие люди решают это. Мои идеи кажутся немного чрезмерными для того, что на самом деле является просто счетчиком просмотров страниц.

Есть ли более простой способ? Как это обычно делается?


person lkbaerenfaenger    schedule 01.09.2019    source источник


Ответы (4)


Для этого есть бесплатный API, который вы можете использовать с Javascript. Я ношу его, и он работает как перчатка.

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

https://javascript.plainenglish.io/how-to-count-page-views-with-the-count-api-afc9369c1f8f

https://countapi.xyz/

person Douglas Medeiros    schedule 07.06.2021

У вас есть разные варианты:

<сильный>1. Используйте их счетчик
Использование их (шрифтов) файла CSS, на котором ОНИ считают попадания, является самым простым решением. Не очень приятный, так как требует внешнего запроса, но самый простой точно. Обратите внимание, что чрезмерно активные блокировщики рекламы могут заблокировать эти междоменные запросы, что приведет к повреждению страницы со шрифтом по умолчанию.

<сильный>2. Внешний счетчик
Если вы хотите, чтобы ваш шрифт всегда загружался, вы должны разместить все локально (CSS и шрифт) и использовать внешний счетчик (например, Google Analytics). Однако и этот счетчик может (и будет) заблокирован. Ваш шрифт загрузится, но ваш счетчик будет не очень точным.

<сильный>3. AWS Lambda или анализатор журналов
Если вам нужен более точный счетчик, вы можете использовать локальную функцию Lambda или разместить выходные данные своего веб-сайта Jekyll в общей учетной записи веб-хостинга с помощью AWstats (анализатор журналов). . Это, безусловно, лучшее решение. Ваш шрифт всегда будет загружаться, и ваш счетчик будет достаточно точным.

<сильный>4. Использовать другую лицензию
Менее логичным решением будет не использовать такие лицензии. Получите красивый шрифт с открытым исходным кодом от Google и разместите его самостоятельно. Вы можете использовать https://google-webfonts-helper.herokuapp.com/fonts. скачать шрифты. Это, безусловно, мое любимое решение.

person JoostS    schedule 03.09.2019
comment
Благодарю за ваш ответ. Понятно, что я сам размещаю свои шрифты. Мой вопрос в том, как удобно считать просмотры страниц. И это должно быть возможно — даже с GitHub Pages — иначе магазины шрифтов не могли бы предлагать свои услуги с оплатой по мере использования. Кроме того, если бы это было невозможно, никто не мог бы использовать коммерческие шрифты на страницах GitHub — в чем я сомневаюсь. - person lkbaerenfaenger; 22.09.2019

Еще одна мысль может состоять в том, чтобы использовать CloudFlare Worker для просмотра сайта и использовать Worker KV для отслеживания просмотров страниц. Или, если вы хотите пойти дальше, это также может быть вашей конечной точкой для подсчета.

Но предполагая, что эти поставщики учитывают только некэшированные запросы, вы можете поместить свой рабочий счетчик в путь к файлу шрифта, чтобы отслеживать, как часто сервер обращается к этим файлам. Затем, если вы соответствуете той же политике управления кешем, что и поставщик, у вас должна быть настроена та же система измерения.

person Sean-Roberts    schedule 25.09.2019

Для многих счетчиков посещений GitHub требуются серверы или базы данных. Но есть действие GitHub, которое использует GitHub API. Он обновляется ежедневно и не требует никаких серверов или баз данных. Он автоматически сохраняет изменения в репозиторий. Перейдите к шаблону Шаблон GitHub Insights.

person Gayan Kuruppu    schedule 07.06.2021