feat: add seo diagnostics tool with cli commands, config paths, and static versioning

Add SEO_REPORTS_DIR to config, STATIC_VERSION for cache-busting, seo prune/clear CLI subcommands, tools router with seo job endpoints, and boot-versioned static URLs in Dockerfile and Makefile
This commit is contained in:
2026-06-14 00:16:22 +00:00
parent 61c1ae8c5d
commit 1b89f7c49f
110 changed files with 4501 additions and 270 deletions
+25 -2
View File
@@ -40,10 +40,19 @@ server {
log_not_found off;
}
location ~ ^/static/v\d+/(?<asset>.+)$ {
alias /app/static/$asset;
add_header X-Content-Type-Options nosniff;
expires 1y;
add_header Cache-Control "public, immutable, max-age=31536000";
access_log off;
log_not_found off;
}
location /static/ {
alias /app/static/;
expires 7d;
add_header Cache-Control "public, immutable, max-age=604800";
expires 1h;
add_header Cache-Control "public, max-age=3600";
access_log off;
log_not_found off;
}
@@ -61,6 +70,20 @@ server {
proxy_send_timeout 3600s;
}
# SEO Diagnostics live progress websocket (/tools/seo/<uid>/ws).
location ~ ^/tools/seo/[^/]+/ws$ {
proxy_pass http://app;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
}
location /avatar/ {
proxy_pass http://app;
proxy_set_header Host $host;