Lab tool
GEO detector
It measures the seven rules everyone repeats, and it is the only one that tells you they are not proven.
It downloads a page without running JavaScript, the way the crawler that feeds the models sees it, detects each of the seven attributes with a deterministic criterion, and reports them next to the p-value each one got in the only study that put them to the test: 73 pages six engines had cited, split into 34 cited by two or more and 39 cited once.
Run it on your site
Up to 25 pages, five workers. Results appear as each worker finishes.
No JavaScript: the report is a page of this site whose response the server keeps open and writes to as it measures. It has its own shareable URL.
The criterion, attribute by attribute
This is what the detector actually checks. Published so anyone with the same HTML gets the same values.
Keyword at the start of the title
That the term you want to rank for opens the title, not that it appears somewhere in it.
measured as The <title> is taken, tags stripped, and the keyword looked for in its first 40 characters.
0.2058p
Keyword at the start of the h1
The same in the heading the reader sees.
measured as Same rule, applied to the page’s first <h1>.
0.1615p
Visible publication date
That you can tell when it was written.
measured as Counts if there is a datePublished or dateModified in the markup, an article:published_time, or a <time>.
0.6383p
FAQ block
Short questions and answers a model can quote verbatim.
measured as Counts either a FAQPage in the markup or the words «frequently asked» on the page. Either one.
0.7837p
Schema.org markup
Stating in machine-readable form what this page is.
measured as One application/ld+json block that parses is enough, or a schema.org itemtype.
0.1646p
URL without parameters
A stable, clean address.
measured as On the final URL after redirects: no «?» and not ending in .html, .php, .aspx or .jsp.
0.2432p
Text volume and subheadings
Enough body, broken into sections.
measured as h2 to h4 are counted, and the characters of the text with tags and scripts removed. Continuous figures.
The only continuous one: the study published medians and never ran a test on it. This is why there are seven p-values and not eight.
no test
Visible authornot on the list
That it is clear who wrote it.
measured as author in the markup, or itemprop="author", rel="author", name="author" or article:author.
0.0127p
How to run it today
The detector is the sixth module of my SEO audit toolkit. It takes URLs or a crawl file and prints one row per attribute with its verdict. Running it over the 72 HTML pages of this site is what produced the measurements in the article.
python3 geo.py https://tu-sitio.com/una-pagina/ \
--claves "tu,tema,principal"