Где хранить комментарии
Аналитика
- телеметрия без слежки https://opentelemetry.io/
- счетчик посещений сайта на PHP http://shpargalkablog.ru/2015/10/counter-php.html
Внешние сервисы комментариев
Поскольку у статичного сайта нет базы данных, а комментарии пользователей хранить где-то надо, приходится идти на ухищрения. Комментарии - динамичны. Они постоянно добавляются, изменяются, удаляются. Каждый раз пересобирать из-за них сайт не хотелось бы. Да и хранить их в теле страницы не совсем прнавильно, имхо. Какие есть решения?
- Запустить систему комментариев на своем отдельном хостинге, чисто под комменты. Это норм, если нужно надежно сохранять все данные
- Использовать платный сервис (по сути такой же хостинг, но его запустили за тебя). Бесплатные решения пользователей не блещут надежностью
- Виджеты социальных сетей и т.п. Если не боишься потерять ценные комментарии и не дорожишь конфиденциальностью пользователей
- Через API обращаться к серверам Github и использовать встроенные функции Issues или Discussions. Это можно сделать через javascript, промежуточные сервера не нужны
Селфхостед
- Remark42 - норм тема, поддерживает маркдаун и ajax. есть готовый доккер контейнер
Платные сервисы
-
- при добавлении любого коммента делает коммит в репо сайта - https://commento.io/pricing - хранит базу у себя. $9/мес
Виджеты
Я использую у себя на сайте виджет от телеграма. Выбрал его потому что активно пользуюсь им как мессенджером. Мне удобно отвечать на комменты оставленные на сайте через приложение. Пуш-уведомления, опять же. Что бы не допустить трекинг пользователей - виджет вставляется на страницу только при нажатии на конопку
- telegram. надо норм настроить
- facebook. шпион выйди вон
- vk. параша, удаляет комменты, шпион
- disqus. не соцсеть, но тоже шпионит
github-api
- https://utteranc.es/ A lightweight comments widget built on GitHub issues. Use GitHub issues for blog comments, wiki pages and more!
Непроверено
- https://github.com/utterance/utterances
- https://github.com/gitalk/gitalk
- https://github.com/meteorlxy/vssue
- https://www.hypercomments.com/
- https://gitlab.com/commento/commento
- https://donw.io/post/github-comments/
Поиск для статического сайта
Что бы замутить поиск по статичному сайту - есть два путя:
- положиться на внешний поисковик
- поиск силами js по предзаготовленным индексам
Сервисы
Внешний сервис на первый взгляд кажется проще. Но это только до того момента пока не понадобится какая либо тонкая настройка, дизайн там подкрутить и т.д
Если использовать что-то типа google, то завершения индексации сайта можно и не дождаться совмем. А если подойти с обратной стороны - поиск по репозиторию Github с иходниками? Ну тут тоже нюансы, например поиск затргивает историю коммитов (то что было удалено, все равно найдется). Хоть не нужно ждать индексации ;-) И еще не всегда исходники торчат наружу
Локально
- Jekyll Simple Search Plugin - небольшой скрипт моментального поиска по сгенерированному файлу JSON с индексом всего сайта
- algolia - юзают на оф.сайте jekyll
- lunr.js - используется на сайте Zettel Notes (тема minimal-mistakes)