All checks were successful
Build & Deploy KLZ Cables / deploy (push) Successful in 3m50s
237 lines
6.5 KiB
Markdown
237 lines
6.5 KiB
Markdown
# Analytics Migration Complete ✅
|
|
|
|
## Summary
|
|
|
|
Successfully migrated analytics data from Independent Analytics (WordPress) to Umami.
|
|
|
|
## Files Created
|
|
|
|
### 1. Migration Script
|
|
**Location:** `scripts/migrate-analytics-to-umami.py`
|
|
- Converts Independent Analytics CSV to Umami format
|
|
- Supports 3 output formats: JSON (API), SQL (database), API payload
|
|
- Preserves page view counts and average duration data
|
|
|
|
### 2. Deployment Script
|
|
**Location:** `scripts/deploy-analytics-to-umami.sh`
|
|
- Tailored for your server setup (`deploy@alpha.mintel.me`)
|
|
- Copies files to your Umami server
|
|
- Provides import instructions for your specific environment
|
|
|
|
### 3. Output Files
|
|
|
|
#### JSON Import File
|
|
**Location:** `data/umami-import.json`
|
|
- **Size:** 2.1 MB
|
|
- **Records:** 7,634 page view events
|
|
- **Website ID:** `59a7db94-0100-4c7e-98ef-99f45b17f9c3`
|
|
- **Use:** Import via Umami API
|
|
|
|
#### SQL Import File
|
|
**Location:** `data/umami-import.sql`
|
|
- **Size:** 1.8 MB
|
|
- **Records:** 5,250 SQL statements
|
|
- **Website ID:** `59a7db94-0100-4c7e-98ef-99f45b17f9c3`
|
|
- **Use:** Direct database import
|
|
|
|
### 4. Documentation
|
|
|
|
**Location:** `scripts/README-migration.md`
|
|
- Step-by-step migration guide
|
|
- Prerequisites and setup instructions
|
|
- Import methods (API and database)
|
|
- Troubleshooting tips
|
|
|
|
**Location:** `MIGRATION_SUMMARY.md`
|
|
- Complete migration overview
|
|
- Data summary and limitations
|
|
- Verification steps
|
|
- Next steps
|
|
|
|
**Location:** `ANALYTICS_MIGRATION_COMPLETE.md` (this file)
|
|
- Quick reference guide
|
|
- Deployment instructions
|
|
|
|
## Quick Start
|
|
|
|
### Option 1: Automated Deployment (Recommended)
|
|
|
|
```bash
|
|
# Run the deployment script
|
|
./scripts/deploy-analytics-to-umami.sh
|
|
```
|
|
|
|
This script will:
|
|
1. Copy files to your server
|
|
2. Provide import instructions
|
|
3. Show you the exact commands to run
|
|
|
|
### Option 2: Manual Deployment
|
|
|
|
#### Step 1: Copy files to server
|
|
```bash
|
|
scp data/umami-import.json deploy@alpha.mintel.me:/home/deploy/sites/klz-cables.com/data/
|
|
```
|
|
|
|
#### Step 2: SSH into server
|
|
```bash
|
|
ssh deploy@alpha.mintel.me
|
|
cd /home/deploy/sites/klz-cables.com
|
|
```
|
|
|
|
#### Step 3: Import data
|
|
|
|
**Method A: API Import (if API key is available)**
|
|
```bash
|
|
# Get your API key from Umami dashboard
|
|
# Add to .env: UMAMI_API_KEY=your-api-key
|
|
|
|
curl -X POST \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer YOUR_API_KEY" \
|
|
-d @data/umami-import.json \
|
|
http://localhost:3000/api/import
|
|
```
|
|
|
|
**Method B: Database Import (direct)**
|
|
```bash
|
|
# Import SQL file into PostgreSQL
|
|
docker exec -i $(docker compose ps -q postgres) psql -U umami -d umami < data/umami-import.sql
|
|
```
|
|
|
|
**Method C: Manual via Umami Dashboard**
|
|
1. Access Umami dashboard: https://analytics.infra.mintel.me
|
|
2. Go to Settings → Import
|
|
3. Upload `data/umami-import.json`
|
|
4. Select website ID: `59a7db94-0100-4c7e-98ef-99f45b17f9c3`
|
|
5. Click Import
|
|
|
|
## Your Umami Configuration
|
|
|
|
**Website ID:** `59a7db94-0100-4c7e-98ef-99f45b17f9c3`
|
|
|
|
**Environment Variables** (from docker-compose.yml):
|
|
```bash
|
|
NEXT_PUBLIC_UMAMI_WEBSITE_ID=59a7db94-0100-4c7e-98ef-99f45b17f9c3
|
|
NEXT_PUBLIC_UMAMI_SCRIPT_URL=https://analytics.infra.mintel.me/script.js
|
|
```
|
|
|
|
**Server Details:**
|
|
- **Host:** alpha.mintel.me
|
|
- **User:** deploy
|
|
- **Path:** /home/deploy/sites/klz-cables.com
|
|
- **Umami API:** http://localhost:3000/api/import
|
|
|
|
## Data Summary
|
|
|
|
### What Was Migrated
|
|
- **Source:** Independent Analytics CSV (220 unique pages)
|
|
- **Migrated:** 7,634 simulated page view events
|
|
- **Metrics:** Page views, visitor counts, average duration
|
|
- **Website ID:** `59a7db94-0100-4c7e-98ef-99f45b17f9c3`
|
|
|
|
### What Was NOT Migrated
|
|
- Individual user sessions
|
|
- Real-time data
|
|
- Geographic data
|
|
- Referrer data
|
|
- Device/browser data
|
|
- Custom events
|
|
|
|
**Note:** The CSV contains aggregated data, not raw event data. The migration creates simulated historical data for reference only.
|
|
|
|
## Verification
|
|
|
|
### After Import
|
|
1. **Check Umami dashboard:** https://analytics.infra.mintel.me
|
|
2. **Verify page view counts** match your expectations
|
|
3. **Check top pages** appear correctly
|
|
4. **Monitor for a few days** to ensure new data is being collected
|
|
|
|
### Expected Results
|
|
- ✅ 7,634 events imported
|
|
- ✅ 220 unique pages
|
|
- ✅ Historical view counts preserved
|
|
- ✅ Duration data maintained
|
|
|
|
## Troubleshooting
|
|
|
|
### Issue: "SSH connection failed"
|
|
**Solution:** Check your SSH key and ensure `deploy@alpha.mintel.me` has access
|
|
|
|
### Issue: "API import failed"
|
|
**Solution:**
|
|
1. Check if Umami API is running: `docker compose ps`
|
|
2. Verify API key in `.env`: `UMAMI_API_KEY=your-key`
|
|
3. Try database import instead
|
|
|
|
### Issue: "Database import failed"
|
|
**Solution:**
|
|
1. Ensure PostgreSQL is running: `docker compose ps`
|
|
2. Check database credentials
|
|
3. Run migrations first: `docker exec -it $(docker compose ps -q postgres) psql -U umami -d umami -c "SELECT 1;"`
|
|
|
|
### Issue: "No data appears in dashboard"
|
|
**Solution:**
|
|
1. Verify import completed successfully
|
|
2. Check Umami logs: `docker compose logs app`
|
|
3. Ensure website ID matches: `59a7db94-0100-4c7e-98ef-99f45b17f9c3`
|
|
|
|
## Next Steps
|
|
|
|
### 1. Import the Data
|
|
Choose one of the import methods above and run it.
|
|
|
|
### 2. Verify the Migration
|
|
- Check Umami dashboard
|
|
- Verify page view counts
|
|
- Confirm data appears correctly
|
|
|
|
### 3. Update Your Website
|
|
Your website is already configured with:
|
|
```bash
|
|
NEXT_PUBLIC_UMAMI_WEBSITE_ID=59a7db94-0100-4c7e-98ef-99f45b17f9c3
|
|
NEXT_PUBLIC_UMAMI_SCRIPT_URL=https://analytics.infra.mintel.me/script.js
|
|
```
|
|
|
|
### 4. Monitor for a Few Days
|
|
- Ensure Umami is collecting new data
|
|
- Compare with any remaining Independent Analytics data
|
|
- Verify tracking code is working
|
|
|
|
### 5. Clean Up
|
|
- Keep the original CSV as backup: `data/pages(1).csv`
|
|
- Store migration files for future reference
|
|
- Remove old Independent Analytics plugin from WordPress
|
|
|
|
## Support Resources
|
|
|
|
- **Umami Documentation:** https://umami.is/docs
|
|
- **Umami GitHub:** https://github.com/umami-software/umami
|
|
- **Independent Analytics:** https://independentanalytics.com/
|
|
|
|
## Migration Details
|
|
|
|
**Migration Date:** 2026-01-25
|
|
**Source Plugin:** Independent Analytics v2.9.7
|
|
**Target Platform:** Umami Analytics
|
|
**Website ID:** `59a7db94-0100-4c7e-98ef-99f45b17f9c3`
|
|
**Server:** alpha.mintel.me (deploy user)
|
|
**Status:** ✅ Ready for import
|
|
|
|
---
|
|
|
|
**Quick Command Reference:**
|
|
|
|
```bash
|
|
# Deploy to server
|
|
./scripts/deploy-analytics-to-umami.sh
|
|
|
|
# Or manually:
|
|
scp data/umami-import.json deploy@alpha.mintel.me:/home/deploy/sites/klz-cables.com/data/
|
|
ssh deploy@alpha.mintel.me
|
|
cd /home/deploy/sites/klz-cables.com
|
|
docker exec -i $(docker compose ps -q postgres) psql -U umami -d umami < data/umami-import.sql
|
|
```
|
|
|
|
**Need help?** Check `scripts/README-migration.md` for detailed instructions. |