← back to Dw Domain Fleet
fleet: explicit display-name overrides, ecosystem + nginx generators, boot-test (65/65 pass)
d1bbf078344592953e930646d8b7403cb8b1ea02 · 2026-05-18 20:37:01 -0700 · Steve
Files touched
A data/nginx/1800wallcoverings.com.confA data/nginx/1800wallpapers.com.confA data/nginx/800wallpaper.com.confA data/nginx/asseeninhotels.com.confA data/nginx/asseeninla.com.confA data/nginx/asseeninshowrooms.com.confA data/nginx/barwallpaper.com.confA data/nginx/blankstocklining.com.confA data/nginx/bleachfriendly.com.confA data/nginx/carmelwallpaper.com.confA data/nginx/cfafabrics.com.confA data/nginx/classawallcovering.com.confA data/nginx/commercialsalesreps.com.confA data/nginx/commercialwallcovering.com.confA data/nginx/commercialwalls.com.confA data/nginx/designerlaboratory.com.confA data/nginx/designermagnetics.com.confA data/nginx/designerswallcovering.com.confA data/nginx/designerswallcoverings.com.confA data/nginx/designerswallpapers.com.confA data/nginx/designerwallcover.com.confA data/nginx/designerwallcovering.com.confA data/nginx/designerwallpaints.com.confA data/nginx/designerwalltiles.com.confA data/nginx/designwallcoverings.com.confA data/nginx/dwlosangeles.com.confA data/nginx/etciemurals.com.confA data/nginx/fabricfridays.com.confA data/nginx/fireratedwallcovering.com.confA data/nginx/flocked.org.confA data/nginx/grassclothwallcovering.com.confA data/nginx/handmadewallcovering.com.confA data/nginx/handmadewallpapers.com.confA data/nginx/handscreenedwallpaper.com.confA data/nginx/hollywoodwallcovering.com.confA data/nginx/hospitalitysalesagency.com.confA data/nginx/hospitalitysalesagents.com.confA data/nginx/hospitalitysalesreps.com.confA data/nginx/malibuwallpaper.com.confA data/nginx/montereywallpaper.com.confA data/nginx/naturalwalltextures.com.confA data/nginx/patterndesignlab.com.confA data/nginx/philliperomano.com.confA data/nginx/printmurals.com.confA data/nginx/restaurantfabrics.com.confA data/nginx/restaurantmurals.com.confA data/nginx/roomsettings.com.confA data/nginx/sheltermagazines.com.confA data/nginx/specifywallpaper.com.confA data/nginx/steveabramsdesigns.com.confA data/nginx/stevenabramsphotography.com.confA data/nginx/thedesignerlaboratory.com.confA data/nginx/thehotelwallpaper.com.confA data/nginx/traditionalwhimsy.com.confA data/nginx/unitedstateswallpaper.com.confA data/nginx/wallcovering.net.confA data/nginx/wallpaperexports.com.confA data/nginx/wallpaperfromthe80s.com.confA data/nginx/wallpaperny.com.confA data/nginx/wallpapernyc.com.confA data/nginx/wallpaperpurchasing.com.confA data/nginx/wallpaperweekly.com.confA data/nginx/wc-01.com.confA data/nginx/wc01wallcoverings.com.confA data/nginx/wc01wallpaper.com.confA ecosystem.config.jsA scripts/boot-test.jsM scripts/gen-configs.jsA scripts/gen-ecosystem.jsA scripts/gen-nginx.jsM shared/render.jsM sites/1800wallcoverings.jsonM sites/1800wallpapers.jsonM sites/asseeninhotels.jsonM sites/asseeninla.jsonM sites/asseeninshowrooms.jsonM sites/blankstocklining.jsonM sites/bleachfriendly.jsonM sites/cfafabrics.jsonM sites/classawallcovering.jsonM sites/commercialsalesreps.jsonM sites/designerwallcover.jsonM sites/designerwallpaints.jsonM sites/designerwalltiles.jsonM sites/dwlosangeles.jsonM sites/etciemurals.jsonM sites/fabricfridays.jsonM sites/fireratedwallcovering.jsonM sites/handmadewallcovering.jsonM sites/handmadewallpapers.jsonM sites/handscreenedwallpaper.jsonM sites/hospitalitysalesagency.jsonM sites/hospitalitysalesagents.jsonM sites/hospitalitysalesreps.jsonM sites/naturalwalltextures.jsonM sites/patterndesignlab.jsonM sites/philliperomano.jsonM sites/steveabramsdesigns.jsonM sites/stevenabramsphotography.jsonM sites/thedesignerlaboratory.jsonM sites/thehotelwallpaper.jsonM sites/unitedstateswallpaper.jsonM sites/wallpaperfromthe80s.jsonM sites/wallpaperny.jsonM sites/wallpapernyc.json
Diff
commit d1bbf078344592953e930646d8b7403cb8b1ea02
Author: Steve <steve@designerwallcoverings.com>
Date: Mon May 18 20:37:01 2026 -0700
fleet: explicit display-name overrides, ecosystem + nginx generators, boot-test (65/65 pass)
---
data/nginx/1800wallcoverings.com.conf | 21 +
data/nginx/1800wallpapers.com.conf | 21 +
data/nginx/800wallpaper.com.conf | 21 +
data/nginx/asseeninhotels.com.conf | 21 +
data/nginx/asseeninla.com.conf | 21 +
data/nginx/asseeninshowrooms.com.conf | 21 +
data/nginx/barwallpaper.com.conf | 21 +
data/nginx/blankstocklining.com.conf | 21 +
data/nginx/bleachfriendly.com.conf | 21 +
data/nginx/carmelwallpaper.com.conf | 21 +
data/nginx/cfafabrics.com.conf | 21 +
data/nginx/classawallcovering.com.conf | 21 +
data/nginx/commercialsalesreps.com.conf | 21 +
data/nginx/commercialwallcovering.com.conf | 21 +
data/nginx/commercialwalls.com.conf | 21 +
data/nginx/designerlaboratory.com.conf | 21 +
data/nginx/designermagnetics.com.conf | 21 +
data/nginx/designerswallcovering.com.conf | 21 +
data/nginx/designerswallcoverings.com.conf | 21 +
data/nginx/designerswallpapers.com.conf | 21 +
data/nginx/designerwallcover.com.conf | 21 +
data/nginx/designerwallcovering.com.conf | 21 +
data/nginx/designerwallpaints.com.conf | 21 +
data/nginx/designerwalltiles.com.conf | 21 +
data/nginx/designwallcoverings.com.conf | 21 +
data/nginx/dwlosangeles.com.conf | 21 +
data/nginx/etciemurals.com.conf | 21 +
data/nginx/fabricfridays.com.conf | 21 +
data/nginx/fireratedwallcovering.com.conf | 21 +
data/nginx/flocked.org.conf | 21 +
data/nginx/grassclothwallcovering.com.conf | 21 +
data/nginx/handmadewallcovering.com.conf | 21 +
data/nginx/handmadewallpapers.com.conf | 21 +
data/nginx/handscreenedwallpaper.com.conf | 21 +
data/nginx/hollywoodwallcovering.com.conf | 21 +
data/nginx/hospitalitysalesagency.com.conf | 21 +
data/nginx/hospitalitysalesagents.com.conf | 21 +
data/nginx/hospitalitysalesreps.com.conf | 21 +
data/nginx/malibuwallpaper.com.conf | 21 +
data/nginx/montereywallpaper.com.conf | 21 +
data/nginx/naturalwalltextures.com.conf | 21 +
data/nginx/patterndesignlab.com.conf | 21 +
data/nginx/philliperomano.com.conf | 21 +
data/nginx/printmurals.com.conf | 21 +
data/nginx/restaurantfabrics.com.conf | 21 +
data/nginx/restaurantmurals.com.conf | 21 +
data/nginx/roomsettings.com.conf | 21 +
data/nginx/sheltermagazines.com.conf | 21 +
data/nginx/specifywallpaper.com.conf | 21 +
data/nginx/steveabramsdesigns.com.conf | 21 +
data/nginx/stevenabramsphotography.com.conf | 21 +
data/nginx/thedesignerlaboratory.com.conf | 21 +
data/nginx/thehotelwallpaper.com.conf | 21 +
data/nginx/traditionalwhimsy.com.conf | 21 +
data/nginx/unitedstateswallpaper.com.conf | 21 +
data/nginx/wallcovering.net.conf | 21 +
data/nginx/wallpaperexports.com.conf | 21 +
data/nginx/wallpaperfromthe80s.com.conf | 21 +
data/nginx/wallpaperny.com.conf | 21 +
data/nginx/wallpapernyc.com.conf | 21 +
data/nginx/wallpaperpurchasing.com.conf | 21 +
data/nginx/wallpaperweekly.com.conf | 21 +
data/nginx/wc-01.com.conf | 21 +
data/nginx/wc01wallcoverings.com.conf | 21 +
data/nginx/wc01wallpaper.com.conf | 21 +
ecosystem.config.js | 784 ++++++++++++++++++++++++++++
scripts/boot-test.js | 58 ++
scripts/gen-configs.js | 79 ++-
scripts/gen-ecosystem.js | 22 +
scripts/gen-nginx.js | 40 ++
shared/render.js | 6 +-
sites/1800wallcoverings.json | 8 +-
sites/1800wallpapers.json | 8 +-
sites/asseeninhotels.json | 8 +-
sites/asseeninla.json | 8 +-
sites/asseeninshowrooms.json | 8 +-
sites/blankstocklining.json | 8 +-
sites/bleachfriendly.json | 8 +-
sites/cfafabrics.json | 8 +-
sites/classawallcovering.json | 8 +-
sites/commercialsalesreps.json | 8 +-
sites/designerwallcover.json | 8 +-
sites/designerwallpaints.json | 8 +-
sites/designerwalltiles.json | 8 +-
sites/dwlosangeles.json | 8 +-
sites/etciemurals.json | 8 +-
sites/fabricfridays.json | 8 +-
sites/fireratedwallcovering.json | 8 +-
sites/handmadewallcovering.json | 8 +-
sites/handmadewallpapers.json | 8 +-
sites/handscreenedwallpaper.json | 8 +-
sites/hospitalitysalesagency.json | 8 +-
sites/hospitalitysalesagents.json | 8 +-
sites/hospitalitysalesreps.json | 8 +-
sites/naturalwalltextures.json | 8 +-
sites/patterndesignlab.json | 8 +-
sites/philliperomano.json | 8 +-
sites/steveabramsdesigns.json | 8 +-
sites/stevenabramsphotography.json | 8 +-
sites/thedesignerlaboratory.json | 8 +-
sites/thehotelwallpaper.json | 8 +-
sites/unitedstateswallpaper.json | 8 +-
sites/wallpaperfromthe80s.json | 8 +-
sites/wallpaperny.json | 8 +-
sites/wallpapernyc.json | 8 +-
105 files changed, 2484 insertions(+), 142 deletions(-)
diff --git a/data/nginx/1800wallcoverings.com.conf b/data/nginx/1800wallcoverings.com.conf
new file mode 100644
index 0000000..9628b07
--- /dev/null
+++ b/data/nginx/1800wallcoverings.com.conf
@@ -0,0 +1,21 @@
+# 1800wallcoverings.com — dwf-1800wallcoverings :9901
+server {
+ listen 80;
+ listen [::]:80;
+ server_name 1800wallcoverings.com www.1800wallcoverings.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9901;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/1800wallpapers.com.conf b/data/nginx/1800wallpapers.com.conf
new file mode 100644
index 0000000..cf06e66
--- /dev/null
+++ b/data/nginx/1800wallpapers.com.conf
@@ -0,0 +1,21 @@
+# 1800wallpapers.com — dwf-1800wallpapers :9902
+server {
+ listen 80;
+ listen [::]:80;
+ server_name 1800wallpapers.com www.1800wallpapers.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9902;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/800wallpaper.com.conf b/data/nginx/800wallpaper.com.conf
new file mode 100644
index 0000000..a331979
--- /dev/null
+++ b/data/nginx/800wallpaper.com.conf
@@ -0,0 +1,21 @@
+# 800wallpaper.com — dwf-800wallpaper :9903
+server {
+ listen 80;
+ listen [::]:80;
+ server_name 800wallpaper.com www.800wallpaper.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9903;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/asseeninhotels.com.conf b/data/nginx/asseeninhotels.com.conf
new file mode 100644
index 0000000..74a7999
--- /dev/null
+++ b/data/nginx/asseeninhotels.com.conf
@@ -0,0 +1,21 @@
+# asseeninhotels.com — dwf-asseeninhotels :9904
+server {
+ listen 80;
+ listen [::]:80;
+ server_name asseeninhotels.com www.asseeninhotels.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9904;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/asseeninla.com.conf b/data/nginx/asseeninla.com.conf
new file mode 100644
index 0000000..0750a1e
--- /dev/null
+++ b/data/nginx/asseeninla.com.conf
@@ -0,0 +1,21 @@
+# asseeninla.com — dwf-asseeninla :9905
+server {
+ listen 80;
+ listen [::]:80;
+ server_name asseeninla.com www.asseeninla.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9905;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/asseeninshowrooms.com.conf b/data/nginx/asseeninshowrooms.com.conf
new file mode 100644
index 0000000..3340019
--- /dev/null
+++ b/data/nginx/asseeninshowrooms.com.conf
@@ -0,0 +1,21 @@
+# asseeninshowrooms.com — dwf-asseeninshowrooms :9906
+server {
+ listen 80;
+ listen [::]:80;
+ server_name asseeninshowrooms.com www.asseeninshowrooms.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9906;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/barwallpaper.com.conf b/data/nginx/barwallpaper.com.conf
new file mode 100644
index 0000000..3e12d96
--- /dev/null
+++ b/data/nginx/barwallpaper.com.conf
@@ -0,0 +1,21 @@
+# barwallpaper.com — dwf-barwallpaper :9907
+server {
+ listen 80;
+ listen [::]:80;
+ server_name barwallpaper.com www.barwallpaper.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9907;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/blankstocklining.com.conf b/data/nginx/blankstocklining.com.conf
new file mode 100644
index 0000000..7333837
--- /dev/null
+++ b/data/nginx/blankstocklining.com.conf
@@ -0,0 +1,21 @@
+# blankstocklining.com — dwf-blankstocklining :9908
+server {
+ listen 80;
+ listen [::]:80;
+ server_name blankstocklining.com www.blankstocklining.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9908;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/bleachfriendly.com.conf b/data/nginx/bleachfriendly.com.conf
new file mode 100644
index 0000000..abd7a05
--- /dev/null
+++ b/data/nginx/bleachfriendly.com.conf
@@ -0,0 +1,21 @@
+# bleachfriendly.com — dwf-bleachfriendly :9909
+server {
+ listen 80;
+ listen [::]:80;
+ server_name bleachfriendly.com www.bleachfriendly.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9909;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/carmelwallpaper.com.conf b/data/nginx/carmelwallpaper.com.conf
new file mode 100644
index 0000000..4eb6ba6
--- /dev/null
+++ b/data/nginx/carmelwallpaper.com.conf
@@ -0,0 +1,21 @@
+# carmelwallpaper.com — dwf-carmelwallpaper :9910
+server {
+ listen 80;
+ listen [::]:80;
+ server_name carmelwallpaper.com www.carmelwallpaper.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9910;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/cfafabrics.com.conf b/data/nginx/cfafabrics.com.conf
new file mode 100644
index 0000000..584978c
--- /dev/null
+++ b/data/nginx/cfafabrics.com.conf
@@ -0,0 +1,21 @@
+# cfafabrics.com — dwf-cfafabrics :9911
+server {
+ listen 80;
+ listen [::]:80;
+ server_name cfafabrics.com www.cfafabrics.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9911;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/classawallcovering.com.conf b/data/nginx/classawallcovering.com.conf
new file mode 100644
index 0000000..b0b6e18
--- /dev/null
+++ b/data/nginx/classawallcovering.com.conf
@@ -0,0 +1,21 @@
+# classawallcovering.com — dwf-classawallcovering :9912
+server {
+ listen 80;
+ listen [::]:80;
+ server_name classawallcovering.com www.classawallcovering.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9912;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/commercialsalesreps.com.conf b/data/nginx/commercialsalesreps.com.conf
new file mode 100644
index 0000000..8d869d4
--- /dev/null
+++ b/data/nginx/commercialsalesreps.com.conf
@@ -0,0 +1,21 @@
+# commercialsalesreps.com — dwf-commercialsalesreps :9913
+server {
+ listen 80;
+ listen [::]:80;
+ server_name commercialsalesreps.com www.commercialsalesreps.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9913;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/commercialwallcovering.com.conf b/data/nginx/commercialwallcovering.com.conf
new file mode 100644
index 0000000..fe1d2d9
--- /dev/null
+++ b/data/nginx/commercialwallcovering.com.conf
@@ -0,0 +1,21 @@
+# commercialwallcovering.com — dwf-commercialwallcovering :9914
+server {
+ listen 80;
+ listen [::]:80;
+ server_name commercialwallcovering.com www.commercialwallcovering.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9914;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/commercialwalls.com.conf b/data/nginx/commercialwalls.com.conf
new file mode 100644
index 0000000..dae744e
--- /dev/null
+++ b/data/nginx/commercialwalls.com.conf
@@ -0,0 +1,21 @@
+# commercialwalls.com — dwf-commercialwalls :9915
+server {
+ listen 80;
+ listen [::]:80;
+ server_name commercialwalls.com www.commercialwalls.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9915;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/designerlaboratory.com.conf b/data/nginx/designerlaboratory.com.conf
new file mode 100644
index 0000000..787df61
--- /dev/null
+++ b/data/nginx/designerlaboratory.com.conf
@@ -0,0 +1,21 @@
+# designerlaboratory.com — dwf-designerlaboratory :9916
+server {
+ listen 80;
+ listen [::]:80;
+ server_name designerlaboratory.com www.designerlaboratory.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9916;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/designermagnetics.com.conf b/data/nginx/designermagnetics.com.conf
new file mode 100644
index 0000000..2f7df31
--- /dev/null
+++ b/data/nginx/designermagnetics.com.conf
@@ -0,0 +1,21 @@
+# designermagnetics.com — dwf-designermagnetics :9917
+server {
+ listen 80;
+ listen [::]:80;
+ server_name designermagnetics.com www.designermagnetics.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9917;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/designerswallcovering.com.conf b/data/nginx/designerswallcovering.com.conf
new file mode 100644
index 0000000..378c01a
--- /dev/null
+++ b/data/nginx/designerswallcovering.com.conf
@@ -0,0 +1,21 @@
+# designerswallcovering.com — dwf-designerswallcovering :9918
+server {
+ listen 80;
+ listen [::]:80;
+ server_name designerswallcovering.com www.designerswallcovering.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9918;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/designerswallcoverings.com.conf b/data/nginx/designerswallcoverings.com.conf
new file mode 100644
index 0000000..cd6ddbb
--- /dev/null
+++ b/data/nginx/designerswallcoverings.com.conf
@@ -0,0 +1,21 @@
+# designerswallcoverings.com — dwf-designerswallcoverings :9919
+server {
+ listen 80;
+ listen [::]:80;
+ server_name designerswallcoverings.com www.designerswallcoverings.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9919;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/designerswallpapers.com.conf b/data/nginx/designerswallpapers.com.conf
new file mode 100644
index 0000000..59bfea1
--- /dev/null
+++ b/data/nginx/designerswallpapers.com.conf
@@ -0,0 +1,21 @@
+# designerswallpapers.com — dwf-designerswallpapers :9920
+server {
+ listen 80;
+ listen [::]:80;
+ server_name designerswallpapers.com www.designerswallpapers.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9920;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/designerwallcover.com.conf b/data/nginx/designerwallcover.com.conf
new file mode 100644
index 0000000..ae18cb2
--- /dev/null
+++ b/data/nginx/designerwallcover.com.conf
@@ -0,0 +1,21 @@
+# designerwallcover.com — dwf-designerwallcover :9921
+server {
+ listen 80;
+ listen [::]:80;
+ server_name designerwallcover.com www.designerwallcover.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9921;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/designerwallcovering.com.conf b/data/nginx/designerwallcovering.com.conf
new file mode 100644
index 0000000..78be8b8
--- /dev/null
+++ b/data/nginx/designerwallcovering.com.conf
@@ -0,0 +1,21 @@
+# designerwallcovering.com — dwf-designerwallcovering :9922
+server {
+ listen 80;
+ listen [::]:80;
+ server_name designerwallcovering.com www.designerwallcovering.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9922;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/designerwallpaints.com.conf b/data/nginx/designerwallpaints.com.conf
new file mode 100644
index 0000000..9ea6481
--- /dev/null
+++ b/data/nginx/designerwallpaints.com.conf
@@ -0,0 +1,21 @@
+# designerwallpaints.com — dwf-designerwallpaints :9923
+server {
+ listen 80;
+ listen [::]:80;
+ server_name designerwallpaints.com www.designerwallpaints.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9923;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/designerwalltiles.com.conf b/data/nginx/designerwalltiles.com.conf
new file mode 100644
index 0000000..266493f
--- /dev/null
+++ b/data/nginx/designerwalltiles.com.conf
@@ -0,0 +1,21 @@
+# designerwalltiles.com — dwf-designerwalltiles :9924
+server {
+ listen 80;
+ listen [::]:80;
+ server_name designerwalltiles.com www.designerwalltiles.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9924;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/designwallcoverings.com.conf b/data/nginx/designwallcoverings.com.conf
new file mode 100644
index 0000000..6e23c0b
--- /dev/null
+++ b/data/nginx/designwallcoverings.com.conf
@@ -0,0 +1,21 @@
+# designwallcoverings.com — dwf-designwallcoverings :9925
+server {
+ listen 80;
+ listen [::]:80;
+ server_name designwallcoverings.com www.designwallcoverings.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9925;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/dwlosangeles.com.conf b/data/nginx/dwlosangeles.com.conf
new file mode 100644
index 0000000..4af37cb
--- /dev/null
+++ b/data/nginx/dwlosangeles.com.conf
@@ -0,0 +1,21 @@
+# dwlosangeles.com — dwf-dwlosangeles :9926
+server {
+ listen 80;
+ listen [::]:80;
+ server_name dwlosangeles.com www.dwlosangeles.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9926;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/etciemurals.com.conf b/data/nginx/etciemurals.com.conf
new file mode 100644
index 0000000..5b8e8c1
--- /dev/null
+++ b/data/nginx/etciemurals.com.conf
@@ -0,0 +1,21 @@
+# etciemurals.com — dwf-etciemurals :9927
+server {
+ listen 80;
+ listen [::]:80;
+ server_name etciemurals.com www.etciemurals.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9927;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/fabricfridays.com.conf b/data/nginx/fabricfridays.com.conf
new file mode 100644
index 0000000..15e82e0
--- /dev/null
+++ b/data/nginx/fabricfridays.com.conf
@@ -0,0 +1,21 @@
+# fabricfridays.com — dwf-fabricfridays :9928
+server {
+ listen 80;
+ listen [::]:80;
+ server_name fabricfridays.com www.fabricfridays.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9928;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/fireratedwallcovering.com.conf b/data/nginx/fireratedwallcovering.com.conf
new file mode 100644
index 0000000..f687ce4
--- /dev/null
+++ b/data/nginx/fireratedwallcovering.com.conf
@@ -0,0 +1,21 @@
+# fireratedwallcovering.com — dwf-fireratedwallcovering :9929
+server {
+ listen 80;
+ listen [::]:80;
+ server_name fireratedwallcovering.com www.fireratedwallcovering.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9929;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/flocked.org.conf b/data/nginx/flocked.org.conf
new file mode 100644
index 0000000..341eb33
--- /dev/null
+++ b/data/nginx/flocked.org.conf
@@ -0,0 +1,21 @@
+# flocked.org — dwf-flocked :9930
+server {
+ listen 80;
+ listen [::]:80;
+ server_name flocked.org www.flocked.org;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9930;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/grassclothwallcovering.com.conf b/data/nginx/grassclothwallcovering.com.conf
new file mode 100644
index 0000000..ad390e1
--- /dev/null
+++ b/data/nginx/grassclothwallcovering.com.conf
@@ -0,0 +1,21 @@
+# grassclothwallcovering.com — dwf-grassclothwallcovering :9931
+server {
+ listen 80;
+ listen [::]:80;
+ server_name grassclothwallcovering.com www.grassclothwallcovering.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9931;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/handmadewallcovering.com.conf b/data/nginx/handmadewallcovering.com.conf
new file mode 100644
index 0000000..ed3b689
--- /dev/null
+++ b/data/nginx/handmadewallcovering.com.conf
@@ -0,0 +1,21 @@
+# handmadewallcovering.com — dwf-handmadewallcovering :9932
+server {
+ listen 80;
+ listen [::]:80;
+ server_name handmadewallcovering.com www.handmadewallcovering.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9932;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/handmadewallpapers.com.conf b/data/nginx/handmadewallpapers.com.conf
new file mode 100644
index 0000000..95745d5
--- /dev/null
+++ b/data/nginx/handmadewallpapers.com.conf
@@ -0,0 +1,21 @@
+# handmadewallpapers.com — dwf-handmadewallpapers :9933
+server {
+ listen 80;
+ listen [::]:80;
+ server_name handmadewallpapers.com www.handmadewallpapers.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9933;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/handscreenedwallpaper.com.conf b/data/nginx/handscreenedwallpaper.com.conf
new file mode 100644
index 0000000..4ecffea
--- /dev/null
+++ b/data/nginx/handscreenedwallpaper.com.conf
@@ -0,0 +1,21 @@
+# handscreenedwallpaper.com — dwf-handscreenedwallpaper :9934
+server {
+ listen 80;
+ listen [::]:80;
+ server_name handscreenedwallpaper.com www.handscreenedwallpaper.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9934;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/hollywoodwallcovering.com.conf b/data/nginx/hollywoodwallcovering.com.conf
new file mode 100644
index 0000000..9919959
--- /dev/null
+++ b/data/nginx/hollywoodwallcovering.com.conf
@@ -0,0 +1,21 @@
+# hollywoodwallcovering.com — dwf-hollywoodwallcovering :9935
+server {
+ listen 80;
+ listen [::]:80;
+ server_name hollywoodwallcovering.com www.hollywoodwallcovering.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9935;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/hospitalitysalesagency.com.conf b/data/nginx/hospitalitysalesagency.com.conf
new file mode 100644
index 0000000..3112676
--- /dev/null
+++ b/data/nginx/hospitalitysalesagency.com.conf
@@ -0,0 +1,21 @@
+# hospitalitysalesagency.com — dwf-hospitalitysalesagency :9936
+server {
+ listen 80;
+ listen [::]:80;
+ server_name hospitalitysalesagency.com www.hospitalitysalesagency.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9936;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/hospitalitysalesagents.com.conf b/data/nginx/hospitalitysalesagents.com.conf
new file mode 100644
index 0000000..e624759
--- /dev/null
+++ b/data/nginx/hospitalitysalesagents.com.conf
@@ -0,0 +1,21 @@
+# hospitalitysalesagents.com — dwf-hospitalitysalesagents :9937
+server {
+ listen 80;
+ listen [::]:80;
+ server_name hospitalitysalesagents.com www.hospitalitysalesagents.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9937;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/hospitalitysalesreps.com.conf b/data/nginx/hospitalitysalesreps.com.conf
new file mode 100644
index 0000000..2fad2c3
--- /dev/null
+++ b/data/nginx/hospitalitysalesreps.com.conf
@@ -0,0 +1,21 @@
+# hospitalitysalesreps.com — dwf-hospitalitysalesreps :9938
+server {
+ listen 80;
+ listen [::]:80;
+ server_name hospitalitysalesreps.com www.hospitalitysalesreps.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9938;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/malibuwallpaper.com.conf b/data/nginx/malibuwallpaper.com.conf
new file mode 100644
index 0000000..42fc89d
--- /dev/null
+++ b/data/nginx/malibuwallpaper.com.conf
@@ -0,0 +1,21 @@
+# malibuwallpaper.com — dwf-malibuwallpaper :9939
+server {
+ listen 80;
+ listen [::]:80;
+ server_name malibuwallpaper.com www.malibuwallpaper.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9939;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/montereywallpaper.com.conf b/data/nginx/montereywallpaper.com.conf
new file mode 100644
index 0000000..285342f
--- /dev/null
+++ b/data/nginx/montereywallpaper.com.conf
@@ -0,0 +1,21 @@
+# montereywallpaper.com — dwf-montereywallpaper :9940
+server {
+ listen 80;
+ listen [::]:80;
+ server_name montereywallpaper.com www.montereywallpaper.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9940;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/naturalwalltextures.com.conf b/data/nginx/naturalwalltextures.com.conf
new file mode 100644
index 0000000..4d3e7bc
--- /dev/null
+++ b/data/nginx/naturalwalltextures.com.conf
@@ -0,0 +1,21 @@
+# naturalwalltextures.com — dwf-naturalwalltextures :9941
+server {
+ listen 80;
+ listen [::]:80;
+ server_name naturalwalltextures.com www.naturalwalltextures.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9941;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/patterndesignlab.com.conf b/data/nginx/patterndesignlab.com.conf
new file mode 100644
index 0000000..07622a3
--- /dev/null
+++ b/data/nginx/patterndesignlab.com.conf
@@ -0,0 +1,21 @@
+# patterndesignlab.com — dwf-patterndesignlab :9942
+server {
+ listen 80;
+ listen [::]:80;
+ server_name patterndesignlab.com www.patterndesignlab.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9942;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/philliperomano.com.conf b/data/nginx/philliperomano.com.conf
new file mode 100644
index 0000000..94de1cb
--- /dev/null
+++ b/data/nginx/philliperomano.com.conf
@@ -0,0 +1,21 @@
+# philliperomano.com — dwf-philliperomano :9943
+server {
+ listen 80;
+ listen [::]:80;
+ server_name philliperomano.com www.philliperomano.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9943;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/printmurals.com.conf b/data/nginx/printmurals.com.conf
new file mode 100644
index 0000000..eeb34ad
--- /dev/null
+++ b/data/nginx/printmurals.com.conf
@@ -0,0 +1,21 @@
+# printmurals.com — dwf-printmurals :9944
+server {
+ listen 80;
+ listen [::]:80;
+ server_name printmurals.com www.printmurals.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9944;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/restaurantfabrics.com.conf b/data/nginx/restaurantfabrics.com.conf
new file mode 100644
index 0000000..e052166
--- /dev/null
+++ b/data/nginx/restaurantfabrics.com.conf
@@ -0,0 +1,21 @@
+# restaurantfabrics.com — dwf-restaurantfabrics :9945
+server {
+ listen 80;
+ listen [::]:80;
+ server_name restaurantfabrics.com www.restaurantfabrics.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9945;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/restaurantmurals.com.conf b/data/nginx/restaurantmurals.com.conf
new file mode 100644
index 0000000..03c11f5
--- /dev/null
+++ b/data/nginx/restaurantmurals.com.conf
@@ -0,0 +1,21 @@
+# restaurantmurals.com — dwf-restaurantmurals :9946
+server {
+ listen 80;
+ listen [::]:80;
+ server_name restaurantmurals.com www.restaurantmurals.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9946;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/roomsettings.com.conf b/data/nginx/roomsettings.com.conf
new file mode 100644
index 0000000..79ebb04
--- /dev/null
+++ b/data/nginx/roomsettings.com.conf
@@ -0,0 +1,21 @@
+# roomsettings.com — dwf-roomsettings :9947
+server {
+ listen 80;
+ listen [::]:80;
+ server_name roomsettings.com www.roomsettings.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9947;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/sheltermagazines.com.conf b/data/nginx/sheltermagazines.com.conf
new file mode 100644
index 0000000..c5543ec
--- /dev/null
+++ b/data/nginx/sheltermagazines.com.conf
@@ -0,0 +1,21 @@
+# sheltermagazines.com — dwf-sheltermagazines :9948
+server {
+ listen 80;
+ listen [::]:80;
+ server_name sheltermagazines.com www.sheltermagazines.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9948;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/specifywallpaper.com.conf b/data/nginx/specifywallpaper.com.conf
new file mode 100644
index 0000000..cf5c1b7
--- /dev/null
+++ b/data/nginx/specifywallpaper.com.conf
@@ -0,0 +1,21 @@
+# specifywallpaper.com — dwf-specifywallpaper :9949
+server {
+ listen 80;
+ listen [::]:80;
+ server_name specifywallpaper.com www.specifywallpaper.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9949;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/steveabramsdesigns.com.conf b/data/nginx/steveabramsdesigns.com.conf
new file mode 100644
index 0000000..68b19c1
--- /dev/null
+++ b/data/nginx/steveabramsdesigns.com.conf
@@ -0,0 +1,21 @@
+# steveabramsdesigns.com — dwf-steveabramsdesigns :9950
+server {
+ listen 80;
+ listen [::]:80;
+ server_name steveabramsdesigns.com www.steveabramsdesigns.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9950;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/stevenabramsphotography.com.conf b/data/nginx/stevenabramsphotography.com.conf
new file mode 100644
index 0000000..dae0012
--- /dev/null
+++ b/data/nginx/stevenabramsphotography.com.conf
@@ -0,0 +1,21 @@
+# stevenabramsphotography.com — dwf-stevenabramsphotography :9951
+server {
+ listen 80;
+ listen [::]:80;
+ server_name stevenabramsphotography.com www.stevenabramsphotography.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9951;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/thedesignerlaboratory.com.conf b/data/nginx/thedesignerlaboratory.com.conf
new file mode 100644
index 0000000..1729257
--- /dev/null
+++ b/data/nginx/thedesignerlaboratory.com.conf
@@ -0,0 +1,21 @@
+# thedesignerlaboratory.com — dwf-thedesignerlaboratory :9952
+server {
+ listen 80;
+ listen [::]:80;
+ server_name thedesignerlaboratory.com www.thedesignerlaboratory.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9952;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/thehotelwallpaper.com.conf b/data/nginx/thehotelwallpaper.com.conf
new file mode 100644
index 0000000..234305e
--- /dev/null
+++ b/data/nginx/thehotelwallpaper.com.conf
@@ -0,0 +1,21 @@
+# thehotelwallpaper.com — dwf-thehotelwallpaper :9953
+server {
+ listen 80;
+ listen [::]:80;
+ server_name thehotelwallpaper.com www.thehotelwallpaper.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9953;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/traditionalwhimsy.com.conf b/data/nginx/traditionalwhimsy.com.conf
new file mode 100644
index 0000000..f464700
--- /dev/null
+++ b/data/nginx/traditionalwhimsy.com.conf
@@ -0,0 +1,21 @@
+# traditionalwhimsy.com — dwf-traditionalwhimsy :9954
+server {
+ listen 80;
+ listen [::]:80;
+ server_name traditionalwhimsy.com www.traditionalwhimsy.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9954;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/unitedstateswallpaper.com.conf b/data/nginx/unitedstateswallpaper.com.conf
new file mode 100644
index 0000000..0ec4716
--- /dev/null
+++ b/data/nginx/unitedstateswallpaper.com.conf
@@ -0,0 +1,21 @@
+# unitedstateswallpaper.com — dwf-unitedstateswallpaper :9955
+server {
+ listen 80;
+ listen [::]:80;
+ server_name unitedstateswallpaper.com www.unitedstateswallpaper.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9955;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/wallcovering.net.conf b/data/nginx/wallcovering.net.conf
new file mode 100644
index 0000000..d92902d
--- /dev/null
+++ b/data/nginx/wallcovering.net.conf
@@ -0,0 +1,21 @@
+# wallcovering.net — dwf-wallcovering :9956
+server {
+ listen 80;
+ listen [::]:80;
+ server_name wallcovering.net www.wallcovering.net;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9956;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/wallpaperexports.com.conf b/data/nginx/wallpaperexports.com.conf
new file mode 100644
index 0000000..c754ea7
--- /dev/null
+++ b/data/nginx/wallpaperexports.com.conf
@@ -0,0 +1,21 @@
+# wallpaperexports.com — dwf-wallpaperexports :9957
+server {
+ listen 80;
+ listen [::]:80;
+ server_name wallpaperexports.com www.wallpaperexports.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9957;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/wallpaperfromthe80s.com.conf b/data/nginx/wallpaperfromthe80s.com.conf
new file mode 100644
index 0000000..0200d72
--- /dev/null
+++ b/data/nginx/wallpaperfromthe80s.com.conf
@@ -0,0 +1,21 @@
+# wallpaperfromthe80s.com — dwf-wallpaperfromthe80s :9958
+server {
+ listen 80;
+ listen [::]:80;
+ server_name wallpaperfromthe80s.com www.wallpaperfromthe80s.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9958;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/wallpaperny.com.conf b/data/nginx/wallpaperny.com.conf
new file mode 100644
index 0000000..96c90cc
--- /dev/null
+++ b/data/nginx/wallpaperny.com.conf
@@ -0,0 +1,21 @@
+# wallpaperny.com — dwf-wallpaperny :9959
+server {
+ listen 80;
+ listen [::]:80;
+ server_name wallpaperny.com www.wallpaperny.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9959;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/wallpapernyc.com.conf b/data/nginx/wallpapernyc.com.conf
new file mode 100644
index 0000000..6270c47
--- /dev/null
+++ b/data/nginx/wallpapernyc.com.conf
@@ -0,0 +1,21 @@
+# wallpapernyc.com — dwf-wallpapernyc :9960
+server {
+ listen 80;
+ listen [::]:80;
+ server_name wallpapernyc.com www.wallpapernyc.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9960;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/wallpaperpurchasing.com.conf b/data/nginx/wallpaperpurchasing.com.conf
new file mode 100644
index 0000000..b3702ea
--- /dev/null
+++ b/data/nginx/wallpaperpurchasing.com.conf
@@ -0,0 +1,21 @@
+# wallpaperpurchasing.com — dwf-wallpaperpurchasing :9961
+server {
+ listen 80;
+ listen [::]:80;
+ server_name wallpaperpurchasing.com www.wallpaperpurchasing.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9961;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/wallpaperweekly.com.conf b/data/nginx/wallpaperweekly.com.conf
new file mode 100644
index 0000000..1907216
--- /dev/null
+++ b/data/nginx/wallpaperweekly.com.conf
@@ -0,0 +1,21 @@
+# wallpaperweekly.com — dwf-wallpaperweekly :9962
+server {
+ listen 80;
+ listen [::]:80;
+ server_name wallpaperweekly.com www.wallpaperweekly.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9962;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/wc-01.com.conf b/data/nginx/wc-01.com.conf
new file mode 100644
index 0000000..167cbe4
--- /dev/null
+++ b/data/nginx/wc-01.com.conf
@@ -0,0 +1,21 @@
+# wc-01.com — dwf-wc-01 :9963
+server {
+ listen 80;
+ listen [::]:80;
+ server_name wc-01.com www.wc-01.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9963;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/wc01wallcoverings.com.conf b/data/nginx/wc01wallcoverings.com.conf
new file mode 100644
index 0000000..08de261
--- /dev/null
+++ b/data/nginx/wc01wallcoverings.com.conf
@@ -0,0 +1,21 @@
+# wc01wallcoverings.com — dwf-wc01wallcoverings :9964
+server {
+ listen 80;
+ listen [::]:80;
+ server_name wc01wallcoverings.com www.wc01wallcoverings.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9964;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/data/nginx/wc01wallpaper.com.conf b/data/nginx/wc01wallpaper.com.conf
new file mode 100644
index 0000000..dfc3e94
--- /dev/null
+++ b/data/nginx/wc01wallpaper.com.conf
@@ -0,0 +1,21 @@
+# wc01wallpaper.com — dwf-wc01wallpaper :9965
+server {
+ listen 80;
+ listen [::]:80;
+ server_name wc01wallpaper.com www.wc01wallpaper.com;
+
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;
+ location / {
+ proxy_pass http://127.0.0.1:9965;
+ proxy_http_version 1.1;
+ 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;
+ }
+}
diff --git a/ecosystem.config.js b/ecosystem.config.js
new file mode 100644
index 0000000..331e9e0
--- /dev/null
+++ b/ecosystem.config.js
@@ -0,0 +1,784 @@
+module.exports = {
+ "apps": [
+ {
+ "name": "dwf-1800wallcoverings",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "1800wallcoverings",
+ "PORT": "9901",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-1800wallpapers",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "1800wallpapers",
+ "PORT": "9902",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-800wallpaper",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "800wallpaper",
+ "PORT": "9903",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-asseeninhotels",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "asseeninhotels",
+ "PORT": "9904",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-asseeninla",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "asseeninla",
+ "PORT": "9905",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-asseeninshowrooms",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "asseeninshowrooms",
+ "PORT": "9906",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-barwallpaper",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "barwallpaper",
+ "PORT": "9907",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-blankstocklining",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "blankstocklining",
+ "PORT": "9908",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-bleachfriendly",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "bleachfriendly",
+ "PORT": "9909",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-carmelwallpaper",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "carmelwallpaper",
+ "PORT": "9910",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-cfafabrics",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "cfafabrics",
+ "PORT": "9911",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-classawallcovering",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "classawallcovering",
+ "PORT": "9912",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-commercialsalesreps",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "commercialsalesreps",
+ "PORT": "9913",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-commercialwallcovering",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "commercialwallcovering",
+ "PORT": "9914",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-commercialwalls",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "commercialwalls",
+ "PORT": "9915",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-designerlaboratory",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "designerlaboratory",
+ "PORT": "9916",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-designermagnetics",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "designermagnetics",
+ "PORT": "9917",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-designerswallcovering",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "designerswallcovering",
+ "PORT": "9918",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-designerswallcoverings",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "designerswallcoverings",
+ "PORT": "9919",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-designerswallpapers",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "designerswallpapers",
+ "PORT": "9920",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-designerwallcover",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "designerwallcover",
+ "PORT": "9921",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-designerwallcovering",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "designerwallcovering",
+ "PORT": "9922",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-designerwallpaints",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "designerwallpaints",
+ "PORT": "9923",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-designerwalltiles",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "designerwalltiles",
+ "PORT": "9924",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-designwallcoverings",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "designwallcoverings",
+ "PORT": "9925",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-dwlosangeles",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "dwlosangeles",
+ "PORT": "9926",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-etciemurals",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "etciemurals",
+ "PORT": "9927",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-fabricfridays",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "fabricfridays",
+ "PORT": "9928",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-fireratedwallcovering",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "fireratedwallcovering",
+ "PORT": "9929",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-flocked",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "flocked",
+ "PORT": "9930",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-grassclothwallcovering",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "grassclothwallcovering",
+ "PORT": "9931",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-handmadewallcovering",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "handmadewallcovering",
+ "PORT": "9932",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-handmadewallpapers",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "handmadewallpapers",
+ "PORT": "9933",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-handscreenedwallpaper",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "handscreenedwallpaper",
+ "PORT": "9934",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-hollywoodwallcovering",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "hollywoodwallcovering",
+ "PORT": "9935",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-hospitalitysalesagency",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "hospitalitysalesagency",
+ "PORT": "9936",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-hospitalitysalesagents",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "hospitalitysalesagents",
+ "PORT": "9937",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-hospitalitysalesreps",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "hospitalitysalesreps",
+ "PORT": "9938",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-malibuwallpaper",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "malibuwallpaper",
+ "PORT": "9939",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-montereywallpaper",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "montereywallpaper",
+ "PORT": "9940",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-naturalwalltextures",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "naturalwalltextures",
+ "PORT": "9941",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-patterndesignlab",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "patterndesignlab",
+ "PORT": "9942",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-philliperomano",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "philliperomano",
+ "PORT": "9943",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-printmurals",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "printmurals",
+ "PORT": "9944",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-restaurantfabrics",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "restaurantfabrics",
+ "PORT": "9945",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-restaurantmurals",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "restaurantmurals",
+ "PORT": "9946",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-roomsettings",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "roomsettings",
+ "PORT": "9947",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-sheltermagazines",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "sheltermagazines",
+ "PORT": "9948",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-specifywallpaper",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "specifywallpaper",
+ "PORT": "9949",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-steveabramsdesigns",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "steveabramsdesigns",
+ "PORT": "9950",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-stevenabramsphotography",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "stevenabramsphotography",
+ "PORT": "9951",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-thedesignerlaboratory",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "thedesignerlaboratory",
+ "PORT": "9952",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-thehotelwallpaper",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "thehotelwallpaper",
+ "PORT": "9953",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-traditionalwhimsy",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "traditionalwhimsy",
+ "PORT": "9954",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-unitedstateswallpaper",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "unitedstateswallpaper",
+ "PORT": "9955",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-wallcovering",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "wallcovering",
+ "PORT": "9956",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-wallpaperexports",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "wallpaperexports",
+ "PORT": "9957",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-wallpaperfromthe80s",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "wallpaperfromthe80s",
+ "PORT": "9958",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-wallpaperny",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "wallpaperny",
+ "PORT": "9959",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-wallpapernyc",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "wallpapernyc",
+ "PORT": "9960",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-wallpaperpurchasing",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "wallpaperpurchasing",
+ "PORT": "9961",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-wallpaperweekly",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "wallpaperweekly",
+ "PORT": "9962",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-wc-01",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "wc-01",
+ "PORT": "9963",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-wc01wallcoverings",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "wc01wallcoverings",
+ "PORT": "9964",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ },
+ {
+ "name": "dwf-wc01wallpaper",
+ "script": "server.js",
+ "cwd": "/root/public-projects/dw-domain-fleet",
+ "env": {
+ "SITE": "wc01wallpaper",
+ "PORT": "9965",
+ "NODE_ENV": "production"
+ },
+ "max_memory_restart": "180M",
+ "autorestart": true
+ }
+ ]
+};
diff --git a/scripts/boot-test.js b/scripts/boot-test.js
new file mode 100644
index 0000000..fe8a23e
--- /dev/null
+++ b/scripts/boot-test.js
@@ -0,0 +1,58 @@
+#!/usr/bin/env node
+/**
+ * boot-test.js — load every site config, build its niche pool, render its
+ * home + catalog + about pages in-process. Catches per-site render failures
+ * WITHOUT needing 65 ports. No HTTP — direct function calls.
+ */
+const fs = require('fs');
+const path = require('path');
+const catalog = require('../shared/catalog');
+const { sortProducts } = require('../shared/sort');
+const render = require('../shared/render');
+
+const sites = fs.readdirSync(path.join(__dirname, '..', 'sites')).filter(f => f.endsWith('.json'));
+let pass = 0, fail = 0;
+const thin = [];
+
+for (const f of sites) {
+ const cfg = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'sites', f), 'utf8'));
+ try {
+ const niche = catalog.nicheSlice({
+ pos: cfg.niche.pos || [], neg: cfg.niche.neg || [], types: cfg.niche.types || [], limit: 6000
+ });
+ const pool = niche.length >= 24 ? niche
+ : catalog.nicheSlice({ pos: [], neg: cfg.niche.neg || [], types: ['Wallcovering'], limit: 6000 });
+ const heroImgs = sortProducts(pool, 'newest').slice(0, 14).map(p => p.image_url).filter(Boolean);
+ const featured = sortProducts(pool, 'newest').slice(0, 20);
+ const home = render.homePage(cfg, heroImgs, featured);
+ const cat = render.catalogPage(cfg, pool.slice(0, 60), '', 'newest', 1, 5, pool.length);
+ const about = render.aboutPage(cfg);
+ // sanity assertions
+ if (!/<!doctype html>/i.test(home)) throw new Error('home: no doctype');
+ // Banned-word check: "wallpaper" must NOT appear in EDITORIAL copy
+ // (tagline / about / meta-desc / hero-sub). It IS allowed in the brand
+ // wordmark + <title> when the registered domain stem itself contains it
+ // (e.g. wallpaperny.com) — the domain is the SEO asset, per Steve's rule.
+ for (const [k, v] of Object.entries({ tagline: cfg.tagline, heroSub: cfg.heroSub,
+ metaDesc: cfg.metaDesc, aboutCopy: cfg.aboutCopy })) {
+ if (/wallpaper/i.test(render.clean(String(v)))) {
+ throw new Error(`banned word "wallpaper" in editorial field ${k}`);
+ }
+ }
+ if (!/id="sortSel"/.test(cat)) throw new Error('catalog: no sort select');
+ if (!/id="densSel"/.test(cat)) throw new Error('catalog: no density slider');
+ if (!/gucci-menu/.test(home)) throw new Error('home: no gucci menu');
+ pass++;
+ if (niche.length < 60) thin.push(`${cfg.slug}: niche=${niche.length} (using ${pool.length})`);
+ process.stdout.write(`. `);
+ } catch (e) {
+ fail++;
+ console.log(`\nFAIL ${cfg.slug}: ${e.message}`);
+ }
+}
+console.log(`\n\n${pass} pass · ${fail} fail · ${sites.length} total`);
+if (thin.length) {
+ console.log(`\nThin niches (fell back to broad wallcovering pool):`);
+ thin.forEach(t => console.log(' ' + t));
+}
+process.exit(fail ? 1 : 0);
diff --git a/scripts/gen-configs.js b/scripts/gen-configs.js
index f4f1f35..2b2b2dc 100644
--- a/scripts/gen-configs.js
+++ b/scripts/gen-configs.js
@@ -114,13 +114,86 @@ const DOMAIN_OVERRIDE = {
'wc-01': 'wc-01.com'
};
+// explicit display-name overrides — for compound slugs the regex titleCase
+// reads as a slug. The brand display is still the domain stem, just spaced.
+const NAME_OVERRIDE = {
+ 'dwlosangeles': 'DW Los Angeles',
+ 'asseeninla': 'As Seen In LA',
+ 'asseeninhotels': 'As Seen In Hotels',
+ 'asseeninshowrooms': 'As Seen In Showrooms',
+ 'wallpaperfromthe80s': 'Wallpaper From The 80s',
+ 'steveabramsdesigns': 'Steve Abrams Designs',
+ 'stevenabramsphotography': 'Steven Abrams Photography',
+ 'thedesignerlaboratory': 'The Designer Laboratory',
+ 'thehotelwallpaper': 'The Hotel Wallpaper',
+ 'cfafabrics': 'CFA Fabrics',
+ 'hospitalitysalesagency': 'Hospitality Sales Agency',
+ 'hospitalitysalesagents': 'Hospitality Sales Agents',
+ 'hospitalitysalesreps': 'Hospitality Sales Reps',
+ 'commercialsalesreps': 'Commercial Sales Reps',
+ 'unitedstateswallpaper': 'United States Wallpaper',
+ 'patterndesignlab': 'Pattern Design Lab',
+ 'designerlaboratory': 'Designer Laboratory',
+ 'naturalwalltextures': 'Natural Wall Textures',
+ 'handscreenedwallpaper': 'Hand-Screened Wallpaper',
+ 'sheltermagazines': 'Shelter Magazines',
+ 'roomsettings': 'Room Settings',
+ 'traditionalwhimsy': 'Traditional Whimsy',
+ 'designermagnetics': 'Designer Magnetics',
+ 'designerwalltiles': 'Designer Wall Tiles',
+ 'designerwallpaints': 'Designer Wall Paints',
+ 'wallpaperexports': 'Wallpaper Exports',
+ 'wallpaperpurchasing': 'Wallpaper Purchasing',
+ 'wallpaperweekly': 'Wallpaper Weekly',
+ 'fabricfridays': 'Fabric Fridays',
+ 'restaurantfabrics': 'Restaurant Fabrics',
+ 'restaurantmurals': 'Restaurant Murals',
+ 'printmurals': 'Print Murals',
+ 'etciemurals': 'Et Cie Murals',
+ 'barwallpaper': 'Bar Wallpaper',
+ 'carmelwallpaper': 'Carmel Wallpaper',
+ 'malibuwallpaper': 'Malibu Wallpaper',
+ 'montereywallpaper': 'Monterey Wallpaper',
+ 'philliperomano': 'Phillipe Romano',
+ 'flocked': 'Flocked',
+ 'blankstocklining': 'Blankstock Lining',
+ 'bleachfriendly': 'Bleach Friendly',
+ 'fireratedwallcovering': 'Fire-Rated Wallcovering',
+ 'classawallcovering': 'Class A Wallcovering',
+ 'specifywallpaper': 'Specify Wallpaper',
+ 'handmadewallcovering': 'Hand-Made Wallcovering',
+ 'handmadewallpapers': 'Hand-Made Wallpapers',
+ 'hollywoodwallcovering': 'Hollywood Wallcovering',
+ 'grassclothwallcovering': 'Grasscloth Wallcovering',
+ 'commercialwallcovering': 'Commercial Wallcovering',
+ 'commercialwalls': 'Commercial Walls',
+ 'designwallcoverings': 'Design Wallcoverings',
+ 'designerwallcover': 'Designer Wallcover',
+ 'designerwallcovering': 'Designer Wallcovering',
+ 'designerswallcovering': 'Designers Wallcovering',
+ 'designerswallcoverings': 'Designers Wallcoverings',
+ 'designerswallpapers': 'Designers Wallpapers',
+ 'wallpaperny': 'Wallpaper NY',
+ 'wallpapernyc': 'Wallpaper NYC',
+ 'wc-01': 'WC-01',
+ 'wc01wallcoverings': 'WC-01 Wallcoverings',
+ 'wc01wallpaper': 'WC-01 Wallpaper',
+ '1800wallcoverings': '1-800 Wallcoverings',
+ '1800wallpapers': '1-800 Wallpapers',
+ '800wallpaper': '800 Wallpaper',
+ 'wallcovering': 'Wallcovering'
+};
+
function titleCase(slug){
- return slug
+ let s = slug
.replace(/wc-?0?1/i,'WC-01 ')
- .replace(/(wallcoverings?|wallpapers?|walls|fabrics?|magnetics|paints|tiles|murals|laboratory|exports|purchasing|weekly|agency|agents|reps|photography|designs|settings|magazines|whimsy)/gi,' $1')
+ .replace(/(wallcoverings?|wallpapers?|walls|fabrics?|magnetics|paints|tiles|murals|laboratory|exports|purchasing|weekly|agency|agents|reps|photography|designs|settings|magazines|whimsy)/gi,' $1 ')
.replace(/(\d{3,4}s?)/g,' $1 ')
+ .replace(/\b(nyc|ny|la)\b/gi,' $1 ')
.replace(/\s+/g,' ').trim()
.replace(/\b\w/g,c=>c.toUpperCase());
+ // city/state abbreviations stay uppercase
+ return s.replace(/\bNyc\b/g,'NYC').replace(/\bNy\b/g,'NY').replace(/\bLa\b/g,'LA');
}
let start = 9901;
@@ -130,7 +203,7 @@ SPEC.forEach((row, i) => {
const palette = PALETTES[pal];
const fonts = FONTS[font];
const domain = DOMAIN_OVERRIDE[slug] || (slug + '.com');
- const siteName = titleCase(slug);
+ const siteName = NAME_OVERRIDE[slug] || titleCase(slug);
const port = start + i;
const nicheLabel = niche.types && niche.types[0] === 'Fabric' ? 'designer fabrics'
: niche.types && niche.types[0] === 'Mural' ? 'designer murals'
diff --git a/scripts/gen-ecosystem.js b/scripts/gen-ecosystem.js
new file mode 100644
index 0000000..eb255b8
--- /dev/null
+++ b/scripts/gen-ecosystem.js
@@ -0,0 +1,22 @@
+#!/usr/bin/env node
+/**
+ * gen-ecosystem.js — build pm2 ecosystem.config.js for all fleet sites.
+ * One pm2 app per domain: same server.js, distinct SITE + PORT env.
+ */
+const fs = require('fs');
+const path = require('path');
+
+const manifest = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'data', 'manifest.json'), 'utf8'));
+
+const apps = manifest.map(m => ({
+ name: 'dwf-' + m.slug,
+ script: 'server.js',
+ cwd: '/root/public-projects/dw-domain-fleet',
+ env: { SITE: m.slug, PORT: String(m.port), NODE_ENV: 'production' },
+ max_memory_restart: '180M',
+ autorestart: true
+}));
+
+const out = 'module.exports = ' + JSON.stringify({ apps }, null, 2) + ';\n';
+fs.writeFileSync(path.join(__dirname, '..', 'ecosystem.config.js'), out);
+console.log(`Wrote ecosystem.config.js — ${apps.length} pm2 apps`);
diff --git a/scripts/gen-nginx.js b/scripts/gen-nginx.js
new file mode 100644
index 0000000..b2ec00a
--- /dev/null
+++ b/scripts/gen-nginx.js
@@ -0,0 +1,40 @@
+#!/usr/bin/env node
+/**
+ * gen-nginx.js — generate one nginx vhost per fleet domain → data/nginx/<domain>.conf
+ * HTTP-only initially (port 80); certbot --nginx adds the 443 block + redirect.
+ */
+const fs = require('fs');
+const path = require('path');
+
+const manifest = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'data', 'manifest.json'), 'utf8'));
+const OUT = path.join(__dirname, '..', 'data', 'nginx');
+fs.mkdirSync(OUT, { recursive: true });
+
+const SEC = `
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+ add_header X-Frame-Options SAMEORIGIN always;
+ add_header X-Content-Type-Options nosniff always;
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
+ add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
+ add_header Cross-Origin-Opener-Policy same-origin always;`;
+
+manifest.forEach(m => {
+ const conf = `# ${m.domain} — dwf-${m.slug} :${m.port}
+server {
+ listen 80;
+ listen [::]:80;
+ server_name ${m.domain} www.${m.domain};
+${SEC}
+ location / {
+ proxy_pass http://127.0.0.1:${m.port};
+ proxy_http_version 1.1;
+ 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;
+ }
+}
+`;
+ fs.writeFileSync(path.join(OUT, m.domain + '.conf'), conf);
+});
+console.log(`Wrote ${manifest.length} nginx vhosts → data/nginx/`);
diff --git a/shared/render.js b/shared/render.js
index ca2dafc..4f4568e 100644
--- a/shared/render.js
+++ b/shared/render.js
@@ -246,7 +246,7 @@ function homePage(cfg, heroImgs, featured) {
</div>
</header>
<div class="hero-mark">
- <h1>${esc(clean(cfg.heroHeadline))}</h1>
+ <h1>${esc(cfg.heroHeadline)}</h1>
<p>${esc(clean(cfg.tagline))} · Curated by Designer Wallcoverings</p>
</div>
<div class="wrap">
@@ -272,7 +272,7 @@ function catalogPage(cfg, products, q, sort, page, pages, total) {
<div style="height:84px"></div>
<div class="wrap">
<div class="hero-mark" style="padding:30px 0 4px">
- <h1 style="font-size:clamp(32px,4vw,52px)">${esc(clean(cfg.siteName))}</h1>
+ <h1 style="font-size:clamp(32px,4vw,52px)">${esc(cfg.siteName)}</h1>
<p>${esc(clean(cfg.tagline))}</p>
</div>
<form class="controls" method="get" action="/catalog" id="ctlForm">
@@ -323,7 +323,7 @@ function aboutPage(cfg){
return head(cfg,title,clean(cfg.metaDesc),'/about')+jsonld(cfg)+chrome(cfg)+`
<div style="height:84px"></div>
<div class="wrap" style="max-width:760px">
- <div class="hero-mark" style="padding:40px 0 10px"><h1>${esc(clean(cfg.siteName))}</h1></div>
+ <div class="hero-mark" style="padding:40px 0 10px"><h1>${esc(cfg.siteName)}</h1></div>
<p style="font-size:17px;line-height:1.8;color:var(--fg);margin:20px 0">${esc(clean(cfg.aboutCopy))}</p>
<p style="font-size:15px;line-height:1.8;color:var(--muted);margin:18px 0">
${esc(cfg.siteName)} is part of Designer Wallcoverings — a Sherman Oaks design house serving
diff --git a/sites/1800wallcoverings.json b/sites/1800wallcoverings.json
index b87e61b..ccfa7dc 100644
--- a/sites/1800wallcoverings.json
+++ b/sites/1800wallcoverings.json
@@ -1,15 +1,15 @@
{
"slug": "1800wallcoverings",
"domain": "1800wallcoverings.com",
- "siteName": "1800 Wallcoverings",
+ "siteName": "1-800 Wallcoverings",
"port": 9901,
"siteEmail": "info@1800wallcoverings.com",
"tagline": "Designer wallcoverings for every room.",
- "heroHeadline": "1800 Wallcoverings",
+ "heroHeadline": "1-800 Wallcoverings",
"heroSub": "Explore the collection",
- "metaDesc": "1800 Wallcoverings — Designer wallcoverings for every room. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "1-800 Wallcoverings — Designer wallcoverings for every room. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "1800 Wallcoverings curates designer wallcoverings for designers, architects, and discerning homeowners. Designer wallcoverings for every room. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "1-800 Wallcoverings curates designer wallcoverings for designers, architects, and discerning homeowners. Designer wallcoverings for every room. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [],
"neg": [],
diff --git a/sites/1800wallpapers.json b/sites/1800wallpapers.json
index d2ff461..6a9a18e 100644
--- a/sites/1800wallpapers.json
+++ b/sites/1800wallpapers.json
@@ -1,15 +1,15 @@
{
"slug": "1800wallpapers",
"domain": "1800wallpapers.com",
- "siteName": "1800 Wallpapers",
+ "siteName": "1-800 Wallpapers",
"port": 9902,
"siteEmail": "info@1800wallpapers.com",
"tagline": "A complete designer wallcovering catalog.",
- "heroHeadline": "1800 Wallpapers",
+ "heroHeadline": "1-800 Wallpapers",
"heroSub": "Explore the collection",
- "metaDesc": "1800 Wallpapers — A complete designer wallcovering catalog. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "1-800 Wallpapers — A complete designer wallcovering catalog. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "1800 Wallpapers curates designer wallcoverings for designers, architects, and discerning homeowners. A complete designer wallcovering catalog. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "1-800 Wallpapers curates designer wallcoverings for designers, architects, and discerning homeowners. A complete designer wallcovering catalog. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [],
"neg": [],
diff --git a/sites/asseeninhotels.json b/sites/asseeninhotels.json
index cb291d0..a97b4af 100644
--- a/sites/asseeninhotels.json
+++ b/sites/asseeninhotels.json
@@ -1,15 +1,15 @@
{
"slug": "asseeninhotels",
"domain": "asseeninhotels.com",
- "siteName": "Asseeninhotels",
+ "siteName": "As Seen In Hotels",
"port": 9904,
"siteEmail": "info@asseeninhotels.com",
"tagline": "Wallcoverings seen in the world's finest hotels.",
- "heroHeadline": "Asseeninhotels",
+ "heroHeadline": "As Seen In Hotels",
"heroSub": "Explore the collection",
- "metaDesc": "Asseeninhotels — Wallcoverings seen in the world's finest hotels. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "As Seen In Hotels — Wallcoverings seen in the world's finest hotels. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Asseeninhotels curates designer wallcoverings for designers, architects, and discerning homeowners. Wallcoverings seen in the world's finest hotels. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "As Seen In Hotels curates designer wallcoverings for designers, architects, and discerning homeowners. Wallcoverings seen in the world's finest hotels. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"hospitality",
diff --git a/sites/asseeninla.json b/sites/asseeninla.json
index 3a642d0..8bfe39a 100644
--- a/sites/asseeninla.json
+++ b/sites/asseeninla.json
@@ -1,15 +1,15 @@
{
"slug": "asseeninla",
"domain": "asseeninla.com",
- "siteName": "Asseeninla",
+ "siteName": "As Seen In LA",
"port": 9905,
"siteEmail": "info@asseeninla.com",
"tagline": "The wallcoverings of Los Angeles design.",
- "heroHeadline": "Asseeninla",
+ "heroHeadline": "As Seen In LA",
"heroSub": "Explore the collection",
- "metaDesc": "Asseeninla — The wallcoverings of Los Angeles design. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "As Seen In LA — The wallcoverings of Los Angeles design. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Asseeninla curates designer wallcoverings for designers, architects, and discerning homeowners. The wallcoverings of Los Angeles design. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "As Seen In LA curates designer wallcoverings for designers, architects, and discerning homeowners. The wallcoverings of Los Angeles design. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [],
"neg": [],
diff --git a/sites/asseeninshowrooms.json b/sites/asseeninshowrooms.json
index 06ba797..e2cfd23 100644
--- a/sites/asseeninshowrooms.json
+++ b/sites/asseeninshowrooms.json
@@ -1,15 +1,15 @@
{
"slug": "asseeninshowrooms",
"domain": "asseeninshowrooms.com",
- "siteName": "Asseeninshowrooms",
+ "siteName": "As Seen In Showrooms",
"port": 9906,
"siteEmail": "info@asseeninshowrooms.com",
"tagline": "Showroom-grade wallcoverings, direct to the trade.",
- "heroHeadline": "Asseeninshowrooms",
+ "heroHeadline": "As Seen In Showrooms",
"heroSub": "Explore the collection",
- "metaDesc": "Asseeninshowrooms — Showroom-grade wallcoverings, direct to the trade. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "As Seen In Showrooms — Showroom-grade wallcoverings, direct to the trade. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Asseeninshowrooms curates designer wallcoverings for designers, architects, and discerning homeowners. Showroom-grade wallcoverings, direct to the trade. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "As Seen In Showrooms curates designer wallcoverings for designers, architects, and discerning homeowners. Showroom-grade wallcoverings, direct to the trade. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [],
"neg": [],
diff --git a/sites/blankstocklining.json b/sites/blankstocklining.json
index 36b9b75..cb77e78 100644
--- a/sites/blankstocklining.json
+++ b/sites/blankstocklining.json
@@ -1,15 +1,15 @@
{
"slug": "blankstocklining",
"domain": "blankstocklining.com",
- "siteName": "Blankstocklining",
+ "siteName": "Blankstock Lining",
"port": 9908,
"siteEmail": "info@blankstocklining.com",
"tagline": "Liner and blankstock for a flawless finish.",
- "heroHeadline": "Blankstocklining",
+ "heroHeadline": "Blankstock Lining",
"heroSub": "Explore the collection",
- "metaDesc": "Blankstocklining — Liner and blankstock for a flawless finish. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Blankstock Lining — Liner and blankstock for a flawless finish. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Blankstocklining curates designer wallcoverings for designers, architects, and discerning homeowners. Liner and blankstock for a flawless finish. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Blankstock Lining curates designer wallcoverings for designers, architects, and discerning homeowners. Liner and blankstock for a flawless finish. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"liner",
diff --git a/sites/bleachfriendly.json b/sites/bleachfriendly.json
index a4951a9..cf71777 100644
--- a/sites/bleachfriendly.json
+++ b/sites/bleachfriendly.json
@@ -1,15 +1,15 @@
{
"slug": "bleachfriendly",
"domain": "bleachfriendly.com",
- "siteName": "Bleachfriendly",
+ "siteName": "Bleach Friendly",
"port": 9909,
"siteEmail": "info@bleachfriendly.com",
"tagline": "Bleach-cleanable performance wallcoverings.",
- "heroHeadline": "Bleachfriendly",
+ "heroHeadline": "Bleach Friendly",
"heroSub": "Explore the collection",
- "metaDesc": "Bleachfriendly — Bleach-cleanable performance wallcoverings. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Bleach Friendly — Bleach-cleanable performance wallcoverings. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Bleachfriendly curates designer wallcoverings for designers, architects, and discerning homeowners. Bleach-cleanable performance wallcoverings. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Bleach Friendly curates designer wallcoverings for designers, architects, and discerning homeowners. Bleach-cleanable performance wallcoverings. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"vinyl",
diff --git a/sites/cfafabrics.json b/sites/cfafabrics.json
index f7bf42d..a76fe21 100644
--- a/sites/cfafabrics.json
+++ b/sites/cfafabrics.json
@@ -1,15 +1,15 @@
{
"slug": "cfafabrics",
"domain": "cfafabrics.com",
- "siteName": "Cfa Fabrics",
+ "siteName": "CFA Fabrics",
"port": 9911,
"siteEmail": "info@cfafabrics.com",
"tagline": "Designer fabrics for the trade.",
- "heroHeadline": "Cfa Fabrics",
+ "heroHeadline": "CFA Fabrics",
"heroSub": "Explore the collection",
- "metaDesc": "Cfa Fabrics — Designer fabrics for the trade. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "CFA Fabrics — Designer fabrics for the trade. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer fabrics",
- "aboutCopy": "Cfa Fabrics curates designer fabrics for designers, architects, and discerning homeowners. Designer fabrics for the trade. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "CFA Fabrics curates designer fabrics for designers, architects, and discerning homeowners. Designer fabrics for the trade. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [],
"neg": [],
diff --git a/sites/classawallcovering.json b/sites/classawallcovering.json
index 06468e6..14e38a8 100644
--- a/sites/classawallcovering.json
+++ b/sites/classawallcovering.json
@@ -1,15 +1,15 @@
{
"slug": "classawallcovering",
"domain": "classawallcovering.com",
- "siteName": "Classa Wallcovering",
+ "siteName": "Class A Wallcovering",
"port": 9912,
"siteEmail": "info@classawallcovering.com",
"tagline": "Class A fire-rated wallcoverings.",
- "heroHeadline": "Classa Wallcovering",
+ "heroHeadline": "Class A Wallcovering",
"heroSub": "Explore the collection",
- "metaDesc": "Classa Wallcovering — Class A fire-rated wallcoverings. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Class A Wallcovering — Class A fire-rated wallcoverings. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Classa Wallcovering curates designer wallcoverings for designers, architects, and discerning homeowners. Class A fire-rated wallcoverings. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Class A Wallcovering curates designer wallcoverings for designers, architects, and discerning homeowners. Class A fire-rated wallcoverings. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"class a",
diff --git a/sites/commercialsalesreps.json b/sites/commercialsalesreps.json
index ba70156..048002d 100644
--- a/sites/commercialsalesreps.json
+++ b/sites/commercialsalesreps.json
@@ -1,15 +1,15 @@
{
"slug": "commercialsalesreps",
"domain": "commercialsalesreps.com",
- "siteName": "Commercialsales Reps",
+ "siteName": "Commercial Sales Reps",
"port": 9913,
"siteEmail": "info@commercialsalesreps.com",
"tagline": "Commercial wallcoverings and trade representation.",
- "heroHeadline": "Commercialsales Reps",
+ "heroHeadline": "Commercial Sales Reps",
"heroSub": "Explore the collection",
- "metaDesc": "Commercialsales Reps — Commercial wallcoverings and trade representation. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Commercial Sales Reps — Commercial wallcoverings and trade representation. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Commercialsales Reps curates designer wallcoverings for designers, architects, and discerning homeowners. Commercial wallcoverings and trade representation. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Commercial Sales Reps curates designer wallcoverings for designers, architects, and discerning homeowners. Commercial wallcoverings and trade representation. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"commercial",
diff --git a/sites/designerwallcover.json b/sites/designerwallcover.json
index d78d9b0..583ad14 100644
--- a/sites/designerwallcover.json
+++ b/sites/designerwallcover.json
@@ -1,15 +1,15 @@
{
"slug": "designerwallcover",
"domain": "designerwallcover.com",
- "siteName": "Designerwallcover",
+ "siteName": "Designer Wallcover",
"port": 9921,
"siteEmail": "info@designerwallcover.com",
"tagline": "Designer wallcoverings, simply put.",
- "heroHeadline": "Designerwallcover",
+ "heroHeadline": "Designer Wallcover",
"heroSub": "Explore the collection",
- "metaDesc": "Designerwallcover — Designer wallcoverings, simply put. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Designer Wallcover — Designer wallcoverings, simply put. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Designerwallcover curates designer wallcoverings for designers, architects, and discerning homeowners. Designer wallcoverings, simply put. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Designer Wallcover curates designer wallcoverings for designers, architects, and discerning homeowners. Designer wallcoverings, simply put. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [],
"neg": [],
diff --git a/sites/designerwallpaints.json b/sites/designerwallpaints.json
index 09ecda8..e3fe2ea 100644
--- a/sites/designerwallpaints.json
+++ b/sites/designerwallpaints.json
@@ -1,15 +1,15 @@
{
"slug": "designerwallpaints",
"domain": "designerwallpaints.com",
- "siteName": "Designerwall Paints",
+ "siteName": "Designer Wall Paints",
"port": 9923,
"siteEmail": "info@designerwallpaints.com",
"tagline": "Specialty wall finishes and painted effects.",
- "heroHeadline": "Designerwall Paints",
+ "heroHeadline": "Designer Wall Paints",
"heroSub": "Explore the collection",
- "metaDesc": "Designerwall Paints — Specialty wall finishes and painted effects. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Designer Wall Paints — Specialty wall finishes and painted effects. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Designerwall Paints curates designer wallcoverings for designers, architects, and discerning homeowners. Specialty wall finishes and painted effects. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Designer Wall Paints curates designer wallcoverings for designers, architects, and discerning homeowners. Specialty wall finishes and painted effects. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"solid",
diff --git a/sites/designerwalltiles.json b/sites/designerwalltiles.json
index 0fe2218..c12c876 100644
--- a/sites/designerwalltiles.json
+++ b/sites/designerwalltiles.json
@@ -1,15 +1,15 @@
{
"slug": "designerwalltiles",
"domain": "designerwalltiles.com",
- "siteName": "Designerwall Tiles",
+ "siteName": "Designer Wall Tiles",
"port": 9924,
"siteEmail": "info@designerwalltiles.com",
"tagline": "Tile-inspired designer wallcoverings.",
- "heroHeadline": "Designerwall Tiles",
+ "heroHeadline": "Designer Wall Tiles",
"heroSub": "Explore the collection",
- "metaDesc": "Designerwall Tiles — Tile-inspired designer wallcoverings. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Designer Wall Tiles — Tile-inspired designer wallcoverings. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Designerwall Tiles curates designer wallcoverings for designers, architects, and discerning homeowners. Tile-inspired designer wallcoverings. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Designer Wall Tiles curates designer wallcoverings for designers, architects, and discerning homeowners. Tile-inspired designer wallcoverings. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"geometric",
diff --git a/sites/dwlosangeles.json b/sites/dwlosangeles.json
index 68f66e3..4dd7142 100644
--- a/sites/dwlosangeles.json
+++ b/sites/dwlosangeles.json
@@ -1,15 +1,15 @@
{
"slug": "dwlosangeles",
"domain": "dwlosangeles.com",
- "siteName": "Dwlosangeles",
+ "siteName": "DW Los Angeles",
"port": 9926,
"siteEmail": "info@dwlosangeles.com",
"tagline": "Designer Wallcoverings — Los Angeles.",
- "heroHeadline": "Dwlosangeles",
+ "heroHeadline": "DW Los Angeles",
"heroSub": "Explore the collection",
- "metaDesc": "Dwlosangeles — Designer Wallcoverings — Los Angeles. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "DW Los Angeles — Designer Wallcoverings — Los Angeles. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Dwlosangeles curates designer wallcoverings for designers, architects, and discerning homeowners. Designer Wallcoverings — Los Angeles. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "DW Los Angeles curates designer wallcoverings for designers, architects, and discerning homeowners. Designer Wallcoverings — Los Angeles. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [],
"neg": [],
diff --git a/sites/etciemurals.json b/sites/etciemurals.json
index 15e502f..d464132 100644
--- a/sites/etciemurals.json
+++ b/sites/etciemurals.json
@@ -1,15 +1,15 @@
{
"slug": "etciemurals",
"domain": "etciemurals.com",
- "siteName": "Etcie Murals",
+ "siteName": "Et Cie Murals",
"port": 9927,
"siteEmail": "info@etciemurals.com",
"tagline": "Statement murals for interiors.",
- "heroHeadline": "Etcie Murals",
+ "heroHeadline": "Et Cie Murals",
"heroSub": "Explore the collection",
- "metaDesc": "Etcie Murals — Statement murals for interiors. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Et Cie Murals — Statement murals for interiors. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer murals",
- "aboutCopy": "Etcie Murals curates designer murals for designers, architects, and discerning homeowners. Statement murals for interiors. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Et Cie Murals curates designer murals for designers, architects, and discerning homeowners. Statement murals for interiors. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"mural",
diff --git a/sites/fabricfridays.json b/sites/fabricfridays.json
index e5b2b4e..89379e2 100644
--- a/sites/fabricfridays.json
+++ b/sites/fabricfridays.json
@@ -1,15 +1,15 @@
{
"slug": "fabricfridays",
"domain": "fabricfridays.com",
- "siteName": "Fabricfridays",
+ "siteName": "Fabric Fridays",
"port": 9928,
"siteEmail": "info@fabricfridays.com",
"tagline": "New designer fabrics every Friday.",
- "heroHeadline": "Fabricfridays",
+ "heroHeadline": "Fabric Fridays",
"heroSub": "Explore the collection",
- "metaDesc": "Fabricfridays — New designer fabrics every Friday. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Fabric Fridays — New designer fabrics every Friday. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer fabrics",
- "aboutCopy": "Fabricfridays curates designer fabrics for designers, architects, and discerning homeowners. New designer fabrics every Friday. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Fabric Fridays curates designer fabrics for designers, architects, and discerning homeowners. New designer fabrics every Friday. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [],
"neg": [],
diff --git a/sites/fireratedwallcovering.json b/sites/fireratedwallcovering.json
index 02dd3b9..0371d28 100644
--- a/sites/fireratedwallcovering.json
+++ b/sites/fireratedwallcovering.json
@@ -1,15 +1,15 @@
{
"slug": "fireratedwallcovering",
"domain": "fireratedwallcovering.com",
- "siteName": "Firerated Wallcovering",
+ "siteName": "Fire-Rated Wallcovering",
"port": 9929,
"siteEmail": "info@fireratedwallcovering.com",
"tagline": "Fire-rated wallcoverings for code compliance.",
- "heroHeadline": "Firerated Wallcovering",
+ "heroHeadline": "Fire-Rated Wallcovering",
"heroSub": "Explore the collection",
- "metaDesc": "Firerated Wallcovering — Fire-rated wallcoverings for code compliance. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Fire-Rated Wallcovering — Fire-rated wallcoverings for code compliance. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Firerated Wallcovering curates designer wallcoverings for designers, architects, and discerning homeowners. Fire-rated wallcoverings for code compliance. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Fire-Rated Wallcovering curates designer wallcoverings for designers, architects, and discerning homeowners. Fire-rated wallcoverings for code compliance. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"fire rated",
diff --git a/sites/handmadewallcovering.json b/sites/handmadewallcovering.json
index a5a5367..3d869bb 100644
--- a/sites/handmadewallcovering.json
+++ b/sites/handmadewallcovering.json
@@ -1,15 +1,15 @@
{
"slug": "handmadewallcovering",
"domain": "handmadewallcovering.com",
- "siteName": "Handmade Wallcovering",
+ "siteName": "Hand-Made Wallcovering",
"port": 9932,
"siteEmail": "info@handmadewallcovering.com",
"tagline": "Hand-made wallcoverings, artisan-crafted.",
- "heroHeadline": "Handmade Wallcovering",
+ "heroHeadline": "Hand-Made Wallcovering",
"heroSub": "Explore the collection",
- "metaDesc": "Handmade Wallcovering — Hand-made wallcoverings, artisan-crafted. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Hand-Made Wallcovering — Hand-made wallcoverings, artisan-crafted. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Handmade Wallcovering curates designer wallcoverings for designers, architects, and discerning homeowners. Hand-made wallcoverings, artisan-crafted. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Hand-Made Wallcovering curates designer wallcoverings for designers, architects, and discerning homeowners. Hand-made wallcoverings, artisan-crafted. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"grasscloth",
diff --git a/sites/handmadewallpapers.json b/sites/handmadewallpapers.json
index e502a0a..d77edf9 100644
--- a/sites/handmadewallpapers.json
+++ b/sites/handmadewallpapers.json
@@ -1,15 +1,15 @@
{
"slug": "handmadewallpapers",
"domain": "handmadewallpapers.com",
- "siteName": "Handmade Wallpapers",
+ "siteName": "Hand-Made Wallpapers",
"port": 9933,
"siteEmail": "info@handmadewallpapers.com",
"tagline": "Hand-crafted wallcoverings for the trade.",
- "heroHeadline": "Handmade Wallpapers",
+ "heroHeadline": "Hand-Made Wallpapers",
"heroSub": "Explore the collection",
- "metaDesc": "Handmade Wallpapers — Hand-crafted wallcoverings for the trade. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Hand-Made Wallpapers — Hand-crafted wallcoverings for the trade. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Handmade Wallpapers curates designer wallcoverings for designers, architects, and discerning homeowners. Hand-crafted wallcoverings for the trade. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Hand-Made Wallpapers curates designer wallcoverings for designers, architects, and discerning homeowners. Hand-crafted wallcoverings for the trade. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"grasscloth",
diff --git a/sites/handscreenedwallpaper.json b/sites/handscreenedwallpaper.json
index f732929..c7642e9 100644
--- a/sites/handscreenedwallpaper.json
+++ b/sites/handscreenedwallpaper.json
@@ -1,15 +1,15 @@
{
"slug": "handscreenedwallpaper",
"domain": "handscreenedwallpaper.com",
- "siteName": "Handscreened Wallpaper",
+ "siteName": "Hand-Screened Wallpaper",
"port": 9934,
"siteEmail": "info@handscreenedwallpaper.com",
"tagline": "Hand-screened wallcoverings.",
- "heroHeadline": "Handscreened Wallpaper",
+ "heroHeadline": "Hand-Screened Wallpaper",
"heroSub": "Explore the collection",
- "metaDesc": "Handscreened Wallpaper — Hand-screened wallcoverings. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Hand-Screened Wallpaper — Hand-screened wallcoverings. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Handscreened Wallpaper curates designer wallcoverings for designers, architects, and discerning homeowners. Hand-screened wallcoverings. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Hand-Screened Wallpaper curates designer wallcoverings for designers, architects, and discerning homeowners. Hand-screened wallcoverings. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"hand",
diff --git a/sites/hospitalitysalesagency.json b/sites/hospitalitysalesagency.json
index 0b09516..dcd885d 100644
--- a/sites/hospitalitysalesagency.json
+++ b/sites/hospitalitysalesagency.json
@@ -1,15 +1,15 @@
{
"slug": "hospitalitysalesagency",
"domain": "hospitalitysalesagency.com",
- "siteName": "Hospitalitysales Agency",
+ "siteName": "Hospitality Sales Agency",
"port": 9936,
"siteEmail": "info@hospitalitysalesagency.com",
"tagline": "Hospitality wallcoverings and sales representation.",
- "heroHeadline": "Hospitalitysales Agency",
+ "heroHeadline": "Hospitality Sales Agency",
"heroSub": "Explore the collection",
- "metaDesc": "Hospitalitysales Agency — Hospitality wallcoverings and sales representation. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Hospitality Sales Agency — Hospitality wallcoverings and sales representation. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Hospitalitysales Agency curates designer wallcoverings for designers, architects, and discerning homeowners. Hospitality wallcoverings and sales representation. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Hospitality Sales Agency curates designer wallcoverings for designers, architects, and discerning homeowners. Hospitality wallcoverings and sales representation. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"hospitality",
diff --git a/sites/hospitalitysalesagents.json b/sites/hospitalitysalesagents.json
index e3568fd..4de6981 100644
--- a/sites/hospitalitysalesagents.json
+++ b/sites/hospitalitysalesagents.json
@@ -1,15 +1,15 @@
{
"slug": "hospitalitysalesagents",
"domain": "hospitalitysalesagents.com",
- "siteName": "Hospitalitysales Agents",
+ "siteName": "Hospitality Sales Agents",
"port": 9937,
"siteEmail": "info@hospitalitysalesagents.com",
"tagline": "Hospitality wallcovering sales agents.",
- "heroHeadline": "Hospitalitysales Agents",
+ "heroHeadline": "Hospitality Sales Agents",
"heroSub": "Explore the collection",
- "metaDesc": "Hospitalitysales Agents — Hospitality wallcovering sales agents. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Hospitality Sales Agents — Hospitality wallcovering sales agents. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Hospitalitysales Agents curates designer wallcoverings for designers, architects, and discerning homeowners. Hospitality wallcovering sales agents. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Hospitality Sales Agents curates designer wallcoverings for designers, architects, and discerning homeowners. Hospitality wallcovering sales agents. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"hospitality",
diff --git a/sites/hospitalitysalesreps.json b/sites/hospitalitysalesreps.json
index 5a3659f..d8e31fb 100644
--- a/sites/hospitalitysalesreps.json
+++ b/sites/hospitalitysalesreps.json
@@ -1,15 +1,15 @@
{
"slug": "hospitalitysalesreps",
"domain": "hospitalitysalesreps.com",
- "siteName": "Hospitalitysales Reps",
+ "siteName": "Hospitality Sales Reps",
"port": 9938,
"siteEmail": "info@hospitalitysalesreps.com",
"tagline": "Hospitality wallcovering trade reps.",
- "heroHeadline": "Hospitalitysales Reps",
+ "heroHeadline": "Hospitality Sales Reps",
"heroSub": "Explore the collection",
- "metaDesc": "Hospitalitysales Reps — Hospitality wallcovering trade reps. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Hospitality Sales Reps — Hospitality wallcovering trade reps. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Hospitalitysales Reps curates designer wallcoverings for designers, architects, and discerning homeowners. Hospitality wallcovering trade reps. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Hospitality Sales Reps curates designer wallcoverings for designers, architects, and discerning homeowners. Hospitality wallcovering trade reps. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"hospitality",
diff --git a/sites/naturalwalltextures.json b/sites/naturalwalltextures.json
index 9c9415c..a4f4c23 100644
--- a/sites/naturalwalltextures.json
+++ b/sites/naturalwalltextures.json
@@ -1,15 +1,15 @@
{
"slug": "naturalwalltextures",
"domain": "naturalwalltextures.com",
- "siteName": "Naturalwalltextures",
+ "siteName": "Natural Wall Textures",
"port": 9941,
"siteEmail": "info@naturalwalltextures.com",
"tagline": "Natural-fiber wall textures.",
- "heroHeadline": "Naturalwalltextures",
+ "heroHeadline": "Natural Wall Textures",
"heroSub": "Explore the collection",
- "metaDesc": "Naturalwalltextures — Natural-fiber wall textures. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Natural Wall Textures — Natural-fiber wall textures. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Naturalwalltextures curates designer wallcoverings for designers, architects, and discerning homeowners. Natural-fiber wall textures. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Natural Wall Textures curates designer wallcoverings for designers, architects, and discerning homeowners. Natural-fiber wall textures. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"grasscloth",
diff --git a/sites/patterndesignlab.json b/sites/patterndesignlab.json
index 4a3e06d..24af742 100644
--- a/sites/patterndesignlab.json
+++ b/sites/patterndesignlab.json
@@ -1,15 +1,15 @@
{
"slug": "patterndesignlab",
"domain": "patterndesignlab.com",
- "siteName": "Patterndesignlab",
+ "siteName": "Pattern Design Lab",
"port": 9942,
"siteEmail": "info@patterndesignlab.com",
"tagline": "A laboratory of pattern design.",
- "heroHeadline": "Patterndesignlab",
+ "heroHeadline": "Pattern Design Lab",
"heroSub": "Explore the collection",
- "metaDesc": "Patterndesignlab — A laboratory of pattern design. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Pattern Design Lab — A laboratory of pattern design. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Patterndesignlab curates designer wallcoverings for designers, architects, and discerning homeowners. A laboratory of pattern design. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Pattern Design Lab curates designer wallcoverings for designers, architects, and discerning homeowners. A laboratory of pattern design. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"pattern",
diff --git a/sites/philliperomano.json b/sites/philliperomano.json
index 24d0491..503fff7 100644
--- a/sites/philliperomano.json
+++ b/sites/philliperomano.json
@@ -1,15 +1,15 @@
{
"slug": "philliperomano",
"domain": "philliperomano.com",
- "siteName": "Philliperomano",
+ "siteName": "Phillipe Romano",
"port": 9943,
"siteEmail": "info@philliperomano.com",
"tagline": "The Phillipe Romano collection.",
- "heroHeadline": "Philliperomano",
+ "heroHeadline": "Phillipe Romano",
"heroSub": "Explore the collection",
- "metaDesc": "Philliperomano — The Phillipe Romano collection. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Phillipe Romano — The Phillipe Romano collection. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Philliperomano curates designer wallcoverings for designers, architects, and discerning homeowners. The Phillipe Romano collection. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Phillipe Romano curates designer wallcoverings for designers, architects, and discerning homeowners. The Phillipe Romano collection. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"phillipe romano"
diff --git a/sites/steveabramsdesigns.json b/sites/steveabramsdesigns.json
index 8264431..698aa8d 100644
--- a/sites/steveabramsdesigns.json
+++ b/sites/steveabramsdesigns.json
@@ -1,15 +1,15 @@
{
"slug": "steveabramsdesigns",
"domain": "steveabramsdesigns.com",
- "siteName": "Steveabrams Designs",
+ "siteName": "Steve Abrams Designs",
"port": 9950,
"siteEmail": "info@steveabramsdesigns.com",
"tagline": "Steve Abrams — designs and wallcoverings.",
- "heroHeadline": "Steveabrams Designs",
+ "heroHeadline": "Steve Abrams Designs",
"heroSub": "Explore the collection",
- "metaDesc": "Steveabrams Designs — Steve Abrams — designs and wallcoverings. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Steve Abrams Designs — Steve Abrams — designs and wallcoverings. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Steveabrams Designs curates designer wallcoverings for designers, architects, and discerning homeowners. Steve Abrams — designs and wallcoverings. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Steve Abrams Designs curates designer wallcoverings for designers, architects, and discerning homeowners. Steve Abrams — designs and wallcoverings. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [],
"neg": [],
diff --git a/sites/stevenabramsphotography.json b/sites/stevenabramsphotography.json
index 485379b..050973b 100644
--- a/sites/stevenabramsphotography.json
+++ b/sites/stevenabramsphotography.json
@@ -1,15 +1,15 @@
{
"slug": "stevenabramsphotography",
"domain": "stevenabramsphotography.com",
- "siteName": "Stevenabrams Photography",
+ "siteName": "Steven Abrams Photography",
"port": 9951,
"siteEmail": "info@stevenabramsphotography.com",
"tagline": "Steven Abrams — photography and design.",
- "heroHeadline": "Stevenabrams Photography",
+ "heroHeadline": "Steven Abrams Photography",
"heroSub": "Explore the collection",
- "metaDesc": "Stevenabrams Photography — Steven Abrams — photography and design. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Steven Abrams Photography — Steven Abrams — photography and design. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Stevenabrams Photography curates designer wallcoverings for designers, architects, and discerning homeowners. Steven Abrams — photography and design. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Steven Abrams Photography curates designer wallcoverings for designers, architects, and discerning homeowners. Steven Abrams — photography and design. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [],
"neg": [],
diff --git a/sites/thedesignerlaboratory.json b/sites/thedesignerlaboratory.json
index e9c195a..ab5f9b6 100644
--- a/sites/thedesignerlaboratory.json
+++ b/sites/thedesignerlaboratory.json
@@ -1,15 +1,15 @@
{
"slug": "thedesignerlaboratory",
"domain": "thedesignerlaboratory.com",
- "siteName": "Thedesigner Laboratory",
+ "siteName": "The Designer Laboratory",
"port": 9952,
"siteEmail": "info@thedesignerlaboratory.com",
"tagline": "The designer wallcovering laboratory.",
- "heroHeadline": "Thedesigner Laboratory",
+ "heroHeadline": "The Designer Laboratory",
"heroSub": "Explore the collection",
- "metaDesc": "Thedesigner Laboratory — The designer wallcovering laboratory. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "The Designer Laboratory — The designer wallcovering laboratory. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Thedesigner Laboratory curates designer wallcoverings for designers, architects, and discerning homeowners. The designer wallcovering laboratory. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "The Designer Laboratory curates designer wallcoverings for designers, architects, and discerning homeowners. The designer wallcovering laboratory. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [],
"neg": [],
diff --git a/sites/thehotelwallpaper.json b/sites/thehotelwallpaper.json
index eb96a69..2870490 100644
--- a/sites/thehotelwallpaper.json
+++ b/sites/thehotelwallpaper.json
@@ -1,15 +1,15 @@
{
"slug": "thehotelwallpaper",
"domain": "thehotelwallpaper.com",
- "siteName": "Thehotel Wallpaper",
+ "siteName": "The Hotel Wallpaper",
"port": 9953,
"siteEmail": "info@thehotelwallpaper.com",
"tagline": "Wallcoverings for the modern hotel.",
- "heroHeadline": "Thehotel Wallpaper",
+ "heroHeadline": "The Hotel Wallpaper",
"heroSub": "Explore the collection",
- "metaDesc": "Thehotel Wallpaper — Wallcoverings for the modern hotel. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "The Hotel Wallpaper — Wallcoverings for the modern hotel. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Thehotel Wallpaper curates designer wallcoverings for designers, architects, and discerning homeowners. Wallcoverings for the modern hotel. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "The Hotel Wallpaper curates designer wallcoverings for designers, architects, and discerning homeowners. Wallcoverings for the modern hotel. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"hospitality",
diff --git a/sites/unitedstateswallpaper.json b/sites/unitedstateswallpaper.json
index 7b6e972..751874f 100644
--- a/sites/unitedstateswallpaper.json
+++ b/sites/unitedstateswallpaper.json
@@ -1,15 +1,15 @@
{
"slug": "unitedstateswallpaper",
"domain": "unitedstateswallpaper.com",
- "siteName": "Unitedstates Wallpaper",
+ "siteName": "United States Wallpaper",
"port": 9955,
"siteEmail": "info@unitedstateswallpaper.com",
"tagline": "American designer wallcoverings.",
- "heroHeadline": "Unitedstates Wallpaper",
+ "heroHeadline": "United States Wallpaper",
"heroSub": "Explore the collection",
- "metaDesc": "Unitedstates Wallpaper — American designer wallcoverings. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "United States Wallpaper — American designer wallcoverings. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Unitedstates Wallpaper curates designer wallcoverings for designers, architects, and discerning homeowners. American designer wallcoverings. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "United States Wallpaper curates designer wallcoverings for designers, architects, and discerning homeowners. American designer wallcoverings. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [],
"neg": [],
diff --git a/sites/wallpaperfromthe80s.json b/sites/wallpaperfromthe80s.json
index b9c1176..505a526 100644
--- a/sites/wallpaperfromthe80s.json
+++ b/sites/wallpaperfromthe80s.json
@@ -1,15 +1,15 @@
{
"slug": "wallpaperfromthe80s",
"domain": "wallpaperfromthe80s.com",
- "siteName": "Wallpaperfromthe80s",
+ "siteName": "Wallpaper From The 80s",
"port": 9958,
"siteEmail": "info@wallpaperfromthe80s.com",
"tagline": "Retro wallcoverings with 80s spirit.",
- "heroHeadline": "Wallpaperfromthe80s",
+ "heroHeadline": "Wallpaper From The 80s",
"heroSub": "Explore the collection",
- "metaDesc": "Wallpaperfromthe80s — Retro wallcoverings with 80s spirit. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Wallpaper From The 80s — Retro wallcoverings with 80s spirit. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Wallpaperfromthe80s curates designer wallcoverings for designers, architects, and discerning homeowners. Retro wallcoverings with 80s spirit. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Wallpaper From The 80s curates designer wallcoverings for designers, architects, and discerning homeowners. Retro wallcoverings with 80s spirit. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [
"retro",
diff --git a/sites/wallpaperny.json b/sites/wallpaperny.json
index 3a235b0..c3826e4 100644
--- a/sites/wallpaperny.json
+++ b/sites/wallpaperny.json
@@ -1,15 +1,15 @@
{
"slug": "wallpaperny",
"domain": "wallpaperny.com",
- "siteName": "Wallpaperny",
+ "siteName": "Wallpaper NY",
"port": 9959,
"siteEmail": "info@wallpaperny.com",
"tagline": "New York designer wallcoverings.",
- "heroHeadline": "Wallpaperny",
+ "heroHeadline": "Wallpaper NY",
"heroSub": "Explore the collection",
- "metaDesc": "Wallpaperny — New York designer wallcoverings. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Wallpaper NY — New York designer wallcoverings. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Wallpaperny curates designer wallcoverings for designers, architects, and discerning homeowners. New York designer wallcoverings. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Wallpaper NY curates designer wallcoverings for designers, architects, and discerning homeowners. New York designer wallcoverings. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [],
"neg": [],
diff --git a/sites/wallpapernyc.json b/sites/wallpapernyc.json
index 65a3bb8..71373c6 100644
--- a/sites/wallpapernyc.json
+++ b/sites/wallpapernyc.json
@@ -1,15 +1,15 @@
{
"slug": "wallpapernyc",
"domain": "wallpapernyc.com",
- "siteName": "Wallpapernyc",
+ "siteName": "Wallpaper NYC",
"port": 9960,
"siteEmail": "info@wallpapernyc.com",
"tagline": "NYC designer wallcoverings.",
- "heroHeadline": "Wallpapernyc",
+ "heroHeadline": "Wallpaper NYC",
"heroSub": "Explore the collection",
- "metaDesc": "Wallpapernyc — NYC designer wallcoverings. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
+ "metaDesc": "Wallpaper NYC — NYC designer wallcoverings. Free memo samples, expert trade service, and hand-holding on every order from Designer Wallcoverings.",
"nicheLabel": "designer wallcoverings",
- "aboutCopy": "Wallpapernyc curates designer wallcoverings for designers, architects, and discerning homeowners. NYC designer wallcoverings. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
+ "aboutCopy": "Wallpaper NYC curates designer wallcoverings for designers, architects, and discerning homeowners. NYC designer wallcoverings. Every selection is backed by Designer Wallcoverings' decades of trade experience.",
"niche": {
"pos": [],
"neg": [],
← fb983c1 dw-domain-fleet: shared parameterized microsite server + 65
·
back to Dw Domain Fleet
·
fleet: DNS cutover + SSL + deploy scripts, PROGRESS.md 32e95f9 →