← back to Stars of Design
starsofdesign: ItemList JSON-LD on /designers + /clients index pages — top-60 each as Person ListItems. 47/47.
43b04f5d9d69af23314a76ce0cc598a9ebb8e222 · 2026-05-13 06:52:11 -0700 · Steve Abrams
Files touched
Diff
commit 43b04f5d9d69af23314a76ce0cc598a9ebb8e222
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Wed May 13 06:52:11 2026 -0700
starsofdesign: ItemList JSON-LD on /designers + /clients index pages — top-60 each as Person ListItems. 47/47.
---
routes/public.js | 33 ++++++++++++++++++++++++++++++++-
1 file changed, 32 insertions(+), 1 deletion(-)
diff --git a/routes/public.js b/routes/public.js
index 8a9b095..2c6b919 100644
--- a/routes/public.js
+++ b/routes/public.js
@@ -89,14 +89,30 @@ router.get('/designers', (req, res, next) => {
};
const rows = data.filter(filt);
const sortKey = SORTS[req.query.sort] ? req.query.sort : 'newest';
+ const sortedRows = sortDesigners(rows, sortKey);
+ const json_ld = {
+ '@context': 'https://schema.org',
+ '@type': 'ItemList',
+ itemListElement: sortedRows.slice(0, 60).map((d, i) => ({
+ '@type': 'ListItem',
+ position: i + 1,
+ item: {
+ '@type': 'Person',
+ name: d.name,
+ url: `https://starsofdesign.com/designers/${d.slug}`,
+ },
+ })),
+ numberOfItems: rows.length,
+ };
res.render('public/designers', {
title: 'Browse Designers — Stars of Design',
- designers: sortDesigners(rows, sortKey),
+ designers: sortedRows,
total: rows.length,
sortKey,
filter: filt,
styles: data.allStyles(),
eras: data.allEras(),
+ json_ld,
});
} catch (e) { next(e); }
});
@@ -161,6 +177,20 @@ router.get('/clients', async (req, res, next) => {
clientsLib.listClients({ q, area, sort, limit: 300 }),
clientsLib.totalCount(),
]);
+ const json_ld = {
+ '@context': 'https://schema.org',
+ '@type': 'ItemList',
+ itemListElement: clients.slice(0, 60).map((c, i) => ({
+ '@type': 'ListItem',
+ position: i + 1,
+ item: {
+ '@type': 'Person',
+ name: c.full_name,
+ url: `https://starsofdesign.com/clients/${c.slug}`,
+ },
+ })),
+ numberOfItems: total,
+ };
res.render('public/clients', {
title: 'DW Client Designers — Active Buyer List | Stars of Design',
meta_desc_override: 'The active list of interior designers and architecture firms who buy wallcoverings from Designer Wallcoverings. Pulled from order history, trade signups, and sample requests. City + state + areas served per profile (no street addresses).',
@@ -168,6 +198,7 @@ router.get('/clients', async (req, res, next) => {
total,
sortKey: sort,
filter: { q, area },
+ json_ld,
});
} catch (e) { next(e); }
});
← 2502570 starsofdesign: /firms index ItemList JSON-LD — first 60 firm
·
back to Stars of Design
·
sod smoke +3 ItemList checks on /designers /firms /clients i 9a655f6 →