How to Install ultimate-seo-geo: A Free SEO + AI Search Audit Report From GitHub

Tools

⊹

Step-by-step

⊹

Ultimate-seo-geo

Trigger Marketing

The Trigger team

⊹

Somewhere right now, an agency is charging a client real money for a PDF that says "your meta description is too long." You can make that report yourself, for free, in about 16 seconds.


Keep the money. Here's how.

ultimate-seo-geo is a free, open-source tool on GitHub. Its main script runs 23 checks at once and spits out a scored HTML report you can actually show a client. It covers old-school SEO and the newer AI search stuff (called GEO) in one pass.

Quick words (one line each):

  • GEO (generative engine optimization): getting your site quoted in AI answers like ChatGPT and Google AI Overviews.

  • Terminal: the text window where you type commands instead of clicking.

  • venv (virtual environment): a private sandbox folder for Python tools, so they don't mess with anything else on your computer.

  • JSON-LD schema: a small block of code that tells search engines facts like "this is a business, here's its name, here's its phone."

  • sameAs links: lines inside that schema pointing to your official profiles (LinkedIn, X and so on).

Step 1: Do a 60-second safety check

Never install a GitHub tool blind. Here's what ultimate-seo-geo showed when we checked it on 2026-10-27:

  1. Licence: MIT. Free to use, change and use for client work. Keep the copyright notice.

  2. Last update: 2026-10-01 (version 1.22.1), with 100+ commits since late July.

  3. Stars: 94 (as of Oct 28, 2026). Small, but not a ghost town.

  4. What it talks to: only the site you're checking, Google APIs that need your own key, and font links in the HTML report. It also has a safety guard that refuses to crawl private or internal addresses. Nice manners.

  5. What it installs: two Python packages, requests and beautifulsoup4. That's it.

Step 2: Download it (one command)

You need Git and Python 3. In a terminal:

git clone https://github.com/mykpono/ultimate-seo-geo.git && cd ultimate-seo-geo

Step 3: Install it in its own sandbox

python3 -m venv .venv && .venv/bin/pip install -r requirements.txt

These are the documented commands, written for Mac and Linux terminals. They create the sandbox and install those two packages inside it. Nothing else on your machine gets touched.

Step 4: Run the report

Swap in your own site:

.venv/bin/python scripts/generate_report.py https://example.com -o report.html --json summary.json

You get two files:

  • report.html: the pretty, scored report. Open it in a browser.

  • summary.json: the same results in a format other tools (and AI assistants) read easily.

On our test it took about 16 seconds and returned a score out of 100, a letter grade and 16 findings. Faster than finding the login for your paid SEO tool.

Only point it at sites you own or have permission to check.

Step 5: Fix the findings that matter

The 23 checks cover redirects, robots.txt, sitemap, AI bot access, security headers, social tags, Organization schema, local signals, broken links, internal links, duplicate content, page speed and more.

On our real test site, these were the findings worth fixing first (and a second free tool, gtm-engineer-skills, flagged the same missing schema):

  1. No Organization JSON-LD. Search engines got no clean "who is this business" facts.

  2. Phone, address and map on the page, but no LocalBusiness JSON-LD. Local business? Add it.

  3. No sameAs links, because there was no schema to put them in.

  4. A broken internal link pointing to a 404 page ("not found").

  5. Social descriptions too long: 236 characters, when the tool wants 200 or fewer.

  6. Missing security headers (CSP, X-Frame-Options, Referrer-Policy, Permissions-Policy).

That's a solid to-do list from one free command. Your move, agency invoice.

Step 6: Ignore the noise

  • llms.txt warnings and templates: skip them. Google's own Search Off the Record podcast laughed off the idea of an llms.txt PDF ("No, no, no. Just no.") and said "there's no llms.txt police, but I don't think it makes much sense" (0:01:03, 0:24:01, Oct 13, 2026).

  • Weird network results: if you run it behind a proxy or VPN, the safety guard treats that address as private. In our test that produced fake "robots.txt not reachable", "no sitemap" and redirect errors. Run it on a normal connection and double-check any of those three before you panic.

Step 7: Make it guard every launch (optional)

The script can fail a build if the score drops with --fail-under. Set it to 70 in your deploy check and a broken link, missing schema or bad title gets caught before the site goes live, not after a client emails you.

Step 8: Know what's free and what isn't

  • Core report: free. MIT, no account, no key.

  • Optional: a free Google PageSpeed Insights API key for speed scores, a Search Console / GA4 login for real traffic data, and paid extras (Firecrawl, DataForSEO) only if you want them.

Do this today

  1. Run git clone https://github.com/mykpono/ultimate-seo-geo.git && cd ultimate-seo-geo.

  2. Run python3 -m venv .venv && .venv/bin/pip install -r requirements.txt.

  3. Run .venv/bin/python scripts/generate_report.py https://yoursite.com -o report.html --json summary.json.

  4. Open report.html and fix schema, broken links and long social descriptions first.

  5. Ignore the llms.txt nagging. Google already shrugged at it.

Related reading

Sources

Don't worry if this seems like it's a pain in the ass for someone who doesn't build websites. That's because it is. The good news: just click the link below, pull the trigger, and we'll take care of the rest.

Share This Article

More
news

More
news

Pull the Trigger.

It costs more if you don’t.

Pull the Trigger.

It costs more if you don’t.

Pull the Trigger.

It costs more if you don’t.