Index: src/routes/admin-sites.js
===================================================================
--- src/routes/admin-sites.js	(revision 74c2473efcc149518604c374310e7b17375284e2)
+++ src/routes/admin-sites.js	(revision a1c8cb8e3249d5b67ffce6bdd2c3ca39542ef663)
@@ -98,5 +98,5 @@
   'auth', 'admin', 'login', 'register', 'logout', 'archive', 'search',
   'account', 'sites', 'comments', 'posts', 'media', 'audio', 'prutter',
-  'forum', 'tag', 'user', 'users', 'artiesten', 'feed.xml', 'atom.xml', 'sitemap.xml',
+  'forum', 'tag', 'user', 'users', 'artiesten', 'leden', 'feed.xml', 'atom.xml', 'sitemap.xml',
   'manifest.webmanifest', 'sw.js', 'favicon.ico', 'favicon.svg', 'assets',
 ]);
Index: src/routes/artists.js
===================================================================
--- src/routes/artists.js	(revision 74c2473efcc149518604c374310e7b17375284e2)
+++ src/routes/artists.js	(revision a1c8cb8e3249d5b67ffce6bdd2c3ca39542ef663)
@@ -2,5 +2,5 @@
  * Artiesten-directory — alleen in hub-modus.
  *
- * GET /artiesten?q=&page=  -> doorzoekbare, gepagineerde lijst van ALLE
+ * GET /leden?q=&page=  -> doorzoekbare, gepagineerde lijst van ALLE
  * PrutFolio's. De hub-home toont maar een beperkte selectie; deze pagina
  * schaalt naar honderden/duizenden artiesten via zoeken + paginering.
Index: src/routes/hub.js
===================================================================
--- src/routes/hub.js	(revision 74c2473efcc149518604c374310e7b17375284e2)
+++ src/routes/hub.js	(revision a1c8cb8e3249d5b67ffce6bdd2c3ca39542ef663)
@@ -50,5 +50,5 @@
   // Uitgelichte PrutFolio's voor de home-roster: meest-actief eerst (aantal
   // gepubliceerde posts), dan nieuwste. Excl. de hoofdsite. Beperkt tot
-  // HOME_ROSTER_LIMIT zodat de home schaalt — volledige lijst staat op /artiesten.
+  // HOME_ROSTER_LIMIT zodat de home schaalt — volledige lijst staat op /leden.
   const HOME_ROSTER_LIMIT = 24;
   const artists = db.prepare(`
Index: src/routes/posts.js
===================================================================
--- src/routes/posts.js	(revision 74c2473efcc149518604c374310e7b17375284e2)
+++ src/routes/posts.js	(revision a1c8cb8e3249d5b67ffce6bdd2c3ca39542ef663)
@@ -62,5 +62,5 @@
   'archive', 'search', 'account', 'sites', 'comments',
   'posts', 'media', 'audio', 'prutter', 'forum',
-  'tag', 'type', 'user', 'users', 'artiesten', 'feed.xml', 'atom.xml', 'sitemap.xml',
+  'tag', 'type', 'user', 'users', 'artiesten', 'leden', 'feed.xml', 'atom.xml', 'sitemap.xml',
   'manifest.webmanifest', 'sw.js', 'favicon.ico', 'favicon.svg', 'assets',
 ]);
Index: src/server.js
===================================================================
--- src/server.js	(revision 74c2473efcc149518604c374310e7b17375284e2)
+++ src/server.js	(revision a1c8cb8e3249d5b67ffce6bdd2c3ca39542ef663)
@@ -215,5 +215,6 @@
 // Feed/sitemap routes are mounted at root because they're at well-known paths
 app.use('/', feedRoutes);
-app.use('/artiesten', artistsRoutes); // doorzoekbare artiesten-directory (alleen hub; solo: next())
+app.use('/leden', artistsRoutes); // doorzoekbare leden-directory (alleen hub; solo: next())
+app.get('/artiesten', (req, res) => res.redirect(301, req.originalUrl.replace(/^\/artiesten/, '/leden'))); // oude URL -> /leden
 app.use('/', hubRoutes); // hub-overview op '/' (solo: next() -> postsRoutes)
 app.use('/', postsRoutes);
Index: src/views/pages/artists-directory.ejs
===================================================================
--- src/views/pages/artists-directory.ejs	(revision 74c2473efcc149518604c374310e7b17375284e2)
+++ src/views/pages/artists-directory.ejs	(revision a1c8cb8e3249d5b67ffce6bdd2c3ca39542ef663)
@@ -28,7 +28,7 @@
   <header class="adir-head container">
     <h1 class="adir-title">Leden</h1>
-    <p class="adir-sub"><%= total %> <%= total === 1 ? 'lid' : 'leden' %></p>
+    <p class="adir-sub"><%= total %> Klonkt<%= total === 1 ? '' : "'s" %></p>
 
-    <form class="adir-search" method="get" action="/artiesten" role="search">
+    <form class="adir-search" method="get" action="/leden" role="search">
       <input type="search" name="q" value="<%= q %>" placeholder="Zoek op naam…"
              autocomplete="off" aria-label="Zoek leden">
@@ -36,5 +36,5 @@
         <svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>
       </button>
-      <% if (q) { %><a class="adir-search-clear" href="/artiesten">Wissen</a><% } %>
+      <% if (q) { %><a class="adir-search-clear" href="/leden">Wissen</a><% } %>
     </form>
   </header>
Index: src/views/pages/hub-home.ejs
===================================================================
--- src/views/pages/hub-home.ejs	(revision 74c2473efcc149518604c374310e7b17375284e2)
+++ src/views/pages/hub-home.ejs	(revision a1c8cb8e3249d5b67ffce6bdd2c3ca39542ef663)
@@ -73,5 +73,5 @@
       <% if (_hasMore) { %>
         <div class="hub-more">
-          <a class="hub-more-link" href="/artiesten">Alle <%= _total %> leden <span aria-hidden="true">→</span></a>
+          <a class="hub-more-link" href="/leden">Alle <%= _total %> leden <span aria-hidden="true">→</span></a>
         </div>
       <% } %>
