Hvilke Twig-variabler er tilgjengelige i Nonli?

Smart Message-maler skrives i Twig 3. Denne siden viser alle variabler, funksjoner og filtre Nonli støtter i den konteksten, med type, når de kan mangle og et testet eksempel. Hvis du vil lage en mal steg for steg, begynner du med Slik lager du en Smart Message.

1. Hvor denne konteksten gjelder#

Den samme konteksten er tilgjengelig to steder:

  • Smart Message-maler, brukt av roboter, av lyspæreknappen i innleggseditoren og av knappen for første kommentar. De kan fylle ut meldingen, tittelen, beskrivelsen, kommentaren, videotittelen, alternativteksten og TikTok-ankertittelen.
  • Dynamiske verdier i Smart Image, når en tekst eller farge i Smart Image bruker en Smart Message-mal som kilde. I så fall er variabelen context lik 'smart_image'. Se Slik bruker du dynamiske farger i Smart Image.

Dynamiske URL-parametere og den dynamiske betalingsmuren bruker også Twig, men med en mye mindre kontekst: et begrenset post (source, social_account, post_type, author, user_id, breaking_news, short_id), referer, funksjonen isComment() samt tellere og persentiler. organic, aliasene på toppnivå og Smart Message-funksjonene nedenfor finnes ikke der.

2. Regler for navn og typer#

  • Foretrekk fullstendige baner. Skriv organic.title eller post.social_account.type i stedet for et alias på toppnivå. Aliasene støttes fortsatt for eksisterende maler.
  • Navn skrives i snake_case og følger de lagrede feltnavnene: canonical_url, published_at, open_graph.
  • Skill mellom entall og flertall. Banene er organic.category, organic.tag, organic.author; aliasene er tags og authors. Et feil navn som categories, organic.categories, tag eller author gir ingen feil: det gir en tom verdi.
  • Typer. En streng er tekst. En liste er en rekke verdier: test den med in, les den med |first eller |join(', '), og skriv den aldri ut direkte. Et objekt grupperer andre baner. Tall, boolske verdier og datoer kommer i tillegg. Datoer er ISO 8601-strenger i UTC, for eksempel 2026-10-18T07:30:00.000Z; formater dem med |date.
  • Fravær. En verdi finnes bare når kilden oppgir den. Det avhenger av opprinnelsen til innlegget (artikkel, manuelt innlegg, innlegg uten lenke), det sosiale nettverket, innleggstype og metadataene skraperen fant på siden. En manglende organic-bane gir en tom verdi; en tom liste behandles som manglende.

Bruk ?? for å erstatte en manglende eller null-verdi, og ?: eller |default() for å erstatte også en tom streng:

UttrykkVerdi manglerVerdi ''Verdi 'A'
{{ x ?? 'B' }}B(tom)A
{{ x ?: 'B' }}BBA
{{ x|default('B') }}BBA

Etter et filter bruker du ?: eller |default(), aldri ??: {{ x|upper ?? 'B' }} er en syntaksfeil, og malen avvises når du lagrer den.

3. Variabler på toppnivå#

Disse variablene er alltid definert i en Smart Message.

BaneTypeTilgjengelighetBeskrivelseEksempel
social_networkstrengAlltidNettverket til målkontoen; facebook når det er ukjent.instagram
post_typestrengAlltidInnleggstype; link når den er ukjent.photo
empty_messagestrengAlltidEn tom streng, for å bevisst returnere ingenting.''
shortlink_prefixstrengAlltidMerkevarens tekst som plasseres foran en kort lenke.➡️
postobjektAlltidInnlegget som opprettes eller redigeres (se post.*).
organicobjektAlltidKildeartikkelen (se organic.*); en tom liste [] når innlegget ikke har noen artikkel.
contextstrengAlltidFeltet som genereres: message, title, description, comment, videoTitle, altText, tikTokAnchorTitle, eller smart_image når Smart Image rendrer malen.message

3.1. Eldre alias#

Når innlegget kommer fra en artikkel, kopierer Nonli også noen artikkelfelt til toppnivået. Disse aliasene er definert (muligens null) så snart det finnes en artikkel, og udefinert når innlegget ikke har noen. Hvert av dem har en foretrukket fullstendig bane.

AliasForetrukket fullstendig baneTypeInnhold
titleorganic.titlestrengArtikkeltittel valgt av Nonli
descriptionorganic.descriptionstrengArtikkelbeskrivelse valgt av Nonli
title1organic.html.h1strengFørste H1-overskrift på siden
title2organic.html.h2strengFørste H2-overskrift på siden
head_titleorganic.head.titlestrengHTML-koden title, ofte en lengre SEO-tittel
meta_descriptionorganic.meta.descriptionstrengSidens opprinnelige metabeskrivelse
og_titleorganic.meta.open_graph.titlestrengOpen Graph-tittel
og_descriptionorganic.meta.open_graph.descriptionstrengOpen Graph-beskrivelse
twitter_titleorganic.meta.twitter.titlestrengTwitter Card-tittel
twitter_descriptionorganic.meta.twitter.descriptionstrengTwitter Card-beskrivelse
meta_custom_facebook, meta_custom_twitter, meta_custom_instagram, meta_custom_linkedin, meta_custom_tiktok, meta_custom_pinterestorganic.meta.custom.facebook (og så videre)strengEgendefinerte metadata per nettverk, hentet ut av en nettstedspesifikk regel
meta_custom_publisherorganic.meta.custom.publisherstrengEgendefinert utgiverfelt hentet ut av en nettstedspesifikk regel, for eksempel første avsnitt i brødteksten
meta_custom_rss_titleorganic.meta.custom.rss.titlestrengTittel fra RSS-elementet
meta_custom_rss_descriptionorganic.meta.custom.rss.descriptionstrengBeskrivelse fra RSS-elementet
authorsorganic.authorlisteArtikkelens forfattere
tagsorganic.taglisteArtikkelens emneord

I en ekte artikkel har title og title1 ofte samme overskrift, head_title inneholder den lengre SEO-tittelen, og meta_description begynner ofte med ingressen. Hvilken som helst av dem kan være tom, så planlegg alltid en reserveløsning.

Valgene «Meta custom …» i editoren og robotkildene tilsvarer disse meta_custom_*-aliasene. De fylles bare ut på nettsteder der Nonli har konfigurert en egen uthentingsregel. En artikkel fra et nettsted utenfor selskapet ditt viser bare de offentlige feltene sine, så organic.counter.view mangler for den.

4. [object Object],: kildeartikkelen#

organic finnes når innlegget kommer fra en artikkel (robot, URL limt inn i editoren, SDK, RSS). Et manuelt innlegg eller et innlegg uten lenke har ingen artikkel: organic er da en tom liste, og hver organic.*-bane er tom.

BaneTypeTilgjengelighetBeskrivelseEksempel
organic.urlstrengHver artikkelArtikkelens URLhttps://www.example.com/politics/budget
organic.canonical_urlstrengNår deklarertKanonisk URLhttps://www.example.com/politics/budget
organic.typestrengHver artikkelInnholdstype som er oppdagetarticle
organic.languagestrengNår oppdagetSpråkkodefr
organic.titlestrengDe fleste artiklerTittel valgt av NonliBudget 2027: what changes
organic.descriptionstrengNår funnetBeskrivelse valgt av NonliThe government presents its budget.
organic.html.h1 / organic.html.h2strengNår til stedeFørste H1- / H2-overskriftKey measures
organic.head.titlestrengNår til stedeHTML-koden titleBudget 2027 - Example News
organic.meta.descriptionstrengNår til stedeOpprinnelig metabeskrivelseThe government presents its budget.
organic.meta.open_graph.title / .descriptionstrengNår til stedeOpen Graph-tittel / -beskrivelseBudget 2027
organic.meta.open_graph.article.sectionstrengNår til stedeOpen Graph article:sectionPolitics
organic.meta.twitter.title / .descriptionstrengNår til stedeTwitter Card-tittel / -beskrivelseBudget 2027
organic.meta.custom.*strengNettstedspesifikk regelEgendefinerte felt som er oppført i aliastabellen
organic.categorylisteNår funnetNormaliserte kategorier, inkludert JSON-LD articleSection['politics', 'economy']
organic.taglisteNår funnetArtikkelens emneord['budget', 'taxes']
organic.authorlisteNår funnetArtikkelens forfattere['Camille Martin']
organic.imagelisteNår funnetBilde-URL-er funnet på siden['https://…/budget.jpg']
organic.image_altstrengNår funnetAlternativtekst til hovedbildetThe National Assembly chamber
organic.published_atdatoNår funnetPubliseringsdato (UTC)2026-10-18T07:30:00.000Z
organic.modified_atdatoNår funnetDato for siste endring (UTC)2026-10-18T09:00:00.000Z
organic.counter.viewtallSe tellereArtikkelvisninger målt av Nonli1520

4.1. Kategorier og ,[object Object]#

Nonli lagrer JSON-LD-verdien articleSection, og de andre kategorisignalene på siden, i organic.category. Det er en liste, ikke en tekst, og det finnes ingen variabel categories. Verdiene er normalisert: små bokstaver, aksenter fjernet, skilletegn gjort om til mellomrom. For eksempel blir Politique & Société, Économie og Sports > Rugby til politique societe, economie og sports rugby. Sammenlign alltid med verdier du faktisk har sett på dine egne artikler.

twig
1{%- set categories = organic.category ?? [] -%}
2{%- if 'politique' in categories -%}
3Politics
4{%- endif -%}

Første kategori, eller ingenting: {{ organic.category|default([])|first|default('') }}

Alle kategorier: {{ organic.category|default([])|join(', ') }}

Den rå Open Graph-seksjonen, uten normalisering, er fortsatt tilgjengelig som {{ organic.meta.open_graph.article.section ?? '' }}.

5. [object Object],: innlegget#

post beskriver innlegget som opprettes eller redigeres. Feltene fylles ut gradvis: et felt som genereres, er fortsatt tomt mens sin egen mal rendres.

BaneTypeTilgjengelighetBeskrivelseEksempel
post.post_typestrengAlltidInnleggstypelink
post.messagestrengNår skrevetGjeldende meldingThree ways to save energy.
post.titlestrengNår skrevetGjeldende tittelBudget 2027
post.descriptionstrengNår skrevetGjeldende beskrivelseWhat changes for households.
post.authorstrengNår kjentForfatteren av innleggets innhold (én tekst, ikke en liste)Camille Martin
post.taglisteNår kjentInnleggets emneord['budget']
post.languagestrengNår kjentSpråkkodefr
post.target_urlstrengLenkeinnleggMål-URLhttps://www.example.com/politics/budget
post.short_idstrengEtter forkortingIdentifikator for den korte lenkenaB3xY
post.social_account.typestrengAlltidMålnettverklinkedin
post.social_account.namestrengAlltidKontonavnExample News
post.social_account.slugstrengAlltidKontoens slugexample-news
post.social_account.external_idstrengAlltidKontoens identifikator i nettverket1000000001
post.source.typestrengNår kjentOpprinnelsen til innlegget (robot, manuell og så videre)bot
post.source.bot_titlestrengRobotinnleggNavnet på roboten som opprettet innleggetPolitics bot
post.source.organic_urlstrengArtikkelinnleggURL til kildeartikkelenhttps://www.example.com/politics/budget
post.breaking_news.activeboolskAlltidModus for siste nyttfalse
post.schedule.start_datedatoPlanlagte innleggPlanlagt publiseringsdato (UTC)2026-10-19T06:00:00.000Z
post.published_atdatoEtter publiseringPubliseringsdato (UTC)2026-10-19T06:00:04.000Z
post.comment.messagestrengNår skrevetTeksten i den første kommentarenRead more: [SHORTLINK]
post.counter.*tallSe tellereInnleggets resultater42

Interne identifikatorer og tekniske felt (bruker-, selskaps- og merkevare-ID-er, e-postadresse til kontoen, webhook-URL, statuser, feilspor, rå tellere) er bevisst utelatt: de er ikke et stabilt offentlig grensesnitt og må ikke vises i publisert tekst. post.user_id er bare dokumentert for URL-parametere.

6. Tellere og persentiler#

En teller lastes bare når malen navngir den eksplisitt, for eksempel post.counter.click. Den mangler når måltallet ikke finnes ennå, noe som alltid er tilfellet for et innlegg som ikke er publisert. Skriv alltid en reserveverdi: {{ post.counter.click ?? 0 }}.

BaneTypeBeskrivelse
post.counter.clicktallKlikk
post.counter.engagementtallEngasjement
post.counter.reachtallRekkevidde
post.counter.videoViewstallVideovisninger
post.counter.ctrtallKlikkrate
post.counter.overperformingtallPoengsum for overprestasjon
post.counter.monetizationtallInntekter fra inntektsgenerering av innhold
organic.counter.viewtallArtikkelvisninger (bare når innlegget har en artikkel)

En persentilvariabel sammenligner et innlegg med innleggene som samme konto har publisert over en periode, med siste nytt utelatt. Navnet er percentile + persentil (1 eller 2 sifre) + måltall + varighet (1 eller 2 sifre) + enhet:

  • måltall: Click, Engagement, Reach, VideoViews, Ctr, Overperforming, Monetization;
  • enheter: h time, d dag, w uke, m måned, y år.

percentile50Click1d er medianen av klikk over 1 dag; percentile90Engagement7d er den 90. persentilen av engasjement over 7 dager. Verdien er null uten data og hurtiglagres i 30 minutter.

twig
1{%- if (post.counter.engagement ?? 0) > (percentile50Engagement7d ?? 0) -%}TOP{%- else -%}NORMAL{%- endif -%}

7. Funksjoner#

FunksjonReturnererBeskrivelse
hasLink()boolsktrue når innlegget har en lenke. Sjekk den før du skriver [SHORTLINK].
hasFirstCommentShortlink()boolsktrue når den første kommentaren allerede inneholder [SHORTLINK].
canPublishPostWithoutSpam()boolsktrue når kontoens regler mot spam tillater et nytt lenkeinnlegg nå.
canPublishCommentWithoutSpam()boolskSamme kontroll for en kommentar som inneholder en lenke.
shouldAddComment(metric)boolskBruker den konfigurerte regelen for utvalg av kommentarer; det valgfrie måltallet angir hvilken teller som brukes. Resultatet kan variere.
aiGenerated(source, min, target, max, ending, justCrop)strengOppsummerer source, eller beskjærer den ved en ordgrense når justCrop er true.
gpt(prompt, model), claude(…), gemini(…), mistral(…)strengGenererer tekst med merkevarens legitimasjon hos leverandøren. Se Bruk AI-funksjonene for å generere meldinger.
airtable(…)strengLeser en verdi fra en tilkoblet Airtable-base. Den returnerer bare tekst.

aiGenerated() løser bare opp navn på toppnivå som er oppgitt som tekst. Send 'description' eller selve verdien (organic.title), aldri teksten 'organic.title', som returneres bokstavelig. Et navn som ikke finnes, returneres også bokstavelig: i et innlegg uten artikkel returnerer aiGenerated('description', …) ordet description. Beskytt den med en betingelse:

twig
1{%- if organic -%}
2{{- aiGenerated('description', null, null, 40, '…', true) -}}
3{%- endif -%}

8. Filtre#

Standard Twig-filtre og -operatorer (default, first, join, length, trim, replace, date, map, in, ??, ?:, ~) er dokumentert i Twig-dokumentasjonen. Nonli legger til eller erstatter følgende filtre. Alle resultatene nedenfor kommer fra Nonlis renderer.

FilterEffektEksempelResultat
upperStore bokstaver, aksenter beholdes'élan VITAL'|upperÉLAN VITAL
lowerSmå bokstaver'élan VITAL'|lowerélan vital
capitalizeFørste bokstav med stor bokstav, resten uendret'élan VITAL'|capitalizeÉlan VITAL
slugifyURL-slug'Budget 2027 : ménages'|slugifybudget-2027-menages
camelOrd slått sammen, hvert med stor forbokstav'budget des ménages'|camelBudgetDesMénages
cleanSlår sammen og trimmer mellomrom, og fjerner mellomrommene rundt en bindestrek' Paris - Lyon '|cleanParis-Lyon
ucPhraseStor forbokstav i hvert ord, korte ord beholdes med små bokstaver'le budget des ménages'|ucPhraseLe Budget des Ménages
encodeURL-koder, men beholder reserverte tegn som &, =, /, ?, #'a b&c'|encodea+b&c
extractMatch(regex)Første fangstgruppe, eller null'Price: 10 €'|extractMatch('/([[:digit:]]+)/u')10
pregReplace(regex, replacement)Erstatning med regulært uttrykk'Budget 2027'|pregReplace('/[[:digit:]]+/', 'N')Budget N
cleanTextTypografisk opprydding: trimmer og legger til franske harde mellomrom'Lire aussi : le budget. '|cleanTextLire aussi : le budget. (hardt mellomrom før kolonet)

Regler som unngår renderingsfeil:

  • extractMatch og pregReplace feiler når verdien er null. Legg til |default('') foran dem: {{ meta_custom_publisher|default('')|extractMatch('/^(.+?[.!?…])(?=[[:space:]]|$)/u') }}.
  • encode beskytter ikke &, = eller #: ikke bruk det til å bygge en parameter fra en verdi som kan inneholde dem.
  • Foretrekk POSIX-klasser som [[:digit:]], [[:space:]] og [[:alpha:]] framfor sekvenser med omvendt skråstrek: de overlever kopiering og liming. Kopier maler fra en kodeblokk, aldri fra en rendret chat- eller e-postlinje, som kan miste omvendte skråstreker.

9. Testede oppskrifter#

Hver oppskrift nedenfor ble rendret med Nonlis Twig-motor på komplette, delvise og tomme artikkeldata.

Overskrift (H1 eller tittel) etterfulgt av metabeskrivelsen, med en kort lenke bare der den trengs. I et Facebook-lenkeinnlegg returnerer den overskriften og beskrivelsen; i et Facebook-bilde legger den til ➡️ [SHORTLINK]; på Instagram legger den aldri til en lenke; uten artikkel returnerer den en tom tekst.

twig
1{%- set titre = title1 ?: title -%}
2{%- set desc = meta_description ?: description -%}
3{{- titre -}}
4{%- if desc -%}{{- '\n\n' ~ desc -}}{%- endif -%}
5{%- if post_type != 'link' and social_network not in ['instagram', 'tiktok', 'pinterest'] and not hasFirstCommentShortlink() and hasLink() -%}
6{{- '\n\n' ~ shortlink_prefix -}}[SHORTLINK]
7{%- endif -%}

Første setning i beskrivelsen, deretter beskrivelsen, deretter tittelen.

twig
1{%- set source = meta_description ?: description ?: '' -%}
2{{- source|extractMatch('/^(.+?[.!?…])(?=[[:space:]]|$)/u') ?: source ?: title -}}

Første setning i det egendefinerte utgiverfeltet, med alternativteksten til bildet som reserve, deretter tittelen.

twig
1{{- meta_custom_publisher|default('')|extractMatch('/^(.+?[.!?…])(?=[[:space:]]|$)/u') ?: organic.image_alt|default('') ?: title -}}

Tekst etter nettverk og innleggstype.

twig
1{%- if social_network == 'instagram' -%}
2{{- title -}}
3{%- elseif post_type == 'link' -%}
4{{- description ?: title -}}
5{%- else -%}
6{{- title -}}
7{%- endif -%}

Farge i Smart Image etter kategori. Returnerer #E50032 for politikk, #16A34A for sport og #6F819D ellers.

twig
1{%- set categories = organic.category ?? [] -%}
2{%- if 'politique' in categories -%}#E50032
3{%- elseif 'sport' in categories -%}#16A34A
4{%- else -%}#6F819D
5{%- endif -%}

Sporingsverdier fra målkontoen.

twig
1utm_source={{ post.social_account.type|default('social') }}&utm_campaign={{ post.social_account.slug|default('')|encode }}

Publiseringsdato i redaksjonens tidssone. 2026-10-18T07:30:00.000Z blir 18/10/2026 09:30. Uten publiseringsdato ville date skrevet ut dagens dato, så betingelsen lar teksten være tom i stedet.

twig
1{%- if organic.published_at|default(null) -%}
2{{- organic.published_at|date('d/m/Y H:i', 'Europe/Paris') -}}
3{%- endif -%}

Emneknagger fra emneord. ['budget', 'impots'] blir #Budget #Impots.

twig
1{{ tags|default([])|map(t => '#' ~ t|camel)|join(' ') }}

Hold korte ord og tall sammen med neste ord (for titler i Smart Image, som aldri bryter en linje ved et hardt mellomrom). La finale se jouera à guichets fermés holder La, se og à festet til det følgende ordet, og 16 septembre eller 3 000 euros blir stående sammen. Endringen gjelder bare nylig genererte bilder.

twig
1{%- set titre = organic.title ?? title -%}
2{{- titre|pregReplace("/(?<=^|[[:space:]])([[:alpha:]]{1,2}|[[:digit:]]+)[[:space:]]+/u", "$1\xC2\xA0") -}}

Twig gjør \xC2\xA0 om til et hardt mellomrom; $1 beholder det korte ordet eller tallet som ble funnet.

10. Automatiske smarte felt og smarte felt ved klikk#

Hver merkevare har to innstillinger: Automatic configuration of smart fields og Smart field configuration at the click of the button. Knappen i editoren bruker konfigurasjonen ved klikk, og faller tilbake på den automatiske bare når det ikke finnes noen konfigurasjon ved klikk. Et felt som er satt til den offentlige malen Empty, tømmes når du klikker på knappen, fordi editoren skriver den genererte verdien tilbake i feltet.

Roboter bruker ikke disse innstillingene for merkevaren. Hver robot har sine egne kilder, for eksempel Message's source og Description's source, som peker på en innebygd verdi (Title, Description og så videre) eller på en Smart Message-mal.

11. Feilsøking#

11.1. Roboten min kontrollerer kilden sin, men oppretter ikke noe innlegg#

En aktiv robot kan finne artikkelen og likevel ikke opprette noe innlegg når Smart Message-malen gir en tom melding. Det skjer for eksempel når malen leser et valgfritt felt som meta_custom_publisher, og artikkelen ikke har det. Nonli filtrerer da bort kandidaten før publisering: en melding som er tom, eller som er fem tegn eller færre etter at den korte lenken er fjernet, forkastes, og det samme gjelder et lenkeinnlegg med tom tittel. Kontrollen av tom melding gjelder ikke roboter satt til No message eller Pinterest; kontrollen av tom tittel gjelder alle roboter.

Dette er noe annet enn et innlegg som ble opprettet og deretter feilet i nettverket: et slikt innlegg er synlig i Posts-menyen med en feilstatus. Se Hvorfor publiserte ikke roboten min denne artikkelen? for å finne ut hvilket trinn det gjelder først.

  1. Sammenlign. Identifiser nøyaktig hvilken robot det gjelder. Sammenlign noen meldinger den har generert uten problemer tidligere med metadataene til de tilsvarende artiklene, og sjekk hva som er endret i konfigurasjonen. Et malnavn eller den gjeldende HTML-koden på siden alene beviser ikke hva som fungerte før. Render den gjeldende malen på en representativ artikkel som kvalifiserer, og sjekk om variabelen mangler eller er til stede, men tom.

  2. Rett opp. Foretrekk å gjenopprette den forrige meldingskilden når den ga ønsket ordlyd, eller legg til en reserveløsning som passer til variabeltypen:

    twig
    1{{- meta_custom_publisher ?: title -}}

    Hvis artikkeltittelen passer til ønsket ordlyd, åpner du roboten, setter Message's source til Title og klikker deretter på Save. Dette endrer den genererte teksten.

    Nonli-grensesnittet som viser robotinnstillingene med Message's source satt til Title, ved siden av knappene Cancel og Save

    Utsnitt av robotinnstillingene: Message's source satt til Title, før du klikker på Save.

  3. Omfang. Når du endrer robotens kilde, påvirker det bare robotens fremtidige innlegg. Når du redigerer en delt Smart Message-mal, påvirker det alle roboter og felt som bruker den. Eksisterende innlegg skrives aldri om.

  4. Kontroller. Vent til neste vanlige kontroll og se på artikler som fortsatt kvalifiserer. Eldre artikler hentes ikke inn automatisk, og et manuelt innlegg beviser ikke at roboten har kommet seg.

11.2. Overtittel, ingress og første setning er ulike verdier#

En kort redaksjonell overtittel (noen ganger kalt kicker), hele ingressen og den første setningen i en tekst er tre ulike ting. Nonli har ingen egen variabel for den korte overtittelen: en nettstedspesifikk regel kan lagre den i et meta_custom_*-felt, og noen artikler har med rette ingen. Ikke erstatt en manglende overtittel med hele ingressen. Vis overtittelen bare når den finnes:

twig
1{%- set marker = meta_custom_instagram|default('')|trim -%}
2{%- if marker -%}{{- marker ~ ' | ' -}}{%- endif -%}
3{{- title -}}

Med en overtittel blir resultatet EXCLUSIVE | Budget 2027: what changes; uten en blir det bare tittelen. Her er meta_custom_instagram bare et eksempel: bruk feltet som nettstedsregelen din faktisk fyller ut.

meta_description (opprinnelig metabeskrivelse), meta_custom_publisher (egendefinert felt) og description (beskrivelse valgt av Nonli) er separate inndata. En mal som leser én av dem, påvirkes ikke når en annen rettes. Når du oppdaterer et innhentet felt, endrer det ikke den valgte robotkilden, teksten i Smart Image eller innlegg som allerede er generert.

11.3. Fullstendig innhentet beskrivelse eller åpningssetning i ingressen#

Fire verdier forveksles ofte når en robot setter sammen meldingen sin:

  • Innhentet beskrivelse (description, organic.description): artikkelbeskrivelsen som Nonli har innhentet, brukt som den er, ikke delt opp i setninger. Nonli henter den først fra artikkelens strukturerte data, ellers fra Open Graph, deretter Twitter Card, deretter den opprinnelige metabeskrivelsen. Når den kommer fra disse kodene, beholder den grensen deres på 500 tegn. Beskrivelsen i RSS-elementet (meta_custom_rss_description) brukes aldri som innhentet beskrivelse.
  • Opprinnelige metadata (meta_description, og_description, twitter_description): beskrivelsene som er deklarert i metakodene på siden. Nonli kutter hver av dem ved 500 tegn når den innhenter dem. Denne grensen gjelder bare disse tre feltene: en innhentet beskrivelse hentet fra strukturerte data kuttes ikke.
  • Første setning: en mal som Template: [public] Message from first standfirst sentence beholder bevisst én setning og håndterer lenken med sin egen [SHORTLINK]-markør.
  • Overtittel: et valgfritt felt som er beskrevet i forrige avsnitt, og som noen artikler ikke har.

Verken et malnavn eller den valgte kilden beviser at den innhentede beskrivelsen er hele ingressen din. Slik poster du hele den innhentede beskrivelsen i stedet for den første setningen:

  1. Sjekk hva som ble innhentet. Sammenlign description med den fullstendige ingressen du forventer, på noen representative artikler. Hvis den mangler, er avkortet eller inneholder brødtekst i stedet for ingressen, ber du støtten om å rette og kontrollere innhentingen først. Når du endrer robotens kilde, kan du ikke gjenopprette tekst som ikke ble innhentet.
  2. Endre kilden. Åpne roboten, sett Message's source til Description og klikk deretter på Save. Ikke forveksle den med Description's source, som fyller ut beskrivelsesfeltet i innlegget, ikke teksten.
  3. Sjekk neste melding. Se på det neste innlegget roboten genererer: hele teksten, hvor lenken vises og tekstgrensen til hvert målnettverk. En fullstendig beskrivelse kan være lang, og å velge den garanterer ikke at hvert nettverk godtar hele teksten. Nonli håndterer fortsatt den korte lenken: i et innlegg uten innebygd lenke legger den til den korte lenken rett etter den genererte teksten, før eventuelt suffiks fra roboten og emneknagger, med mindre den første kommentaren allerede inneholder den. Lenke- og delingsinnlegg får ingen tilføyd kort lenke, bortsett fra lenkeinnlegg på X og Mastodon, der den legges til helt til slutt. Meldinger på Instagram og TikTok får ingen kort lenke. En mal for første setning kan forkorte teksten eller plassere lenken annerledes etter nettverk, så ikke forvent samme resultat.
  4. Omfang. Endringen gjelder bare innleggene denne roboten genererer fra nå av. Eksisterende innlegg, andre roboter og delte Smart Message-maler er uendret, og ingen eldre artikkel importeres eller publiseres på nytt.

11.4. Apostrofer ødelegger malen min#

I en Twig-streng med enkle anførselstegn avslutter en apostrof strengen. Denne malen avvises når du lagrer den, med en feil som «Invalid template syntax at line 1»:

twig
1{{ gpt('Summarize the article's main point') }}

Escape apostrofen, bruk en typografisk apostrof, eller bruk doble anførselstegn:

twig
1{{ gpt('Summarize the article\'s main point') }}
2{{ gpt('Summarize the article’s main point') }}
3{{ gpt("Summarize the article's main point") }}

Linjenummeret som rapporteres, er linjen i malen som inneholder feilen.

11.5. En variabel forblir tom#

  • Sjekk den nøyaktige stavemåten: organic.category, ikke categories; tags, ikke tag.
  • Sjekk at innlegget har en artikkel: organic er tom for manuelle innlegg og innlegg uten lenke, og aliasene er da udefinerte.
  • Skriv ut en liste med |join(', ') eller test den med in.
  • Sammenlign kategorier med den normaliserte formen (politique societe, ikke Politique & Société).
  • Sjekk tellere med ?? 0: de mangler før publisering.

11.6. Kan en mal legge til samarbeidspartnere på Instagram?#

Nei. Maler fyller bare ut tekstfelt, og airtable() returnerer tekst: den kan skrive en @-omtale, ikke opprette et samarbeid. Legg til samarbeidspartnere i innleggseditoren med Collaborators, eller med API-feltet collaborator[] (slug, type) i POST eller PUT /v2.1/posts/bulk. Meta godtar opptil 3 samarbeidspartnere; se Slik lager du et Instagram-samarbeidsinnlegg med Nonli.

Var denne artikkelen nyttig?

Book en personlig demo med teamet vårt.