Integración con Firebase
Conecta Akendor a tu proyecto de Firebase: los artículos se guardan como documentos en tu colección de Firestore y las imágenes en tu Cloud Storage. Ideal para sitios y apps headless.
Parámetros de conexión
Colección de Firestore
Introduce el nombre de la colección (por ejemplo articles) en la que Akendor guardará los artículos.
Carpeta de Firebase Storage
Indica la carpeta de tu bucket de Firebase Storage en la que subir las imágenes de los artículos. El bucket es opcional: si no lo indicas, se usa el predeterminado del proyecto.
Cuenta de servicio
Para que Akendor pueda escribir en tu proyecto necesitas el archivo JSON de tu cuenta de servicio.
Cuenta de servicio configurada y protegida
Las credenciales están ocultas por motivos de seguridad.
Carga del JSON
Akendor acepta el archivo JSON completo de la cuenta de servicio: no tienes que extraer las claves una a una.
- En la consola de Firebase abre Configuración del proyecto > Cuentas de servicio.
- Genera y descarga una nueva clave privada (archivo JSON).
- En Akendor ve a Configuración > Integración con Firebase, pulsa "Mostrar JSON" y pega el contenido del archivo.
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.Credenciales protegidas
El JSON se cifra (AES-GCM) antes de enviarse a nuestros servidores. Akendor lo usa solo para escribir en la colección y en la carpeta que has indicado.
Nota sobre la visibilidad
Esta configuración solo es visible si has elegido "Firebase" como plataforma del sitio en la pestaña Generación de la configuración.