[object Object]

← back to Stars of Design

feat(starsofdesign): sitemap.xml now includes /firms/:slug × 184 + /clients/:slug × 61 + /feed (403 URLs total)

f55b3a7e3c417fa81a1076c2a123ce96d196553b · 2026-05-12 15:23:02 -0700 · Steve Abrams

Files touched

Diff

commit f55b3a7e3c417fa81a1076c2a123ce96d196553b
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue May 12 15:23:02 2026 -0700

    feat(starsofdesign): sitemap.xml now includes /firms/:slug × 184 + /clients/:slug × 61 + /feed (403 URLs total)
---
 routes/public.js | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/routes/public.js b/routes/public.js
index 260b56f..2e24ad8 100644
--- a/routes/public.js
+++ b/routes/public.js
@@ -234,14 +234,21 @@ router.get('/submit', (req, res) => {
   res.render('public/submit', { title: 'Submit a designer — Stars of Design' });
 });
 
-router.get('/sitemap.xml', (req, res, next) => {
+router.get('/sitemap.xml', async (req, res, next) => {
   try {
     const base = 'https://starsofdesign.com';
     const all = data.load();
     const today = new Date().toISOString().slice(0, 10);
+    const [firms, clients] = await Promise.all([
+      firmsLib.listFirms({ limit: 1000 }),
+      clientsLib.listClients({ limit: 1000 }),
+    ]);
     const urls = [
       { loc: `${base}/`,          priority: '1.0', changefreq: 'weekly' },
       { loc: `${base}/designers`, priority: '0.9', changefreq: 'weekly' },
+      { loc: `${base}/firms`,     priority: '0.9', changefreq: 'weekly' },
+      { loc: `${base}/clients`,   priority: '0.9', changefreq: 'weekly' },
+      { loc: `${base}/feed`,      priority: '0.7', changefreq: 'daily' },
       { loc: `${base}/videos`,    priority: '0.8', changefreq: 'weekly' },
       { loc: `${base}/about`,     priority: '0.5', changefreq: 'monthly' },
       { loc: `${base}/submit`,    priority: '0.4', changefreq: 'monthly' },
@@ -250,6 +257,16 @@ router.get('/sitemap.xml', (req, res, next) => {
         priority: '0.8',
         changefreq: 'monthly',
       })),
+      ...firms.map((f) => ({
+        loc: `${base}/firms/${f.slug}`,
+        priority: '0.7',
+        changefreq: 'monthly',
+      })),
+      ...clients.map((c) => ({
+        loc: `${base}/clients/${c.slug}`,
+        priority: '0.7',
+        changefreq: 'monthly',
+      })),
     ];
     const xml = '<?xml version="1.0" encoding="UTF-8"?>\n' +
       '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n' +

← 23833cd feat(starsofdesign): add /firms /clients /feed to global nav  ·  back to Stars of Design  ·  starsofdesign: sort dropdown on /firms + /clients (per stand 10f3ae0 →