E1 · Download and test
10 minClone inemaseo-sistemas and run the tests for the 5 tools.
Done when: the terminal shows OK five times, once per tool.
Lesson 1 · 14 min
An SEO suite pulls together, on one screen, data from very different sources: your own site, official Google and Bing dashboards, and data the company buys or scrapes. You get the first two for free. Knowing where each number comes from is what separates what you can build yourself from what only exists as a paid product.
Start the lesson
Goal: separate, function by function, what your site gives you for free from what only exists with paid data, and install the 5 open tools.
From top to bottom: from data that is only yours to data that someone sells. Tap each layer.
The first four layers belong to your site and come free. The last one is market data: someone collected it and charges for it.
The functions suites sell, and the open substitute for each one.
Paid tools mix clickstream, SERP scraping, and the Keyword Planner. For free you get your site's real queries in Search Console, autocomplete, and Google Trends.
Trends is a relative index, not a count of searches. Exact volume does not exist for free.
Search Console shows only the searches your site has already appeared in, and it hides rare queries (the "anonymized" ones).
Search Console gives your site's real average position for each query. Tracking competitors' positions requires scraping Google, which violates the terms and gets blocked.
For your own site, free is enough.
Crawler, canonical, hreflang, schema, broken links: it all comes from your HTML. This course's auditor does the essentials; Core Web Vitals live in PageSpeed and CrUX, free.
It doesn't run JavaScript on purpose: it shows what a bot that doesn't render sees.
AI citation: the official, free option is Bing AI Performance. Paid monitors run a list of questions through the AIs; that's a sample, not an official score.
Full backlinks, with anchor and URL, only in paid tools. The Common Crawl web graph gives a rough view, by domain and months behind.
A local model (Ollama) doesn't measure what ChatGPT, Gemini or Perplexity answer: it has neither their search nor their index.
Just Python 3.10+ with the standard library. Nothing to install besides git.
git clone https://github.com/inematds/inemaseo-sistemas && cd inemaseo-sistemas python3 --version
for t in ferramentas/*/; do [ -d $t/tests ] && python3 -m unittest discover -s $t/tests; done
# What I want to know about my site — <yoursite.com> — <mm/dd/yyyy> | question | source | free? | tool / lesson | |---|---|---|---| | how many non-branded searches find me | Search Console | yes | gsc-historico (lesson 4) | | does Microsoft's AI cite my pages? | Bing AI Performance | yes | bing-ia (lesson 5) | | what is broken in the HTML | the site itself | yes | auditor (lesson 2) | | which AI bots read me | server log | yes | botlog (lesson 6) | | how many people search <term> per month | purchased data | no | lesson 8 |
The tests for the 5 tools, in folder order (agente-ready, auditor, bing-ia, botlog, gsc-historico), no network:
Ran 10 tests in 0.004s OK Ran 17 tests in 0.004s OK Ran 11 tests in 0.260s OK Ran 14 tests in 0.060s OK Ran 10 tests in 0.439s OK
python3 --version.Keep the table: it becomes your tool plan in lesson 8.
Clone inemaseo-sistemas and run the tests for the 5 tools.
Done when: the terminal shows OK five times, once per tool.
Fill in the "my questions × source" table with at least 5 questions you want to answer about your site (or a client's).
Done when: each question has its data source and is marked free or not; at least one is "no".
The explanation shows up after your answer.
Question 1 of 4
Which of these data does NOT exist for free with an exact number?skill
Question 2 of 4
Why isn't Search Console alone enough to see how things evolve over years?
Question 3 of 4
A paid AI monitor says your brand shows up in 30% of answers. What is that?
Question 4 of 4
Can you use a local model (Ollama) to measure whether ChatGPT cites your site?
Pick an option. The explanation appears after you try.