n8n workflow - Automatische Google Pagespeed controle
In deze handleiding leggen we uit hoe je op basis van een Google sheet automatisch de Google Pagespeed scores van websites kunt uitlezen, en deze updaten binnen de sheet zelf. Inclusief notificatie voor sites die onder de 90 score uit komen.
Download de volledige workflow hier
Benodigdheden
- Een n8n personal server of hoger (zie https://www.hoasted.com/hosting/n8n-vps/)
- Een Google sheet met daarin een lijst van domeinnamen om te controleren (voorbeeld)
- De community node van Google PageSpeed (aan te vragen via support@hoasted.com)
- Een Google Sheets API Client ID en Client Secret (meer uitleg in deze handleiding)
- Een Slack API key met rechten om te posten in een channel (meer uitleg in deze handleiding)
Trigger toevoegen
Om de workflow aan te roepen is een trigger nodig, waar we in dit geval een dagelijkse trigger voor gebruiken. Deze zal iedere dag om 10 uur in de ochtend starten, waarna de rest van de workflow in gang gezet zal worden.
Klik aan de rechterzijde op het + icoontje, en zoek hier naar ‘Schedule Trigger’. In dit geval stellen we het zo in dat deze eenmaal per dag draait, om 10 uur ‘s ochtends.
Domeinen uitlezen vanuit een Google Sheet
Om de lijst met domeinnamen welke de workflow dient te controleren op te halen gebruiken we in dit geval een Google Sheet. Hier kan eventueel ook een Notion document, of een andere lijst naar wens voor gebruikt worden.
Voeg een Google Sheet node toe met de actie ‘Get row(s) in sheet’.
Open de node en selecteer de credentials, of maak nieuwe credentials aan (zie ook deze handleiding voor het aanmaken van nieuwe Google Sheet API credentials)
In dit voorbeeld gebruiken we een simpele sheet met een kolom genaamd ‘Domein’, waar de lijst van domeinnamen in vermeld worden. De overige kolommen kun je als onderstaand invullen, of via ons voorbeeld document downloaden.
Configureer de Google Sheet node zodat deze het juiste document opent, en selecteer de bijbehorende sheet.
Zodra je deze node uitvoert zal aan de rechterzijde een overzicht van de domeinnamen komen te staan welke in de sheet aanwezig zijn. De overige velden zullen voor nu nog leeg zijn.
Loop over de velden heen met een 'Loop over items' node
Voeg een ‘Loop over items’ node toe aan de workflow. Deze zal per rij uitgevoerd worden, waardoor we per domein de Google PageSpeed test kunnen uitvoeren. Zet de batch size hiervoor op '1'.
Google PageSpeed node
Voeg de Google PageSpeed node toe aan de workflow, en configureer deze als onderstaand. Mocht deze node nog niet aanwezig zijn in jouw omgeving neem dan contact op met support@hoasted.com. Dan voegen we deze kosteloos voor je toe.
Voor de configuratie gebruik je bij 'URL' het domein veld uit de sheet en kies je voor 'Analyze single URL'. Indien gewenst kun je ook enkel voor mobiel of juist enkel desktop kiezen. In dit voorbeeld kiezen we voor beide.
Update row in sheet
Voeg vervolgens een node toe om de sheet te updaten. Gebruik hierbij de kolom 'domein' om de data te matchen, en sleep de overige variabelen naar de juiste velden.
Optioneel: Verzend Slack notificatie bij desktop score lager dan 90
Wanneer je meldingen wilt ontvangen op het moment dat de score onder een bepaald niveau komt (in ons voorbeeld 90), kun je de update sheet node verbinden aan een IF node. Verbind vervolgens de 'False' branch weer terug naar de 'Loop over items' node, en de 'True' branch aan de Slack node.
Verzend een Slack notificatie
Om de notificaties te versturen kun je een nieuwe ‘Slack’ node toevoegen aan de IF node. Op die manier zal deze gestart worden op het moment dat de desktop score van een bepaalde site onder de 90 komt. Verbind vervolgens de Slack node weer aan de 'Loop over items' node.
Meer informatie over het aanmaken van deze credentials kun je vinden in onze handleiding over het aanmaken van de Slack API.
Slack notificatie zodra alle sites zijn gecontroleerd
Om alles af te ronden voegen we nog een notificatie toe zodra alle sites zijn doorlopen. Hiervoor kun je een nieuwe Slack node toevoegen aan de 'Done' branch van de 'Loop over items' node. Zodra de loop voorbij is kunnen we dan een notificatie verzenden.
Resultaat
Dagelijks om 10 uur zullen nu alle sites uit het overzicht automatisch gecontroleerd worden, en de desbetreffende scores worden geupdate binnen de Google Sheets. Mocht er tijdens de controle een site naar voren komen waarvan de desktop score lager dan 90 is wordt hier tevens een Slack notificatie voor verzonden.