Website Builder Framework with SSR SSG and ISR with Golang
Find a file
Furkan Baytekin cbdf00ae10
fix: use weak ETags to survive Cloudflare re-encoding
Cloudflare strips strong ETags when it re-encodes responses (e.g. br→zstd).
Weak ETags (W/"...") are preserved since they indicate the validator is
encoding-independent.
2026-02-05 22:22:15 +03:00
config feat: made main simple 2026-02-05 13:04:16 +03:00
example feat: made main simple 2026-02-05 13:04:16 +03:00
framework fix: use weak ETags to survive Cloudflare re-encoding 2026-02-05 22:22:15 +03:00
static feat: made main simple 2026-02-05 13:04:16 +03:00
templates feat: made main simple 2026-02-05 13:04:16 +03:00
translations feat: add English and Turkish translations 2026-02-04 23:18:01 +03:00
.air.toml chore: initialize Go module and project configuration 2026-02-04 23:15:01 +03:00
.env.example chore: add configuration files 2026-02-04 23:18:08 +03:00
.gitignore chore: add statigo binary to gitignore 2026-02-04 23:56:29 +03:00
embed.go feat: add embedded filesystems for templates, static assets, and config 2026-02-04 23:17:36 +03:00
go.mod chore: initialize Go module and project configuration 2026-02-04 23:15:01 +03:00
go.sum chore: initialize Go module and project configuration 2026-02-04 23:15:01 +03:00
LICENSE docs: LICENSE 2026-02-05 14:21:50 +03:00
main.go feat: made main simple 2026-02-05 13:04:16 +03:00
Makefile fix: update Makefile for statigo and fix README linting 2026-02-04 23:37:29 +03:00
README.md docs: README.md 2026-02-05 14:21:43 +03:00
statigo.png docs: README.md 2026-02-05 14:21:43 +03:00
statigo.service.example fix: update systemd service example for statigo 2026-02-04 23:41:24 +03:00

Statigo Logo

Statigo

Go Version License

A lightweight Go web framework for building static-first, SEO-optimized websites.

What is Statigo?

Statigo is a framework designed for content-driven websites that prioritize performance and search engine optimization. Unlike dynamic-heavy frameworks, Statigo takes a static-first approach:

  • Prerender pages at build time for instant page loads and perfect SEO
  • Serve static HTML by default, with optional dynamic features
  • Cache everything with a two-tier (memory + disk) caching system
  • Deploy as a single binary with all assets embedded

It's ideal for documentation sites, blogs, marketing pages, and any content-focused web application where speed and SEO matter more than real-time dynamic features.

Features

  • Performance - Two-tier caching (memory + disk) with Brotli compression
  • SEO - Canonical URLs, hreflang links, sitemaps, and structured data
  • i18n - Multi-language support with URL-based language routing
  • Security - Rate limiting, IP banning, honeypot, security headers
  • Deployment - Single binary with embedded assets
  • CLI - Prerender and cache management commands

Quick Start

# Clone the repository
git clone https://github.com/statigo/statigo.git
cd statigo

# Run the development server
make dev

# Or build and run
make build
./statigo

Visit http://localhost:8080 to see the example site.

Documentation

Project Structure

statigo/
├── framework/          # Framework packages
│   ├── router/        # Multi-language routing
│   ├── middleware/    # HTTP middleware
│   ├── cache/         # Two-tier caching
│   ├── templates/     # HTML rendering
│   ├── i18n/          # Internationalization
│   ├── security/      # IP ban list
│   ├── health/        # Health checks
│   ├── logger/        # Structured logging
│   ├── client/        # HTTP client
│   ├── cli/           # CLI commands
│   └── ...
├── example/           # Example handlers
├── templates/         # HTML templates
├── static/           # Static assets
├── translations/     # Translation files
├── config/           # Configuration files
└── main.go           # Application entry point

Configuration

Copy .env.example to .env and configure:

PORT=8080
BASE_URL=http://localhost:8080
LOG_LEVEL=INFO
CACHE_DIR=./data/cache
RATE_LIMIT_RPS=10
RATE_LIMIT_BURST=20

License

MIT License - see LICENSE for details.