DEPLOY: document SEO deploy steps, NPM apex/www config, old-build cleanup
This commit is contained in:
parent
e07541a325
commit
8033f095ca
1 changed files with 63 additions and 16 deletions
79
DEPLOY.md
79
DEPLOY.md
|
|
@ -1,4 +1,4 @@
|
|||
# Wild Dragon Site - Deployment Guide
|
||||
# Wild Dragon Site — Deployment Guide
|
||||
|
||||
## Quick Deploy to TrueNAS Docker
|
||||
|
||||
|
|
@ -10,31 +10,76 @@ SSH into TrueNAS or use Portainer terminal:
|
|||
|
||||
```bash
|
||||
cd /mnt/NVME/Docker/wilddragon-site
|
||||
git pull
|
||||
docker compose down
|
||||
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
|
||||
In your Nginx Proxy Manager (http://10.0.0.25:30020):
|
||||
- Add a new Proxy Host
|
||||
- Domain: `wilddragon.net` and `www.wilddragon.net`
|
||||
> Build can take ~120s on first build because of Next.js compile + image optimization.
|
||||
|
||||
### 3. Set up Nginx Proxy Manager — IMPORTANT FOR SEO
|
||||
|
||||
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`
|
||||
- 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
|
||||
|
||||
### Leica BTS Photos
|
||||
Drop your photos into `public/images/` with these names:
|
||||
- `commanders-thumb.jpg` - Washington Commanders project
|
||||
- `betmgm-thumb.jpg` - BetMGM project
|
||||
- `cvs-thumb.jpg` - CVS/Aetna project
|
||||
- `blue-origin-thumb.jpg` - Blue Origin project
|
||||
- `ubs-thumb.jpg` - UBS project
|
||||
- `teneo-thumb.jpg` - Teneo project
|
||||
- `intuit-thumb.jpg` - Intuit XR project
|
||||
- `commanders-thumb.jpg` — Washington Commanders project
|
||||
- `betmgm-thumb.jpg` — BetMGM project
|
||||
- `cvs-thumb.jpg` — CVS/Aetna project
|
||||
- `ubs-thumb.jpg` — UBS 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
|
||||
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`
|
||||
|
||||
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
|
||||
```bash
|
||||
|
|
|
|||
Loading…
Reference in a new issue