Split blogs and other modules into child sitemaps.

Move blogs, portfolios, videos, instructions, and workshops out of sitemap-main into dedicated files like products, and allow saving migrated Farsi category color labels without wiping store-item links.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-08-26 19:02:38 +03:30
co-authored by Cursor
parent 5850c90d84
commit 730407ec3a
14 changed files with 839 additions and 113 deletions
+6 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# Insert / update Meshkee SEO proxy locations on an existing storefront nginx site.
# Covers: /sitemap.xml (index), /sitemap-main.xml, /sitemap-products.xml, /robots.txt
# Covers: /sitemap.xml (index), child sitemaps, /robots.txt
set -euo pipefail
HOST="${1:-}"
@@ -61,6 +61,11 @@ ensure_location() {
ensure_location /sitemap.xml sitemap.xml
ensure_location /sitemap-main.xml sitemap-main.xml
ensure_location /sitemap-products.xml sitemap-products.xml
ensure_location /sitemap-blogs.xml sitemap-blogs.xml
ensure_location /sitemap-portfolios.xml sitemap-portfolios.xml
ensure_location /sitemap-videos.xml sitemap-videos.xml
ensure_location /sitemap-instructions.xml sitemap-instructions.xml
ensure_location /sitemap-workshops.xml sitemap-workshops.xml
ensure_location /robots.txt robots.txt
nginx -t
+50
View File
@@ -160,6 +160,56 @@ PROXY_COMMON=$(cat <<PROXY
add_header Cache-Control "public, max-age=900";
}
location = /sitemap-blogs.xml {
proxy_pass https://api.meshkee.com/api/v1/tenants/${HOST}/sitemap-blogs.xml;
proxy_set_header Host api.meshkee.com;
proxy_ssl_server_name on;
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;
add_header Cache-Control "public, max-age=900";
}
location = /sitemap-portfolios.xml {
proxy_pass https://api.meshkee.com/api/v1/tenants/${HOST}/sitemap-portfolios.xml;
proxy_set_header Host api.meshkee.com;
proxy_ssl_server_name on;
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;
add_header Cache-Control "public, max-age=900";
}
location = /sitemap-videos.xml {
proxy_pass https://api.meshkee.com/api/v1/tenants/${HOST}/sitemap-videos.xml;
proxy_set_header Host api.meshkee.com;
proxy_ssl_server_name on;
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;
add_header Cache-Control "public, max-age=900";
}
location = /sitemap-instructions.xml {
proxy_pass https://api.meshkee.com/api/v1/tenants/${HOST}/sitemap-instructions.xml;
proxy_set_header Host api.meshkee.com;
proxy_ssl_server_name on;
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;
add_header Cache-Control "public, max-age=900";
}
location = /sitemap-workshops.xml {
proxy_pass https://api.meshkee.com/api/v1/tenants/${HOST}/sitemap-workshops.xml;
proxy_set_header Host api.meshkee.com;
proxy_ssl_server_name on;
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;
add_header Cache-Control "public, max-age=900";
}
location = /robots.txt {
proxy_pass https://api.meshkee.com/api/v1/tenants/${HOST}/robots.txt;
proxy_set_header Host api.meshkee.com;