{"id":60970,"date":"2024-11-04T09:05:34","date_gmt":"2024-11-04T08:05:34","guid":{"rendered":"https:\/\/kinqsta.com\/nl\/?p=60970&#038;preview=true&#038;preview_id=60970"},"modified":"2024-12-10T15:24:12","modified_gmt":"2024-12-10T14:24:12","slug":"backups-plannen-voor-meerdere-sites-api","status":"publish","type":"post","link":"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/","title":{"rendered":"Backups plannen voor meerdere sites met Kinsta API"},"content":{"rendered":"<p>Voor <a href=\"https:\/\/kinqsta.com\/nl\/blog\/wordpress-bureau\/\">WordPress bureaus<\/a> die meerdere websites van klanten beheren, is een solide <a href=\"https:\/\/kinqsta.com\/nl\/blog\/kinsta-backup-features\/\">backupstrategie<\/a> essentieel. In het geval van een onverwachte storing, een defecte plugin of een menselijke fout, zorgen backups ervoor dat gegevens snel kunnen worden hersteld &#8211; waardoor de downtime tot een minimum wordt beperkt en het risico voor de klant afneemt.<\/p>\n<p>Bij Kinsta begrijpen we de cruciale rol die backups spelen en daarom bieden we <a href=\"https:\/\/kinqsta.com\/nl\/docs\/wordpress-hosting\/wordpress-backups\/\">zes backupopties<\/a>: automatische dagelijkse, optionele uurlijkse (en elke zes uur), handmatige, door het systeem gegenereerde, downloadbare en externe backups die rechtstreeks naar Amazon S3 of Google Cloud Storage worden gestuurd.<\/p>\n<p>Hoewel het beheren van deze backups eenvoudig is via het <a href=\"https:\/\/kinqsta.com\/nl\/mykinsta\/\">MyKinsta<\/a> dashboard, biedt <a href=\"https:\/\/kinqsta.com\/nl\/docs\/kinsta-api\/\">Kinsta&#8217;s API<\/a> geweldige mogelijkheden voor het automatiseren van repetitieve processen.<\/p>\n<p>Stel je voor dat je simpelweg een commando in Slack typt of een cron job instelt om backups te activeren voor al je WordPress sites in het Kinsta account van je bureau zonder handmatig door tientallen of zelfs honderden site dashboards te hoeven navigeren.<\/p>\n<p>Deze flexibiliteit is een van de vele voordelen van het gebruik van een host die prioriteit geeft aan de behoeften van zijn klanten door hen de tools te bieden om custom, tijdbesparende oplossingen te cre\u00ebren.<\/p>\n<p>Deze gids legt uit hoe je de Kinsta API kunt gebruiken om backups op meerdere sites te automatiseren. Of je nu integreert met de stack van je voorkeur, tools zoals Slack gebruikt of geautomatiseerde schema&#8217;s instelt, deze gids biedt je de kennis om je backupproces te stroomlijnen en je workflow te verbeteren.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Als je niet bekend bent met de verschillende backup endpoints die beschikbaar zijn via de Kinsta API, bekijk dan zeker onze gedetailleerde gids over <a href=\"https:\/\/kinqsta.com\/nl\/blog\/wordpress-backups-api\/\">het beheren van WordPress backups in Slack met Kinsta API<\/a>. Hierin wordt uitgelegd hoe je de verschillende backup endpoints effectief kunt gebruiken.<\/p>\n<\/aside>\n\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Backups maken voor alle sites en geselecteerde sites<\/h2>\n<p>Voordat je in de planning duikt, is het belangrijk om eerst te begrijpen hoe je backups activeert voor alle sites in je Kinsta account en hoe je specifieke sites of omgevingen kunt targeten met behulp van de Kinsta API.<\/p>\n<p>Zodra we de basis hebben voor het maken van backups, kunnen we eenvoudig plannen integreren om het proces te automatiseren.<\/p>\n<h3>Backups triggeren voor alle sites in een Kinsta account<\/h3>\n<p>Zoals bij elke API is er niet altijd \u00e9\u00e9n endpoint dat alles doet wat je nodig hebt &#8211; vaak moet je meerdere endpoints combineren om het gewenste resultaat te bereiken.<\/p>\n<p>De Kinsta API is niet anders. Hoewel er specifieke endpoints zijn voor het beheren van backups, vereisen deze endpoints bepaalde parameters, zoals omgevings-ID&#8217;s, die je verkrijgt door aanvullende verzoeken te doen aan andere endpoints.<\/p>\n<p>Om bijvoorbeeld een handmatige backup voor een site te activeren, heb je de omgevings-ID voor die specifieke omgeving nodig. Om de omgevings-ID te krijgen, heb je eerst de site-ID nodig. Dit betekent dat je meerdere API-aanroepen moet doen: \u00e9\u00e9n om de site-ID te krijgen, \u00e9\u00e9n om de omgevings-ID op te halen en tot slot een verzoek om de backup te activeren.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Hoewel de voorbeelden in deze handleiding zijn gebaseerd op <a href=\"https:\/\/kinqsta.com\/nl\/blog\/wat-is-javascript\/\">JavaScript<\/a>, kan de logica gemakkelijk worden toegepast op andere <a href=\"https:\/\/kinqsta.com\/nl\/blog\/beste-programmeertaal-om-te-leren\/\">programmeertalen<\/a>, zoals <a href=\"https:\/\/kinqsta.com\/nl\/blog\/python-installeren\/\">Python<\/a>, afhankelijk van je voorkeur.<\/p>\n<p>Als dit de eerste keer is dat je de Kinsta API gebruikt, moet je een API-sleutel aanmaken. Bekijk <a href=\"https:\/\/kinqsta.com\/nl\/blog\/kinsta-api-sleutel\/\">deze gids over hoe je de Kinsta API-sleutel aanmaakt en gebruikt<\/a> om te beginnen.<\/p>\n<\/aside>\n\n<h4>Stap 1: Alle WordPress sites ophalen met Kinsta API<\/h4>\n<p>De eerste stap is het ophalen van een lijst met alle sites die aan je Kinsta account zijn gekoppeld. Kinsta&#8217;s API biedt een endpoint om deze gegevens op te halen, waaronder site-ID&#8217;s, namen en andere relevante details. Met behulp van het <code>GET \/sites<\/code> endpoint kun je een lijst opvragen van alle sites onder het account van je bedrijf.<\/p>\n<p>Hier is een voorbeeld met Node.js en <a href=\"https:\/\/kinqsta.com\/nl\/blog\/javascript-http-verzoek\/#4-how-to-make-an-http-request-in-javascript-using-the-fetch-api\">Fetch API<\/a>:<\/p>\n<pre><code class=\"language-js\">require('dotenv').config();\n\nconst KINSTA_API_URL = 'https:\/\/api.kinqsta.com\/v2';\nconst API_KEY = process.env.KINSTA_API_KEY;\n\nasync function getAllSites() {\n    const response = await fetch(`${KINSTA_API_URL}\/sites`, {\n        headers: {\n            Authorization: `Bearer ${API_KEY}`\n        }\n    });\n    const data = await response.json();\n    return data.company.sites; \/\/ Returns array of all sites\n}<\/code><\/pre>\n<p>Deze functie retourneert een array van alle sites in je account. Elke site bevat informatie zoals de ID van de site, de naam en de omgeving(en).<\/p>\n<h4>Stap 2: Omgevings-ID&#8217;s ophalen voor elke WordPress site<\/h4>\n<p>Elke site kan meerdere omgevingen hebben (zoals productie of test) en backups worden per omgeving gestart. Om de omgevings-ID&#8217;s voor elke site op te halen, doe je nog een API-aanroep naar het <code>GET \/sites\/{site_id}\/environments<\/code> endpoint.<\/p>\n<p>Hier is een voorbeeldfunctie die omgevingen ophaalt voor een specifieke site:<\/p>\n<pre><code class=\"language-js\">async function getSiteEnvironments(siteId) {\n    const response = await fetch(`${KINSTA_API_URL}\/sites\/${siteId}\/environments`, {\n        headers: {\n            Authorization: `Bearer ${API_KEY}`\n        }\n    });\n    const data = await response.json();\n    return data.site.environments;\n}<\/code><\/pre>\n<h4>Stap 3: Backups triggeren voor elke omgeving<\/h4>\n<p>Zodra je de omgevings-ID&#8217;s hebt, kun je backups voor elke omgeving activeren met het <code>POST \/sites\/environments\/{env_id}\/manual-backups<\/code> endpoint. Met de API kun je een handmatige backup maken door een omgevings-ID en een optionele tag op te geven om de backup te identificeren.<\/p>\n<p>Zo activeer je een backup voor een bepaalde omgeving:<\/p>\n<pre><code class=\"language-js\">async function createBackup(environmentId, tag) {\n    const response = await fetch(`${KINSTA_API_URL}\/sites\/environments\/${environmentId}\/manual-backups`, {\n        method: 'POST',\n        headers: {\n            Authorization: `Bearer ${API_KEY}`,\n            'Content-Type': 'application\/json'\n        },\n        body: JSON.stringify({ tag })\n    });\n\n    if (response.ok) {\n        console.log(`Backup created for environment ${environmentId} with tag: ${tag}`);\n    } else {\n        console.error(`Failed to create backup for environment ${environmentId}`);\n    }\n}<\/code><\/pre>\n<p>Deze functie activeert een handmatige backup voor de opgegeven omgevings-ID. Je kunt je backup ook taggen om identificatie te vergemakkelijken.<\/p>\n<h4>Stap 4: Backups voor alle sites automatiseren<\/h4>\n<p>Nu je functies hebt om alle sites op te halen, omgevings-ID&#8217;s op te halen en backups te starten, kun je ze combineren om een script te maken dat backups automatiseert voor elke site in je Kinsta account.<\/p>\n<p>Dit is hoe je alles kunt samenvoegen:<\/p>\n<pre><code class=\"language-js\">async function backupAllSites() {\n    const sites = await getAllSites();\n\n    for (const site of sites) {\n        const environments = await getSiteEnvironments(site.id);\n\n        for (const environment of environments) {\n            await createBackup(environment.id, `Backup-${new Date().toISOString()}`);\n        }\n    }\n\n    console.log('Backups for all sites have been triggered.');\n}<\/code><\/pre>\n<p>Deze functie doorloopt alle sites, haalt hun omgevingen op en activeert backups voor elke omgeving met een tag met tijdstempel.<\/p>\n<p>Als je nu <code>backupAllSites()<\/code> uitvoert, wordt er een backup gemaakt van elke omgeving in je Kinsta-account.<\/p>\n<h4>Voorbeeld van een Slack commando<\/h4>\n<p>Je kunt dit backupproces integreren in een Slack commando voor nog eenvoudiger beheer. Met een <a href=\"https:\/\/kinqsta.com\/nl\/blog\/maken-slackbot-sitebeheer\/\">Slack-app<\/a> kunnen gebruikers backups maken van alle sites met \u00e9\u00e9n commando zoals <code>\/backup_all_sites<\/code>.<\/p>\n<p>Hier is een kort voorbeeld van hoe dit zou kunnen werken:<\/p>\n<pre><code class=\"language-js\">app.command('\/backup_all_sites', async ({ ack, say }) =&gt; {\n    await ack();\n    await backupAllSites();\n    say('Backups for all sites have been triggered.');\n});<\/code><\/pre>\n<h3>Backups triggeren voor geselecteerde sites met behulp van omgevings-ID&#8217;s<\/h3>\n<p>In sommige gevallen wil je misschien backups activeren voor alleen specifieke sites of omgevingen in plaats van alle sites in je Kinsta account. Dit kan handig zijn als je alleen een backup wilt maken van productieomgevingen of van bepaalde sites met hoge prioriteit.<\/p>\n<p>Met behulp van de Kinsta API kunnen we backups automatiseren voor geselecteerde omgevingen door een array van omgevings-ID&#8217;s door te geven. Laten we eens doorlopen hoe we dit kunnen implementeren.<\/p>\n<h4>Stap 1: Omgeving ID&#8217;s doorgeven<\/h4>\n<p>Als je backups voor geselecteerde sites wilt activeren, heb je de omgevings-ID&#8217;s voor die sites nodig. Je kunt deze ID&#8217;s hard coderen, ophalen uit de Kinsta API of dynamisch doorgeven (zoals via een opdrachtregelargument, Slack commando, etc.).<\/p>\n<p>Hier is een functie die een array van omgevings-ID&#8217;s accepteert en voor elke omgeving een backup activeert:<\/p>\n<pre><code class=\"language-js\">async function backupSelectedEnvironments(environmentIds, tag) {\n    for (const envId of environmentIds) {\n        await createBackup(envId, tag);\n    }\n}<\/code><\/pre>\n<p>De bovenstaande functie ontvangt een array van omgevings-ID&#8217;s waarvan je een backup wilt maken (<code>environmentIds<\/code>). De functie <code>createBackup(envId, tag)<\/code> activeert de backup voor elke omgeving in de array met behulp van de functie <code>createBackup()<\/code> (uitgelegd in Stap 2).<\/p>\n<h4>Stap 2: De backup triggeren<\/h4>\n<p>Om de daadwerkelijke backup voor elke omgeving te triggeren, gebruik je het Kinsta API <code>POST \/sites\/environments\/{env_id}\/manual-backups<\/code> endpoint zoals we voor alle sites hebben gedaan. Dit is hoe het werkt:<\/p>\n<pre><code class=\"language-js\">async function createBackup(environmentId, tag) {\n    const response = await fetch(`${KINSTA_API_URL}\/sites\/environments\/${environmentId}\/manual-backups`, {\n        method: 'POST',\n        headers: {\n            Authorization: `Bearer ${API_KEY}`,\n            'Content-Type': 'application\/json'\n        },\n        body: JSON.stringify({ tag })\n    });\n\n    if (response.ok) {\n        console.log(`Backup created for environment ${environmentId} with tag: ${tag}`);\n    } else {\n        console.error(`Failed to create backup for environment ${environmentId}: ${response.statusText}`);\n    }\n}<\/code><\/pre>\n<h4>Stap 3: Backups uitvoeren voor geselecteerde omgevingen<\/h4>\n<p>Nu we functies hebben om backups te triggeren en meerdere omgevingen af te handelen, kunnen we ze combineren om een backup te maken van specifieke omgevingen. In dit voorbeeld gaan we ervan uit dat we al de ID&#8217;s van de omgevingen hebben waarvan we een backup willen maken.<\/p>\n<pre><code class=\"language-js\">const selectedEnvironments = ['12345', '67890']; \/\/ Replace with actual environment IDs\nbackupSelectedEnvironments(selectedEnvironments, 'Manual Backup');<\/code><\/pre>\n<p>In dit geval:<\/p>\n<ul>\n<li>De array <code>selectedEnvironments<\/code> bevat de omgevings-ID&#8217;s waarvan je een backup wilt maken.<\/li>\n<li>De functie <code>backupSelectedEnvironments()<\/code> doorloopt elke ID en activeert de backup met de tag &#8216;Manual Backup&#8217;.<\/li>\n<\/ul>\n<h4>Voorbeeld Slack commando<\/h4>\n<p>Als je een Slack app of opdrachtregelinterface gebruikt, kun je gebruikers ook laten opgeven van welke omgevingen een backup moet worden gemaakt.<\/p>\n<p>Hier zie je hoe je dit zou kunnen implementeren in een Slack app:<\/p>\n<pre><code class=\"language-js\">app.command('\/backup_selected_envs', async ({ command, ack, say }) =&gt; {\n    await ack();\n    const [tag, ...envIds] = command.text.split(' ');  \/\/ First part is the tag, rest are env IDs\n    await backupSelectedEnvironments(envIds, tag);\n    say(`Backups triggered for selected environments with tag ${tag}.`);\n});<\/code><\/pre>\n<p>De gebruiker voert een commando in als <code>\/backup_selected_envs Backup-Tag 12345 67890<\/code>, waarbij <code>Backup-Tag<\/code> de tag is en <code>12345, 67890<\/code> de omgevings-ID&#8217;s.<\/p>\n<p>De tekst van het commando wordt gesplitst en de omgevings-ID&#8217;s worden doorgegeven aan de functie <code>backupSelectedEnvironments()<\/code>.<\/p>\n<p>Nadat de backups zijn gestart, antwoordt de app de gebruiker dat de backup is gemaakt.<\/p>\n<h2>Backups plannen voor je WordPress sites<\/h2>\n<p>Een van de krachtigste aspecten van automatisering is de mogelijkheid om taken te plannen op specifieke tijdstippen zonder handmatige tussenkomst.<\/p>\n<p>Nu we hebben behandeld hoe je backups voor alle sites en geselecteerde sites kunt activeren, is de volgende stap om deze processen te automatiseren door planning toe te voegen.<\/p>\n<p>Of je nu lokaal backups wilt plannen, op een gehost platform zoals Kinsta, of dynamisch via Slack, er zijn verschillende manieren om dit te implementeren.<\/p>\n<h3>Cron expressies begrijpen<\/h3>\n<p>Voordat je de verschillende benaderingen voor het plannen van backups gaat verkennen, is het belangrijk om cron expressies te begrijpen, die worden gebruikt om de timing voor geplande taken op te geven op verschillende platforms en tools.<\/p>\n<p>Cron expressies defini\u00ebren wanneer een taak moet worden uitgevoerd. Ze worden gebruikt in veel planningsbibliotheken en -services, zoals <a href=\"https:\/\/www.npmjs.com\/package\/node-cron\" target=\"_blank\" rel=\"noopener noreferrer\">node-cron<\/a>, <a href=\"https:\/\/www.npmjs.com\/package\/node-schedule\" target=\"_blank\" rel=\"noopener noreferrer\">node-schedule<\/a> en zelfs cron jobs aan de serverkant, zoals die beschikbaar zijn in <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Kinsta&#8217;s Applicatie Hosting<\/a> platform.<\/p>\n<p>Cron expressies bestaan uit vijf velden, die elk een specifiek aspect bepalen van wanneer de taak moet worden uitgevoerd. Een typische cron expressie ziet er als volgt uit:<\/p>\n<pre><code class=\"language-js\">* * * * *\n| | | | |\n| | | | \u2514\u2500\u2500\u2500 Day of the week (0 - 7) (Sunday to Saturday, 0 and 7 represent Sunday)\n| | | \u2514\u2500\u2500\u2500\u2500\u2500\u2500 Month (1 - 12)\n| | \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Day of the month (1 - 31)\n| \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Hour (0 - 23)\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Minute (0 - 59)<\/code><\/pre>\n<p>Laten we eens uitsplitsen wat elk veld voorstelt:<\/p>\n<ul>\n<li><strong>Minute<\/strong>: De minuut van het uur waarop de taak moet worden uitgevoerd (0 &#8211; 59).<\/li>\n<li><strong>Hour<\/strong>: Het uur van de dag waarop de taak moet worden uitgevoerd (0 &#8211; 23).<\/li>\n<li><strong>Day of the month<\/strong>: De specifieke dag van de maand waarop de taak moet worden uitgevoerd (1 &#8211; 31).<\/li>\n<li><strong>Month<\/strong>: De maand van het jaar om de taak uit te voeren (1 &#8211; 12).<\/li>\n<li><strong>Day of the week<\/strong>: De specifieke dag van de week om de taak uit te voeren (0 &#8211; 7, waarbij 0 en 7 beide voor zondag staan).<\/li>\n<\/ul>\n<p>Je kunt specifieke waarden, jokertekens (<code>*<\/code>) of bereiken in elk veld gebruiken om het schema te defini\u00ebren.<\/p>\n<p>Voorbeelden van cron expressies:<\/p>\n<ul>\n<li><code>0 0 * * *<\/code>: Elke dag om middernacht (00:00)<\/li>\n<li><code>0 3 * * 1<\/code>: Elke maandag om 3 uur &#8217;s nachts<\/li>\n<li><code>*\/10 * * * *<\/code>: Elke 10 minuten<\/li>\n<li><code>0 9-18 * * *<\/code>: Elk uur tussen 9.00 en 18.00 uur.<\/li>\n<\/ul>\n<p>Met een goed begrip van cron expressies kunnen we nu verder gaan met verschillende methoden voor het plannen van backups voor je WordPress sites met behulp van de Kinsta API.<\/p>\n<h3>Aanpak 1: Lokaal plannen met node-cron<\/h3>\n<p>Het Node.js pakket <a href=\"https:\/\/www.npmjs.com\/package\/node-cron\" target=\"_blank\" rel=\"noopener noreferrer\">node-cron<\/a> kan geplande taken uitvoeren op basis van een cron-achtige syntaxis. Het is ideaal voor het uitvoeren van geautomatiseerde taken in lokale of zelfstandige Node.js applicaties en het is een populaire keuze voor het plannen van backups, het verzenden van e-mails of het uitvoeren van andere terugkerende taken.<\/p>\n<p>In node-cron definieer je een taak (zoals je backupfunctie) en gebruik je een cron expressie om aan te geven wanneer de taak moet worden uitgevoerd. De cron expressie bestaat uit vijf velden die de minuut, het uur, de dag van de maand, de maand en de dag van de week aangeven wanneer de taak moet worden uitgevoerd.<\/p>\n<p>Installeer eerst node-cron in je project:<\/p>\n<pre><code class=\"language-bash\">npm install node-cron<\/code><\/pre>\n<p>Laten we zeggen dat je een dagelijkse backup van alle sites om middernacht wilt plannen met behulp van node-cron. Dit is hoe je dat kunt doen:<\/p>\n<pre><code class=\"language-js\">const cron = require('node-cron');\nconst { backupAllSites } = require('.\/app');  \/\/ Import the backup function\n\n\/\/ Schedule to run backups for all sites at midnight every day\ncron.schedule('0 0 * * *', () =&gt; {\n  console.log('Running scheduled backup for all sites at midnight...');\n  backupAllSites();\n});<\/code><\/pre>\n<p>Op dezelfde manier, als je elke dag om 2 uur &#8217;s nachts een backup wilt maken van geselecteerde omgevingen, zou je dat als volgt kunnen plannen:<\/p>\n<pre><code class=\"language-js\">cron.schedule('0 2 * * *', () =&gt; {\n  const environmentIds = ['env12345', 'env67890']; \/\/ Specific environments to back up\n  console.log('Running scheduled backup for selected environments...');\n  backupSelectedEnvironments(environmentIds, 'Scheduled Backup');\n});<\/code><\/pre>\n<h3>Aanpak 2: Cron jobs gebruiken in cloud hosting (zoals Kinsta)<\/h3>\n<p>Als je je Node.js applicatie inzet op een platform zoals dat van Kinsta, kun je de ingebouwde <a href=\"https:\/\/docs.sevalla.com\/applications\/processes#cron-job-process\">cron job<\/a> functionaliteit van het platform gebruiken om taken zoals backups te plannen. Het instellen van cron jobs in cloud omgevingen vereist echter een iets andere structuur dan lokale scheduling tools zoals node-cron.<\/p>\n<p>Als je je app uitrolt naar Kinsta, moet deze een draaiend webproces hebben (zelfs als deze niet daadwerkelijk webverkeer afhandelt).<\/p>\n<p>Om ervoor te zorgen dat je project correct draait en niet automatisch backup functies callt, kun je een bestand maken dat een eenvoudige webserver draait. Dit bestand fungeert als een &#8220;dummy&#8221; webproces, terwijl cron jobs de backuplogica afhandelen.<\/p>\n<p>Je kunt deze code toevoegen:<\/p>\n<pre><code class=\"language-js\">require('http').createServer((req, res) =&gt; {\n    res.writeHead(302, { Location: 'https:\/\/www.google.com' });\n    res.end();\n}).listen(process.env.PORT);<\/code><\/pre>\n<p>Op deze manier kun je een scriptcommando instellen om onderscheid te maken tussen het webproces (<code>start<\/code>) en het cron job proces (<code>cron<\/code>).<\/p>\n<pre><code class=\"language-js\">  \"scripts\": {\n    \"start\": \"node index.js\",  \/\/ Web process\n    \"cron\": \"node app.js\"  \/\/ Cron job process\n  },<\/code><\/pre>\n<p>Tot slot configureer je de cron job in Kinsta om je backupfunctie op het opgegeven tijdstip te callen. Met behulp van de cron job instellingen kun je het commando defini\u00ebren om de backup uit te voeren.<\/p>\n<p>Stel in het tabblad <strong>Processen<\/strong> van de applicaties van het MyKinsta dashboard het commando voor het webproces in op:<\/p>\n<pre><code class=\"language-bash\">npm run start<\/code><\/pre>\n<p>En stel het commando voor de cron job in op:<\/p>\n<pre><code class=\"language-bash\">npm run cron<\/code><\/pre>\n<p>Om de cron job op een specifieke tijd uit te voeren (elke dag om 11:30), stel je de cron expressie als volgt in:<\/p>\n<pre><code class=\"language-bash\">30 11 * * *<\/code><\/pre>\n<p>Deze opdracht activeert de <code>backupAllSites()<\/code> functie elke dag om 11:30 uur.<\/p>\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2024\/10\/cron-job-app-hosting.png\" alt=\"Een cron job instellen in Kinsta's Applicatie Hosting.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Een cron job instellen in Kinsta&#8217;s Applicatie Hosting.<\/figcaption><\/figure>\n<h3>Aanpak 3: Plannen met node-schedule<\/h3>\n<p>Een andere Node.js bibliotheek, <a href=\"https:\/\/www.npmjs.com\/package\/node-schedule\" target=\"_blank\" rel=\"noopener noreferrer\">node-schedule<\/a>, kan taken plannen met het cron format en ondersteunt ook complexere schema&#8217;s.<\/p>\n<p>Hier is een voorbeeld waarmee gebruikers backups kunnen plannen via Slack met behulp van het cron-format van node-schedule:<\/p>\n<pre><code class=\"language-js\">const schedule = require('node-schedule');\nconst { backupAllSites } = require('.\/app');\n\n\/\/ Slack command to schedule backups dynamically\napp.command('\/schedule_backup', async ({ command, ack, say }) =&gt; {\n    await ack();\n\n    \/\/ Extract hour and minute from the command (expects HH:MM format)\n    const [hour, minute] = command.text.split(':');\n\n    \/\/ Validate input\n    if (!hour || !minute) {\n        say('Please specify the time in HH:MM format.');\n        return;\n    }\n\n    \/\/ Schedule the backup using node-schedule's cron-like format\n    const job = schedule.scheduleJob(`${minute} ${hour} * * *`, () =&gt; {\n        console.log(`Running scheduled backup at ${hour}:${minute}`);\n        backupAllSites();  \/\/ This triggers the backup for all sites\n    });\n\n    say(`Backup scheduled at ${hour}:${minute} successfully.`);\n});<\/code><\/pre>\n<p>Een gebruiker kan bijvoorbeeld het volgende Slack commando uitvoeren om een backup te plannen voor 23:30 uur:<\/p>\n<pre><code class=\"language-bash\">\/schedule_backup 23:30<\/code><\/pre>\n<p>Na het uitvoeren van dit commando wordt de backup elke dag om 23:30 uur ingepland. Het antwoord van Slack zou er als volgt uit kunnen zien:<\/p>\n<pre><code class=\"language-bash\">Backup scheduled at 23:30 successfully.<\/code><\/pre>\n<p>Met deze aanpak kunnen gebruikers dynamisch backups plannen vanuit Slack door simpelweg de tijd op te geven zonder interactie met de server of de applicatiecode. Het is een flexibele en krachtige manier om geplande taken zoals backups op een gebruiksvriendelijke manier af te handelen.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Als je je team via Slack beheert, kun je ons <a href=\"https:\/\/github.com\/kinsta\/SlackBot-Kinsta-API\" target=\"_blank\" rel=\"noopener noreferrer\">Slackbot project<\/a> klonen, dat integreert met de Kinsta API om verschillende bewerkingen uit te voeren. Pas de <a href=\"https:\/\/github.com\/kinsta\/SlackBot-Kinsta-API?tab=readme-ov-file#environment-variables\" target=\"_blank\" rel=\"noopener noreferrer\">omgevingsvariabelen<\/a> aan om je Kinsta en Slack API geheimen weer te geven, en je kunt aan de slag. Bekijk het <a href=\"https:\/\/github.com\/kinsta\/SlackBot-Kinsta-API\/blob\/main\/README.md\" target=\"_blank\" rel=\"noopener noreferrer\">README bestand<\/a> voor gedetailleerde installatie-instructies en beschikbare commando&#8217;s.<\/p>\n<\/aside>\n\n<h2>Samenvatting<\/h2>\n<p>Het plannen van backups op meerdere WordPress sites is handig voor bureaus die veel websites van klanten beheren. Het automatiseren van deze backups bespaart niet alleen tijd, maar zorgt ook voor consistentie, vermindert de kans op menselijke fouten en zorgt voor gemoedsrust.<\/p>\n<p><em>Zou jouw bureau baat hebben bij deze oplossing? We horen graag wat je ervan vindt. Deel ze in de comments hieronder!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voor WordPress bureaus die meerdere websites van klanten beheren, is een solide backupstrategie essentieel. In het geval van een onverwachte storing, een defecte plugin of een &#8230;<\/p>\n","protected":false},"author":287,"featured_media":60971,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[911,951,853],"class_list":["post-60970","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-api","topic-bureau","topic-kinsta-diensten"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Zo plan je backups voor meerdere sites met Kinsta API<\/title>\n<meta name=\"description\" content=\"Deze gids behandelt verschillende methoden, waaronder node-cron, cloud-gebaseerde cron jobs om backupbeheer voor agentschappen te stroomlijnen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Backups plannen voor meerdere sites met Kinsta API\" \/>\n<meta property=\"og:description\" content=\"Deze gids behandelt verschillende methoden, waaronder node-cron, cloud-gebaseerde cron jobs om backupbeheer voor agentschappen te stroomlijnen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-04T08:05:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-10T14:24:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinqsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1470\" \/>\n\t<meta property=\"og:image:height\" content=\"735\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Joel Olawanle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Deze gids behandelt verschillende methoden, waaronder node-cron, cloud-gebaseerde cron jobs om backupbeheer voor agentschappen te stroomlijnen.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinqsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API-1024x512.png\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:label1\" content=\"Geschreven door\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinqsta.com\/nl\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Backups plannen voor meerdere sites met Kinsta API\",\"datePublished\":\"2024-11-04T08:05:34+00:00\",\"dateModified\":\"2024-12-10T14:24:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/\"},\"wordCount\":2335,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/nl\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png\",\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/\",\"url\":\"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/\",\"name\":\"Zo plan je backups voor meerdere sites met Kinsta API\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/nl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png\",\"datePublished\":\"2024-11-04T08:05:34+00:00\",\"dateModified\":\"2024-12-10T14:24:12+00:00\",\"description\":\"Deze gids behandelt verschillende methoden, waaronder node-cron, cloud-gebaseerde cron jobs om backupbeheer voor agentschappen te stroomlijnen.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/#primaryimage\",\"url\":\"https:\/\/kinqsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png\",\"contentUrl\":\"https:\/\/kinqsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png\",\"width\":1470,\"height\":735},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinqsta.com\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API\",\"item\":\"https:\/\/kinqsta.com\/nl\/onderwerpen\/api\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Backups plannen voor meerdere sites met Kinsta API\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinqsta.com\/nl\/#website\",\"url\":\"https:\/\/kinqsta.com\/nl\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Snelle, veilige, premium hostingoplossingen\",\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/nl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinqsta.com\/nl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinqsta.com\/nl\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinqsta.com\/nl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinqsta.com\/nl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinqsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinqsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/nl\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\",\"https:\/\/x.com\/Kinsta_NL\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinqsta.com\/nl\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinqsta.com\/nl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"caption\":\"Joel Olawanle\"},\"description\":\"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.\",\"sameAs\":[\"https:\/\/joelolawanle.com\/\",\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\",\"https:\/\/x.com\/olawanle_joel\",\"https:\/\/www.youtube.com\/@joelolawanle\"],\"gender\":\"male\",\"knowsAbout\":[\"JavaScript\",\"React\",\"Next.js\"],\"knowsLanguage\":[\"English\"],\"jobTitle\":\"Technical Editor\",\"worksFor\":\"Kinsta\",\"url\":\"https:\/\/kinqsta.com\/nl\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Zo plan je backups voor meerdere sites met Kinsta API","description":"Deze gids behandelt verschillende methoden, waaronder node-cron, cloud-gebaseerde cron jobs om backupbeheer voor agentschappen te stroomlijnen.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/","og_locale":"nl_NL","og_type":"article","og_title":"Backups plannen voor meerdere sites met Kinsta API","og_description":"Deze gids behandelt verschillende methoden, waaronder node-cron, cloud-gebaseerde cron jobs om backupbeheer voor agentschappen te stroomlijnen.","og_url":"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","article_published_time":"2024-11-04T08:05:34+00:00","article_modified_time":"2024-12-10T14:24:12+00:00","og_image":[{"width":1470,"height":735,"url":"https:\/\/kinqsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png","type":"image\/png"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Deze gids behandelt verschillende methoden, waaronder node-cron, cloud-gebaseerde cron jobs om backupbeheer voor agentschappen te stroomlijnen.","twitter_image":"https:\/\/kinqsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API-1024x512.png","twitter_creator":"@olawanle_joel","twitter_site":"@Kinsta_NL","twitter_misc":{"Geschreven door":"Joel Olawanle","Geschatte leestijd":"15 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/#article","isPartOf":{"@id":"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinqsta.com\/nl\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Backups plannen voor meerdere sites met Kinsta API","datePublished":"2024-11-04T08:05:34+00:00","dateModified":"2024-12-10T14:24:12+00:00","mainEntityOfPage":{"@id":"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/"},"wordCount":2335,"commentCount":0,"publisher":{"@id":"https:\/\/kinqsta.com\/nl\/#organization"},"image":{"@id":"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png","inLanguage":"nl-NL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/","url":"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/","name":"Zo plan je backups voor meerdere sites met Kinsta API","isPartOf":{"@id":"https:\/\/kinqsta.com\/nl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/#primaryimage"},"image":{"@id":"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png","datePublished":"2024-11-04T08:05:34+00:00","dateModified":"2024-12-10T14:24:12+00:00","description":"Deze gids behandelt verschillende methoden, waaronder node-cron, cloud-gebaseerde cron jobs om backupbeheer voor agentschappen te stroomlijnen.","breadcrumb":{"@id":"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/#primaryimage","url":"https:\/\/kinqsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png","contentUrl":"https:\/\/kinqsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png","width":1470,"height":735},{"@type":"BreadcrumbList","@id":"https:\/\/kinqsta.com\/nl\/blog\/backups-plannen-voor-meerdere-sites-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinqsta.com\/nl\/"},{"@type":"ListItem","position":2,"name":"API","item":"https:\/\/kinqsta.com\/nl\/onderwerpen\/api\/"},{"@type":"ListItem","position":3,"name":"Backups plannen voor meerdere sites met Kinsta API"}]},{"@type":"WebSite","@id":"https:\/\/kinqsta.com\/nl\/#website","url":"https:\/\/kinqsta.com\/nl\/","name":"Kinsta\u00ae","description":"Snelle, veilige, premium hostingoplossingen","publisher":{"@id":"https:\/\/kinqsta.com\/nl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinqsta.com\/nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"},{"@type":"Organization","@id":"https:\/\/kinqsta.com\/nl\/#organization","name":"Kinsta","url":"https:\/\/kinqsta.com\/nl\/","logo":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinqsta.com\/nl\/#\/schema\/logo\/image\/","url":"https:\/\/kinqsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinqsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinqsta.com\/nl\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","https:\/\/x.com\/Kinsta_NL","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinqsta.com\/nl\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinqsta.com\/nl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","caption":"Joel Olawanle"},"description":"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.","sameAs":["https:\/\/joelolawanle.com\/","https:\/\/www.linkedin.com\/in\/olawanlejoel\/","https:\/\/x.com\/olawanle_joel","https:\/\/www.youtube.com\/@joelolawanle"],"gender":"male","knowsAbout":["JavaScript","React","Next.js"],"knowsLanguage":["English"],"jobTitle":"Technical Editor","worksFor":"Kinsta","url":"https:\/\/kinqsta.com\/nl\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinqsta.com\/nl\/wp-json\/wp\/v2\/posts\/60970","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinqsta.com\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinqsta.com\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/nl\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/nl\/wp-json\/wp\/v2\/comments?post=60970"}],"version-history":[{"count":6,"href":"https:\/\/kinqsta.com\/nl\/wp-json\/wp\/v2\/posts\/60970\/revisions"}],"predecessor-version":[{"id":61050,"href":"https:\/\/kinqsta.com\/nl\/wp-json\/wp\/v2\/posts\/60970\/revisions\/61050"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinqsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/60970\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinqsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/60970\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinqsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/60970\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinqsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/60970\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinqsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/60970\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinqsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/60970\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinqsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/60970\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinqsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/60970\/translations\/es"},{"href":"https:\/\/kinqsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/60970\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/nl\/wp-json\/wp\/v2\/media\/60971"}],"wp:attachment":[{"href":"https:\/\/kinqsta.com\/nl\/wp-json\/wp\/v2\/media?parent=60970"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinqsta.com\/nl\/wp-json\/wp\/v2\/tags?post=60970"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinqsta.com\/nl\/wp-json\/wp\/v2\/topic?post=60970"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}