Ghid de instalare
Două lucruri trebuie să fie active pe site-ul dvs.: notificarea pe care o văd vizitatorii și un mic fișier public care declară utilizarea IA (yoursite.com/.well-known/ai-disclosure.json). Eticheta fragmentului de cod se lipește o singură dată, este identică pe fiecare pagină, iar declarația dvs. stabilește ce notificări apar și unde. Alegeți platforma dvs. de mai jos; majoritatea durează aproximativ zece minute.
Banner și etichete IA pe care vizitatorii dvs. le văd pe pagină.
ai-disclosure.json, un fișier public care poate fi citit de pe propriul dvs. domeniu.
verificatorul afișează Nivelul 2 · Afișat.
Alegeți platforma dvs.
WordPress
Instalați pluginul
În administrarea WordPress: Plugins → Add New → Upload Plugin, alegeți fișierul descărcat mai jos, apoi apăsați Activate.
Lăsați-l să facă ambele sarcini
Pluginul afișează notificările și publică automat fișierul dvs. de declarare. Marcați conținutul IA pe orice articol sau imagine cu comutatorul său „AI content”. Fără modificări de cod.
-
Verificare
Gata când verificatorul afișează Nivelul 2 · Afișat.
Rulați verificatorul
Shopify
Adăugați fragmentul de cod
Online Store → Themes → ⋯ → Edit code → theme.liquid: lipiți această singură etichetă chiar înainte de </body>. theme.liquid este layoutul prin care se afișează fiecare pagină, așa că o singură lipire acoperă întregul magazin. Shopify nu poate găzdui fișiere la rădăcina domeniului dvs., așa că eticheta poartă cheia site-ului dvs. AIDisclose (data-aidisclose) și încarcă manifestul pe care îl găzduim pentru dvs.
theme.liquid <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Faceți legătura către declarația dvs.
Lipiți acest link în interiorul <head> în același fișier. Panoul dvs. de control afișează ambele linii precompletate cu cheia site-ului dvs.
<head> <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Aceasta este o metodă permisă conform specificației.
-
Verificare
Gata când verificatorul afișează Nivelul 1 · Declarat cu o observație. Acesta este rezultatul așteptat pe această platformă și este conform.
Rulați verificatorul
Webflow
Adăugați fragmentul de cod
Site settings → Custom code → Footer code: lipiți blocul cu fragmentul de cod de mai jos, apoi apăsați Publish. Codul personalizat la nivel de site se încarcă pe fiecare pagină.
Footer code <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Faceți legătura către declarația dvs.
În Head code, adăugați linia de legătură a declarației (al doilea bloc de mai jos). Preferați să serviți fișierul de pe propriul dvs. domeniu? Folosiți proxy-ul din secțiunea Avansat dacă DNS-ul dvs. trece prin Cloudflare.
Head code <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Aceasta este o metodă permisă conform specificației.
-
Verificare
Gata când verificatorul afișează Nivelul 1 · Declarat cu o observație. Acesta este rezultatul așteptat pe această platformă și este conform.
Rulați verificatorul
Squarespace
Adăugați fragmentul de cod
Settings → Advanced → Code Injection → Footer: lipiți blocul cu fragmentul de cod de mai jos. Injectarea de cod se aplică fiecărei pagini. Necesită planul Business.
Footer <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Faceți legătura către declarația dvs.
În Header injection, adăugați linia de legătură a declarației (al doilea bloc de mai jos).
Header <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Aceasta este o metodă permisă conform specificației.
-
Verificare
Gata când verificatorul afișează Nivelul 1 · Declarat cu o observație. Acesta este rezultatul așteptat pe această platformă și este conform.
Rulați verificatorul
Google Tag Manager
Creați eticheta
New tag → Tag configuration → Custom HTML → lipiți fragmentul de cod. Declanșare: All Pages (Page View). Nu folosiți o declanșare întârziată sau la derulare: regulile de informare impun notificarea încă de la prima expunere. Publicați spațiul de lucru.
Custom HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Publicați și declarația dvs.
Tag Manager gestionează doar notificările. Fișierul dvs. de declarare tot trebuie să fie publicat: urmați pasul pentru platforma dvs. din celelalte file sau fila Cod personalizat dacă aveți propriul site.
-
Verificare
Gata când verificatorul afișează Nivelul 2 · Afișat.
Rulați verificatorul
Cod personalizat
Adăugați fragmentul de cod
O singură dată în șablonul sau layoutul site-ului dvs., înainte de </body>, astfel încât să fie livrat cu fiecare pagină. Consolidarea pentru producție (fixarea versiunii, SRI) se află în secțiunea Avansat.
HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Serviți fișierul de declarare
ai-disclosure.json trebuie să poată fi citit la /.well-known/ pe domeniul tău. Pe Vercel sau Netlify, include fișierul în repozitoriu. Dacă framework-ul tău rescrie fiecare rută către index.html, acel fișier are nevoie de o excepție: vezi Aplicații cu o singură pagină în secțiunea Avansat. Configurațiile nginx și Apache se află tot în secțiunea Avansat.
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).-
Verificare
Gata când verificatorul afișează Nivelul 2 · Afișat.
Rulați verificatorul
Verificare
Rulați verificatorul. Acesta confirmă trei lucruri: fișierul dvs. de declarare este valid, fragmentul de cod rulează, iar notificările apar efectiv pe pagină. (Pentru ingineri: verificările C1, C3 și C4 până la C6.)
Dacă site-ul dvs. blochează verificatorul nostru (AIDiscloseBot)
Scanările și capturile de dovezi provin de la AIDiscloseBot/1.0. Acesta citește doar pagini publice: nu se autentifică niciodată, nu trimite niciodată formulare și respectă robots.txt. Dacă robots.txt sau protecția dvs. anti-bot blochează crawlerele necunoscute, permiteți-l explicit:
User-agent: AIDiscloseBot
Allow: /
Este un risc să îl permiteți? Nu. O permisiune în robots.txt nu acordă niciun acces. Le spune doar boților politicoși că pot citi pagini care sunt deja publice. Oricine poate falsifica un șir User-Agent, dar un falsificator nu obține nimic în plus față de ceea ce paginile dvs. publice oferă deja.
Dacă vă controlați traficul cu un WAF sau un manager de boți, nu permiteți niciodată accesul doar pe baza User-Agent. Asociați-l cu verificarea sursei. Publicăm identitatea crawlerului nostru și intervalele de IP de ieșire pe măsură ce sunt alocate, la aidisclose.io/bot.json.
Avansat
Theming with CSS variables, custom copy, single-page-app setup, and the full option reference are in the snippet reference.
Blocați scriptul la o versiune exactă (SRI)
Un hash de integritate în eticheta de script determină browserul să refuze rularea unui fișier modificat. Fixați URL-ul cu versiune și generați hash-ul din fișierul exact pe care îl implementați:
curl -sO https://cdn.aidisclose.io/v1/aidisclose.js
openssl dgst -sha384 -binary aidisclose.js | openssl base64 -A
Serviți singur fișierul (nginx / Apache)
Pentru serverele pe care le controlați, serviți direct fișierul ai-disclosure.json descărcat:
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>
Serviți fișierul găzduit în panoul de control de pe propriul dvs. domeniu
Serverul dvs. ne redirecționează cererile pentru acea unică adresă: editați fișierul în panoul de control, iar acesta este servit în continuare de pe domeniul dvs. Panoul de control le afișează precompletate cu cheia site-ului dvs.
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);
}
};
Aplicații cu o singură pagină și gazde statice
Framework-urile care rescriu fiecare rută către index.html, precum și unele gazde statice, interceptează /.well-known/ai-disclosure.json și returnează codul HTML al aplicației tale cu statusul 200. Fișierul pare inclus în repozitoriu, dar verificatorul citește HTML în loc de manifest. Două soluții: exclude /.well-known/ din rescrierea globală, astfel încât fișierul static să fie servit cu tipul application/json, sau adaugă data-aidisclose="YOUR_SITE_KEY" în eticheta de script pentru a încărca manifestul găzduit de AIDisclose și a nu mai servi deloc fișierul.
# 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" }
] }