Quick overview
This workflow audits a submitted website URL by extracting on-page SEO signals from the HTML, pulling Google PageSpeed Insights scores, and using Groq (Llama 3.3 70B) to generate a scored SEO report, then logs the results to Google Sheets and returns the audit via webhook.
How it works
- Receives a POST webhook request containing a JSON body with a target
url to audit.
- Fetches the page HTML for the provided URL and stops with an error response if no HTML is returned.
- Extracts on-page SEO signals from the HTML (title, meta description/keywords, headings, image alt coverage, links, canonical, robots, viewport, Open Graph/Twitter tags, schema, word count, and language).
- Calls the Google PageSpeed Insights API for mobile to retrieve performance, accessibility, SEO, and best-practices results.
- Combines the extracted on-page data with the PageSpeed results and sends it to Groq via a LangChain agent to produce a strict, structured JSON audit with scores, findings, fixes, and top priorities.
- Parses and validates the AI JSON output, appends/updates the audit record in Google Sheets, and returns the final audit JSON to the webhook caller (or returns a 400 error if parsing fails).
Setup
- Create a Groq API credential in n8n and select it for the Groq Chat Model used by the SEO analysis agent.
- Add Google Sheets OAuth2 credentials, then set the target Google Sheet document and sheet tab in the Google Sheets append/update step.
- Ensure your spreadsheet has columns to store the returned fields (for example: url, overall_score, summary, top_3_fixes, categories, timestamp).
- Copy the webhook URL from the Webhook trigger and send POST requests with
Content-Type: application/json and a body like { "url": "https://example.com" }.