Skip to content

geo-score 1.8.3

Latest

Choose a tag to compare

@vortwang vortwang released this 15 Oct 02:00
· 5 commits to main since this release

Scoring is unchanged: the two CLI files differ from 1.8.2 only in __version__, so rubric v1.1, every check, tier
and weight, and the leaderboard (measured with 1.5.0) are as they were. This release adds round 0's results and
documentation.

Added

  • Round 0 of the preregistered study: wave 0's results. Collected 2026-10-12 to 14 and analysed with the code
    fixed before collection: no association was detected between readiness and being cited (P1: T = 0.07, 95% interval
    −0.19 to 0.34, p = 0.51, 14 categories); the design could detect a T at least as large as 0.29. S1, S2 and S4 were not
    significant after Holm's correction, and S3 was not estimable. Gemini's free tier allowed 20 grounded requests a day,
    not the roughly 500 the amendment assumed, so every Gemini run stopped and the analyses rest on one engine (1,280 answers),
    below the plan's minimum of two. benchmark/prereg/round0/ now holds the data (33 run files, both readiness runs, the
    collection log), results-wave0.json and RESULTS-wave0.md (+ zh) with every deviation and its reason; the plan is
    not edited, and VALIDITY.md (generated by validity.py from the results file) and the READMEs link the results.
  • The README answers "how accurate is it?" in one table: the 1.8.0 retest, recomputation, agreement with a person reading the rubric, weight sensitivity, and the preregistered test of whether higher-scoring sites are cited more often, each linked to its record (README.zh-CN.md too).
  • Five candidate diagnostics, reported and never scored, are written down before any code (rubric/open-questions.md
    • zh, questions 12 to 16): canonical (missing, all pointing at the homepage, or keeping utm_source=chatgpt.com), soft
      404, a homepage that redirects by language, the same plan priced differently on two pages, and the homepage's HTML
      weight. Each states its basis, its false-positive risk, its fixtures and how to check it by hand. Rubric v1.1 and every
      score are unchanged; implementing one is a normal release, outside the score.
  • Two public examples: a robots.txt that lets the ten retrieval crawlers in, and an Organization and WebSite
    JSON-LD object
    (guide/public-examples.md + zh). They are public knowledge (vendor crawler names, schema.org
    vocabulary), the one exception to "remediation is private"; no other fix template is published.
    scripts/test_public_examples.py reads both with the CLI's own code (g.robots' top tier; the fields
    p1.organization reads), and validate.py rule 2 allows one JSON code block on those two pages and nowhere else.
  • Two guides for readers (English and Chinese, linked from the READMEs): guide/chatgpt-access.md, how to check
    whether ChatGPT can read a site, by hand first (robots.txt, requests as OAI-SearchBot, ChatGPT-User and a
    browser, text in the server HTML, the layer in front of the site) and then with geo-score; and
    guide/vs-ai-seo-skills.md, how a published rubric with code differs from a general AI SEO skill, naming no other
    project. scripts/test_public_examples.py holds the guide's user-agent strings to the ones the CLI sends.
  • The READMEs show how to add an optional "Scored with geo-score" badge to your own README with --badge, linked
    to this repository or the leaderboard, and say plainly that a badge or a link back never moves a score and never
    decides whether or where a site appears on the leaderboard.

Changed

  • The READMEs open with what geo-score is and who makes it: an open-source AI visibility (GEO) scorer for
    websites, by Jianrun Tech, formerly geo-watch (geo-watch merged into it in 1.2.0). CITATION.cff carries the same
    abstract and the old name. pyproject.toml's description, the package's summary on PyPI, says so too; PyPI shows the
    summary of the version it serves, so it changes there with the next release.

Removed

  • Gemini's grounded answers are out of round 0's published run files. The Gemini API terms for Grounding with
    Google Search do not allow storing, republishing or analysing grounded results, so
    benchmark/prereg/round0/redact_gemini.py removed the answer text, links, search queries and everything computed
    from them from Gemini's 70 answers, keeping each request's question, status, usage and timing. None of those answers
    entered the analysis (every Gemini run stopped on the free tier's quota), so the results are unchanged; both results
    pages say what was removed and why.

Verify downloads: shasum -a 256 -c SHA256SUMS.
中文更新日志:https://github.com/jianruntech/geo-score/blob/v1.8.3/CHANGELOG.zh-CN.md