← back to Designer Wallcoverings
Scrub parent-vendor leak (Thibaut/York) from Anna French customer-facing descriptions; re-attribute to Anna French
6f6cf54e678721d473973fa3db2c7bcf1dde8498 · 2026-06-25 09:40:06 -0700 · Steve
Files touched
M shopify/scripts/anna-french-enrich.jsM shopify/scripts/anna-french-scraper.js
Diff
commit 6f6cf54e678721d473973fa3db2c7bcf1dde8498
Author: Steve <steve@designerwallcoverings.com>
Date: Thu Jun 25 09:40:06 2026 -0700
Scrub parent-vendor leak (Thibaut/York) from Anna French customer-facing descriptions; re-attribute to Anna French
---
shopify/scripts/anna-french-enrich.js | 7 ++++++-
shopify/scripts/anna-french-scraper.js | 11 ++++++++++-
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/shopify/scripts/anna-french-enrich.js b/shopify/scripts/anna-french-enrich.js
index c167af1d..f842e174 100644
--- a/shopify/scripts/anna-french-enrich.js
+++ b/shopify/scripts/anna-french-enrich.js
@@ -99,7 +99,12 @@ function normalizeList(arr, lexicon, cap = 4) {
function titleCase(s) {
return String(s || '').toLowerCase().split(/\s+/).filter(Boolean).map(w => w.charAt(0).toUpperCase() + w.slice(1)).join(' ');
}
-const cleanWallpaper = (s) => !s ? s : String(s).replace(/\bWalls Wallpaper\b/gi, 'Wallcoverings').replace(/\bWallpapers\b/gi, 'Wallcoverings').replace(/\bWallpaper\b/gi, 'Wallcovering');
+const cleanWallpaper = (s) => {
+ if (!s) return s;
+ let out = String(s).replace(/\bWalls Wallpaper\b/gi, 'Wallcoverings').replace(/\bWallpapers\b/gi, 'Wallcoverings').replace(/\bWallpaper\b/gi, 'Wallcovering');
+ out = out.replace(/\bBrowse the Thibaut[^.]*\.\s*/gi, '').replace(/\bThibaut\b/gi, 'Anna French').replace(/\bYork Wallcoverings\b/gi, 'Anna French').replace(/\bYork\b/gi, 'Anna French');
+ return out.replace(/\s+/g, ' ').trim();
+};
function fetchBuffer(url) {
return new Promise((resolve, reject) => {
diff --git a/shopify/scripts/anna-french-scraper.js b/shopify/scripts/anna-french-scraper.js
index d25f2842..3730f3b8 100644
--- a/shopify/scripts/anna-french-scraper.js
+++ b/shopify/scripts/anna-french-scraper.js
@@ -81,7 +81,16 @@ function sleep(ms) { return new Promise(r => setTimeout(r, ms)); }
const BANNED_WORD = /\bwallpapers?\b/gi;
function cleanWallpaper(s) {
if (!s) return s;
- return String(s).replace(/\bWalls Wallpaper\b/gi, 'Wallcoverings').replace(/\bWallpapers\b/gi, 'Wallcoverings').replace(/\bWallpaper\b/gi, 'Wallcovering');
+ let out = String(s).replace(/\bWalls Wallpaper\b/gi, 'Wallcoverings').replace(/\bWallpapers\b/gi, 'Wallcoverings').replace(/\bWallpaper\b/gi, 'Wallcovering');
+ // SCRUB parent-vendor leak: Anna French is the front-facing brand, NOT Thibaut.
+ // The Thibaut meta-description ("Browse the Thibaut … assortment today") + any
+ // upstream "York" reference must NEVER surface customer-facing. Remove the boilerplate
+ // CTA sentence entirely, and re-attribute any remaining mention to Anna French.
+ out = out.replace(/\bBrowse the Thibaut[^.]*\.\s*/gi, '')
+ .replace(/\bThibaut\b/gi, 'Anna French')
+ .replace(/\bYork Wallcoverings\b/gi, 'Anna French')
+ .replace(/\bYork\b/gi, 'Anna French');
+ return out.replace(/\s+/g, ' ').trim();
}
function titleCase(s) {
const small = new Set(['a', 'an', 'the', 'and', 'but', 'or', 'for', 'nor', 'in', 'on', 'at', 'to', 'by', 'of', 'with']);
← 4bfeada6 china-seas mailer: drop Material + Account nav links so head
·
back to Designer Wallcoverings
·
Anna French gate+diff audit artifact (734 pass, 239 disconti b4dccb49 →