Lee Foot

Google Algorithm Tracker

Scrape Google Search Status page for algorithm update history.

Launch the app → View the source

#about

BeautifulSoup scrapes Google's official Search Status Dashboard.

Keyword matching classifies into 10 named types plus Other: Core, Spam, Helpful Content, Product Reviews, Reviews, Link Spam, Page Experience, Site Reputation Abuse, Expired Domain Abuse, Scaled Content Abuse.

No API key required.

xlsxwriter Excel export.

Streamlit app

Platform
Browser-based (no installation required)
Input
No inputs required: scrapes directly from Google
Output
Table: dates, descriptions, type classifications. Metrics: total updates, core count, spam count, most recent. Bar chart: type distribution.
Category
Reporting

Use cases

  • Correlating traffic changes with updates
  • Staying current on Google changes
  • Algorithm impact analysis
  • Client reporting on algorithm history

#features

  • Official Google Search Status Dashboard source, no API key
  • 10 update type classifications via keyword matching, plus Other
  • Date filtering: all time, 30/90 days, year, custom
  • Multi-select type filtering (abuse types only visible under All)
  • Chrome User-Agent header
  • xlsxwriter Excel with type summary sheet

#how-to-use

  1. Click Fetch Algorithm Updates
  2. Filter by date range (all time, 30/90 days, year, custom)
  3. Multi-select update types to filter
  4. Review update timeline table
  5. Download CSV or two-sheet Excel (data + type summary)

#faq

Where does the data come from, and do I need any credentials?
It scrapes the history page of Google's official Search Status Dashboard (status.search.google.com) with a single GET request using a Chrome user agent. No API key or sign-in is needed, but the tool depends on Google keeping that page's HTML table structure, so a dashboard redesign would break it until updated.
How are updates classified into types?
By case-insensitive keyword matching against each update's summary text. There are 10 named types: Core, Spam, Helpful Content, Product Reviews, Reviews, Link Spam, Page Experience, Site Reputation Abuse, Expired Domain Abuse and Scaled Content Abuse. Mentions of the 'helpful content system' also map to Helpful Content Update, and anything matching no keyword is labelled Other.
Why can I not filter for the abuse update types?
The sidebar type filter only lists eight types plus All. Site Reputation Abuse, Expired Domain Abuse and Scaled Content Abuse are classified in the data but are missing from the filter options, so selecting specific types will exclude them. Leave All selected if you want to see abuse updates.
Why are some updates missing when I apply a date filter?
Dates are parsed from the dashboard in the '25 Jun 2024' format. Any row whose date fails to parse is kept without a date and is then dropped by every date filter except All time.

/contact

Want me to run this for you? I run this tool as a managed service, or build something custom around your data. You get the insights without touching the code.