Index: src/views/pages/admin-seo.ejs
===================================================================
--- src/views/pages/admin-seo.ejs	(revision 64016815dd12ec86d05866d6d71bca783024094d)
+++ src/views/pages/admin-seo.ejs	(revision 013e16c6f24f30b8d59a5c851a20e0d9a6ddef6b)
@@ -88,4 +88,35 @@
     </fieldset>
 
+    <%# ── MUSICBRAINZ ─────────────────────────────────────────────
+        Direct onder Uitgever, en dat is geen willekeur: sameAs IS een
+        schema.org-eigenschap, en dat blok hierboven is waar ons schema.org
+        vandaan komt. Een koppeling hier voedt twee uitgangen tegelijk -- de
+        JSON-LD van de pagina en het fediverse-profiel (shaer-mbz). %>
+    <fieldset id="mb-veld">
+      <legend><%= t('aseo.mb_legend') %></legend>
+      <p class="form-hint"><%= t('aseo.mb_hint') %></p>
+
+      <input type="hidden" name="mb_artist_id" id="mb-id" value="<%= site.mb_artist_id || '' %>">
+      <input type="hidden" name="mb_artist_name" id="mb-naam" value="<%= site.mb_artist_name || '' %>">
+
+      <p class="mb-huidig" id="mb-huidig" <%= site.mb_artist_id ? '' : 'hidden' %>>
+        <%= t('aseo.mb_linked') %>
+        <strong id="mb-huidig-naam"><%= site.mb_artist_name || site.mb_artist_id || '' %></strong>
+        <a id="mb-huidig-link" target="_blank" rel="noopener"
+           href="https://musicbrainz.org/artist/<%= site.mb_artist_id || '' %>"><%= t('aseo.mb_open') %></a>
+        <button type="button" class="btn" id="mb-wis"><%= t('aseo.mb_unlink') %></button>
+      </p>
+
+      <label>
+        <span><%= t('aseo.mb_search_label') %> <small class="form-hint-inline">— <%= t('aseo.mb_search_hint') %></small></span>
+        <div class="mb-zoek">
+          <input type="text" id="mb-q" value="<%= site.publisher_name || site.title || '' %>"
+                 autocomplete="off" placeholder="<%= t('aseo.mb_placeholder') %>">
+          <button type="button" class="btn" id="mb-zoek-btn"><%= t('aseo.mb_search') %></button>
+        </div>
+      </label>
+      <div id="mb-uit" class="mb-uit" hidden></div>
+    </fieldset>
+
     <fieldset>
       <legend><%= t('aseo.verify_legend') %></legend>
Index: src/views/pages/admin-site-edit.ejs
===================================================================
--- src/views/pages/admin-site-edit.ejs	(revision 64016815dd12ec86d05866d6d71bca783024094d)
+++ src/views/pages/admin-site-edit.ejs	(revision 013e16c6f24f30b8d59a5c851a20e0d9a6ddef6b)
@@ -190,36 +190,4 @@
     </fieldset>
 
-    <%# ── MUSICBRAINZ ─────────────────────────────────────────────
-        Naast de aliassen, want het is dezelfde vraag: wie ben jij elders?
-        Een MBID is geen vocabulaire maar een register -- eraan koppelen is als
-        je ISBN noemen, en muziekdiensten herkennen je eraan zonder dat wij hun
-        model hoeven over te nemen (shaer-mbz).
-
-        GEEN EIGEN FORMULIER: deze pagina IS er een, en een formulier in een
-        formulier bestaat niet in HTML. De keuze zet een verborgen veld en gaat
-        mee met de Opslaan-knop van de pagina, net als de profielfoto. %>
-    <fieldset id="mb-veld">
-      <legend><%= t('asite.mb_title') %></legend>
-      <p class="form-hint"><%= t('asite.mb_hint') %></p>
-
-      <input type="hidden" name="mb_artist_id" id="mb-id" value="<%= site.mb_artist_id || '' %>">
-      <input type="hidden" name="mb_artist_name" id="mb-naam" value="<%= site.mb_artist_name || '' %>">
-
-      <p class="mb-huidig" id="mb-huidig" <%= site.mb_artist_id ? '' : 'hidden' %>>
-        <%= t('asite.mb_linked') %>
-        <strong id="mb-huidig-naam"><%= site.mb_artist_name || site.mb_artist_id || '' %></strong>
-        <a id="mb-huidig-link" target="_blank" rel="noopener"
-           href="https://musicbrainz.org/artist/<%= site.mb_artist_id || '' %>"><%= t('asite.mb_open') %></a>
-        <button type="button" class="btn" id="mb-wis"><%= t('asite.mb_unlink') %></button>
-      </p>
-
-      <div class="mb-zoek">
-        <input type="text" id="mb-q" value="<%= site.title || '' %>" autocomplete="off"
-               placeholder="<%= t('asite.mb_placeholder') %>">
-        <button type="button" class="btn" id="mb-zoek-btn"><%= t('asite.mb_search') %></button>
-      </div>
-      <div id="mb-uit" class="mb-uit" hidden></div>
-    </fieldset>
-
     <fieldset>
       <legend><%= t('asite.feed_view') %></legend>
Index: src/views/shell.ejs
===================================================================
--- src/views/shell.ejs	(revision 64016815dd12ec86d05866d6d71bca783024094d)
+++ src/views/shell.ejs	(revision 013e16c6f24f30b8d59a5c851a20e0d9a6ddef6b)
@@ -90,4 +90,10 @@
 if (safeSite.publisher_logo) {
   _publisher.logo = { '@type': 'ImageObject', url: safeSite.publisher_logo };
+}
+// Dezelfde koppeling die de fediverse-actor draagt, hier in de JSON-LD
+// (shaer-mbz). sameAs is schema.org-eigen, dus dit is geen extra vocabulaire --
+// het is hetzelfde feit, verteld aan de andere lezer.
+if (safeSite.mb_artist_id) {
+  _publisher.sameAs = 'https://musicbrainz.org/artist/' + safeSite.mb_artist_id;
 }
 let _jsonLd = null;
