Keyword Density (n-gram + stoplist)

action_keyword_density · action · Utility · Disponibile · v1.0.0

Descrizione

Analizzatore di densità keyword da testo o HTML — estrae testo pulito (rimuove script/style/noscript + nav/footer/header/aside, così la densità riflette il contenuto e non il menù ripetuto), tokenizza Unicode-aware (accenti preservati, con accent-folding opzionale), rimuove le stopword built-in della lingua scelta (IT/EN/DE/FR/ES) + una blocklist custom. Calcola la frequenza per unigrammi, bigrammi (2 parole) e trigrammi (3 parole). Campo `targetKeywords` per misurare DIRETTAMENTE la densità di una o più frasi da monitorare (whole-token match). Differenza con i sibling: action_keyword_density = frequency analysis (text → top-N keywords + custom target check). Per scoring SEO complessivo usa action_seo_audit (incorpora density nei criteri). Per estrarre solo meta tag senza analisi testo usa action_meta_extract. Per estrazione AI semantic (invece di frequency stat) usa agent_extractor. Tokenization Unicode-aware: split su confine `\p{L}\p{N}`, lowercase + NFC. Accent-folding OPZIONALE (stripAccents): NFD + rimozione dei segni combinanti → "caffè"/"café"/"caffe" collassano (match approssimato). Lunghezza minima token configurabile (default 3, anti-rumore tipo "in/di/le"). Output: `{ totalTokens, uniqueTokens, stoplistSize, lang, unigrams: [{ term, count, density }], bigrams: [...], trigrams: [...], targetKeywords: [{ term, count, density }] }`. Density = count / totalTokens * 100 (%). Target SEO sano: keyword principale 1-3% (oltre = stuffing penalty). Cap difensivo 1M token. Use case Cappella-Sistina-grade: (1) **audit on-page SEO post-publish** — verifico che la mia landing "piano marketing 2026" abbia density 1-3% sul target keyword, alert se under-optimized; (2) **content-gap analysis vs competitor** — scrap 5 SERP top + keyword_density su ognuno → media keyword usato + delta vs mia pagina = lista keyword da aggiungere; (3) **AI suggestion semantic expansion** — top-20 keyword density usato come input a LLM per suggerire bigrami correlati che mancano (LSI keywords); (4) **analytics editoriale** mensile — tutti articoli blog → trend keyword nel tempo (quale topic dominante questo trimestre?). Safety budget: token cap 1M (oltre = truncate con warning), target keyword cap 200, regex target machine-built (lineare, no ReDoS). Audit log con totalTokens + density top-3 per cost monitoring.

⚙️ Parametri di configurazione

Campi mostrati nell’editor quando si configura il nodo. Generati direttamente dal NodeDefconfigFields.

CampoTipoRequiredDefaultDescrizione
textExplicit
Testo o HTML (esplicito, se non viene dal nodo precedente)
codeno
Lascia vuoto per usare body/html/text dal nodo precedente.
Usato solo se il nodo precedente non passa testo. In produzione collega un Web Fetch o un Read File.
lang
Lingua stoplist
enum
autoitendefresboth
noautoauto/both = IT+EN (default sicuro). it/en/de/fr/es = stoplist della singola lingua. Per altre lingue usa "Stopwords aggiuntive".
customStop
Stopwords aggiuntive (comma o newline)
stringno
azienda, cliente, prodotto
Aggiungi parole specifiche del tuo dominio da escludere (es. brand name che inflaziona la classifica).
stripAccents
Accent-folding (caffè = caffe)
booleannofalseOff (default): "caffè" e "caffe" sono token distinti. On: rimuove gli accenti prima di contare → match approssimato (utile per testo con accentazione incoerente).
minLen
Lunghezza minima token
numberno3Esclude token con meno di N caratteri (default 3, min 1, max 10).
topN
Top N risultati per gruppo
numberno25Quanti risultati ritornare per unigrammi, bigrammi, trigrammi (max 200).
targetKeywords
Keyword target (1 per riga o virgola)
stringno
workflow automation ai agent integrazione webhook
Se specificate, ritorna count + density per ognuna di queste frasi (whole-token match).

⬆️ Output del nodo

Campi disponibili nei nodi successivi via $node.<alias>.json.<field>:

  • totalTokens
  • uniqueTokens
  • stoplistSize
  • lang
  • unigrams
  • bigrams
  • trigrams
  • targetKeywords

💡 Esempio configurazione

Snippet JSON del nodo come compare nel workflow. I valori sono derivati daidefaultValue e dai parametri required.

{
  "id": "node-action_keyword_density-1",
  "defId": "action_keyword_density",
  "label": "Keyword Density (n-gram + stoplist)",
  "config": {
    "lang": "auto",
    "stripAccents": false,
    "minLen": 3,
    "topN": 25
  }
}

🔗 Nodi correlati nella stessa categoria

Pronto a usare Keyword Density (n-gram + stoplist)?

Disponibile da subito in tutti i piani FlowForge. Provalo gratis senza carta di credito.

Inizia gratisSfoglia tutti i nodi