Cookie Consent by Free Privacy Policy Generator

AI/LLM Experiment Community Standard 0.1

● Authors

Tory Gray, The Gray Dot Company

Shaun Davidson, Sembit

Anne Berlin, Anne's LinkedIn

Micah Fisher-Kirshner, MicahFK.com

Joshua Squires, Joshua-Squires.com

 

● Editor: Adrienne Kmetz

● Executive Summary

AI/LLM Testing Community Standard — Checklist

The short version of our full testing standard. For the complete questions and rationale, find that here.

AI/LLM testing is moving fast — and not always rigorously. This checklist exists because "I tested it and it worked" isn't the same as a finding the community can learn from, replicate, or build on. Before you publish results, work through these ten areas.

 
1

Hypothesis: What are you actually testing?

State a specific, falsifiable hypothesis. Name whether you're making a causal or correlational claim. Define what failure looks like before you see the results.

2

Environment: What exactly are you testing it on?

Document your environment precisely: model and version, UI or API, date of testing, bot type, and full site context (industry, brand size, page type, format, rendering, platform, language, region).

3

Verification: How will you verify what you think is happening, is actually happening?

Check log files. Verify user-agents. Publish exact prompts verbatim. Note who evaluated outputs and whether they're the same person who designed the test.

4

Metrics: What are you measuring, and how?

Define your primary metric and success threshold before running the test. Establish a control condition. If measurement involves human judgment, use a rubric.

5

Repeatability: How many times did you test it?

State n= explicitly. Note the time window. Aim for 40+ runs per condition where possible. One run is an observation — a pattern across many documented runs starts to become a finding.

6

Constants: What are you holding constant?

List what you held constant and name what you couldn't control — model non-determinism, silent updates, platform interventions, training data differences. If multiple things changed simultaneously, say so.

7

Interpretation: How should others interpret and use this result?

Scope your conclusions. Report surprises. Assign an evidence tier:

Anecdote — n=1, one site, uncontrolled
Observation — repeated, consistent, single environment
Tested Finding — controlled conditions, statistically significant batch size
Replicated Finding — independently reproduced by others
8

Transparency: Are you being transparent about the full picture?

Disclose conflicts of interest. Note what tools, access, or budget replication requires. State what's missing that a reader should know before acting on your findings.

9

Replicability: Can someone else run this?

Name whether this is a 0/1 test or a consistency test. Document your methodology step-by-step. Note anything that would make replication difficult.

10

Presentation: How are you presenting the results?

Show raw data alongside your interpretation. Separate what the data shows from what you conclude. Include sample size and date range on charts. Use visuals — findings that are easy to read are findings that get used.

 

This is a v1.0. It will get better with community input and more tests. Find the full version with detailed rationale and contributor notes lower on this page. Come find us in The SEO Community if you have feedback or want to get involved.

A Draft Standard for AI/LLM Testing: Because We Can Do Better

If you've been in SEO for the last couple of years, you've watched the same thing we have: a flood of tests, case studies, and "here's what works for AI" posts, published fast in a space that's moving faster than anyone can keep up with. 

The excitement is warranted. The stakes are real, the questions matter, and we’re right to be experimenting. 

But in the rush, something has gotten lost. Not every test that's been put forward has the rigor required to actually learn what we think we're learning.

This came into focus for us in two ways at once. Gray Dot tried to run what would have hopefully been a simple, low-fi test, and quickly ran into enough walls that it became clear the challenge wasn't just execution, it was infrastructure. 

"

There was no shared vocabulary for what a well-documented AI test should include, no baseline standard for what counted as a replicable finding versus an interesting observation.

 

● Tory Gray

Around the same time, The SEO Community Slack (specifically member Josh Squires) started having the same conversation out loud: how do we, collectively, do better? How do we build something that actually compounds: where one test leads to the next, where findings can be challenged and replicated, where the community is learning together rather than shouting into the void?

What you're reading is our first attempt to answer that. Anne Berlin, Tory Gray, Micah Fisher-Kirshner, and Shaun Davidson led this effort, with support from Adrienne Kmetz and The SEO Community, drawing on what we collectively know from years of SEO testing and from the newer, messier frontier of AI. 

It's not a finished product; it's a v1.0, a starting point, and we're saying that explicitly. The space will keep moving, the standard will need to keep up, and we're counting on community feedback to make it better.

What follows is the first piece of that: a working list of the questions and variables we believe every test runner should consider before publishing results. 

This document aims to be a meaningful stake in the ground for what "rigorous enough to learn from" looks like in practice. If you need a quick-start guide, instead, find that here

Read them, use them, and tell us what we missed. This only gets better if you're in it with us.

AI/LLM Testing Protocol: Questions Every Test Runner Should Answer

This is a living document. These questions represent our current best thinking on what separates a useful, replicable AI/LLM test from an interesting anecdote. Not every question applies to every test, but if you're skipping one, you should be able to say why.

1. Hypothesis: What Are You Actually Testing?

The most common failure mode in testing isn't bad execution; it's a hypothesis that was never precise enough to be falsifiable in the first place. Before anything else, you need to be able to state clearly what you believe, why, and what result would prove you wrong.

  • What is your hypothesis, stated as specifically as possible? ("AI bots prefer structured content" is not a hypothesis. "Adding new FAQ schema to product detail pages increases the rate at which GPT-4o cites specific product specs in response to purchase-intent queries" is.)
  • Is your hypothesis causal ("X causes Y") or correlational ("X is associated with Y")? Name which one you're making, and ideally why this method was selected. Each requires different methods and warrant different confidence levels in your conclusions.
  • What is your null hypothesis? What result would tell you the thing you're testing doesn't work or doesn't matter?
  • What decision or action changes based on the result? If the answer is "nothing yet," this may be better framed as exploratory research than a test.
  • What prior tests, claims, or assumptions does this build on or challenge? What gap does it fill?

2. Environment: What Exactly Are You Testing It On?

Findings that don't specify their environment can't be replicated, and therefore can't be trusted. "I tested this on my site" is not detailed enough. The goal is that any stranger reading your results could reproduce your conditions.

The model/platform:
  • Which model(s) are you testing? Be specific: brand, product name, and version where available (e.g., Claude vs. ChatGPT, and more specifically - GPT-4o, not just "ChatGPT").

"

Whenever we're doing web scraping (Gemini derivatives, ChatGPT), we will dig as deep in the network traffic as we can, and extract the actual resolved model used, which can be very helpful. This completely changes the statistical distribution of the responses.

 

● Shaun Davidson

  • Are you testing via UI or API? As a paying user or on a free subscription tier? These behave differently and are not interchangeable.
  • What is the date of testing? Models often update without announcement. A result from February may not replicate in May on what appears to be the "same" model. Annotating model slug can help, alongside the test dates, especially when attempting to account for compute budget fluctuations.
  • What bot type are you testing? And, are you being precise about it? Agent bots, live-fetching bots, and training crawlers have fundamentally different capabilities and limitations. Agents can take screenshots to interpret on-page data; most other bots generally can't, which means rendering, JavaScript execution, and lazy loading matter differently depending on what you're testing. 

  • If using the API: what temperature and parameter settings did you use?
  • Was memory, personalization, or any other context-carrying feature active?
The site/content environment:
  • What type of site are you testing on: by industry, size, and brand/entity awareness? Tactics that work for a well-known enterprise brand don't automatically apply to a small business with low entity recognition, and vice versa. Further, big brands with extensive public history are significantly more likely to have existing LLM parametric knowledge (e.g. insights already in the training materials) vs smaller brands, impacting whether or not live fetching is needed to answer a query - at what frequency, and where that insight can come from (3rd party coverage.) This can and will impact LLM answers. 
  • What page type(s) are you testing? (Product detail page, product listing page, blog post, homepage, etc.)
  • What format type(s) are involved? (HTML, PDF, Markdown, JPEG, WEBP, iFrame, etc.)
  • What code/rendering type? (Code: JSON, APIs, PHP, Java. Rendering type: CSR, SSR, lazy loading.) It’s important to understand what (potentially fetchable) content is in the response HTML vs only in rendered output given the rendering limitations of most AI bots. Further - does that content require user interaction to appear (since non-agent bots can’t access this.)
  • What platform/CMS? (WordPress, Webflow, Next.js, Nuxt, etc. These affect hosting, performance, and rendering behavior in ways that can influence results.)
  • What language and region? LLMs are generally biased toward English and Western cultural contexts; results may not transfer cleanly across languages or markets.
  • What query or page type and user intent? (X vs. Y, best, how to. Informational, navigational, comparisons, purchase, retention.)
  • Where on the page is the element you're testing located? (Top of page, body, nav, footer. Placement can affect what gets parsed or prioritized.)
  • Are you using new and original content, or dummy content for your tests?

"

One of the hard lessons we learned with our early AI rendering experiments was that fake and/or lorem ipsum content was crawled infrequently, and not likely to trigger live url fetch despite direct requests. It is worth it to invest the time to generate unique and accurate content, even when testing something that isn't content-specific, like how page designs impact machine readability.

 

● Anne Berlin

  • What is the content length relative to known context window limitations? Can the bot plausibly access all relevant content in a single pass, or is truncation likely?
  • What is page speed/performance like? Slow load times affect what gets fetched and processed, particularly for compute-constrained crawlers. Further, issues with Content Layout Shift (CLS) will impact whether or not an agentic bot can successfully take actions like clicking a button (e.g. if the button moved after screenshots were taken.)
  • Are you testing on mobile, desktop, or both?
  • Are there overlays, popups, or privacy/cookie banners that could interfere with content access?

3. Verification: How Will You Verify What You Think Is Happening, Is Actually Happening?

AI testing has a verification problem: a bot might claim to be one thing and behave as another. Outputs look confident even when they're wrong.

  • Do you have access to log files to verify whether your test pages were actually viewed by your target AI user agents? 

"

When testing which HTML table designs are prone to factual inaccuracies in AI answers, our log files proved that ChatGPT-User wasn't visiting the page, even though the chatbot reported conducting a live fetch. This means we weren't testing table rendering issues during a live url fetch even though screenshots of the chat logs would have made it appear like we did.

 

● Anne Berlin

  • How are you verifying that the user-agent you're attributing crawl activity to is actually who it says it is? Bots can and do crawl under spoofed user-agents. Competitors may fake crawling as a known AI bot, and legitimate AI crawlers may use less obvious identifiers, especially when using 3rd-party services for data scrapping and collection.
    What's your method for validating this? (Log file cross-referencing, reverse DNS lookup/IP validation against published ranges, etc.)
  • If you're querying an LLM directly: what are the exact prompts you used, verbatim? Paraphrasing your prompts in the write-up isn’t enough. Small phrasing differences can produce meaningfully different outputs, and readers need the actual text to evaluate or replicate your work.
    Bonus: crafting your prompts with future replication in mind makes them stronger.
  • Did you test prompt robustness? I.e., did you run variations of your prompt phrasing to check whether your finding holds across reasonable alternatives, or is it potentially an artifact of one specific wording? (Semantic similarity of the topic matters!)
  • Who evaluated the outputs, and were they the same person (or, more ideally, an AI classification system with clearly delineated rules) who wrote the prompts? Evaluator bias is a real risk when the person who designed the test also scores it.

4. Metrics: What Are You Measuring, and How?

Naming a metric isn't the same as having a measurement plan. Ensure the scoring isn’t so vague that it can be unconsciously shaped by what your test hopes to find.

  • What is your primary metric? The specific, measurable things you will use to conclude success or failure.
  • What does success look like, defined before you see results? What does failure look like?
  • What is your baseline or control condition? You cannot measure change without a before-state or a comparable unchanged condition. If you changed schema on page A, for example, what happened on page B where you changed nothing?
  • How are you capturing outputs? (API logs, CDN logs, scraping, copy-paste, screenshot, third-party tool.) Note that copy-paste and screenshot methods can introduce formatting artifacts that affect evaluation. Automation of this data collection may mean it’s more replicable by others in a scalable way.
  • How are you isolating what you are measuring, while ensuring you aren’t measuring a confluence of factors? How do you know that the change you made isn’t endogenous (not independent) of that result?
  • If your measurement involves human judgment (e.g., "did the LLM correctly extract the data?"): what is your scoring rubric? Did more than one person score the outputs? If so, did they agree? Inter-rater reliability matters; if two evaluators score the same output differently, your measurement isn't stable.
  • What secondary metrics are you tracking for context that won't be used to draw conclusions?
  • Which tools are you using and are they the right fit for what you're measuring? (Visibility benchmarks, share of voice, log file analysis, direct LLM querying, honeypot pages… each answers different questions and has different blind spots.)
  • Have you defined and questioned your assumptions about what the results will be? Is there something hidden that could have affected the output?

5. Repeatability: How Many Times Did You Test It?

LLM outputs are non-deterministic. This means, in essence, the same prompt can produce different outputs on consecutive runs. One result is an observation. A pattern across many runs is a potential finding.

  • How many times did you run each condition?
    • State n= explicitly.
    • Annotate how many times, over what time period.
    • Annotate impact durability, as possible. e.g. effect holds for 5-10 days after the completion of the test, effect holds til model update, effect holds indefinitely.
    • Annotate when the impact occurs, especially to the extent that it depends on a model update to show results.
    • Acknowledge where n is low and what that means for confidence.

"

What we've found is that the distribution can vary greatly by prompt. Lowest we've seen as a "valid sample size" is 40. Upper bound seems to be about 150 — nothing past that gives you more data from a statistical perspective. One thing to note: sampling LLMs changes over just the course of a single day, so the "replicability problem" can be a very real thing. Lots of factors are changing at once (fastest changing variable seems to be inference time compute allowance, with model revisions having larger impacts but changing more slowly).

 

● Shaun Davidson

"

As we see with content scaling, sometimes the real data comes in months later, but we've also seen the effects of what appeared to be strong positive results wiped out entirely after about 5 days.

 

● Josh Squires

  • For direct LLM querying: how many times did you run the same prompt? A single output tells you what the model can produce, but it doesn't tell you what it typically produces. E.g. the ability to extract schema for a specific query test doesn’t inherently mean that the model will always pull schema to answer queries in a predictable and consistent way. “Can” doesn’t mean “will,” especially with variable compute constraints.
  • Over what time window did you collect data, and what was the observed crawl frequency? (Especially for crawl/log file tests but really - for all tests.) A bot that visits once in 30 days is a different finding from one that visits consistently and predictably over time.
  • What evidence tier does this result sit at? Be honest & label yours.
    • anecdote (n=1, one site, one context)
    • observation (repeated, consistent, one environment)
    • tested finding (controlled conditions, meaningful n)
    • replicated finding (independently reproduced by others)

6. Constants: What Are You Holding Constant?

A variable you didn't control for is an alternative explanation for your result. The goal isn't to control for everything (that's often impossible in real-world AI testing) but to name what you couldn't control so readers can weigh the finding appropriately.

  • What did you explicitly hold constant between conditions?
  • What could you not control for, and how might that affect the result? Specific categories to address:
    • Model non-determinism (same prompt, different output)
    • Unannounced model updates during the test period
    • Platform-side A/B testing or undisclosed interventions by the AI provider
    • Differences in training data coverage across topics or domains
  • How long did the test run, and is it possible the model changed during that period?

7. Interpretation: How Should Others Interpret and Use This Result?

Be explicit about what your result does and doesn't tell you. This protects readers from drawing conclusions you didn't earn, and it protects your credibility.

  • What can this result reasonably be applied to, and what should it not be applied to? (By model, by industry, by site type, by page type, etc.)
  • What does this test not tell you? What questions remain open that this result can't answer?
  • What surprised you, including results that contradicted your hypothesis or went in an unexpected direction? These are often the most useful findings and the most commonly buried.
  • What confidence level do you assign to this finding (high, medium, or low) and why?
  • Where & how did you establish your HML correlation levels? Ensure you aren’t claiming that low to no correlation claims (~<0.3) aren’t flagged as strong correlation. Using a scatterplot (vs. column or line charts) can help effectively visualize this.
  • What follow-on test(s) would most usefully strengthen, challenge, or extend this finding?
  • What would a better-resourced or more rigorous version of this test look like?
  • Can high-level claims be validated if deeper level segments were not tested?
  • Have you checked for heteroskedasticity (a split in the data that hides something deeper in the analysis)? Heteroskedasticity checks are a great way to make sure you're not claiming a correlation on something that isn't - and may provide a deeper gem on what things are really correlated.
  • Are you making controversial or exceptional claims? The more extraordinary the claim, the more extraordinary the proof is required.

"

Remember that we're doing business, not science, so use SEO testing to get answers, not just to count winners. Most of your tests aren't going to be winners. Our data shows a normal win rate of 15-20%. Sell a testing program on winners alone, and you'll disappoint people; sell it on the insights you get from every test, and you'll build a culture of experimentation that lasts.

 

● Craig Bradford, COO, SearchPilot

8. Transparency: Are You Being Transparent About the Full Picture?

Transparency isn't just about methodology. It's about conflicts of interest, access requirements, and the honest acknowledgment of what's missing. A result shared without this context is harder for the community to interpret and leverage with accuracy.

  • Do you have any conflict of interest to disclose? This might be a tool, product, or service that benefits from a particular result.
  • What access, tools, or budget does replicating this test require? Be specific. A test that requires enterprise log file access or significant API spend means not everyone can replicate on a free account.
  • What's explicitly missing from this test that a reader should know before acting on it?
  • If you're publishing raw data or outputs alongside the summary: where can readers access them?

9. Replicability: Can Someone Else Run This?

If your test can't be reproduced, it can't be built upon.

  • Is this a 0/1 test (establishing whether something is possible at all) or a consistency test (establishing how reliably it happens at scale)?
  • Could someone else follow your methodology and expect comparable results? If not, consider what's missing from your documentation.
  • Are you interested in others attempting to replicate this? If so, what would be most useful to vary? E.g. model, site type, industry, page type, something else?
  • Is there anything about your specific setup that would make replication difficult? Things like proprietary tools, site access, unusual traffic volume.

10. Presentation: How Are You Presenting the Results?

How you show results shapes what people take away from them, often more than the results themselves. Raw data, clear labeling, and honest framing make findings more useful and more credible - and hopefully, more likely to be taken seriously.

  • Are you showing raw outputs or data alongside your interpretation, not just your conclusions? Let readers assess the evidence themselves.
  • Are you clearly distinguishing between what the data shows and what you conclude from it?
  • Do your charts and tables include sample size and date range visibly? (Don’t just bury this in the methodology.)
  • Have you used visuals (charts, tables, comparison graphics) to make the key finding legible at a glance? Results that are easy to read are results that get shared, discussed, and built on.

This writeup is a starting point, not a finish line. The questions above won't cover every edge case, and the right answers will keep shifting as the models do. If you need the summary version, find that here

But that's exactly why a shared standard matters: not to slow things down, but to make sure the work we're all doing actually builds on itself. 

If you ran a test and these questions would have changed how you set it up or reported it, that's useful information. If there's a variable we missed that burned you, we want to know. The goal is a living resource that gets sharper with every person who uses it and every test that gets run. 

Come find us in The SEO Community, share your feedback, and if you're interested in running tests or proposing new ones - that's exactly the kind of community we're trying to build.

● Resources Referenced

Where this document leans on sources for terminology, verification methods, and testing methodology, we link them here and throughout. Author websites are listed in the byline above.

SearchPilot — What is SEO A/B testing? — control vs. variant, causal vs. correlational claims, statistical significance, and server- vs. client-side rendering.

SearchPilot (Sam Nemzer) — The Hierarchy of Evidence for Digital Marketing Testing — the source of our evidence-tier concept.

Google Search Central — Verify requests from Google crawlers and fetchers — the reverse-DNS / IP-range method for confirming a user-agent is who it claims to be.

web.dev (Google) — AI agents and site UX — on Content Layout Shift (CLS) and agent-friendly page behavior.





Sign up to get the newsletter

By signing up, you agree to our Privacy Policy and Terms of Service. We may send you newsletters and occasional emails about products or services. You can opt-out at any time.