Brand-tone copy, blog, landningssidor. SEO-optimerat per kluster.
Modul 5 av 16 i kapaciti-modules. Producerar SEO-optimerad copy med signerat audit-bundle som bevisar vilka keywords som riktades in och vilka kallor som anvandes.
En innehallsredaktor eller marknadsansvarig pa ett svenskt B2B-bolag behover producera en serie blogginlagg, landningssidor eller kategori-sidor som rankar pa specifika keyword-kluster. Manuell produktion tar tid och kvalitet driftar mellan skribenter. AI-producerad text utan kontroller riskerar att gora sokmotorn glad men lasaren olust. Den har modulen loser bagge problemen: brand-tonad, SEO-optimerad text producerad pa minuter, med en kryptografisk audit-trail som visar exakt vilket keyword-kluster som riktades in, vilken voice-profil som tillampades och vilka interna lankar som foreslogs.
Konkret anvands modulen i tre scenarier:
Inputen ar ett strukturerat brief-objekt. Alla falt valideras innan modulen anropar Claude. Modulen avvisar invalida brief och gor det utan att forbruka tokens.
Faltet brief_id ar en strang som identifierar uppdraget i ett ar uppat. type ar en av blog, landing, category-page eller faq. primary_keyword ar huvudfrasen som maste finnas i titel, meta, intro och minst en H2. keyword_cluster ar en array med relaterade keywords som vavs in naturligt i texten. search_intent ar en av informational, commercial, transactional eller navigational, och styr hur texten formulerar sin uppdragsbeskrivning. target_word_count ar onskat ordantal mellan 200 och 5000. brand innehaller name, voice_profile_id och domain. audience innehaller persona och expertise_level (beginner, intermediate eller expert). internal_links_available ar en valbar array med URL och anchor-hint som modulen valjer ifran nar den foreslar interna lankar. must_mention och must_avoid ar valbara arrays med specifika ord och fraser som maste forekomma eller maste utelamnas.
Modulen producerar text som foljer en exakt struktur. Strukturen ar parsable, dvs en nedstrooms-process kan extrahera fields utan AI. Outputen innehaller TITEL (50 till 65 tecken, primary keyword), META_DESCRIPTION (140 till 160 tecken), URL_SLUG (kebab-case, max 60 tecken), INTRO (70 till 150 ord), tre H2-sektioner med 200 till 400 ord vardera, FAQ med 3 till 5 fragor som kan konverteras direkt till JSON-LD FAQPage, INTERNA_LANKAR_FORESLAG med 2 till 4 forslag valda fran tillgangliga URL:er, och KEYWORD_DENSITY_NOTERINGAR med en kort kommentar om hur klustret vavts in.
parseSeoOutput() ar exporterad och returnerar en typad struktur som downstream kan anvanda direkt for att rendera till CMS eller skapa schema-markup. Parsen ar tolerant for whitespace-variation men strikt nar det galler section-rubriker.
Varje koring producerar en signerad audit-bundle med sju block i fast ordning. Forsta blocket loggar inputen, andra loggar kontext-laddningen, tredje loggar parametrarna for agent-anropet, fjarde loggar raa outputen, femte loggar voice-validation mot rost-profilen, sjatte loggar struktur-validation, och sjunde forseglar bundlen. Varje block hashas med SHA-256 och linkas till foregaende via prev_hash. Hela kedjan signeras med Ed25519. Verifieringen sker via samma verifyBundle() som anvands i kapaciti-site.
Tamper-tester i tests/seo-content-writer.test.mjs visar att en andring av rad output i block fyra omedelbart bryter kedjans this_hash-kontroll. Detta innebar att om en kund eller granskare ifragasatter AI-textens ursprung kan teamet visa en signerad bundle som garanterar att texten producerats inom modulens policy. Detta ar inte marknadsforing, det ar bevisning.
Modulen anropar injectVoiceIntoPrompt() infor varje agent-anrop. Det innebar att system-prompten kompletteras med ban-listor for ord och tecken, ton-direktiv, och ett exempel pa onskad ton. Default-voice ar kapaciti, men modulen accepterar en voice-override i konstruktorn for att kora pa kundens vagnar. Validering sker mot samma voice-profil efter att modellen svarat, sa banned-words som halkar igenom prompten fangas i voice_validated-blocket.
validateOutput() kor sex kontroller utover voice-checken. Titel-lang langt utanfor 30 till 80 tecken flaggas. Meta-langd utanfor 100 till 200 tecken flaggas. URL-slug som inte ar kebab-case med endast a-z 0-9 och bindestreck flaggas. Intro under 50 tecken flaggas. Saknad eller for kort H2-sektion flaggas. FAQ med farre an 3 eller fler an 5 fragor flaggas. Saknade interna lankar flaggas. Saknade keyword-density-noteringar flaggas. Alla flaggningar landar i audit-bundlen sa downstream kan acceptera, retry:a eller eskalera.
Modulen instansieras utan argument for default-beteende, eller med { voice, model } for overrides. Default-modell ar claude-haiku-4-5 for snabb pilot-produktion. Vid hogvardes-content som flaggships-landningssidor rekommenderas claude-opus-4-7 for djupare narrativ-kvalitet. Voice-override anvands nar modulen kor pa kundens vagnar med en kund-specifik profil.
Den har modulen ar steg fem i en pipeline som borjar med marknads-intelligence (modul 1), keyword-research (modul 2), brief-generering (modul 3) och redaktorell godkannande (modul 4). Outputen fran seo-content-writer matas till publicerings-modulen (modul 6) som hanterar CMS-integration, och till performance-tracker (modul 12) som maler ranking-utfall mot keyword-klustret. Audit-bundle propageras genom hela pipelinen sa att en publicerad sida kan sparas tillbaka till brief, redaktorell godkannande och AI-produktion utan luckor.
Den har versionen producerar svenska blog och landings-text. Den hanterar inte multispraks-output, schema-markup utanfor FAQPage, eller automatisk bild-prompt-generering. V1.1 planerar att lagga till HowTo och Article-schema, bild-prompt for kompletterande hero-bild, och flerspraks-mode for kapaciti-kunder med export till tyska och engelska. Den hanterar inte heller automatisk research mot externa kallor, du maste mata in must_mention med konkreta fakta och sifferreferenser om texten ska bygga E-E-A-T-bevisning.
Justera input-objektet eller använd starter-värdena. När du trycker på Kör modulen anropas samma agent som i produktion. Audit-kedjan byggs framför dig och hela sessionen signeras med Ed25519 i samma format som exempel-bundlen ovan.
JSON-payload som matchar modulens validateInput. Starter-värdena kommer från en riktig produktionskörning. Max 12 000 tecken.
Audit-kedjan visas här när scenariot körs
● Nyhetsbrev
En sammanfattning ungefär en gång i månaden. Vad förändrats i regelverket, vilka pilot-cases vi sett och vilka vendor-shifts som påverkar svenska bolag. Skickas av oss, inte av en automation som låtsas vara oss.