Vodič za ugradnju
Dvije stvari moraju biti aktivne na vašoj stranici: obavijest koju vaši posjetitelji vide i mala javna datoteka koja deklarira vaše korištenje UI-ja (vasastranica.com/.well-known/ai-disclosure.json). Oznaka isječka lijepi se jednom, jednaka je na svakoj stranici, a vaša deklaracija odlučuje koje se obavijesti pojavljuju i gdje. Odaberite svoju platformu u nastavku; većina traje otprilike deset minuta.
Banner i UI oznake koje vaši posjetitelji vide na stranici.
ai-disclosure.json, javna datoteka čitljiva s vaše vlastite domene.
alat za provjeru prikaže Razina 2 · Prikazano.
Odaberite svoju platformu
WordPress
Instalirajte dodatak
U administraciji WordPressa: Dodaci → Dodaj novi → Prenesi dodatak, odaberite datoteku koju ste preuzeli u nastavku, zatim kliknite Aktiviraj.
Neka obavi oba posla
Dodatak prikazuje obavijesti i automatski objavljuje vašu datoteku deklaracije. Označite UI sadržaj na bilo kojoj objavi ili slici pomoću preklopnika „UI sadržaj”. Bez izmjena koda.
-
Provjera
Gotovo kada alat za provjeru prikaže Razina 2 · Prikazano.
Pokrenite provjeru
Shopify
Dodajte isječak
Online Store → Themes → ⋯ → Edit code → theme.liquid: zalijepite ovu jednu oznaku neposredno prije </body>. theme.liquid je predložak kroz koji se prikazuje svaka stranica, pa jedno lijepljenje pokriva cijelu trgovinu. Shopify ne može hostirati datoteke u korijenu vaše domene, pa oznaka nosi vaš AIDisclose ključ stranice (data-aidisclose) i učitava manifest koji hostiramo za vas.
theme.liquid <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Povežite svoju deklaraciju
Zalijepite ovu poveznicu unutar <head> u istoj datoteci. Vaša nadzorna ploča prikazuje oba retka unaprijed ispunjena vašim ključem stranice.
<head> <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Ovo je dopuštena metoda prema specifikaciji.
-
Provjera
Gotovo kada alat za provjeru prikaže Razina 1 · Deklarirano s napomenom. To je očekivani rezultat na ovoj platformi i usklađen je.
Pokrenite provjeru
Webflow
Dodajte isječak
Site settings → Custom code → Footer code: zalijepite blok isječka u nastavku, zatim Publish. Prilagođeni kod na razini stranice učitava se na svakoj stranici.
Footer code <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Povežite svoju deklaraciju
U Head code dodajte redak poveznice deklaracije (drugi blok u nastavku). Radije poslužujete datoteku s vlastite domene? Upotrijebite proxy pod Napredno ako vaš DNS prolazi kroz Cloudflare.
Head code <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Ovo je dopuštena metoda prema specifikaciji.
-
Provjera
Gotovo kada alat za provjeru prikaže Razina 1 · Deklarirano s napomenom. To je očekivani rezultat na ovoj platformi i usklađen je.
Pokrenite provjeru
Squarespace
Dodajte isječak
Settings → Advanced → Code Injection → Footer: zalijepite blok isječka u nastavku. Umetanje koda primjenjuje se na svaku stranicu. Potreban je plan Business.
Footer <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Povežite svoju deklaraciju
U Header injection dodajte redak poveznice deklaracije (drugi blok u nastavku).
Header <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Ovo je dopuštena metoda prema specifikaciji.
-
Provjera
Gotovo kada alat za provjeru prikaže Razina 1 · Deklarirano s napomenom. To je očekivani rezultat na ovoj platformi i usklađen je.
Pokrenite provjeru
Google Tag Manager
Izradite oznaku
New tag → Tag configuration → Custom HTML → zalijepite isječak. Okidač: All Pages (Page View). Ne koristite odgođeni okidač ni okidač na pomicanje: pravila objave zahtijevaju obavijest od prve izloženosti. Objavite radni prostor.
Custom HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Objavite i svoju deklaraciju
Tag Manager upravlja samo obavijestima. Vaša datoteka deklaracije i dalje mora postati aktivna: slijedite korak za svoju platformu u ostalim karticama ili karticu Prilagođeni kod ako vodite vlastitu stranicu.
-
Provjera
Gotovo kada alat za provjeru prikaže Razina 2 · Prikazano.
Pokrenite provjeru
Prilagođeni kod
Dodajte isječak
Jednom u predložak ili raspored svoje stranice, prije </body>, tako da se isporučuje sa svakom stranicom. Očvršćivanje za produkciju (pričvršćivanje verzije, SRI) nalazi se pod Napredno.
HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Poslužite datoteku deklaracije
ai-disclosure.json mora biti čitljiv na /.well-known/ na vašoj domeni. Na platformama Vercel ili Netlify predajte datoteku u repozitorij. Ako vaš okvir preusmjerava svaku rutu na index.html, toj datoteci potreban je izuzetak: pogledajte Jednostranične aplikacije u odjeljku Napredno. Konfiguracije za nginx i Apache također se nalaze u odjeljku Napredno.
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).-
Provjera
Gotovo kada alat za provjeru prikaže Razina 2 · Prikazano.
Pokrenite provjeru
Provjera
Pokrenite alat za provjeru. Potvrđuje tri stvari: da je vaša datoteka deklaracije valjana, da isječak radi i da se obavijesti doista pojavljuju na stranici. (Za inženjere: provjere C1, C3 te C4 do C6.)
Ako vaša stranica blokira naš alat za provjeru (AIDiscloseBot)
Skeniranja i snimanja dokaza dolaze s AIDiscloseBot/1.0. Čita samo javne stranice: nikad se ne prijavljuje, nikad ne šalje obrasce i poštuje robots.txt. Ako vaš robots.txt ili zaštita od botova blokira nepoznate alate za pretraživanje, dopustite ga izričito:
User-agent: AIDiscloseBot
Allow: /
Je li dopuštanje rizik? Ne. Dopuštenje u robots.txt ne daje nikakav pristup. Samo pristojnim botovima govori da smiju čitati stranice koje su već javne. Svatko može lažirati niz User-Agent, ali lažni korisnik ne dobiva ništa što mu vaše javne stranice već ne daju.
Ako promet kontrolirate putem WAF-a ili upravitelja botova, nikad ne dopuštajte samo na temelju User-Agenta. Uparite to s provjerom izvora. Objavljujemo identitet našeg alata za pretraživanje i raspone izlaznih IP adresa kako se dodjeljuju, na aidisclose.io/bot.json.
Napredno
Theming with CSS variables, custom copy, single-page-app setup, and the full option reference are in the snippet reference.
Zaključajte skriptu na točnu verziju (SRI)
Hash integriteta u skriptnoj oznaci navodi preglednik da odbije pokrenuti izmijenjenu datoteku. Pričvrstite URL s verzijom i generirajte hash iz točne datoteke koju postavljate:
curl -sO https://cdn.aidisclose.io/v1/aidisclose.js
openssl dgst -sha384 -binary aidisclose.js | openssl base64 -A
Poslužite datoteku sami (nginx / Apache)
Za poslužitelje koje kontrolirate, poslužite preuzeti ai-disclosure.json izravno:
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>
Poslužite datoteku hostiranu u nadzornoj ploči s vlastite domene
Vaš poslužitelj prosljeđuje zahtjeve za tu jednu adresu nama: vi uređujete datoteku u nadzornoj ploči, a ona se i dalje poslužuje s vaše domene. Nadzorna ploča prikazuje ovo unaprijed ispunjeno vašim ključem stranice.
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);
}
};
Jednostranične aplikacije i statični poslužitelji
Okviri koji preusmjeravaju svaku rutu na index.html, kao i neki statični poslužitelji, presreću /.well-known/ai-disclosure.json i vraćaju HTML vaše aplikacije sa statusom 200. Datoteka izgleda kao da je predana, ali alat za provjeru čita HTML umjesto manifesta. Dva rješenja: isključite /.well-known/ iz sveobuhvatnog preusmjeravanja kako bi se statična datoteka posluživala s tipom application/json, ili dodajte data-aidisclose="YOUR_SITE_KEY" u oznaku skripte da bi se učitao manifest koji hostira AIDisclose i potpuno preskočilo posluživanje datoteke.
# 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" }
] }