SEO & AI Bot Behavior Testing Platform

About This Project

OpenSeoTest is an open-source platform for performing technical SEO testing. The goal is to provide a transparent laboratory to understand how Googlebot, search crawlers, and AI bots behave with different JavaScript content and techniques.

We believe that the SEO space needs more open and replicable experiments, not just opinions. On this platform, access logs are open for everyone, allowing you to verify your hypotheses immediately with real data.

We regularly publish our experiment results and deep-dive researches on the EdgeComet Blog.

Whether you are testing dynamic rendering implementations or researching bot capabilities, this project enables you to create new tests, deploy them, and observe the results.

Open Science Replicable experiments with open access logs
Bot Behavior Analyze how crawlers render JS & AJAX
Community Driven Create and deploy your own test cases

How It Works

1

The Debug Hash System

Every request generates a unique 8-character Debug Hash. This hash is injected into the URL, HTML content, and X-Debug-Hash headers. It acts as a "fingerprint" that allows us to distinguish between the initial server-side response and subsequent client-side executions.

2

Beacon Correlation

When a bot renders JavaScript, our beacon fires the same unique hash back to the server. This confirms that the JS was executed and allows us to verify exactly what content the bot was able to "see" and interact with.

3

Log Analysis

Our open dashboard lets you analyze debug hashes in real-time. Cross-reference server logs with JS beacon data to see the exact timeline of bot rendering behavior across the platform. Explore the logs.

Test Categories

Select a category to begin testing. Each test includes specific behaviors to verify bot rendering capabilities.

JavaScript Injection

Evaluates whether bots can execute JavaScript and how long they are willing to wait for content to appear after the initial page load. Crucial for client-side rendered apps.

AJAX Delays

Measures the bot's ability to fetch external data asynchronously. Tests different server response times to determine the timeout thresholds of various crawlers.

AJAX Chain

Simulates complex loading dependencies where one request must finish before the next begins (Waterfall). Essential for testing Single Page Applications (SPAs) with nested data requirements.

JavaScript Errors

Checks the resilience of crawlers when encountering script errors. Does a syntax or runtime error in one script block prevent the indexing of subsequent content?

Realtime Updates

Observes how bots interact with content that changes in real-time. Do they take a static snapshot, or can they perceive dynamic updates over a short period?

HTTP Status Codes

Verifies standard protocol compliance. Ensures that bots correctly interpret redirects (301/302) and error states (404/500) rather than indexing error pages.

robots.txt Compliance

Tests whether AI bots respect robots.txt Disallow directives. A blocked page contains a secret code - if the AI quotes it, the bot ignores robots.txt.

Quick Start: Test AI Capabilities Yourself

You don't need to be a developer to see how AI bots handle the web. Try this simple experiment:

  1. Pick a test: Right-click and copy the link for the AJAX Load (2s) test.
  2. Open an AI Chat: Go to ChatGPT, Claude, or Gemini.
  3. Ask a question: Paste the link and ask: "What is the price of the product on this page?"
  4. Verify: If the AI answers with the correct price (which is generated via JavaScript after a delay), you know it successfully executed the code!

Popular Tests to Try

Open Source & Contributions

OpenSeoTest is a community-driven project. We encourage SEO researchers and developers to contribute new test cases, improve existing ones, or help with the platform's infrastructure.

Debug: 0ec4f3e5