Google Sheets как админка: когда дорогие CMS не нужны
Нужно было дать клиенту возможность обновлять контент. WordPress — overkill, Tilda — платно и медленно. Сделал админку на Google Sheets за час.
Контекст
Клубный сайт — нужно обновлять: новости, состав команды, расписание матчей, статистику. Админ клуба — не программист, но в Google Sheets уверенно работает уже 5 лет.
Привычный путь — WordPress. Но у него проблемы:
- Нужен хостинг с PHP и MySQL (платно).
- Обновления, плагины, уязвимости.
- Клиент боится «что-то сломать».
- Нет совместного редактирования в реальном времени.
Альтернатива
Google Sheets с ролью «редактор» для админа клуба + публичная ссылка для чтения через API. Astro на билде тянет данные и разливает их по страницам.
Как это устроено технически
1. Таблица
Создаёшь Google-таблицу с вкладками: news, matches, squad, partners. Первая строка — заголовки колонок. Делаешь «Поделиться → Любой с ссылкой → Просмотр».
2. Скрипт сборки
В src/content/data.ts:
const SHEET_ID = 'ваш-id-таблицы';
const RANGE = 'news!A2:E100';
const url = `https://docs.google.com/spreadsheets/d/${SHEET_ID}/gviz/tq?range=${RANGE}&tqx=out:json`;
const raw = await fetch(url).then(r => r.text());
const json = JSON.parse(raw.slice(47, -2)); // gviz wraps in `google.visualization(…)`
Astro компонент читает json.table.rows и рендерит карточки.
3. Автодеплой
GitHub Actions cron каждые 15 минут: npm run build + деплой на Pages. Админ правит таблицу — через четверть часа новое уже на сайте.
Плюсы
- Стоимость: 0 ₽. Google-аккаунт уже есть у всех.
- Совместная работа. Два человека пишут одновременно в разные ячейки — без конфликтов.
- Ничего не ломается. Нет БД, нет плагинов, нет PHP-версий.
- Привычный UX. Excel-интерфейс — не надо никого учить.
- Бэкап бесплатно. Google хранит 30 дней истории изменений.
Минусы
- Нет предпросмотра «как будет». Текст пишется в ячейке, отрисовка — на сайте.
- Нет богатого редактора. Жирный/курсив, списки — только через Markdown-строку.
- Не для блогов. 2 000 символов на ячейку, для лонгридов узко.
Когда применять
- Новости, анонсы, короткие обновления — идеально.
- Состав команды, каталог партнёров, прайс — идеально.
- Лонгриды с картинками — нет, используйте MDX в git-репозитории.
- Формы с генерацией PDF — нет, берите Airtable или Notion.
Для 80 % задач малого бизнеса Google Sheets покрывает админку без дыр.