← back to Blockprintedwallpaper
Redirect old .html page URLs to clean extension-less routes (301)
919dd6597850146cba687ed75928cf04a763e54d · 2026-06-01 07:20:56 -0700 · Steve
Files touched
Diff
commit 919dd6597850146cba687ed75928cf04a763e54d
Author: Steve <steve@designerwallcoverings.com>
Date: Mon Jun 1 07:20:56 2026 -0700
Redirect old .html page URLs to clean extension-less routes (301)
---
server.js | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/server.js b/server.js
index 48f4516..0029e19 100644
--- a/server.js
+++ b/server.js
@@ -76,6 +76,15 @@ app.locals.siteConfig = cfg;
// Fleet-wide DW vendor-name redactor on /api/* (drops vendors facet, replaces vendor field).
app.use(require('../_shared/api-vendor-redact'));
+// Clean-URL canonicalization — 301 the old `.html` form to the extension-less
+// route so there's one canonical URL per page (no duplicate-content / SEO
+// split). Must run BEFORE express.static, else static serves the .html first.
+const CLEAN_REDIRECTS = ['index', 'history', 'vocabulary', 'sourcing', 'care', 'trade'];
+app.get(CLEAN_REDIRECTS.map(s => '/' + s + '.html'), (req, res) => {
+ const slug = req.path.replace(/^\//, '').replace(/\.html$/, '');
+ res.redirect(301, slug === 'index' ? '/' : '/' + slug);
+});
+
app.use(express.static(path.join(__dirname, 'public')));
function sortProducts(list, sort) {
← d914b63 Add noopener,noreferrer to cross-site window.open
·
back to Blockprintedwallpaper
·
Remove Big Red widget — never UX-worked, collided with Help b40816a →