Integrazione Firebase
Collega Akendor al tuo progetto Firebase: gli articoli vengono salvati come documenti nella tua collezione Firestore e le immagini nel tuo Cloud Storage. Ideale per siti e app headless.
Parametri di connessione
Collezione Firestore
Inserisci il nome della collezione (ad esempio articles) in cui Akendor salverà gli articoli.
Cartella di Firebase Storage
Indica la cartella del tuo bucket Firebase Storage in cui caricare le immagini degli articoli. Il bucket è facoltativo: se non lo indichi viene usato quello predefinito del progetto.
Account di servizio
Per permettere ad Akendor di scrivere nel tuo progetto serve il file JSON del tuo account di servizio.
Account di servizio configurato e protetto
Le credenziali sono nascoste per motivi di sicurezza.
Caricamento del JSON
Akendor accetta l'intero file JSON dell'account di servizio: non devi estrarre le singole chiavi.
- Nella console Firebase apri Impostazioni progetto > Account di servizio.
- Genera e scarica una nuova chiave privata (file JSON).
- In Akendor vai su Impostazioni > Integrazione Firebase, premi "Mostra JSON" e incolla il contenuto del file.
Cosa scrive Akendor nel tuo Firestore
Quando pubblichi, Akendor scrive nella tua collezione un documento per ogni articolo, con i nomi dei campi in inglese. Qui sotto un esempio reale con tutti i campi. Usa i campi di testo e l'array paragraphs per costruire la pagina e ignora quelli che non ti servono.
{
"slug": "managing-generalized-anxiety",
"title": "How to manage generalized anxiety",
"subtitle": "Practical strategies and clinical insights",
"summary": "Generalized anxiety calls for a multifactorial approach...",
"category": "Mental health",
"language": "en",
"status": "pubblicato",
"articleDate": "Timestamp(2026-06-19T10:14:00Z)",
"lastUpdate": "Timestamp(2026-06-21T08:02:11Z)",
"image": "https://cdn.example.com/img/anxiety-cover.webp",
"readingTime": 7,
"wordCount": "1450",
"seoTitle": "How to manage generalized anxiety in 2026",
"metaDescription": "A complete guide to managing generalized anxiety...",
"keyword": "generalized anxiety",
"seoScore": 82,
"seoAudit": {
"analyzedAt": "2026-06-19T10:14:30.000Z",
"scores": { "onPage": 84, "readability": 78, "links": 70, "transitionWords": 80, "sentenceLength": 85, "readingTime": 90, "activeVoice": 75, "tone": 88 },
"strengths": ["Clear focus on one search intent"],
"weaknesses": ["Few links to other articles of the site"],
"suggestions": ["Add two internal links in the second section"],
"tips": ["Shorten the meta description to 155 characters"]
},
"embeddingVector": "Vector(768)",
"tableOfContents": ["What anxiety is", "Physical symptoms"],
"keyPoints": ["Anxiety is a natural mechanism", "Breathing helps reduce tension"],
"takeaways": ["Recognize the physical signals before they grow"],
"paragraphs": [
{
"id": "5074accf-3949-4945-8ae0-525e20c99de6",
"heading": "What anxiety is",
"content": "<p>Generalized anxiety disorder...</p>",
"image": "",
"practicalInsight": {
"type": "attenzione",
"boxTitle": "Watch for physical signals",
"points": ["Sudden racing heart", "Muscle tension"]
}
}
],
"faq": [
{ "question": "How long does an anxiety attack last?", "answer": "Usually between 10 and 30 minutes..." }
],
"externalReferences": [
{ "title": "pubmed.ncbi.nlm.nih.gov", "url": "https://pubmed.ncbi.nlm.nih.gov/..." }
],
"remoteDocId": "7Hq2xYb0n5LwEJc9TfRa"
}Da sapere
articleDate e lastUpdate sono Timestamp di Firestore. seoScore è il punteggio SEO da 0 a 100, calcolato alla pubblicazione, e seoAudit ne contiene il dettaglio (punti di forza e aree da migliorare). embeddingVector è il vettore che Akendor usa per trovare articoli simili: se non ti serve, ignoralo. I valori di status e practicalInsight.type sono codici fissi (pubblicato; consiglio, mito, esempio, attenzione). remoteDocId è l'identificativo del documento nella tua collezione.Credenziali protette
Il JSON viene cifrato (AES-GCM) prima di essere inviato ai nostri server. Akendor lo usa solo per scrivere nella collezione e nella cartella che hai indicato.
Nota sulla visibilità
Questa configurazione è visibile solo se hai scelto "Firebase" come piattaforma del sito nella scheda Generazione delle impostazioni.