Installatiegids
Er moeten twee dingen live staan op uw site: de kennisgeving die uw bezoekers zien, en een klein openbaar bestand dat uw AI-gebruik verklaart (uwsite.com/.well-known/ai-disclosure.json). De snippettag wordt één keer geplakt, is op elke pagina identiek, en uw verklaring bepaalt welke kennisgevingen waar verschijnen. Kies hieronder uw platform; de meeste duren ongeveer tien minuten.
Banner en AI-labels die uw bezoekers op de pagina zien.
ai-disclosure.json, een openbaar bestand dat leesbaar is vanaf uw eigen domein.
de checker Niveau 2 · Weergegeven toont.
Kies uw platform
WordPress
Installeer de plugin
In uw WordPress-beheer: Plugins → Nieuwe plugin toevoegen → Plugin uploaden, kies het bestand dat u hieronder hebt gedownload en klik op Activeren.
Laat het beide taken doen
De plugin toont de kennisgevingen en publiceert uw verklaringsbestand automatisch. Markeer AI-content op elk bericht of elke afbeelding met de schakelaar "AI-content". Geen codewijzigingen.
-
Verifiëren
Klaar wanneer de checker Niveau 2 · Weergegeven toont.
Voer de checker uit
Shopify
Voeg de snippet toe
Onlinewinkel → Thema's → ⋯ → Code bewerken → theme.liquid: plak deze ene tag vlak vóór </body>. theme.liquid is de lay-out waar elke pagina doorheen wordt weergegeven, dus één keer plakken dekt de hele winkel. Shopify kan geen bestanden hosten op de root van uw domein, dus de tag bevat uw AIDisclose-sitesleutel (data-aidisclose) en laadt het manifest dat wij voor u hosten.
theme.liquid <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Koppel uw verklaring
Plak deze link in <head> in hetzelfde bestand. Uw dashboard toont beide regels vooraf ingevuld met uw sitesleutel.
<head> <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Dit is een toegestane methode volgens de specificatie.
-
Verifiëren
Klaar wanneer de checker Niveau 1 · Gedeclareerd met een opmerking toont. Dat is het verwachte resultaat op dit platform, en het voldoet.
Voer de checker uit
Webflow
Voeg de snippet toe
Site settings → Custom code → Footer code: plak het snippetblok hieronder en klik op Publish. Custom code op siteniveau laadt op elke pagina.
Footer code <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Koppel uw verklaring
Voeg in Head code de verklaringslinkregel toe (tweede blok hieronder). Levert u het bestand liever vanaf uw eigen domein? Gebruik de proxy onder Geavanceerd als uw DNS via Cloudflare loopt.
Head code <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Dit is een toegestane methode volgens de specificatie.
-
Verifiëren
Klaar wanneer de checker Niveau 1 · Gedeclareerd met een opmerking toont. Dat is het verwachte resultaat op dit platform, en het voldoet.
Voer de checker uit
Squarespace
Voeg de snippet toe
Settings → Advanced → Code Injection → Footer: plak het snippetblok hieronder. Code injection geldt voor elke pagina. Hiervoor is het Business-abonnement vereist.
Footer <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Koppel uw verklaring
Voeg in Header injection de verklaringslinkregel toe (tweede blok hieronder).
Header <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Dit is een toegestane methode volgens de specificatie.
-
Verifiëren
Klaar wanneer de checker Niveau 1 · Gedeclareerd met een opmerking toont. Dat is het verwachte resultaat op dit platform, en het voldoet.
Voer de checker uit
Google Tag Manager
Maak de tag aan
New tag → Tag configuration → Custom HTML → plak de snippet. Triggering: All Pages (Page View). Gebruik geen vertraagde trigger of scrolltrigger: de transparantieregels vereisen de kennisgeving vanaf de eerste blootstelling. Publiceer de workspace.
Custom HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Publiceer ook uw verklaring
Tag Manager verzorgt alleen de kennisgevingen. Uw verklaringsbestand moet nog live: volg de stap voor uw platform op de andere tabbladen, of het tabblad Maatwerkcode als u een eigen site beheert.
-
Verifiëren
Klaar wanneer de checker Niveau 2 · Weergegeven toont.
Voer de checker uit
Maatwerkcode
Voeg de snippet toe
Eén keer in uw sitetemplate of lay-out, vóór </body>, zodat het met elke pagina wordt meegeleverd. Extra beveiliging voor productie (versies vastzetten, SRI) staat onder Geavanceerd.
HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Lever het verklaringsbestand
ai-disclosure.json moet leesbaar zijn op /.well-known/ op je domein. Op Vercel of Netlify leg je het bestand vast. Als je framework elke route naar index.html herschrijft, heeft dat bestand een uitzondering nodig: zie Single-page apps onder Geavanceerd. nginx- en Apache-configuraties staan ook onder Geavanceerd.
Vercel / Netlify # Vercel / Netlify: commit the file public/.well-known/ai-disclosure.json # SPA that rewrites every route to index.html? # Exclude /.well-known/ from the rewrite (see Advanced).-
Verifiëren
Klaar wanneer de checker Niveau 2 · Weergegeven toont.
Voer de checker uit
Verifiëren
Voer de checker uit. Hij bevestigt drie dingen: uw verklaringsbestand is geldig, de snippet draait, en de kennisgevingen verschijnen daadwerkelijk op de pagina. (Voor engineers: controles C1, C3 en C4 tot en met C6.)
Als uw site onze checker (AIDiscloseBot) blokkeert
Scans en bewijsvastleggingen komen van AIDiscloseBot/1.0. Deze leest alleen openbare pagina's: hij logt nooit in, verstuurt nooit formulieren en respecteert robots.txt. Als uw robots.txt of botbeveiliging onbekende crawlers blokkeert, sta hem dan expliciet toe:
User-agent: AIDiscloseBot
Allow: /
Is toestaan een risico? Nee. Een toestemming in robots.txt verleent geen toegang. Het vertelt beleefde bots alleen dat ze pagina's mogen lezen die al openbaar zijn. Iedereen kan een User-Agent-string vervalsen, maar een vervalser krijgt niets wat uw openbare pagina's al niet prijsgeven.
Als u verkeer afschermt met een WAF of botmanager, gebruik dan nooit alleen de User-Agent voor uw toelatingslijst. Combineer het met bronverificatie. Wij publiceren de identiteit van onze crawler, en de uitgaande IP-reeksen zodra die worden toegewezen, op aidisclose.io/bot.json.
Geavanceerd
Theming with CSS variables, custom copy, single-page-app setup, and the full option reference are in the snippet reference.
Zet het script vast op een exacte versie (SRI)
Een integriteitshash in de scripttag zorgt dat de browser weigert een gewijzigd bestand uit te voeren. Zet de versie-URL vast en genereer de hash uit het exacte bestand dat u implementeert:
curl -sO https://cdn.aidisclose.io/v1/aidisclose.js
openssl dgst -sha384 -binary aidisclose.js | openssl base64 -A
Lever het bestand zelf (nginx / Apache)
Voor servers die u beheert, levert u de gedownloade ai-disclosure.json rechtstreeks:
location = /.well-known/ai-disclosure.json {
alias /var/www/site/ai-disclosure.json;
default_type application/json;
add_header Cache-Control "max-age=3600";
}
Alias "/.well-known/ai-disclosure.json" "/var/www/site/ai-disclosure.json"
<Files "ai-disclosure.json">
ForceType application/json
</Files>
Lever het door het dashboard gehoste bestand vanaf uw eigen domein
Uw server stuurt aanvragen voor dat ene adres door naar ons: u bewerkt het bestand in het dashboard, en het wordt nog steeds vanaf uw domein geleverd. Het dashboard toont deze vooraf ingevuld met uw sitesleutel.
location = /.well-known/ai-disclosure.json {
proxy_pass https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY;
proxy_set_header Host cdn.aidisclose.io;
proxy_ssl_server_name on;
}
export default {
async fetch(request) {
const url = new URL(request.url);
if (url.pathname === "/.well-known/ai-disclosure.json") {
return fetch("https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY");
}
return fetch(request);
}
};
Single-page apps en statische hosts
Frameworks die elke route naar index.html herschrijven, en sommige statische hosts, onderscheppen /.well-known/ai-disclosure.json en sturen de HTML van je app terug met statuscode 200. Het bestand lijkt vastgelegd, maar de checker leest HTML in plaats van het manifest. Twee oplossingen: sluit /.well-known/ uit van de catch-all-herschrijving zodat het statische bestand met het type application/json wordt geleverd, of voeg data-aidisclose="YOUR_SITE_KEY" toe aan de scripttag om het door AIDisclose gehoste manifest te laden en het bestand helemaal niet te leveren.
# netlify.toml: serve the real file before the SPA fallback
[[redirects]]
from = "/*"
to = "/index.html"
status = 200
force = false # a real file at the path wins over this fallback
# vercel.json: rewrite everything EXCEPT /.well-known to the app
{ "rewrites": [
{ "source": "/((?!\.well-known/).*)", "destination": "/index.html" }
] }