Paigaldusjuhend
Su lehel peavad olema töös kaks asja: teatis, mida su külastajad näevad, ja väike avalik fail, mis deklareerib su tehisintellekti kasutuse (sinuleht.ee/.well-known/ai-disclosure.json). Skriptisilt kleebitakse ühe korra, on igal lehel ühesugune ja su deklaratsioon otsustab, millised teatised kus ilmuvad. Vali allpool oma platvorm; enamik võtab umbes kümme minutit.
Bänner ja tehisintellekti märgised, mida su külastajad lehel näevad.
ai-disclosure.json, avalik fail, mis on loetav sinu enda domeenilt.
kontrollija näitab taset Tase 2 · Kuvatud.
Vali oma platvorm
WordPress
Paigalda plugin
Oma WordPressi administraatoris: Pluginad → Lisa uus → Laadi plugin üles, vali allpool alla laaditud fail ja klõpsa Aktiveeri.
Lase tal mõlemad tööd ära teha
Plugin näitab teatisi ja avaldab su deklaratsioonifaili automaatselt. Märgi tehisintellekti sisu igal postitusel või pildil selle „Tehisintellekti sisu” lülitiga. Koodimuudatusi pole vaja.
-
Kontrolli
Valmis, kui kontrollija näitab taset Tase 2 · Kuvatud.
Käivita kontrollija
Shopify
Lisa skript
Online Store → Themes → ⋯ → Edit code → theme.liquid: kleebi see üks silt vahetult enne </body>. theme.liquid on paigutus, mille kaudu kuvatakse iga leht, seega üks kleepimine katab kogu poe. Shopify ei saa faile su domeeni juurkaustas majutada, seega kannab silt su AIDisclose'i lehe võtit (data-aidisclose) ja laadib manifesti, mida me sinu jaoks majutame.
theme.liquid <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Lingi oma deklaratsioon
Kleebi see link samas failis <head> sisse. Su töölaud näitab mõlemat rida su lehe võtmega eeltäidetuna.
<head> <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">See on spetsifikatsiooni kohaselt lubatud meetod.
-
Kontrolli
Valmis, kui kontrollija näitab taset Tase 1 · Deklareeritud koos märkusega. See on sellel platvormil oodatav tulemus ja on nõuetele vastav.
Käivita kontrollija
Webflow
Lisa skript
Site settings → Custom code → Footer code: kleebi allolev skriptiplokk ja seejärel Publish. Lehetasandi kohandatud kood laaditakse igal lehel.
Footer code <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Lingi oma deklaratsioon
Lisa Head code'i deklaratsiooni lingirida (allpool teine plokk). Eelistad faili serveerida oma domeenilt? Kasuta Advanced-jaotises olevat proksit, kui su DNS töötab läbi Cloudflare'i.
Head code <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">See on spetsifikatsiooni kohaselt lubatud meetod.
-
Kontrolli
Valmis, kui kontrollija näitab taset Tase 1 · Deklareeritud koos märkusega. See on sellel platvormil oodatav tulemus ja on nõuetele vastav.
Käivita kontrollija
Squarespace
Lisa skript
Settings → Advanced → Code Injection → Footer: kleebi allolev skriptiplokk. Koodisisestus rakendub igal lehel. See vajab Business-paketti.
Footer <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Lingi oma deklaratsioon
Lisa Header injection'isse deklaratsiooni lingirida (allpool teine plokk).
Header <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">See on spetsifikatsiooni kohaselt lubatud meetod.
-
Kontrolli
Valmis, kui kontrollija näitab taset Tase 1 · Deklareeritud koos märkusega. See on sellel platvormil oodatav tulemus ja on nõuetele vastav.
Käivita kontrollija
Google Tag Manager
Loo silt
New tag → Tag configuration → Custom HTML → kleebi skript. Käivitamine: All Pages (Page View). Ära kasuta viivitusega ega kerimispõhist käivitajat: avalikustusreeglid nõuavad teatist alates esimesest kokkupuutest. Avalda tööruum.
Custom HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Avalda ka oma deklaratsioon
Tag Manager haldab ainult teatisi. Su deklaratsioonifail peab siiski tööle minema: järgi oma platvormi sammu teistes vahekaartides või Custom code'i vahekaarti, kui haldad oma lehte ise.
-
Kontrolli
Valmis, kui kontrollija näitab taset Tase 2 · Kuvatud.
Käivita kontrollija
Kohandatud kood
Lisa skript
Üks kord oma lehe mallis või paigutuses, enne </body>, nii et see tarnitakse igal lehel. Tootmiskeskkonna tugevdamine (versiooni kinnistamine, SRI) on Advanced-jaotises.
HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Serveeri deklaratsioonifail
ai-disclosure.json peab olema loetav aadressil /.well-known/ su domeenil. Vercelis või Netlifys kanna fail sisse. Kui su raamistik kirjutab iga marsruudi ümber failiks index.html, vajab see fail erandit: vaata Ühelehelised rakendused Advanced-jaotisest. nginxi ja Apache'i konfiguratsioonid on samuti Advanced-jaotises.
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).-
Kontrolli
Valmis, kui kontrollija näitab taset Tase 2 · Kuvatud.
Käivita kontrollija
Kontrolli
Käivita kontrollija. See kinnitab kolme asja: su deklaratsioonifail on kehtiv, skript töötab ja teatised tegelikult ilmuvad lehel. (Inseneridele: kontrollid C1, C3 ja C4 kuni C6.)
Kui su leht blokeerib meie kontrollija (AIDiscloseBot)
Skannimised ja tõendite jäädvustused tulevad robotilt AIDiscloseBot/1.0. See loeb ainult avalikke lehti: see ei logi kunagi sisse, ei esita kunagi vorme ja järgib robots.txt-i. Kui su robots.txt või robotikaitse blokeerib tundmatud roomajad, luba see selgesõnaliselt:
User-agent: AIDiscloseBot
Allow: /
Kas selle lubamine on risk? Ei. robots.txt luba ei anna mingit ligipääsu. See üksnes ütleb viisakatele robotitele, et nad võivad lugeda juba avalikke lehti. Igaüks võib User-Agenti stringi võltsida, kuid võltsija ei saa midagi, mida su avalikud lehed niigi ei anna.
Kui filtreerid liiklust WAFi või robotihalduriga, ära kunagi luba juurdepääsu ainult User-Agenti alusel. Ühenda see allika kontrollimisega. Avaldame oma roomaja identiteedi ja väljundi IP-vahemikud nende eraldamisel aadressil aidisclose.io/bot.json.
Täpsemad seaded
Theming with CSS variables, custom copy, single-page-app setup, and the full option reference are in the snippet reference.
Lukusta skript täpsele versioonile (SRI)
Terviklikkuse räsi skriptisildis paneb brauseri keelduma muudetud faili käivitamisest. Kinnista versioonitud URL ja loo räsi täpselt sellest failist, mille juurutad:
curl -sO https://cdn.aidisclose.io/v1/aidisclose.js
openssl dgst -sha384 -binary aidisclose.js | openssl base64 -A
Serveeri fail ise (nginx / Apache)
Serverites, mida kontrollid, serveeri alla laaditud ai-disclosure.json otse:
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>
Serveeri töölaual majutatud faili oma domeenilt
Su server suunab selle ühe aadressi päringud meile: sa muudad faili töölaual ja see serveeritakse ikkagi su domeenilt. Töölaud näitab neid su lehe võtmega eeltäidetuna.
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);
}
};
Ühelehelised rakendused ja staatilised hostid
Raamistikud, mis kirjutavad iga marsruudi ümber failiks index.html, ja mõned staatilised hostid püüavad kinni /.well-known/ai-disclosure.json ja tagastavad su rakenduse HTML-i 200-staatusega. Fail näib olevat sisse kantud, kuid kontrollija loeb manifesti asemel HTML-i. Kaks lahendust: välista /.well-known/ kõikehõlmavast ümberkirjutusest, nii et staatiline fail serveeritakse application/json-tüübiga, või lisa data-aidisclose="YOUR_SITE_KEY" skriptisildile, et laadida AIDisclose'i majutatud manifest ja jätta fail üldse serveerimata.
# 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" }
] }