What is StatiGo
Statigo odaklı, SEO optimize edilmiş web siteleri oluşturmak için hafif bir Go web çerçevesi.
Statigo Nedir?
Statigo, performansı ve arama motoru optimizasyonunu önceliklendiren içerik odaklı web siteleri için tasarlanmış bir çerçevedir. Dinamik ağırlıklı çerçevelerin aksine, Statigo statik odaklı bir yaklaşım benimser:
- Anında sayfa yüklemeleri ve mükemmel SEO için Sayfaları derleme zamanında önceden oluşturma
- Varsayılan olarak statik HTML sunma, isteğe bağlı dinamik özelliklerle
- İki katmanlı (bellek + disk) önbellekleme sistemiyle Her şeyi önbelleğe alma
- Tüm varlıklar gömülü olarak Tek bir ikili dosya olarak dağıtma
Dokümantasyon siteleri, bloglar, pazarlama sayfaları ve gerçek zamanlı dinamik özelliklerden ziyade hız ve SEO'nun daha önemli olduğu içerik odaklı web uygulamaları için idealdir.
Özellikler
- Performans - Brotli sıkıştırmalı iki katmanlı önbellekleme (bellek + disk)
- SEO - Canonical URL'ler, hreflang bağlantıları, site haritaları ve yapılandırılmış veriler
- i18n - URL tabanlı dil yönlendirmesi ile çok dilli destek
- Güvenlik - Hız sınırlama, IP engelleme, honeypot, güvenlik başlıkları
- Dağıtım - Gömülü varlıklarla tek bir ikili dosya
- CLI - Önceden oluşturma ve önbellek yönetimi komutları
Hızlı Başlangıç
# Depoyu klonlayın
git clone https://github.com/statigo/statigo.git
cd statigo
# Geliştirme sunucusunu çalıştırın
make dev
# Veya derleyin ve çalıştırın
make build
./statigo
Örnek siteyi görmek için http://localhost:8080 adresini ziyaret edin.
Dokümantasyon
Proje Yapısı
statigo/
├── framework/ # Çerçeve paketleri
│ ├── router/ # Çok dilli yönlendirme
│ ├── middleware/ # HTTP ara yazılım
│ ├── cache/ # İki katmanlı önbellekleme
│ ├── templates/ # HTML oluşturma
│ ├── i18n/ # Uluslararasılaştırma
│ ├── security/ # IP yasaklama listesi
│ ├── health/ # Sağlık kontrolleri
│ ├── logger/ # Yapılandırılmış günlük kaydı
│ ├── client/ # HTTP istemcisi
│ ├── cli/ # CLI komutları
│ └── ...
├── example/ # Örnek işleyiciler
├── templates/ # HTML şablonları
├── static/ # Statik varlıklar
├── çeviriler/ # Çeviri dosyaları
├── config/ # Yapılandırma dosyaları
└── main.go # Uygulama giriş noktası
Yapılandırma
.env.example dosyasını .env olarak kopyalayın ve yapılandırın:
PORT=8080
BASE_URL=http://localhost:8080
LOG_LEVEL=INFO
CACHE_DIR=./data/cache
RATE_LIMIT_RPS=10
RATE_LIMIT_BURST=20
Lisans
MIT Lisansı - ayrıntılar için LICENSE dosyasına bakın.
