Changelog
What changed on SEO Bandwagon: new pages, tools and fixes, newest first, dated by the day each one shipped.
Follow it in a feed reader: Atom feed.
November 2026
SEO, Spam, and the 22-Year Battle for a Profession’s Good Name: the Wikipedia study, told as a story
The talk-page study now opens with the scene that started it, Wikipedia guarding its article on SEO from SEOs, then asks whether its editors thought SEO was spam and answers from the counts. The history that follows runs from 2002 to 2024 with each editor named, linked and quoted, every quote linked to the diff or log entry it comes from, and five open CSV files behind the figures.
Figures under Google results: the free plan counts 20 searches a month
On the free plan, a search that needs new figures under its Google results now counts against 20 a month instead of 20 a day; Pro stays at 250 a day. Figures looked up for a page or site within the last 30 days still show without counting. POST /api/v1/serp/metrics now says which in allowance.period, day or month.
GEO, AEO, and the battle for AI Marketing Supremacy: the takedowns, from the beginning
The GEO and AEO study now opens with how Wikipedia kept taking down the article on getting cited by AI because AI wrote it, from the first article in February 2025, with each editor named and quoted. It also compares the first draft, the first approved version and every version taken down, by links and by wording. Three new CSV files bring the free downloads to twenty-five.
A study scope on API keys, for the AI Overview study's invited members
A new API key scope, study, lets a key read the day's searches for the AI Overview study, send the Export CSV of one of them, and stop for the day, through GET /api/v1/aio-study/today, POST /api/v1/aio-study/captures and POST /api/v1/aio-study/stop. It is for people we invite: an account joins on the study page of its dashboard, and an account that has not joined gets no searches and cannot send. The Chrome extension connect flow now includes the scope, so an extension key made before it needs the extension connected again. What a member sends goes to the study under a study code, never into the account's captures, history or keyword data, and these routes record no account activity.
Back from an app you just connected no longer reopens the consent page
When you allow or deny an app on the "Connect an app" page, that page now leaves your browser history, so pressing Back in the app, such as the chat at chat.seobandwagon.com, no longer asks you again. A request you already answered in this browser now says so and links back to the app.
New research: GEO and AEO on Wikipedia
Who named AI search optimization and which name won, told from the beginning. Wikipedia chose generative engine optimization on February 26, 2026; the page dates every creation, deletion and redirect behind it, compares what people search for each name, and shows how ChatGPT, Gemini and Claude search them. Twenty-two CSV files are free to download, and every claim links its source where it is made.
API answers with keyword data for a Google search, and a way to add a keyword to your rank tracker
POST /api/v1/keywords/metrics answers, for a Google search and up to 49 related searches and questions, DataForSEO's monthly search volume, cost per click, competition, keyword difficulty and 12-month trend, in the search's country and language, with your own rank history for the search when your rank tracker follows it. Figures are kept for 30 days, and a search that needs new ones counts against your plan's allowance: 20 a month on the free plan, 100 a day on Pro. POST /api/v1/keywords adds a keyword to one of your rank trackers. Both need a key with the keywords scope, which the Chrome extension connect flow now includes.
An API answer with the figures for each result of a Google search
POST /api/v1/serp/metrics answers, for up to 10 results of one Google search, DataForSEO's referring domains, backlinks, rank, estimated organic traffic and ranking keywords for each page and its site, the site's domain age, and your own on-page checklist score for pages you captured. Figures are kept for 30 days, and a search that needs new ones counts against a daily allowance on your plan. It needs a key with the new serp scope, which the Chrome extension connect flow now includes.
October 2026
Rank drops in the Chrome extension’s new tab are listed by search volume
The rank drops in the Chrome extension's new tab, and in GET /api/extension/progress, now list the keyword with the most monthly searches first, and keywords with no search volume last. Among keywords with the same volume, the one that fell from the highest position still comes first.
Rank drops in the Chrome extension’s new tab open their drop page
Each "left the top 10" task in the Chrome extension's new tab now opens that keyword's drop page, which shows what your own data says about why it dropped and how to fix it, instead of the rank tracker list. GET /api/extension/progress also lists up to five rank drops per tracker, each with the page of yours that lost the keyword, the page that ranks now, who holds the old spot when it was in the top 20, and the first issue in your latest Chrome extension analysis of that exact page, and the biggest movers now name the page that ranks.
A client’s live Search Console shows only while they are an active client
The Search Console panels on a client's report, and the MCP Search Console tools that take a client record id, now read that record's Search Console only for an active client; admins can still read any record. Someone linked to a prospect record sees their audit report, and the panels say Search Console is not connected.
MCP Analytics tools can read a client record, and find a site’s property
A new MCP tool, ga4_site_property, says which Google Analytics property one of your Search Console sites uses: the property you chose for it on the Chrome extension's welcome page, else the one property whose data stream is that site's address, else your only property when that site is your only one. The GA4 report tools, and the tool that joins Search Console to Analytics page by page, now also take a client record id in place of a property id. They then read the Analytics property saved on that client record: admins can read any client, anyone else only the active client record linked to their own account, and apps connected through OAuth also need permission to see client records.
Link Building results count only your own spend
The measured spend on Link Building's Results, in the Chrome extension's side panel and on the dashboard, now adds up only the jobs run for your account. It had been counting jobs run for other accounts too, so an account that never ran one saw a figure above zero.
The Chrome extension’s welcome page walks you through setup
The page the extension opens when you install it is now a checklist. It shows whether the extension is detected, whether you are signed in, and whether Search Console and Analytics are connected, then takes you through four steps: sign in with Google, connect Search Console and Analytics, choose your site and Analytics property, and link the extension to your account. Choosing a site saves it to your account and starts nothing else. The page also offers our two free Chrome themes, Neon Night and Neon Day.
A report link no longer links a client to your account on its own
Opening a search report from the link we send you shows the report as before. When we hold Search Console access for that client, the link alone no longer ties the client to your account: the report page now says so and asks you to have us link it to your email address, or you can sign in with the contact email we have on file. A draft website for such a client is claimed the same way, by the email we invited or hold on file.
MCP Search Console tools can read a client record
Eight Search Console tools on the MCP server, among them the totals, top queries, top pages and URL inspection tools, now take a client record id in place of a site address. They then read that client's saved Search Console property: admins can read any client, anyone else only the client record linked to their own account, and apps connected through OAuth also need permission to see client records. A new account_whoami tool tells SEO Bandwagon's own apps who is signed in; other apps get the plan from account_plan as before.
The free audit starts where you are
Pages that had a "Run your free audit" button, which took you to the home page, now have a small field for your website address instead: type it, press Scan, and the site audit runs from there. That covers the research reports, the blog, the glossary, the free tools, the industry, service and real estate pages, the city ledgers and the home page. Text that is not a website address gets a note saying what to type.
Dashboard bar charts name their bars
The bar charts on the dashboard, such as Top Keywords and Top Domains on the overview, now name each bar and show their scale. They had been drawing every bar in one place with no labels.
The dashboard has a light mode
The sun and moon button in the menu bar now switches the dashboard too, and the dashboard opens in the theme you picked for the rest of the site, or in light if your device is set to light and you never picked one. Text, status colors and charts were redrawn for both themes, so faint labels are easier to read in dark mode as well.
Leads and sign-ups keep the campaign that brought them
If you arrive from one of our Google ads, the first-visit cookie now also keeps the click identifier Google adds to the link, and a message sent through the contact form is saved with how you found us, as a new account already was. The sign-up event sent to Google Analytics never carries the ad click identifier. The Privacy Policy and the Cookie Choices page say so, and now name Cloudflare Web Analytics, which counts page views and page speed without storing anything in your browser. Rejecting the cookie banner still deletes the first-visit cookie and stops it being set.
Sign-ups and sign-ins count with the visit that led to them
When you create an account or sign in, the event the site sends to Google Analytics now carries the identifier Google Analytics keeps in your browser if you accepted the cookie banner, so it counts as part of your visit; otherwise it carries no browser identifier. Rejecting the banner, or resetting your choice on the Cookie Choices page, now also deletes the Google Analytics cookies an earlier Accept left behind. The Privacy Policy says so.
A home page that shows everything we do
The home page now shows the whole offer: local, technical and AI search, reviewed content for law, dental and healthcare, paid ads management, and the free tools and software, with a section for small business owners, agencies and freelancers and a link to every industry page. The audit box says a scan needs a free account before you start one, the plans are one click from it, and the services a person does sit under the plan cards. Shared on social media, the home page and every page without its own card now say "SEO that actually works."; the local SEO page's card says "Local SEO that actually works." Pro's keyword allowance now reads "More keywords than Free" everywhere it appears.
An API answer with your rank tracking summary and tasks
GET /api/extension/progress answers, for each rank tracker, how many keywords sit in the top 3, 10 and 100 and how many moved up or down over the last 7 or 28 days, the biggest movers, your latest client audits, and up to five tasks worked out from that data: a keyword that left the top 10, rank checks that failed or missed four times running, and a tracker with no Search Console property. It needs a key with the new progress scope, which the Chrome extension connect flow now includes.
Keyword searches show intent and suggestions, and are saved
A keyword search now shows the search's intent, with how confident it is, and Google's autocomplete suggestions for it. The intent had read Unknown and the suggestions had been empty on every search. A signed-in keyword search is now saved with its search volume, cost per click, competition, monthly trend, intent and related keywords, so opening it again shows them; a search whose volume came back had not been saved at all. Competition now shows Google Ads' competition index as a percentage beside its label.
The monthly SEO packages page, for agents and for sharing
The monthly SEO packages page now has a markdown copy for AI agents at its address plus .md, with both packages, the side-by-side comparison and its questions, and llms.txt lists it. Shared on social media, it shows its own card with both packages and their prices. The pricing page, the local SEO page, the home page and the industry pages that sell the SEO Services retainer now link to it.
Sign-in brings you back to what you were doing
The sign-in page now says "Welcome back" only to a browser that has signed in before, and if you are already signed in it sends you on to the page you were headed for instead of showing the form again. A rank check started on the rank tracker page while signed out now goes to sign-in and comes back with your keyword and domain filled in, then runs the check. A saved search opened while signed out comes back to that search after sign-in. Searches phrased as a question or starting with words like best, top or find, such as "best plumber in raleigh", now run as keyword searches, since the AI-query report is not built yet. The daily scan limit and the rank tracker's keyword limit now link to Pro.
Keyword expansion adds keyword ideas
Expanding a page's keywords now adds keyword ideas, marked Ideas: up to 100 searches DataForSEO relates to the page's top query, each with its search volume, cost per click and competition. The request for them had been refused on every expansion, so none came back.
Domain scans list ranked keywords and competitors
A domain scan now lists the keywords the site ranks for, with each one's position and search volume, and the domains that compete with it for the same keywords. Both lists had shown a single blank row on every scan. The ranked keywords figure now counts every keyword the site ranks for, not only the ones listed, and a site no longer appears as its own competitor.
Domain scans show Lighthouse scores and WHOIS
A domain scan now shows the site's Lighthouse scores for performance, accessibility, best practices and SEO, and its WHOIS record: registrar, creation date and expiry date. Both had come back empty on every scan. The scan's audit now counts the Lighthouse performance score too. Through the API, the scan's answer also carries the registry's own RDAP record of the registrar and dates, as a separate rdap block beside whois, since the two sources can differ.
Agents can start a Pro purchase through UCP and ACP
AI agents that speak the Universal Commerce Protocol or the Agentic Commerce Protocol can now open a checkout for Pro. The agent gets a link for you: you sign in, pay on Stripe's page as before, and the agent's checkout then shows your order, and you get an email confirming it. The protocols find us at /.well-known/ucp and /.well-known/acp.json, and /buy/pro:1 is a direct link to buy Pro.
The monthly SEO packages, side by side
A new page sets the two monthly local SEO packages, Agentic Local and the SEO Services retainer, side by side: what each costs, who does the work, what a month of Agentic Local does, and what other agencies charge. It lives at the address the old packages page had, so old links and bookmarks reach it again, and the SEO services page links to it.
Your scans keep their SEO score
A signed-in domain scan now keeps its SEO score with the scan, so the next scan of the same domain can show whether it moved. The update beside your profile picture shows your latest scanned domain's score and its change since your previous scan of that domain, when you are not tracking keywords.
A cut-short results page no longer counts as a drop
Google sometimes stops a results page early, and the rank tracker used to record a domain missing from those few pages as out of the top 100. A check that comes back with under half the results it asked for, without your domain, now counts as unanswered: the keyword keeps its last position and is checked again. A search that comes back short three times in a row really has that few results, and only then is the miss recorded.
Connect Google Analytics from the dashboard
The Google Analytics 4 card on the dashboard now shows whether your Google connection includes Analytics access, and its Connect button opens Google's consent screen to grant it. It used to send you to the Clients page to enter a property ID.
The cookie choice now covers our ads
The cookie banner and the Cookie Choices page now say that the one choice covers analytics and advertising: accepting lets SEO Bandwagon show its Google Ads to past visitors on Google services such as Gmail, and rejecting keeps both off. The Privacy Policy has a new Advertising section describing what Google Analytics and Google Ads do with it and how to opt out.
Agents can verify a domain in Search Console
A new MCP tool, gsc_verify_domain, verifies a domain in Google Search Console and adds it as a Domain property: it gets Google's verification record, adds it to the domain's DNS in your connected Cloudflare account, has Google verify it with your own Google account as owner, and can submit a sitemap. It reports each step and can be run again safely. It needs the Google site management connection and a Cloudflare connection, both on the Connect page; Google shows a notice that it has not reviewed the site management access yet.
Scheduled rank checks run through the queued API
The rank tracker's scheduled checks now go through DataForSEO's queued API from a Cloudflare cron, in runs of up to a hundred keywords, instead of a weekly job that checked one keyword at a time and could not finish. Each keyword keeps its cadence. Position history, including the rank_tracker_history MCP tool, now answers only for keywords you track on that domain, and adding a keyword from the public rank check respects your plan's keyword allowance.
Track a domain in a chosen market
The rank tracker now reads Google as a searcher in a chosen market would: each tracked domain can be tracked in a country, in a place within it found from Google's own list of places, in a language and on a chosen device, and each market keeps its own keyword list, positions and history. Search volume and keyword difficulty follow the market. Agents get a rank_tracker_trackers tool and can read keywords and history for one market.
The Chrome extension comparisons become alternative pages
The pages comparing the SEO Chrome extension with Detailed SEO Extension, Ahrefs SEO Toolbar and SEO Minion are now alternative pages, at /seo-chrome-extension/detailed-seo-extension-alternative and the like. Keyword Surfer, a keyword research tool that does a different job, keeps a comparison. The old /seo-chrome-extension/vs/ addresses, and their markdown copies, redirect to the new ones.
The Chrome extension’s roadmap, on its page
The SEO Chrome extension page now has a roadmap: what each release shipped since 1.5.0, the candidates for the next feature release, the smaller fixes queued and what the extension will not do. The markdown copy carries it too.
The Chrome extension comparisons describe the current extension
The comparisons of the SEO Chrome extension with Detailed SEO Extension, Ahrefs SEO Toolbar, Keyword Surfer and SEO Minion now describe the extension the Chrome Web Store serves, and each other extension was checked again against its own listing and documentation the same day. Each table adds broken links, redirects, hreflang return tags, rendering, user-agent switching, structured data checks and Google results tools, and where the other extension’s own pages neither claim nor rule out a capability, it says “Not stated” instead of “No”.
Search Console date ranges cover exactly the days they name
The dashboard's Search Console ranges each read one day more than their name, so a 28-day total summed 29 days of clicks and impressions. Each range now covers exactly its number of days, so totals read about a day's worth lower than before, and the client report, the rank tracker's Search Console positions and the query trend comparison use the same exact ranges.
Saved searches reopen with their results
A search answered from a recent copy of the same search now keeps its own results, so reopening it from History, Saved searches or the dashboard shows the figures you saw instead of blanks.
Client reports show Search Console data without your own Google login
The client report in your dashboard now reads Search Console through the access our team holds for your site, so clicks, impressions, top queries and top pages show without connecting a Google account of your own. When Search Console is not connected for a site, the report says so instead of showing empty panels.
A video tour of the Chrome extension
The SEO Chrome extension page now shows the extension at work in a short video: Core Web Vitals, schema markup and broken links on any page, and local citations checked across directories. It has captions, and its transcript is on the page and in the markdown copy.
The Chrome extension page covers link, indexability and hreflang checks
The SEO Chrome extension page now describes the current extension: broken links grouped by HTTP status, redirects and indexability, hreflang return tags, what JavaScript changed on a page, and structured data checked field by field, beside the score and the on-page checks. Its comparison with three other extensions adds broken links, hreflang return tags and user-agent switching, each checked against that extension’s own store listing.
The Wikipedia jargon study has a new address
History of SEO Terms and Jargon on Wikipedia now lives at /research/history-of-seo-terms, in the words of its title. Links to the old address, /research/how-spamdexing-became-seo, still arrive at the study.
The SEO company price list moves to the end of its page, for signed-in users
On SEO companies that publish their prices, the table of agencies, their published prices and the links to their pricing pages now sits at the very end of the page and is shown to signed-in users; a free account is enough. The percentiles, what each price band buys, how the list was made and the questions stay open to everyone, and so does the markdown copy, which now describes the list instead of printing it. The CSV of the rows is shown to signed-in users too.
New research: Google Review Statistics 2026
Review statistics from one weekly Google Maps sweep across 54 US metros: how reviews split across 1 to 5 stars, how rare a perfect 5.0 is at each review count, how many reviews businesses gain between weekly sweeps, and figures for the largest business categories and every metro. Every figure carries its sample size, and the methods are on the page.
Every free tool on one page
A new page at /tools lists the free tools with what each one does, and shows how the latitude and longitude lookup, the Place ID finder and the local rank checker pass their results from one to the next. Each tool page now describes itself to search engines as free software. Agents can read the markdown copy at /tools.md.
The Place ID finder works again, with a review link
The Place ID finder looks businesses up again. Each result now gives the link that opens Google's review form for that business, a Google Maps link and copy buttons, and pasting a Place ID you already have builds the same links with no account. Looking a business up by name, and running a local rank scan, now need a free account and count against a daily allowance.
A Google review link generator, with a QR code
A new free tool makes the link that opens Google's review form for your business, and a QR code for it to download as PNG or SVG. Paste a Place ID you already have and the link and QR code are built in your browser with no account. Looking the business up by name and city is free with a free account. Agents can read the markdown copy at /tools/google-review-link.md.
September 2026
The SEO companies that publish their prices
A list of the US local SEO agencies that publish a monthly SEO price, in price order, with each price, the page it came from and the day it was read, the percentiles across them, and the same rows as a CSV. Agents can read the markdown copy at /seo-companies.md.
New guide: Search engine basics
How search engines work, in plain English: what a search engine is, crawling, indexing and ranking, what a results page holds, and what a search engine needs from your site. Every term links to its glossary entry, and every date and figure carries a numbered source. Agents can read the markdown copy at /search-engine-basics.md.
Connect Claude and other MCP clients by signing in
The MCP server has a sign-in address, mcp.seobandwagon.com/mcp: an MCP client such as Claude signs you in on seobandwagon.com and asks what it may do, with no API key to copy. Connected apps in your dashboard lists every app you allowed, with a Remove button, and API keys keep working.
Dead links cleared from older blog posts
Links in older posts that led to pages that no longer exist were removed, with their text kept, and links that went through a redirect now point straight at the page.
Fixed the "other metros" links on metro industry pages
Each metro's industry page now links to the same industry in similar metros. Those links had been rendering empty.
Corrected analysis pages about the wrong subject
Two Wikipedia analysis pages covered the wrong article. They now point to the right ones: Danny Sullivan the search journalist, and Conductor the SEO company. Two pages about people Wikipedia has no article on were retired to the index.
New research: When SEO Was Spam
How Wikipedia's editors framed search engine optimization across 22 years of talk-page debates, with every quote linked to the revision it comes from.
A second edition of the Wikipedia jargon study
The study of SEO terms on Wikipedia adds a second edition on a wider set of articles, and the glossary dates more of its terms from it. The first edition's published figures are unchanged.
The SEO glossary, linked across the site
The glossary is in the navigation, and its terms are linked where they come up on the service pages, blog posts and metro pages.
The first glossary term pages
Two terms now have full pages, each reviewed before it went live: What is llms.txt? and What is a local citation?
Corrected the Core Web Vitals targets
The technical SEO page gives the thresholds as web.dev defines them: 2.5 s or less for LCP, 0.1 or less for CLS and 200 ms or less for INP. It had said "under" each one.
The SEO glossary, rebuilt
Every term is defined in plain English and grouped by topic, with an A to Z index, and many terms carry a date measured from Wikipedia's record.
A complete site map
The site map lists every public page, with a Copy button for each link and links to the markdown copies. The XML sitemap and llms.txt are built from the same list.
A favicon
The site has a favicon and app icons: our SB monogram, pink on navy.
Files & Photos in the dashboard
Clients can upload photos, a logo and documents for their project from the dashboard instead of sending them by email. Only the client and our team can see them.
Rank tracker: background checks and keyword controls
Position checks started from the dashboard run in the background and show their progress. You can pause and resume keywords, set a keyword's target page, and delete keywords in bulk.
Rank tracker: fewer missed positions, and Search Console import
A position found in partial search results now counts instead of being dropped. You can import keywords from Search Console, and a new column shows each keyword's change over the last 7 days.
Find a page
A search box in the navigation finds any page on the site by its name.
Real estate SEO, metro by metro
The real estate SEO hub is rebuilt, with a page for each metro that passes our quality checks, built from that market's own search data.
Suggestions in the search box
The search box suggests keywords and metros as you type, and choosing a metro takes you straight to its Search Ledger page.
Rank tracker: see what moved
After a position check, the dashboard lists which keywords moved, and says so when a check fails instead of failing silently.
A rebuilt Chrome extension page
The extension page shows what it checks, how it works, how it compares with other extensions, and answers to common questions.
Revocable API keys
Revoke an API key from the dashboard and it stops working at once. The MCP server accepts only keys that carry the mcp scope.
Self-serve API keys
Create your own API keys, with scopes, in the dashboard, and connect the Chrome extension to your account in one click.
Signing in asks Google for less
Signing in asks only for your name and email. Search Console and Analytics access are requested when you connect them, and only to read.
August 2026
The Periodic Table of SEO
An interactive periodic table of SEO ranking factors, each element marked with what our research measured and what it did not, with a code to embed it on your own site.
Search Console and Analytics tools for AI agents
The MCP server adds Search Console analysis tools, Google Analytics 4 reports, and a tool that joins the two by landing page. The reports flag when Google's data is sampled or incomplete.
An RSS feed for The Search Ledger
Follow new metro editions in any feed reader.
Social cards and an embeddable stat card for every metro
Each Search Ledger page shares with its own card showing its figures, and other sites can embed a small card that links back to it.
A contact form
The contact page has a form, so you no longer need an email client to reach us.
Audit results you can act on
The free SEO audit shows a health score across the systems it measured and a list of what to fix first, and says plainly which systems it did not measure.
Research pages open to all, and the audit behind a sign-in
The Wikipedia research pages load for every visitor without an account. The free SEO audit now asks you to sign in with Google first.