Integração com Firebase
Conecte o Akendor ao seu projeto Firebase: os artigos são salvos como documentos na sua coleção do Firestore e as imagens no seu Cloud Storage. Ideal para sites e apps headless.
Configurações de conexão
Coleção do Firestore
Informe o nome da coleção (por exemplo, articles) em que o Akendor vai salvar os artigos.
Pasta do Firebase Storage
Indique a pasta do seu bucket do Firebase Storage em que as imagens dos artigos serão enviadas. O bucket é opcional: se não for informado, será usado o bucket padrão do projeto.
Conta de serviço
Para que o Akendor possa gravar no seu projeto, é necessário o arquivo JSON da sua conta de serviço.
Conta de serviço configurada e protegida
As credenciais ficam ocultas por segurança.
Importação do JSON
O Akendor aceita o arquivo JSON completo da conta de serviço: não é preciso extrair as chaves uma a uma.
- No console do Firebase, abra Configurações do projeto > Contas de serviço.
- Gere e baixe uma nova chave privada (arquivo JSON).
- No Akendor, vá em Configurações > Integração com Firebase, clique em "Mostrar JSON" e cole o conteúdo do arquivo.
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.Credenciais protegidas
O JSON é criptografado (AES-GCM) antes de ser enviado aos nossos servidores. O Akendor o usa apenas para gravar na coleção e na pasta que você indicou.
Observação sobre a visibilidade
Esta configuração só aparece se você escolheu "Firebase" como plataforma do site na aba Geração das configurações.