Analyzed URL
https://www.mozilla.org/en-US/
Measured 2 weeks ago
AI-Ready Score
Fair
out of 100
Token Savings
Score Breakdown
Emerging protocols
0 of 6 detectedWell-known endpoints AI agents look for. Detected here means an agent can discover and connect to your service automatically.
-
OAuth Protected Resource RFC 9728
/.well-known/oauth-protected-resource -
OAuth Discovery RFC 8414
/.well-known/oauth-authorization-server -
MCP Server Card SEP-1649 draft
/.well-known/mcp/server-card.json -
A2A Agent Card A2A v1.0
/.well-known/agent-card.json -
API Catalog RFC 9727
/.well-known/api-catalog -
Agent Skills index Discovery RFC v0.2.0 draft
/.well-known/agent-skills/index.json
Doesn't stay fixed by itself. Monitoring isn't built yet — join the list and we'll tell you when it is.
You're on the list! We'll notify you when it launches.
What we measured No JSON-LD / Schema.org found
No Schema.org structured data found. JSON-LD helps AI agents extract factual, structured information from your pages.
How to implement
Add a <script type="application/ld+json"> block with Schema.org markup. Use appropriate types: Article for blog posts, Product for products, Organization for your company page.
What we measured No Markdown for Agents support detected
Your site doesn't support Markdown for Agents. This Cloudflare standard lets AI agents request content in markdown format, reducing token usage by ~80%.
How to implement
Implement one or more: (1) Respond to Accept: text/markdown with markdown content. (2) Serve .md URLs (e.g., /page.md). (3) Add <link rel="alternate" type="text/markdown"> tags. (4) Add Link HTTP headers for markdown discovery.
What we measured No sitemap found
No sitemap found. A sitemap helps AI agents discover all pages on your site.
How to implement
Create a /sitemap.xml listing all your public pages. Most CMS platforms can generate this automatically.
What we measured No llms.txt found
Your site doesn't have an llms.txt file. This is the emerging standard for helping AI agents understand your site structure.
How to implement
Create an /llms.txt file following the llmstxt.org specification. Include a site description and links to your key pages.
What we measured No Content-Signal found (robots.txt or HTTP headers)
No Content-Signal directives found. These tell AI agents how they may use your content (search indexing, AI input, training data). The recommended location is robots.txt.
How to implement
Add Content-Signal to your robots.txt: User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. You can also add it as an HTTP header on markdown responses.
What we measured Content ratio: 8.6% (9912 content chars / 115876 HTML bytes)
Your page has a low ratio of actual content to total HTML. Much of the page weight is markup, scripts, or styles rather than content.
How to implement
Move CSS to external stylesheets, remove inline styles, minimize JavaScript, and ensure the HTML focuses on content structure.
## Welcome to Mozilla
From trustworthy tech to policies that defend your digital rights, we put you first — always.
[Learn about us](https://www.mozilla.org/en-US/about/)
## Donate to Mozilla Foundation
Mozilla Foundation is building a future where technology is powered by people, and open by design. That’s why we fuel community-centered tech through advocacy, education, funding, and innovation — to make sure that the future of tech is good for everyone. But that’s only possible if we do it together.
We’re proudly non-profit. Will you donate to Mozilla today?

[Donate](https://www.mozillafoundation.org/en/?form=Mozilla-Website-Homepage&utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)
## Join the movement: AI for the people
**Our mission is to make it easy for people to build with, and collaborate on, open-source, trustworthy AI.**
### [Mozilla Data Collective](https://datacollective.mozillafoundation.org/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)

Product
Mozilla Data Collective is rebuilding the AI data ecosystem with communities at the center.
Join today
### [A Rebel Alliance?](https://www.cnbc.com/2026/01/27/mozilla-building-an-ai-rebel-alliance-to-take-on-openai-anthropic-.html)

Impact
How Mozilla is taking on AI Industry Heavyweights.
Read here.
### [Mozilla Ventures](https://mozilla.vc/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)

Program
Got an early-stage startup? Pitch your company to Mozilla Ventures and secure funding to drive positive change for the future of AI and the internet.
Read more
### [A Double Bottom Line for Tech](https://www.youtube.com/watch?v=BoFUABRULxg)

Event
Mark Surman discusses how we can build a tech ecosystem with a double bottom line — one that values both mission and money.
Watch now
### [Otari](https://otari.ai/)

Product
Otari eliminates the complexity of managing multiple AI providers by unifying routing, security, budgeting, failover, and auditing behind a single API endpoint.
Get started
### You, AI and the internet — what’s really going on?
- Type
Topic
Intro
- [
Article
Fast Company
News
Mozilla’s new AI strategy marks a return to its ‘rebel alliance’ roots
](https://www.fastcompany.com/91490055/mozillas-new-ai-strategy-marks-a-return-to-its-rebel-alliance-roots)
- [
Article
Mozilla
Open Source AI
Mozilla and Mila announce strategic research partnership
](https://blog.mozilla.org/en/mozilla/mila-open-source-sovereign-ai/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)
- [
Video
Mozilla
Products
Why Firefox is Letting You Turn Off AI
](https://youtu.be/KS5dcvZXuUg?si=rh9tyBUEOoUA4ypf)
- [
Article
Le Monde
News
AI summit in India pushes a 'third way' between US and China
](https://www.lemonde.fr/en/economy/article/2026/02/18/ai-summit-in-india-pushes-a-third-way-between-us-and-china_6750615_19.html)
- [
Video
Impact Alpha
Products
(Human) agents of impact are shaping the algorithm for ‘good AI’
](https://mozilla.vc/human-agents-of-impact-are-shaping-the-algorithm-for-good-ai/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)
- [
Article
Rest of World
News
Fed up with Big Tech, communities turn to data collectives for control
](https://restofworld.org/2026/ai-data-collectives-mozilla/)
- [
Article
Mozilla Foundation
Open Source AI
Our first Democracy x AI incubator cohort is announced
](https://www.mozillafoundation.org/en/what-we-do/grantmaking/incubator/democracy-ai-cohort/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)
- [
Article
Marketplace
Privacy & Security
Who should get an AI kill switch?
](https://www.marketplace.org/episode/2026/06/17/who-should-get-an-ai-kill-switch)
- [
Article
Mark Surman
Artificial Intelligence
Mozilla President: meet the open source ‘rebel alliance’ that could break Big Tech’s grip on AI
](https://fortune.com/2026/06/29/open-source-ai-mozilla-middle-powers-canada-eu-mark-surman/)
- [
Article
The Register
Products
Mozilla throws Thunderbolt at enterprise AI providers
](https://www.theregister.com/software/2026/04/16/mozilla-takes-on-enterprise-ai-providers-with-thunderbolt/5228261)
- [
Article
Raffi Krikorian
Privacy & Security
New York Times: It’s the End of the Internet As We Know It
](https://www.nytimes.com/2026/04/15/opinion/mythos-open-souce-internet.html)
## State of Mozilla
We’re at a crossroads for the future of technology, with Big AI companies consolidating power. The 2025 State of Mozilla report is an invitation to choose a different future together.
### 2025
[Read the report](https://stateof.mozilla.org/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)
## Explore issues shaping the future of the internet
### [Open Source AI Is Winning](https://stateofopensource.ai/)

At a critical moment for the future of AI, our inaugural, annual survey looks at where open AI is winning, and where it is exposed.
Read the report
### [Nothing Personal](https://www.mozillafoundation.org/en/nothing-personal/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)

Our new magazine for independent thinkers, technologists, and creatives on the front lines of digital culture.
Read Now
Mozilla - Internet for people, not profit (US)
## Help us improve your Mozilla experience
In addition to Cookies necessary for this site to function, we’d like your permission to set some additional Cookies to better understand your browsing needs and improve your experience. Rest assured — we value your privacy.
Accept All Additional Cookies Reject All Additional Cookies [Cookie settings](https://www.mozilla.org/en-US/privacy/websites/cookie-settings/)
Pause animation Play animation
# Welcome to Mozilla
From trustworthy tech to policies that defend your digital rights, we put you first — always.
[Learn about us](https://www.mozilla.org/en-US/about/)
---
## Love the internet again
Break free from big tech — our products put you in control of a safer, more private internet experience.
- [**Firefox**:**** Get the gold standard for browsing with speed, privacy and control.](https://www.firefox.com/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)
- [**Thunderbird**:**** Go chaos-free with one app for all your emails, calendars and contacts.](https://www.thunderbird.net/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)
- [**Mozilla VPN**:**** Keep your location and online adventures private — stream like a local, anywhere.](https://www.mozilla.org/en-US/products/vpn/)
- [**Mozilla Monitor**:**** Get a heads-up if your personal info is at risk and lock it down like a pro.](https://www.mozilla.org/en-US/products/monitor/)
- [**Firefox Relay**:**** Mask your email and phone number so you only get the messages you want.](https://relay.firefox.com/??utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)
- [**Solo**:**** Instantly create a beautiful website so you can grow your business.](https://soloist.ai/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)
- [**0DIN**:**** Secure your AI by finding and fixing GenAI vulnerabilities before attackers do.](https://0din.ai/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)
- [**Tabstack**:**** Reliably automate web tasks with a simple developer-focused API.](https://tabstack.ai/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)
[Explore our products](https://www.mozilla.org/en-US/products/)
## Donate to Mozilla Foundation
Mozilla Foundation is building a future where technology is powered by people, and open by design. That’s why we fuel community-centered tech through advocacy, education, funding, and innovation — to make sure that the future of tech is good for everyone. But that’s only possible if we do it together.
We’re proudly non-profit. Will you donate to Mozilla today?

[Donate](https://www.mozillafoundation.org/en/?form=Mozilla-Website-Homepage&utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)
---
## Join the movement: AI for the people
**Our mission is to make it easy for people to build with, and collaborate on, open-source, trustworthy AI.**
### [Mozilla Data Collective](https://datacollective.mozillafoundation.org/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)

Product
Mozilla Data Collective is rebuilding the AI data ecosystem with communities at the center.
Join today
### [Owners, Not Renters](https://newsletter.ownersnotrenters.com/)

Product
Join our new Open Source AI community.
Sign up today
### [A Rebel Alliance?](https://www.cnbc.com/2026/01/27/mozilla-building-an-ai-rebel-alliance-to-take-on-openai-anthropic-.html)

Impact
How Mozilla is taking on AI Industry Heavyweights.
Read here.
### [Mozilla Ventures](https://mozilla.vc/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)

Program
Got an early-stage startup? Pitch your company to Mozilla Ventures and secure funding to drive positive change for the future of AI and the internet.
Read more
### [A Double Bottom Line for Tech](https://www.youtube.com/watch?v=BoFUABRULxg)

Event
Mark Surman discusses how we can build a tech ecosystem with a double bottom line — one that values both mission and money.
Watch now
### [Otari](https://otari.ai/)

Product
Otari eliminates the complexity of managing multiple AI providers by unifying routing, security, budgeting, failover, and auditing behind a single API endpoint.
Get started
### You, AI and the internet — what’s really going on?
- Type
Author(s)
Topic
Intro
- [
Article
Fast Company
News
Mozilla’s new AI strategy marks a return to its ‘rebel alliance’ roots
](https://www.fastcompany.com/91490055/mozillas-new-ai-strategy-marks-a-return-to-its-rebel-alliance-roots)
- [
Article
Mozilla
Open Source AI
Mozilla and Mila announce strategic research partnership
](https://blog.mozilla.org/en/mozilla/mila-open-source-sovereign-ai/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)
- [
Video
Mozilla
Products
Why Firefox is Letting You Turn Off AI
](https://youtu.be/KS5dcvZXuUg?si=rh9tyBUEOoUA4ypf)
- [
Article
Le Monde
News
AI summit in India pushes a 'third way' between US and China
](https://www.lemonde.fr/en/economy/article/2026/02/18/ai-summit-in-india-pushes-a-third-way-between-us-and-china_6750615_19.html)
- [
Video
Impact Alpha
Products
(Human) agents of impact are shaping the algorithm for ‘good AI’
](https://mozilla.vc/human-agents-of-impact-are-shaping-the-algorithm-for-good-ai/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)
- [
Article
Rest of World
News
Fed up with Big Tech, communities turn to data collectives for control
](https://restofworld.org/2026/ai-data-collectives-mozilla/)
- [
Article
Mozilla Foundation
Open Source AI
Our first Democracy x AI incubator cohort is announced
](https://www.mozillafoundation.org/en/what-we-do/grantmaking/incubator/democracy-ai-cohort/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)
- [
Article
Marketplace
Privacy & Security
Who should get an AI kill switch?
](https://www.marketplace.org/episode/2026/06/17/who-should-get-an-ai-kill-switch)
- [
Article
Mark Surman
Artificial Intelligence
Mozilla President: meet the open source ‘rebel alliance’ that could break Big Tech’s grip on AI
](https://fortune.com/2026/06/29/open-source-ai-mozilla-middle-powers-canada-eu-mark-surman/)
- [
Article
The Register
Products
Mozilla throws Thunderbolt at enterprise AI providers
](https://www.theregister.com/software/2026/04/16/mozilla-takes-on-enterprise-ai-providers-with-thunderbolt/5228261)
- [
Article
Raffi Krikorian
Privacy & Security
New York Times: It’s the End of the Internet As We Know It
](https://www.nytimes.com/2026/04/15/opinion/mythos-open-souce-internet.html)
## State of Mozilla
We’re at a crossroads for the future of technology, with Big AI companies consolidating power. The 2025 State of Mozilla report is an invitation to choose a different future together.

### 2025
[Read the report](https://stateof.mozilla.org/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)
## Explore issues shaping the future of the internet
### [Open Source AI Is Winning](https://stateofopensource.ai/)

At a critical moment for the future of AI, our inaugural, annual survey looks at where open AI is winning, and where it is exposed.
Read the report
### [Nothing Personal](https://www.mozillafoundation.org/en/nothing-personal/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)

Our new magazine for independent thinkers, technologists, and creatives on the front lines of digital culture.
Read Now
Upload this file as /en-US.md on your server so AI agents can access a clean version of your page. You can also configure Accept: text/markdown content negotiation to serve it automatically.
Generated llms.txt for this single page
# Mozilla > We’re working to put control of the internet back in the hands of the people using it. ## Main - [Mozilla - Internet for people, not profit (US)](https://www.mozilla.org/en-US/): We’re working to put control of the internet back in the hands of the people using it. - [Products](https://www.mozilla.org/en-US/products/) - [Mozilla VPN](https://www.mozilla.org/en-US/products/vpn/) - [Mozilla Monitor](https://www.mozilla.org/en-US/products/monitor/) - [About us](https://www.mozilla.org/en-US/about/) - [The Mozilla Manifesto](https://www.mozilla.org/en-US/about/manifesto/) - [Leadership](https://www.mozilla.org/en-US/about/leadership/) - [Community Participation Guidelines](https://www.mozilla.org/en-US/about/governance/policies/participation/) - [About this site](https://www.mozilla.org/en-US/about/this-site/) - [Get Involved](https://www.mozilla.org/en-US/contribute/) - [Mozilla Advertising](https://www.mozilla.org/en-US/advertising/) - [Careers](https://www.mozilla.org/en-US/careers/) - [Security](https://www.mozilla.org/en-US/security/) - [All languages](https://www.mozilla.org/locales/) - [Creative Commons license](https://www.mozilla.org/en-US/foundation/licensing/website-content/) ## Legal - [this Privacy Notice](https://www.mozilla.org/en-US/privacy/websites/) - [Cookies](https://www.mozilla.org/en-US/privacy/websites/cookie-settings/) - [Legal](https://www.mozilla.org/en-US/about/legal/) ## Support - [Contact](https://www.mozilla.org/en-US/contact/)
Full llms.txt requires domain-wide analysis (coming soon)
Upload this file to https://www.mozilla.org/llms.txt at the root of your domain. AI agents like ChatGPT, Claude, and Perplexity check this file to understand your site structure.
Accessibility
Content available without JavaScript
Main content starts at 24% of HTML
Page size: 113KB
AI Discoverability
All major AI search bots allowed
No sitemap found
robots.txt exists
No llms.txt found
Structured Data
No JSON-LD / Schema.org found
All OG tags present
Meta description: 86 chars
Canonical URL present
lang="en"
Semantic HTML
Clean heading hierarchy
Has <main>
37 semantic elements, 153 divs (ratio: 19%)
5/6 images with meaningful alt text (17 decorative, not counted)
Avg div depth: 2.4, max: 8
Content Efficiency
95% token reduction (HTML→Markdown)
Content ratio: 8.6% (9912 content chars / 115876 HTML bytes)
HTML size: 113KB
0/1148 elements with inline styles (0.0%)
{
"url": "https://www.mozilla.org/en-US/",
"timestamp": 1788571249507,
"fetch": {
"mode": "simple",
"timeMs": 11,
"htmlSizeBytes": 115876,
"supportsMarkdown": false,
"markdownAgents": {
"contentNegotiation": false,
"mdUrl": {
"found": false,
"url": null
},
"linkTag": {
"found": false,
"url": null
},
"linkHeader": {
"found": false,
"url": null
},
"responseHeaders": {
"contentSignal": null,
"xMarkdownTokens": null,
"vary": null
},
"frontmatter": {
"present": false,
"fields": [],
"level": "none"
},
"level": "none"
},
"statusCode": 200
},
"extraction": {
"title": "Mozilla - Internet for people, not profit (US)",
"excerpt": "We’re working to put control of the internet back in the hands of the people using it.",
"byline": "Author(s)",
"siteName": "Mozilla",
"lang": "en",
"contentLength": 9912,
"metadata": {
"description": "We’re working to put control of the internet back in the hands of the people using it.",
"ogTitle": "Mozilla - Internet for people, not profit (US)",
"ogDescription": "We’re working to put control of the internet back in the hands of the people using it.",
"ogImage": "https://www.mozilla.org/media/img/m24/og.3a69dffad83e.png",
"ogType": "website",
"canonical": "https://www.mozilla.org/en-US/",
"lang": "en",
"schemas": [],
"robotsMeta": null,
"author": null,
"generator": null,
"markdownAlternateHref": null
}
},
"markdown": "## Welcome to Mozilla\n\nFrom trustworthy tech to policies that defend your digital rights, we put you first — always.\n\n[Learn about us](https://www.mozilla.org/en-US/about/)\n\n## Donate to Mozilla Foundation\n\nMozilla Foundation is building a future where technology is powered by people, and open by design. That’s why we fuel community-centered tech through advocacy, education, funding, and innovation — to make sure that the future of tech is good for everyone. But that’s only possible if we do it together.\n\nWe’re proudly non-profit. Will you donate to Mozilla today?\n\n\n\n[Donate](https://www.mozillafoundation.org/en/?form=Mozilla-Website-Homepage&utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n\n## Join the movement: AI for the people\n\n**Our mission is to make it easy for people to build with, and collaborate on, open-source, trustworthy AI.**\n\n### [Mozilla Data Collective](https://datacollective.mozillafoundation.org/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n\n \n\nProduct\n\nMozilla Data Collective is rebuilding the AI data ecosystem with communities at the center.\n\nJoin today\n\n### [A Rebel Alliance?](https://www.cnbc.com/2026/01/27/mozilla-building-an-ai-rebel-alliance-to-take-on-openai-anthropic-.html)\n\n \n\nImpact\n\nHow Mozilla is taking on AI Industry Heavyweights.\n\nRead here.\n\n### [Mozilla Ventures](https://mozilla.vc/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n\n \n\nProgram\n\nGot an early-stage startup? Pitch your company to Mozilla Ventures and secure funding to drive positive change for the future of AI and the internet.\n\nRead more\n\n### [A Double Bottom Line for Tech](https://www.youtube.com/watch?v=BoFUABRULxg)\n\n \n\nEvent\n\nMark Surman discusses how we can build a tech ecosystem with a double bottom line — one that values both mission and money.\n\nWatch now\n\n### [Otari](https://otari.ai/)\n\n \n\nProduct\n\nOtari eliminates the complexity of managing multiple AI providers by unifying routing, security, budgeting, failover, and auditing behind a single API endpoint.\n\nGet started\n\n### You, AI and the internet — what’s really going on?\n\n- Type\n\n Topic\n\n Intro\n\n- [\n\n Article\n\n Fast Company\n\n News\n\n Mozilla’s new AI strategy marks a return to its ‘rebel alliance’ roots\n\n ](https://www.fastcompany.com/91490055/mozillas-new-ai-strategy-marks-a-return-to-its-rebel-alliance-roots)\n- [\n\n Article\n\n Mozilla\n\n Open Source AI\n\n Mozilla and Mila announce strategic research partnership\n\n ](https://blog.mozilla.org/en/mozilla/mila-open-source-sovereign-ai/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n- [\n\n Video\n\n Mozilla\n\n Products\n\n Why Firefox is Letting You Turn Off AI\n\n ](https://youtu.be/KS5dcvZXuUg?si=rh9tyBUEOoUA4ypf)\n- [\n\n Article\n\n Le Monde\n\n News\n\n AI summit in India pushes a 'third way' between US and China\n\n ](https://www.lemonde.fr/en/economy/article/2026/02/18/ai-summit-in-india-pushes-a-third-way-between-us-and-china_6750615_19.html)\n- [\n\n Video\n\n Impact Alpha\n\n Products\n\n (Human) agents of impact are shaping the algorithm for ‘good AI’\n\n ](https://mozilla.vc/human-agents-of-impact-are-shaping-the-algorithm-for-good-ai/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n- [\n\n Article\n\n Rest of World\n\n News\n\n Fed up with Big Tech, communities turn to data collectives for control\n\n ](https://restofworld.org/2026/ai-data-collectives-mozilla/)\n- [\n\n Article\n\n Mozilla Foundation\n\n Open Source AI\n\n Our first Democracy x AI incubator cohort is announced\n\n ](https://www.mozillafoundation.org/en/what-we-do/grantmaking/incubator/democracy-ai-cohort/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n- [\n\n Article\n\n Marketplace\n\n Privacy & Security\n\n Who should get an AI kill switch?\n\n ](https://www.marketplace.org/episode/2026/06/17/who-should-get-an-ai-kill-switch)\n- [\n\n Article\n\n Mark Surman\n\n Artificial Intelligence\n\n Mozilla President: meet the open source ‘rebel alliance’ that could break Big Tech’s grip on AI\n\n ](https://fortune.com/2026/06/29/open-source-ai-mozilla-middle-powers-canada-eu-mark-surman/)\n- [\n\n Article\n\n The Register\n\n Products\n\n Mozilla throws Thunderbolt at enterprise AI providers\n\n ](https://www.theregister.com/software/2026/04/16/mozilla-takes-on-enterprise-ai-providers-with-thunderbolt/5228261)\n- [\n\n Article\n\n Raffi Krikorian\n\n Privacy & Security\n\n New York Times: It’s the End of the Internet As We Know It\n\n ](https://www.nytimes.com/2026/04/15/opinion/mythos-open-souce-internet.html)\n\n## State of Mozilla\n\nWe’re at a crossroads for the future of technology, with Big AI companies consolidating power. The 2025 State of Mozilla report is an invitation to choose a different future together.\n\n### 2025\n\n[Read the report](https://stateof.mozilla.org/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n\n## Explore issues shaping the future of the internet\n\n### [Open Source AI Is Winning](https://stateofopensource.ai/)\n\n \n\nAt a critical moment for the future of AI, our inaugural, annual survey looks at where open AI is winning, and where it is exposed.\n\nRead the report\n\n### [Nothing Personal](https://www.mozillafoundation.org/en/nothing-personal/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n\n \n\nOur new magazine for independent thinkers, technologists, and creatives on the front lines of digital culture.\n\nRead Now\n",
"fullPageMarkdown": "Mozilla - Internet for people, not profit (US)\n\n## Help us improve your Mozilla experience\n\nIn addition to Cookies necessary for this site to function, we’d like your permission to set some additional Cookies to better understand your browsing needs and improve your experience. Rest assured — we value your privacy.\n\nAccept All Additional Cookies Reject All Additional Cookies [Cookie settings](https://www.mozilla.org/en-US/privacy/websites/cookie-settings/)\n\nPause animation Play animation\n\n# Welcome to Mozilla\n\nFrom trustworthy tech to policies that defend your digital rights, we put you first — always.\n\n[Learn about us](https://www.mozilla.org/en-US/about/)\n\n---\n\n## Love the internet again\n\nBreak free from big tech — our products put you in control of a safer, more private internet experience.\n\n- [**Firefox**:**** Get the gold standard for browsing with speed, privacy and control.](https://www.firefox.com/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n- [**Thunderbird**:**** Go chaos-free with one app for all your emails, calendars and contacts.](https://www.thunderbird.net/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n- [**Mozilla VPN**:**** Keep your location and online adventures private — stream like a local, anywhere.](https://www.mozilla.org/en-US/products/vpn/)\n- [**Mozilla Monitor**:**** Get a heads-up if your personal info is at risk and lock it down like a pro.](https://www.mozilla.org/en-US/products/monitor/)\n- [**Firefox Relay**:**** Mask your email and phone number so you only get the messages you want.](https://relay.firefox.com/??utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n- [**Solo**:**** Instantly create a beautiful website so you can grow your business.](https://soloist.ai/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n- [**0DIN**:**** Secure your AI by finding and fixing GenAI vulnerabilities before attackers do.](https://0din.ai/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n- [**Tabstack**:**** Reliably automate web tasks with a simple developer-focused API.](https://tabstack.ai/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n\n[Explore our products](https://www.mozilla.org/en-US/products/)\n\n## Donate to Mozilla Foundation\n\nMozilla Foundation is building a future where technology is powered by people, and open by design. That’s why we fuel community-centered tech through advocacy, education, funding, and innovation — to make sure that the future of tech is good for everyone. But that’s only possible if we do it together.\n\nWe’re proudly non-profit. Will you donate to Mozilla today?\n\n\n\n[Donate](https://www.mozillafoundation.org/en/?form=Mozilla-Website-Homepage&utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n\n---\n\n## Join the movement: AI for the people\n\n**Our mission is to make it easy for people to build with, and collaborate on, open-source, trustworthy AI.**\n\n### [Mozilla Data Collective](https://datacollective.mozillafoundation.org/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n\n \n\nProduct\n\nMozilla Data Collective is rebuilding the AI data ecosystem with communities at the center.\n\nJoin today\n\n### [Owners, Not Renters](https://newsletter.ownersnotrenters.com/)\n\n \n\nProduct\n\nJoin our new Open Source AI community.\n\nSign up today\n\n### [A Rebel Alliance?](https://www.cnbc.com/2026/01/27/mozilla-building-an-ai-rebel-alliance-to-take-on-openai-anthropic-.html)\n\n \n\nImpact\n\nHow Mozilla is taking on AI Industry Heavyweights.\n\nRead here.\n\n### [Mozilla Ventures](https://mozilla.vc/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n\n \n\nProgram\n\nGot an early-stage startup? Pitch your company to Mozilla Ventures and secure funding to drive positive change for the future of AI and the internet.\n\nRead more\n\n### [A Double Bottom Line for Tech](https://www.youtube.com/watch?v=BoFUABRULxg)\n\n \n\nEvent\n\nMark Surman discusses how we can build a tech ecosystem with a double bottom line — one that values both mission and money.\n\nWatch now\n\n### [Otari](https://otari.ai/)\n\n \n\nProduct\n\nOtari eliminates the complexity of managing multiple AI providers by unifying routing, security, budgeting, failover, and auditing behind a single API endpoint.\n\nGet started\n\n### You, AI and the internet — what’s really going on?\n\n- Type\n\n Author(s)\n\n Topic\n\n Intro\n\n- [\n\n Article\n\n Fast Company\n\n News\n\n Mozilla’s new AI strategy marks a return to its ‘rebel alliance’ roots\n\n ](https://www.fastcompany.com/91490055/mozillas-new-ai-strategy-marks-a-return-to-its-rebel-alliance-roots)\n- [\n\n Article\n\n Mozilla\n\n Open Source AI\n\n Mozilla and Mila announce strategic research partnership\n\n ](https://blog.mozilla.org/en/mozilla/mila-open-source-sovereign-ai/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n- [\n\n Video\n\n Mozilla\n\n Products\n\n Why Firefox is Letting You Turn Off AI\n\n ](https://youtu.be/KS5dcvZXuUg?si=rh9tyBUEOoUA4ypf)\n- [\n\n Article\n\n Le Monde\n\n News\n\n AI summit in India pushes a 'third way' between US and China\n\n ](https://www.lemonde.fr/en/economy/article/2026/02/18/ai-summit-in-india-pushes-a-third-way-between-us-and-china_6750615_19.html)\n- [\n\n Video\n\n Impact Alpha\n\n Products\n\n (Human) agents of impact are shaping the algorithm for ‘good AI’\n\n ](https://mozilla.vc/human-agents-of-impact-are-shaping-the-algorithm-for-good-ai/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n- [\n\n Article\n\n Rest of World\n\n News\n\n Fed up with Big Tech, communities turn to data collectives for control\n\n ](https://restofworld.org/2026/ai-data-collectives-mozilla/)\n- [\n\n Article\n\n Mozilla Foundation\n\n Open Source AI\n\n Our first Democracy x AI incubator cohort is announced\n\n ](https://www.mozillafoundation.org/en/what-we-do/grantmaking/incubator/democracy-ai-cohort/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n- [\n\n Article\n\n Marketplace\n\n Privacy & Security\n\n Who should get an AI kill switch?\n\n ](https://www.marketplace.org/episode/2026/06/17/who-should-get-an-ai-kill-switch)\n- [\n\n Article\n\n Mark Surman\n\n Artificial Intelligence\n\n Mozilla President: meet the open source ‘rebel alliance’ that could break Big Tech’s grip on AI\n\n ](https://fortune.com/2026/06/29/open-source-ai-mozilla-middle-powers-canada-eu-mark-surman/)\n- [\n\n Article\n\n The Register\n\n Products\n\n Mozilla throws Thunderbolt at enterprise AI providers\n\n ](https://www.theregister.com/software/2026/04/16/mozilla-takes-on-enterprise-ai-providers-with-thunderbolt/5228261)\n- [\n\n Article\n\n Raffi Krikorian\n\n Privacy & Security\n\n New York Times: It’s the End of the Internet As We Know It\n\n ](https://www.nytimes.com/2026/04/15/opinion/mythos-open-souce-internet.html)\n\n## State of Mozilla\n\nWe’re at a crossroads for the future of technology, with Big AI companies consolidating power. The 2025 State of Mozilla report is an invitation to choose a different future together.\n\n\n\n### 2025\n\n[Read the report](https://stateof.mozilla.org/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n\n## Explore issues shaping the future of the internet\n\n### [Open Source AI Is Winning](https://stateofopensource.ai/)\n\n \n\nAt a critical moment for the future of AI, our inaugural, annual survey looks at where open AI is winning, and where it is exposed.\n\nRead the report\n\n### [Nothing Personal](https://www.mozillafoundation.org/en/nothing-personal/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=home)\n\n \n\nOur new magazine for independent thinkers, technologists, and creatives on the front lines of digital culture.\n\nRead Now\n",
"markdownStats": {
"images": 8,
"links": 21,
"tables": 0,
"codeBlocks": 0,
"headings": 14
},
"tokens": {
"htmlTokens": 35206,
"markdownTokens": 1630,
"reduction": 33576,
"reductionPercent": 95
},
"score": {
"score": 73,
"grade": "C",
"rubricVersion": 3,
"dimensions": {
"accessibility": {
"score": 94,
"weight": 30,
"grade": "A",
"checks": {
"content_without_js": {
"score": 100,
"weight": 55,
"evidence": "proven",
"details": "Content available without JavaScript"
},
"fast_content_position": {
"score": 75,
"weight": 25,
"evidence": "plausible",
"details": "Main content starts at 24% of HTML"
},
"reasonable_page_size": {
"score": 100,
"weight": 20,
"evidence": "plausible",
"details": "Page size: 113KB"
}
}
},
"aiDiscoverability": {
"score": 45,
"weight": 25,
"grade": "D",
"checks": {
"robots_allows_ai_bots": {
"score": 100,
"weight": 35,
"evidence": "proven",
"details": "All major AI search bots allowed"
},
"supports_markdown_negotiation": {
"score": 0,
"weight": 20,
"evidence": "plausible",
"details": "No Markdown for Agents support detected"
},
"has_sitemap": {
"score": 0,
"weight": 15,
"evidence": "plausible",
"details": "No sitemap found"
},
"has_robots_txt": {
"score": 100,
"weight": 10,
"evidence": "plausible",
"details": "robots.txt exists"
},
"has_llms_txt": {
"score": 0,
"weight": 10,
"evidence": "speculative",
"details": "No llms.txt found"
},
"has_content_signals": {
"score": 0,
"weight": 10,
"evidence": "speculative",
"details": "No Content-Signal found (robots.txt or HTTP headers)",
"mechanisms": {
"robotsTxt": false,
"httpHeader": false,
"policy": false
}
}
}
},
"structuredData": {
"score": 65,
"weight": 20,
"grade": "C",
"checks": {
"has_schema_org": {
"score": 0,
"weight": 35,
"evidence": "proven",
"details": "No JSON-LD / Schema.org found"
},
"has_open_graph": {
"score": 100,
"weight": 20,
"evidence": "plausible",
"details": "All OG tags present"
},
"has_meta_description": {
"score": 100,
"weight": 20,
"evidence": "plausible",
"details": "Meta description: 86 chars"
},
"has_canonical_url": {
"score": 100,
"weight": 15,
"evidence": "plausible",
"details": "Canonical URL present"
},
"has_lang_attribute": {
"score": 100,
"weight": 10,
"evidence": "plausible",
"details": "lang=\"en\""
}
}
},
"semanticHtml": {
"score": 90,
"weight": 15,
"grade": "A",
"checks": {
"proper_heading_hierarchy": {
"score": 100,
"weight": 30,
"evidence": "plausible",
"details": "Clean heading hierarchy"
},
"uses_article_or_main": {
"score": 100,
"weight": 25,
"evidence": "plausible",
"details": "Has <main>"
},
"semantic_elements": {
"score": 65,
"weight": 20,
"evidence": "plausible",
"details": "37 semantic elements, 153 divs (ratio: 19%)"
},
"meaningful_alt_texts": {
"score": 83,
"weight": 15,
"evidence": "plausible",
"details": "5/6 images with meaningful alt text (17 decorative, not counted)"
},
"low_div_nesting": {
"score": 100,
"weight": 10,
"evidence": "speculative",
"details": "Avg div depth: 2.4, max: 8"
}
}
},
"contentEfficiency": {
"score": 74,
"weight": 10,
"grade": "C",
"checks": {
"token_reduction_ratio": {
"score": 100,
"weight": 40,
"evidence": "speculative",
"details": "95% token reduction (HTML→Markdown)"
},
"content_to_noise_ratio": {
"score": 25,
"weight": 30,
"evidence": "speculative",
"details": "Content ratio: 8.6% (9912 content chars / 115876 HTML bytes)"
},
"reasonable_page_weight": {
"score": 80,
"weight": 20,
"evidence": "speculative",
"details": "HTML size: 113KB"
},
"minimal_inline_styles": {
"score": 100,
"weight": 10,
"evidence": "speculative",
"details": "0/1148 elements with inline styles (0.0%)"
}
}
}
}
},
"recommendations": [
{
"id": "add_schema_org",
"priority": "critical",
"category": "structuredData",
"titleKey": "rec.add_schema_org.title",
"descriptionKey": "rec.add_schema_org.description",
"howToKey": "rec.add_schema_org.howto",
"howToStepKeys": null,
"effort": "moderate",
"estimatedImpact": 7,
"maxImpact": 7,
"evidence": "proven",
"checkScore": 0,
"checkDetails": "No JSON-LD / Schema.org found"
},
{
"id": "add_markdown_negotiation",
"priority": "critical",
"category": "aiDiscoverability",
"titleKey": "rec.add_markdown_negotiation.title",
"descriptionKey": "rec.add_markdown_negotiation.description",
"howToKey": "rec.add_markdown_negotiation.howto",
"howToStepKeys": null,
"effort": "significant",
"estimatedImpact": 5,
"maxImpact": 5,
"evidence": "plausible",
"checkScore": 0,
"checkDetails": "No Markdown for Agents support detected"
},
{
"id": "add_sitemap",
"priority": "high",
"category": "aiDiscoverability",
"titleKey": "rec.add_sitemap.title",
"descriptionKey": "rec.add_sitemap.description",
"howToKey": "rec.add_sitemap.howto",
"howToStepKeys": null,
"effort": "quick-win",
"estimatedImpact": 3.8,
"maxImpact": 3.8,
"evidence": "plausible",
"checkScore": 0,
"checkDetails": "No sitemap found"
},
{
"id": "add_llms_txt",
"priority": "high",
"category": "aiDiscoverability",
"titleKey": "rec.add_llms_txt.title",
"descriptionKey": "rec.add_llms_txt.description",
"howToKey": "rec.add_llms_txt.howto",
"howToStepKeys": null,
"effort": "quick-win",
"estimatedImpact": 2.5,
"maxImpact": 2.5,
"evidence": "speculative",
"checkScore": 0,
"checkDetails": "No llms.txt found"
},
{
"id": "add_content_signals",
"priority": "high",
"category": "aiDiscoverability",
"titleKey": "rec.add_content_signals.title",
"descriptionKey": "rec.add_content_signals.description",
"howToKey": "rec.add_content_signals.howto",
"howToStepKeys": null,
"effort": "quick-win",
"estimatedImpact": 2.5,
"maxImpact": 2.5,
"evidence": "speculative",
"checkScore": 0,
"checkDetails": "No Content-Signal found (robots.txt or HTTP headers)"
},
{
"id": "improve_content_ratio",
"priority": "medium",
"category": "contentEfficiency",
"titleKey": "rec.improve_content_ratio.title",
"descriptionKey": "rec.improve_content_ratio.description",
"howToKey": "rec.improve_content_ratio.howto",
"howToStepKeys": null,
"effort": "moderate",
"estimatedImpact": 2.3,
"maxImpact": 3,
"evidence": "speculative",
"checkScore": 25,
"checkDetails": "Content ratio: 8.6% (9912 content chars / 115876 HTML bytes)"
}
],
"llmsTxtPreview": "# Mozilla\n\n> We’re working to put control of the internet back in the hands of the people using it.\n\n## Main\n- [Mozilla - Internet for people, not profit (US)](https://www.mozilla.org/en-US/): We’re working to put control of the internet back in the hands of the people using it.\n- [Products](https://www.mozilla.org/en-US/products/)\n- [Mozilla VPN](https://www.mozilla.org/en-US/products/vpn/)\n- [Mozilla Monitor](https://www.mozilla.org/en-US/products/monitor/)\n- [About us](https://www.mozilla.org/en-US/about/)\n- [The Mozilla Manifesto](https://www.mozilla.org/en-US/about/manifesto/)\n- [Leadership](https://www.mozilla.org/en-US/about/leadership/)\n- [Community Participation Guidelines](https://www.mozilla.org/en-US/about/governance/policies/participation/)\n- [About this site](https://www.mozilla.org/en-US/about/this-site/)\n- [Get Involved](https://www.mozilla.org/en-US/contribute/)\n- [Mozilla Advertising](https://www.mozilla.org/en-US/advertising/)\n- [Careers](https://www.mozilla.org/en-US/careers/)\n- [Security](https://www.mozilla.org/en-US/security/)\n- [All languages](https://www.mozilla.org/locales/)\n- [Creative Commons license](https://www.mozilla.org/en-US/foundation/licensing/website-content/)\n\n## Legal\n- [this Privacy Notice](https://www.mozilla.org/en-US/privacy/websites/)\n- [Cookies](https://www.mozilla.org/en-US/privacy/websites/cookie-settings/)\n- [Legal](https://www.mozilla.org/en-US/about/legal/)\n\n## Support\n- [Contact](https://www.mozilla.org/en-US/contact/)\n\n",
"llmsTxtExisting": null,
"emergingProtocols": {
"oauthProtectedResource": {
"exists": false,
"url": "https://www.mozilla.org/.well-known/oauth-protected-resource"
},
"oauthDiscovery": {
"exists": false,
"url": "https://www.mozilla.org/.well-known/oauth-authorization-server"
},
"mcpServerCard": {
"exists": false,
"url": "https://www.mozilla.org/.well-known/mcp/server-card.json",
"draft": true
},
"a2aAgentCard": {
"exists": false,
"url": "https://www.mozilla.org/.well-known/agent-card.json"
},
"apiCatalog": {
"exists": false,
"url": "https://www.mozilla.org/.well-known/api-catalog"
},
"agentSkills": {
"exists": false,
"url": "https://www.mozilla.org/.well-known/agent-skills/index.json",
"draft": true
},
"count": 0,
"total": 6
},
"botAccess": {
"probed": true,
"bot": "OAI-SearchBot",
"controlStatus": 200,
"botStatus": 200,
"discriminates": false,
"refusedAsBot": false,
"edge": null,
"verifiable": false,
"detail": "This origin answers OAI-SearchBot exactly as it answers any other client (200). No edge-level filtering of AI crawlers observed."
},
"snippets": [
{
"id": "add_llms_txt",
"title": "Create /llms.txt",
"description": "Upload this file to your web root. It tells AI agents what your site is about and which pages matter.",
"language": "markdown",
"code": "# Mozilla\n\n> We’re working to put control of the internet back in the hands of the people using it.\n\n## Main\n- [Mozilla - Internet for people, not profit (US)](https://www.mozilla.org/en-US/): We’re working to put control of the internet back in the hands of the people using it.\n- [Products](https://www.mozilla.org/en-US/products/)\n- [Mozilla VPN](https://www.mozilla.org/en-US/products/vpn/)\n- [Mozilla Monitor](https://www.mozilla.org/en-US/products/monitor/)\n- [About us](https://www.mozilla.org/en-US/about/)\n- [The Mozilla Manifesto](https://www.mozilla.org/en-US/about/manifesto/)\n- [Leadership](https://www.mozilla.org/en-US/about/leadership/)\n- [Community Participation Guidelines](https://www.mozilla.org/en-US/about/governance/policies/participation/)\n- [About this site](https://www.mozilla.org/en-US/about/this-site/)\n- [Get Involved](https://www.mozilla.org/en-US/contribute/)\n- [Mozilla Advertising](https://www.mozilla.org/en-US/advertising/)\n- [Careers](https://www.mozilla.org/en-US/careers/)\n- [Security](https://www.mozilla.org/en-US/security/)\n- [All languages](https://www.mozilla.org/locales/)\n- [Creative Commons license](https://www.mozilla.org/en-US/foundation/licensing/website-content/)\n\n## Legal\n- [this Privacy Notice](https://www.mozilla.org/en-US/privacy/websites/)\n- [Cookies](https://www.mozilla.org/en-US/privacy/websites/cookie-settings/)\n- [Legal](https://www.mozilla.org/en-US/about/legal/)\n\n## Support\n- [Contact](https://www.mozilla.org/en-US/contact/)\n\n",
"filename": "/llms.txt"
},
{
"id": "add_schema_org",
"title": "Add Schema.org JSON-LD",
"description": "Structured data helps AI agents understand the type, author, and purpose of your content.",
"language": "html",
"code": "<script type=\"application/ld+json\">\n{\n \"@context\": \"https://schema.org\",\n \"@type\": \"WebPage\",\n \"name\": \"Mozilla - Internet for people, not profit (US)\",\n \"description\": \"We’re working to put control of the internet back in the hands of the people using it.\",\n \"url\": \"https://www.mozilla.org/en-US/\",\n \"inLanguage\": \"en\",\n \"isPartOf\": {\n \"@type\": \"WebSite\",\n \"name\": \"Mozilla\"\n },\n \"author\": {\n \"@type\": \"Person\",\n \"name\": \"Author(s)\"\n }\n}\n</script>",
"filename": "<head>"
},
{
"id": "add_sitemap",
"title": "Create /sitemap.xml",
"description": "A sitemap helps AI agents discover all your pages. Most CMS platforms generate one automatically.",
"language": "xml",
"code": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n <url>\n <loc>https://www.mozilla.org/en-US/</loc>\n <lastmod>2026-09-05</lastmod>\n </url>\n</urlset>",
"filename": "/sitemap.xml"
},
{
"id": "add_content_signals",
"title": "Add Content-Signal directives",
"description": "Content-Signal tells AI agents how they may use your content. The canonical location is robots.txt, but you can also expose it as an HTTP header from any stack.",
"language": "txt",
"code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no",
"filename": "/robots.txt",
"stacks": [
{
"id": "robots",
"label": "robots.txt",
"language": "txt",
"filename": "/robots.txt",
"code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no"
},
{
"id": "nginx",
"label": "Nginx",
"language": "nginx",
"filename": "server block",
"code": "# Inside your server { } block:\nadd_header Content-Signal \"search=yes, ai-input=yes, ai-train=no\" always;"
},
{
"id": "apache",
"label": "Apache",
"language": "apache",
"filename": ".htaccess",
"code": "# In .htaccess (or VirtualHost):\nHeader set Content-Signal \"search=yes, ai-input=yes, ai-train=no\""
},
{
"id": "wordpress",
"label": "WordPress",
"language": "php",
"filename": "functions.php",
"code": "<?php\n// In your theme's functions.php or a small mu-plugin\nadd_action('send_headers', function () {\n header('Content-Signal: search=yes, ai-input=yes, ai-train=no');\n});\n\n// Optional: also append the directive to the dynamic robots.txt\nadd_filter('robots_txt', function ($output) {\n return $output . \"\\nContent-Signal: search=yes, ai-input=yes, ai-train=no\\n\";\n}, 10, 1);"
},
{
"id": "nextjs",
"label": "Next.js",
"language": "typescript",
"filename": "middleware.ts",
"code": "// middleware.ts (Next.js 13+ App Router or Pages Router)\nimport { NextResponse } from 'next/server';\nexport function middleware() {\n const res = NextResponse.next();\n res.headers.set(\n 'Content-Signal',\n 'search=yes, ai-input=yes, ai-train=no'\n );\n return res;\n}\nexport const config = { matcher: '/:path*' };"
},
{
"id": "cloudflare",
"label": "Cloudflare Workers",
"language": "javascript",
"filename": "worker.js",
"code": "// Cloudflare Worker that proxies your origin and adds the header\nexport default {\n async fetch(request, env, ctx) {\n const res = await fetch(request);\n const newRes = new Response(res.body, res);\n newRes.headers.set(\n 'Content-Signal',\n 'search=yes, ai-input=yes, ai-train=no'\n );\n return newRes;\n },\n};"
},
{
"id": "express",
"label": "Express / Fastify",
"language": "javascript",
"filename": "server.js",
"code": "// Express\napp.use((req, res, next) => {\n res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n done();\n});"
}
]
},
{
"id": "add_markdown_negotiation",
"title": "Support Markdown for Agents",
"description": "Let AI agents request a clean Markdown version of any page via content negotiation, .md alternate URLs, link tags or Link headers.",
"language": "html",
"code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">",
"filename": "<head>",
"stacks": [
{
"id": "html",
"label": "HTML <head>",
"language": "html",
"filename": "<head>",
"code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
},
{
"id": "express",
"label": "Express",
"language": "javascript",
"filename": "server.js",
"code": "// Mechanisms 1 + 4: content negotiation + Link header\napp.get('/page', (req, res) => {\n res.setHeader('Vary', 'Accept');\n res.setHeader('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n res.type('text/markdown; charset=utf-8');\n return res.send(renderMarkdown('page'));\n }\n res.render('page');\n});"
},
{
"id": "fastify",
"label": "Fastify",
"language": "javascript",
"filename": "server.js",
"code": "// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n reply.header('Vary', 'Accept');\n reply.header('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n }\n return reply.view('/page.ejs');\n});"
},
{
"id": "nextjs",
"label": "Next.js",
"language": "typescript",
"filename": "app/page/route.ts",
"code": "// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n const accept = req.headers.get('accept') || '';\n if (accept.includes('text/markdown')) {\n return new Response(await renderMarkdown('page'), {\n headers: {\n 'Content-Type': 'text/markdown; charset=utf-8',\n 'Vary': 'Accept',\n },\n });\n }\n // Fall through to the page component\n return new Response(null, { status: 404 });\n}"
},
{
"id": "wordpress",
"label": "WordPress",
"language": "php",
"filename": "functions.php",
"code": "<?php\n// Mechanism 1: respond to Accept: text/markdown on the same URL\nadd_action('template_redirect', function () {\n if (!is_singular()) return;\n $accept = $_SERVER['HTTP_ACCEPT'] ?? '';\n if (strpos($accept, 'text/markdown') === false) return;\n header('Content-Type: text/markdown; charset=utf-8');\n header('Vary: Accept');\n $post = get_queried_object();\n echo \"# \" . get_the_title($post) . \"\\n\\n\";\n echo wp_strip_all_tags(apply_filters('the_content', $post->post_content));\n exit;\n});"
},
{
"id": "static",
"label": "Hugo / Jekyll / Astro",
"language": "txt",
"filename": "static/page.md",
"code": "# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in <head>:\n# <link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
}
]
}
]
}
Use our API to get this programmatically (coming soon)
This JSON is for internal use — unlike the Markdown and llms.txt files, it's not meant to be uploaded to your site. Save it as a baseline to track your score over time, share it with your dev team, or integrate it into your CI/CD pipeline.
Share your results
Or ask an AI to help you fix it
Want a second opinion?
Cloudflare runs a free scanner too, and it asks a different question. It scores what your site publishes for agents to call — MCP server cards, Agent Skills, API catalogs, DNS records. We score whether an agent can reach, read and understand your content. A site can do well on one and poorly on the other, so expect two different numbers: they are answers to two different questions, and both are worth knowing.
Scan www.mozilla.org with CloudflareEmbed your badge
Add this badge to your site. It updates automatically as your AI-readiness score changes.
<script src="https://agentready.md/badge.js" data-id="c975381f-deda-474a-ab37-527f169a55fc" data-domain="www.mozilla.org"></script>
[](https://agentready.md/r/mozilla.org)
Coming soon: Full Domain Analysis
Crawl your entire domain, generate llms.txt, and monitor your AI-readiness score over time. Join the waitlist to be notified.
You're on the list! We'll notify you when it launches.