Session log: Flarum theme v2, Matomo analytics, Cloudflare proxy re-enabled

- Redesigned community forum CSS for readability (GitHub Dark inspired)
- Installed Matomo 5.8.0 at analytics.azcomputerguru.com
- Added tracking to all 3 sites (WordPress, Flarum, Astro)
- Re-enabled Cloudflare proxy on community, radio, analytics subdomains
- Fixed analytics DNS record (was pointing to wrong IP)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-20 05:49:52 -07:00
parent 7c8488ad14
commit 7c088e57d8
3 changed files with 1106 additions and 0 deletions

View File

@@ -0,0 +1,129 @@
# Session Log: 2026-03-20
## Session Summary
Continued work on azcomputerguru.com web properties. Three major accomplishments:
1. **Flarum community forum theme redesign** - Complete CSS rewrite for readability (v1 → v2)
2. **Matomo analytics setup** - Self-hosted analytics installed and tracking all 3 sites
3. **Cloudflare proxy re-enabled** - community, radio, and analytics subdomains back to orange cloud
## Work Completed
### 1. Flarum Forum Theme v2 (community.azcomputerguru.com)
**Problem:** The v1 theme had severe readability issues - dark text on dark backgrounds, discussion titles nearly invisible, overall muddy appearance.
**Root Cause:** Flarum's base CSS applies near-black heading colors (`rgb(17,17,17)`) and dark link colors meant for light themes. The v1 custom LESS used CSS variables (`var()`) and `!important` but Flarum's compiled CSS had higher specificity on key elements like `h2`, `.DiscussionListItem-main`.
**Solution:** Complete theme rewrite (v2) with:
- Replaced transparent navy overlays with **solid, layered gray surfaces** (GitHub Dark inspired)
- Color palette: `--g-base: #0d1117`, `--g-surface-1: #161b22`, `--g-surface-2: #1c2129`, etc.
- Text: `--g-text-primary: #e6edf3` (13.5:1 contrast ratio on surface-1)
- Added "Flarum Base Overrides" section targeting actual DOM elements (`h1-h6`, `.DiscussionListItem-main`, `.DiscussionListItem a`)
- Fixed sidebar spacing (reduced padding from 8px to 5px, separator margins from 8px to 5px)
- Added 10px left padding to sidebar nav items
**Theme file:** `/home/guru/ClaudeTools/projects/community-forum/theme-v2.less`
**Stored in:** Flarum DB `settings.custom_less`
**Backup of v1:** `/tmp/theme-v1-backup.less` on IX server
**Key lesson:** Flarum's LESS compiler caches aggressively. To force recompile:
1. Delete `public/assets/forum.css` and `rev-manifest.json`
2. Clear `storage/cache/*`, `storage/less-cache/*`, `storage/framework/cache/*`
3. Run `php flarum cache:clear`
4. Hit the site from an external client to trigger lazy CSS compilation
5. Hard refresh browser (`Ctrl+Shift+R`)
### 2. Matomo Analytics (analytics.azcomputerguru.com)
**Installed:** Matomo 5.8.0 on IX server
**Setup steps:**
- DNS record for `analytics.azcomputerguru.com` was pointing to wrong IP (52.52.94.202) — updated to 72.194.62.5
- Matomo files extracted to `/home/azcomputerguru/public_html/analytics/`
- Had to create `.htaccess` file (not included in Matomo zip for hidden files)
- Had to fix directory permissions (`chmod 755` on analytics dir)
- Web installer completed: system check, database, tables, superuser, first website, tracking code
**Sites configured:**
| Site ID | Name | URL | Tracking Method |
|---------|------|-----|-----------------|
| 1 | AZ Computer Guru | https://azcomputerguru.com | WordPress mu-plugin (`wp-content/mu-plugins/matomo-tracking.php`) |
| 2 | Community Forum | https://community.azcomputerguru.com | Flarum `custom_header` DB setting (appended) |
| 3 | Radio Show | https://radio.azcomputerguru.com | PHP script injected tracking into 204 HTML files before `</head>` |
**Cron job:** Added to `azcomputerguru` crontab:
```
*/5 * * * * /usr/local/bin/php /home/azcomputerguru/public_html/analytics/console core:archive --url=https://analytics.azcomputerguru.com > /dev/null 2>&1
```
### 3. Cloudflare Changes
**Re-enabled proxy (orange cloud) on:**
- `community.azcomputerguru.com` (record ID: `a1d406f701d30957784fdb1cb1662748`)
- `radio.azcomputerguru.com` (record ID: `a7b1605203f9a72e146d7b290e840c45`)
- `analytics.azcomputerguru.com` (record ID: `a3e71224ef035b97160de99a8fff9980`) — also fixed IP from 52.52.94.202 → 72.194.62.5
**API used:** DNS token `DRRGkHS33pxAUjQfRDzDeVPtt6wwUU6FwtXqOzNj`
- Token has DNS read/write only — cannot check/change SSL/TLS mode or WAF rules
### 4. Research Completed
**Google Analytics:** No GA tracking on any of the 3 sites. WordPress has Site Kit installed with Search Console connected but no GA4. Deferred to future session.
**AI Crawler Rules:** Cloudflare has "AI Crawl Control" feature (free plan). Requires:
1. Proxy enabled (done)
2. Dashboard: AI Crawl Control > Crawlers tab
3. Allow: ChatGPT-User, Claude-Web, Perplexity-User (referral traffic)
4. Optional: GPTBot, ClaudeBot, Google-Extended (training)
5. Our API token lacks WAF permissions — must do via dashboard
**Self-hosted analytics comparison:** Evaluated Umami vs Matomo. Chose Matomo because it's pure PHP+MySQL (runs natively on cPanel) vs Umami requiring Node.js + reverse proxy.
## Credentials
### Matomo Analytics (analytics.azcomputerguru.com)
- **Admin User:** MikeSwanson / Mat0mo2026!CGS
- **Admin Email:** mike@azcomputerguru.com
- **DB Host:** localhost (on IX server 172.16.3.10)
- **DB Name:** azcompu_matomo
- **DB User:** azcompu_matomo
- **DB Password:** Mat0mo2026!CGS
### Flarum Forum (community.azcomputerguru.com) — unchanged
- **DB:** azcompu_flarum / azcompu_flarum / Fl@rum2026!CGS
- **API Key:** 581b6c8c162a383ba87757f41b4381e9bf8db61d71bd578ee97fe32b7aeac046
### IX Server SSH (from CachyOS workstation)
- **Must use:** `sshpass -p $'Gptf*77ttb!@#!@#' ssh -o StrictHostKeyChecking=no -o PubkeyAuthentication=no root@172.16.3.10`
- **Note:** `$'...'` quoting required for special chars in password — regular single quotes fail (exit code 5)
### Cloudflare
- **Zone ID:** 1beb9917c22b54be32e5215df2c227ce
- **DNS Token:** DRRGkHS33pxAUjQfRDzDeVPtt6wwUU6FwtXqOzNj (DNS read/write only)
- **NPM Token:** U1UTbBOWA4a69eWEBiqIbYh0etCGzrpTU4XaKp7w (broader, from Nginx Proxy Manager)
## Files Created/Modified
- `/home/guru/ClaudeTools/projects/community-forum/theme-v2.less` — new Flarum theme (created)
- IX: Flarum DB `settings.custom_less` — updated with theme v2
- IX: Flarum DB `settings.custom_header` — appended Matomo tracking (site ID 2)
- IX: `/home/azcomputerguru/public_html/analytics/` — Matomo installation (created)
- IX: `/home/azcomputerguru/public_html/analytics/.htaccess` — created for Apache
- IX: `/home/azcomputerguru/public_html/wp-content/mu-plugins/matomo-tracking.php` — WP tracking (created)
- IX: 204 HTML files in `/home/azcomputerguru/public_html/radio/` — Matomo tracking injected
- IX: `azcomputerguru` crontab — Matomo archive cron added
- `/home/guru/.claude/projects/-home-guru-ClaudeTools/memory/reference_matomo_analytics.md` — memory (created)
- `/home/guru/.claude/projects/-home-guru-ClaudeTools/memory/MEMORY.md` — updated index
- `/home/guru/ClaudeTools/credentials.md` — added Matomo section
## Pending/Incomplete Tasks
1. **Cloudflare SSL/TLS mode** — Verify it's "Full" or "Full (Strict)" in dashboard. Our API tokens can't check this.
2. **Cloudflare AI Crawl Control** — Configure in dashboard: allow ChatGPT-User, Claude-Web, Perplexity-User bots
3. **Google Analytics (GA4)** — Still needs setup. User deferred to future session. Need GA4 Measurement ID.
4. **WordPress Site Kit GA4** — Site Kit is installed on azcomputerguru.com with Search Console only. Can complete GA4 connection through Site Kit admin.
5. **Matomo API token** — Token came back empty during setup. May need to regenerate via Matomo admin panel.
6. **Radio site tracking durability** — HTML injection will be lost on next Astro rebuild/deploy. Should add to Astro layout component source instead.
7. **SSH key auth for IX** — Still using sshpass from CachyOS workstation. Should add ed25519 key.
8. **Broader Cloudflare API token** — Create one with WAF/Bot Management permissions for API-based AI crawler management.