Native integratie

Firebase-integratie

Koppel Akendor aan je Firebase-project: artikelen worden als documenten opgeslagen in je Firestore-collectie en afbeeldingen in je Cloud Storage. Ideaal voor headless websites en apps.

Verbindingsinstellingen

Firestore-collectie

Voer de naam in van de collectie (bijvoorbeeld articles) waarin Akendor de artikelen opslaat.

Firebase Storage-map

Geef de map in je Firebase Storage-bucket op waar de afbeeldingen van de artikelen worden geüpload. De bucket is optioneel: als je hem niet opgeeft, wordt de standaardbucket van het project gebruikt.

Serviceaccount

Om Akendor in je project te laten schrijven, is het JSON-bestand van je serviceaccount nodig.

Serviceaccount ingesteld en beschermd

De inloggegevens zijn om veiligheidsredenen verborgen.

JSON importeren

Akendor accepteert het volledige JSON-bestand van het serviceaccount: je hoeft de sleutels niet één voor één over te nemen.

  1. Open in de Firebase-console Projectinstellingen > Serviceaccounts.
  2. Genereer en download een nieuwe privésleutel (JSON-bestand).
  3. Ga in Akendor naar Instellingen > Firebase-integratie, klik op "JSON tonen" en plak de inhoud van het bestand.

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.

firestore_article.json
Documento Firestore
{
  "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.

Beschermde inloggegevens

De JSON wordt versleuteld (AES-GCM) voordat hij naar onze servers gaat. Akendor gebruikt hem alleen om te schrijven naar de collectie en de map die je hebt opgegeven.

Opmerking over zichtbaarheid

Deze configuratie is alleen zichtbaar als je "Firebase" hebt gekozen als platform van de website op het tabblad Generatie van de instellingen.