Skip to content
← AI skills library
CursorAdvanced· 45 minutes· WebsitesFree

Build an SEO audit tool with Cursor

Use Cursor to build a script that checks a potential client's site for common issues so you can pitch them with specifics.

Last checked 22 October 2026

What you'll make

A reusable command-line script that takes a URL, fetches the page and reports common SEO issues: missing title or meta description, no structured data, slow response time, broken images, missing alt text. You'll use it to turn cold outreach into a specific, evidence-based pitch.

What you need

  • Cursor installed
  • Node.js installed (version 18 or later)
  • 45 minutes
  • Basic comfort with running terminal commands (Cursor will write the code, but you'll run it)

Steps

  1. Open Cursor, create a new project folder, and describe what you want:
Build a Node.js command-line script called seo-audit.mjs that takes a URL as an argument and checks the page for these SEO issues:
1. Missing or empty <title> tag
2. Missing or empty meta description
3. No JSON-LD structured data
4. No Open Graph tags (og:title, og:description, og:image)
5. Images without alt text
6. Response time over 2 seconds
7. No canonical link tag
8. More than one <h1> tag

Fetch the HTML using the built-in fetch API. Parse it with a simple regex or DOM parser. Output a clear report to the terminal: each check with PASS or FAIL and a short explanation. End with a summary count of issues found.

Make it a single file with no external dependencies (use only Node.js built-in modules).
  1. Run the script against a real website to test it:
node seo-audit.mjs https://example-business-site.com
  1. If the output is hard to read, ask Cursor to improve the formatting:
Reformat the output as a clean table with columns: Check | Status | Detail. Use colour in the terminal: green for PASS, red for FAIL. Add a summary line at the end: "X issues found on [URL]".
  1. Add the ability to save the report so you can include it in outreach emails:
Add a --save flag that writes the report to a text file named after the domain. So "node seo-audit.mjs https://example.com --save" creates example.com-seo-report.txt with the full report.
  1. Run it against 3 real business websites in your target niche. Use the results in your outreach: "I ran an SEO check on your site and found 4 issues — your meta description is missing, two images have no alt text, and there's no structured data. Here's the full report."

Check your result

  • The script runs without errors on a real URL
  • Each check produces a clear PASS or FAIL with a short explanation
  • The report is readable enough to paste into an email
  • The --save flag creates a file with the report

If the script crashes on certain sites, it's usually because the site blocks automated requests or uses JavaScript rendering that fetch can't see. Ask Cursor to add a user-agent header and a timeout. For JavaScript-heavy sites, the audit will be limited to what's in the raw HTML — that's still enough to find real issues for a pitch.

Get the next skill when it’s out

Something here out of date? Tell us.

New free skills and newly verified coaches, when they happen. No spam, unsubscribe any time. See our privacy policy.