DEPLOY: document SEO deploy steps, NPM apex/www config, old-build cleanup

This commit is contained in:
Zac Gaetano 2026-05-04 00:05:02 -04:00
parent e07541a325
commit 8033f095ca

View file

@ -1,4 +1,4 @@
# Wild Dragon Site - Deployment Guide # Wild Dragon Site Deployment Guide
## Quick Deploy to TrueNAS Docker ## Quick Deploy to TrueNAS Docker
@ -10,31 +10,76 @@ SSH into TrueNAS or use Portainer terminal:
```bash ```bash
cd /mnt/NVME/Docker/wilddragon-site cd /mnt/NVME/Docker/wilddragon-site
git pull
docker compose down
docker compose up -d --build docker compose up -d --build
``` ```
The site will be available at `http://10.0.0.25:43036` The site will be available at `http://10.0.0.25:43036`.
### 3. Set up Nginx Proxy Manager > Build can take ~120s on first build because of Next.js compile + image optimization.
In your Nginx Proxy Manager (http://10.0.0.25:30020):
- Add a new Proxy Host ### 3. Set up Nginx Proxy Manager — IMPORTANT FOR SEO
- Domain: `wilddragon.net` and `www.wilddragon.net`
The canonical hostname is **`wilddragon.net`** (apex, no www). Configure NPM as follows:
**Proxy host 1 — Apex (serves the site):**
- Domain: `wilddragon.net`
- Forward to: `10.0.0.25:43036` - Forward to: `10.0.0.25:43036`
- Enable SSL (Let's Encrypt) - SSL: Let's Encrypt
- Block Common Exploits: on
- Websockets Support: on
**Proxy host 2 — www (301 redirects to apex):**
- Domain: `www.wilddragon.net`
- SSL: Let's Encrypt (same cert)
- Use the **Custom locations / Advanced** tab and add:
```
return 301 https://wilddragon.net$request_uri;
```
The Next.js app also has a fallback `host=www.wilddragon.net` redirect baked into
`next.config.ts`, but doing it at the proxy is faster and cleaner.
### 4. Old-build cleanup — IMPORTANT FOR SEO
Until ~May 2026 the apex was serving an older Babel-in-browser React build
(separate `index.html`, broken nested `<title>` tag, `robots.txt` with literal
`\n` strings, `Disallow: /*.js$`). If any old static files are still in the
NPM webroot or any other Nginx location, **remove them** and ensure the only
upstream is the Next.js container at port 43036. After deploying:
```bash
# From TrueNAS, sanity-check that nothing else is serving wilddragon.net:
curl -sI https://wilddragon.net/ | grep -i server
curl -s https://wilddragon.net/robots.txt | head -5
curl -s https://wilddragon.net/sitemap.xml | head -3
```
`robots.txt` should be a few lines of plain text. `sitemap.xml` should be valid
XML with `<urlset>` and one `<url>` per project. If either still has literal
`\n` strings, the old build is still being served.
### 5. Search Console (post-deploy)
- Submit `https://wilddragon.net/sitemap.xml` in Google Search Console
- Submit the same in Bing Webmaster Tools
- Add the `verification.google` / `verification.other` values to
`src/app/layout.tsx` once you have the property verification tokens
- Use the URL Inspection tool to request indexing on `/`, `/services`, and the
project pages
## Adding Your Photos ## Adding Your Photos
### Leica BTS Photos ### Leica BTS Photos
Drop your photos into `public/images/` with these names: Drop your photos into `public/images/` with these names:
- `commanders-thumb.jpg` - Washington Commanders project - `commanders-thumb.jpg` — Washington Commanders project
- `betmgm-thumb.jpg` - BetMGM project - `betmgm-thumb.jpg` — BetMGM project
- `cvs-thumb.jpg` - CVS/Aetna project - `cvs-thumb.jpg` — CVS/Aetna project
- `blue-origin-thumb.jpg` - Blue Origin project - `ubs-thumb.jpg` — UBS project
- `ubs-thumb.jpg` - UBS project - `intuit-thumb.jpg` — Intuit XR project
- `teneo-thumb.jpg` - Teneo project
- `intuit-thumb.jpg` - Intuit XR project
Recommended: 1200x800px, optimized for web (under 500KB each) Recommended: 1200x800px, optimized for web (under 500KB each).
### BMG Line Drawings ### BMG Line Drawings
You can add line drawings to individual project pages by placing them in: You can add line drawings to individual project pages by placing them in:
@ -46,7 +91,9 @@ All project content lives in a single file:
`src/data/projects.ts` `src/data/projects.ts`
To add a new project, copy an existing entry and modify the fields. To add a new project, copy an existing entry and modify the fields.
Then rebuild: `docker compose up -d --build` Then rebuild: `docker compose up -d --build`.
The sitemap and the homepage `Projects` grid pick up new entries automatically.
## Local Development ## Local Development
```bash ```bash