 #  Markdown Alternates Experiment: AI-Friendly Web Content 

 

  ![Markdown Alternates Experiment: AI-Friendly Web Content](https://cdn.richeyweb.com/images/articles/jooma-article-index-in-a-module-position-720p.webp)    ## The Hypothesis

As [artificial intelligence](/blog/hosting/ai-slop-vs-quality-content-and-technical-seo "AI Slop vs Quality Content and Technical SEO") increasingly crawls and indexes web content for training data and retrieval systems, the question arises: could we make our content more accessible to AI by offering it in cleaner formats? This article documents an ongoing experiment at RicheyWeb.com to test whether providing Markdown alternates of web pages—advertised through standard HTTP Link headers—improves AI content ingestion.

## The Problem

Modern web pages are cluttered. Navigation menus, sidebars, footers, advertisements, and decorative elements surround the actual content. While [search engines](/blog/development/generator-tag-claim-your-joomla-sites "Generator Tag: Claim Your Joomla Sites") have become adept at identifying main content areas, [AI crawlers](/blog/development/seo-tabs-with-details-summary "SEO Friendly Tabs with details/summary") parsing pages for training or retrieval face the same challenge: separating signal from noise.

HTML's structural complexity adds another layer of difficulty. Nested `<div>` tags, CSS classes, JavaScript-loaded content, and semantic inconsistencies make programmatic content extraction imperfect. Even sophisticated parsers must guess at what constitutes "the article" versus "the chrome."

Markdown, by contrast, is intentionally simple. It's a plain-text format designed for human readability that translates cleanly to structured content. For an AI system trying to extract article text, data tables, or hierarchical information, Markdown provides exactly what's needed without the overhead.

## The Implementation

The experiment implements a simple mechanism: when crawlers visit pages on RicheyWeb.com, they receive [HTTP Link headers](/blog/development/canonical-http-headers-for-rss-feeds "Canonical HTTP Headers for RSS Feeds") advertising a Markdown alternate version of the same content.

### Technical Approach

**On HTML pages**, the server sends:

 ```
<span class="hljs-symbol">Link:</span> <span class="hljs-params"><https://richeyweb.com/article></span>; rel=<span class="hljs-string">"canonical"</span>
<span class="hljs-symbol">Link:</span> <span class="hljs-params"><https://richeyweb.com/article?tmpl=markdown></span>; rel=<span class="hljs-string">"alternate"</span>; type=<span class="hljs-string">"text/markdown"</span>

```

These can also be declared in the HTML `<head>` using `<link>` elements:

 ```
<link <span class="hljs-keyword">rel</span>=<span class="hljs-string">"canonical"</span> href=<span class="hljs-string">"https://richeyweb.com/article"</span>>
<link <span class="hljs-keyword">rel</span>=<span class="hljs-string">"alternate"</span> <span class="hljs-keyword">type</span>=<span class="hljs-string">"text/markdown"</span> href=<span class="hljs-string">"https://richeyweb.com/article?tmpl=markdown"</span>>

```

**On Markdown pages** (accessed via `?tmpl=markdown`), the relationship inverts:

 ```
<span class="hljs-symbol">Link:</span> <span class="hljs-params"><https://richeyweb.com/article></span>; rel=<span class="hljs-string">"canonical"</span>
<span class="hljs-symbol">Link:</span> <span class="hljs-params"><https://richeyweb.com/article?tmpl=markdown<span class="hljs-variable">&start</span>=<span class="hljs-number">2</span>></span>; rel=<span class="hljs-string">"next"</span>

```

This follows established HTTP semantics:

- `rel="canonical"` points to the authoritative version (always the HTML page)
- `rel="alternate"` advertises alternative representations
- `type="text/markdown"` explicitly declares the content type
- Navigation links (`rel="next"`, `rel="prev"`) maintain format consistency
 
### Content Generation

The Markdown version strips away all decorative elements—no navigation, no sidebars, no advertisements. Just the article content, converted from HTML to clean Markdown with:

- Proper heading hierarchy
- Preserved link structure (converted to absolute URLs)
- Tables and lists in native Markdown format
- Inline images with alt text
 
The result is a pure content representation that's both human-readable and trivial for machines to parse.

## Why This Might Work

Several factors suggest AI crawlers could benefit from and potentially prioritize Markdown alternates:

**1. Established Standards**  
The `rel="alternate"` mechanism is well-documented in [RFC 8288](https://datatracker.ietf.org/doc/html/rfc8288 "RFC 8288 - Web Linking") and widely used for language variants, mobile versions, and [RSS feeds](/blog/hosting/ai-automation-unlocking-content-opportunities "AI Automation Unlocking Content Opportunities"). AI systems already understand this signal for discovering alternative content representations.

**2. Explicit Content-Type Declaration**  
By specifying `type="text/markdown"`, crawlers can identify cleaner content without first fetching and analyzing it. The `text/markdown` MIME type was [officially registered with IANA in 2016](https://datatracker.ietf.org/doc/html/rfc7763 "RFC 7763 - The text/markdown Media Type") (RFC 7763), making it a standardized way to declare Markdown content. This enables selective crawling strategies that prioritize structured formats.

**3. Reduced Processing Overhead**  
Parsing Markdown is computationally cheaper than HTML. No DOM construction, no CSS interpretation, no JavaScript execution. For systems crawling millions of pages, this efficiency matters.

**4. Better Content Fidelity**  
Markdown preserves semantic structure ([headings](/blog/development/bug-reports-a-developers-best-friend-not-a-burden "Bug Reports: A Developer's Best Friend, Not a Burden"), lists, emphasis) without presentation details. This aligns with what language models actually need: meaning, not styling.

**5. Future-Proofing**  
Even if current AI crawlers ignore this signal, implementing it now positions content for emerging standards. As AI companies optimize their crawling infrastructure, clean content APIs become increasingly valuable.

## Current Status

The experiment is live on RicheyWeb.com as of January 2025. All article pages now advertise Markdown alternates through HTTP Link headers, and the Markdown versions are fully functional and cached for performance.

### What We're Monitoring

- **Crawl patterns**: Do AI crawlers (identifiable by [user agents](https://momenticmarketing.com/blog/ai-search-crawlers-bots "List of Top AI Search Crawlers + User Agents") like [GPTBot](/blog/hosting/tracking-ai-crawlers-with-nginx-and-google-analytics-4 "Tracking AI Crawlers with NGINX and Google Analytics 4"), CCBot, ClaudeBot) request `tmpl=markdown` URLs?
- **Crawl frequency**: Does offering Markdown reduce redundant HTML crawls?
- **Content accuracy**: When AI systems reference site content, does accuracy improve?
- **Industry adoption**: Do other sites or AI companies document this approach?
 
### Early Observations

It's too early for meaningful data, but the implementation itself provides immediate value:

- Clean content exports for other purposes (documentation, archiving)
- Proper HTTP semantics that don't harm traditional SEO
- Zero performance penalty (Markdown generation is cached)
- Educational value in understanding content structure
 
## The Realistic Assessment

**Traditional SEO Impact**: None. Google and other search engines don't prioritize Markdown alternates. The `rel="canonical"` relationship properly signals the HTML version as authoritative, [preventing duplicate content issues](https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls "How to Specify a Canonical with rel=canonical"), but the Markdown version itself provides no ranking benefit. Google does recognize and use [`rel="alternate"` for specific purposes](https://developers.google.com/search/docs/specialty/international/localized-versions "Localized Versions of your Pages") like language variants (hreflang), mobile versions, and AMP pages, but has no documented support for Markdown alternates.

**AI Crawler Impact**: Unknown. No major AI company has publicly documented using `rel="alternate" type="text/markdown"` signals. The experiment operates in speculative territory.

**Technical Correctness**: High. The implementation follows HTTP standards correctly, uses appropriate MIME types, and maintains proper semantic relationships between content versions.

## Broader Implications

This experiment touches on a larger question: as AI becomes a primary consumer of web content, should we evolve our content delivery strategies?

The current web architecture optimized for human browsers—HTML for structure, CSS for presentation, JavaScript for interaction. But AI doesn't need pretty layouts or animated transitions. It needs clean, structured data.

Could we see:

- Standardization of machine-readable content alternates?
- New HTTP headers or meta tags specifically for AI crawlers?
- Content management systems natively generating multi-format outputs?
- Search engines and AI platforms collaborating on content discovery standards?
 
## How to Implement It Yourself

For those interested in running similar experiments:

**1. Generate Markdown from HTML**  
Use a library like `league/html-to-markdown` (PHP), `turndown` (JavaScript), or `html2text` (Python) to convert your content.

**2. Serve via Query Parameter**  
Create a URL parameter like `?format=markdown` or `?tmpl=markdown` that triggers alternate rendering.

**3. Add HTTP Link Headers**  
On HTML pages, advertise the Markdown version:

 ```
<span class="hljs-symbol">Link:</span> <span class="hljs-params"><URL?tmpl=markdown></span>; rel=<span class="hljs-string">"alternate"</span>; type=<span class="hljs-string">"text/markdown"</span>

```

Alternatively, you can add these as HTML `<link>` elements in the `<head>` section:

 ```
<link <span class="hljs-keyword">rel</span>=<span class="hljs-string">"alternate"</span> <span class="hljs-keyword">type</span>=<span class="hljs-string">"text/markdown"</span> href=<span class="hljs-string">"URL?tmpl=markdown"</span>>

```

Or use both HTTP headers and HTML tags—they're complementary and crawlers recognize either method. On Markdown pages, point to the canonical HTML:

On Markdown pages, point to the canonical HTML:

 ```
<span class="hljs-symbol">Link:</span> <span class="hljs-params"><URL></span>; rel=<span class="hljs-string">"canonical"</span>

```

**4. Set Proper Content-Type**  
Markdown pages should return `Content-Type: text/markdown; charset=utf-8`

**5. Handle Navigation**  
Maintain prev/next links in the appropriate format so crawlers can traverse your site consistently.

**6. Cache Aggressively**  
Markdown conversion isn't free—cache generated output to avoid repeated processing.

## Conclusion

This experiment represents a low-risk, standards-compliant approach to potentially improving AI content ingestion. Whether AI crawlers currently use these signals is unknown, but the implementation costs are minimal and the technical approach is sound.

As AI's role in content discovery and retrieval grows, experiments like this help identify what works. If enough sites adopt similar approaches and AI companies respond by documenting their preferences, we could see the emergence of new best practices for machine-readable web content.

The markdown alternates are live. The crawlers are watching. Now we wait to see if anyone's listening.

Update: [System - Markdown](/software/joomla/plugins/system-markdown) has been released. This Joomla plugin enables markdown conversion, with caching, for all pages of a Joomla site.

---

*This experiment is running live at [RicheyWeb.com](https://richeyweb.com). Technical implementation details are intentionally omitted to focus on the concept rather than specific code.*

## Frequently Asked Questions:

What is this experiment about?This experiment tests whether providing Markdown versions of web pages and advertising them through HTTP Link headers makes content more accessible to AI crawlers for training and retrieval systems.



Why Markdown instead of HTML?Markdown is a plain-text format that's structurally simple and human-readable. Unlike HTML with its nested tags, CSS classes, and JavaScript, Markdown provides clean content without decorative elements, making it easier for AI systems to parse and extract meaning.



How does it work technically?When crawlers visit a page, the server sends HTTP Link headers that advertise a Markdown alternate version. For example: HTML pages include: Link: ; rel="alternate"; type="text/markdown" Markdown pages include: Link: ; rel="canonical" This follows the same pattern used for language variants and mobile versions.



Will this help my SEO?No. Google and other search engines don't prioritize or rank Markdown alternates. The rel="canonical" tag properly signals the HTML version as authoritative, preventing duplicate content issues, but the Markdown version provides no traditional SEO benefit.

Citation:[How to Specify a Canonical with rel=canonical](https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls)

Do AI companies actually use these signals?Unknown. No major AI company (OpenAI, Anthropic, Google, etc.) has publicly documented using rel="alternate" type="text/markdown" signals to discover cleaner content. This experiment is speculative.



What AI crawlers should I monitor?Common AI crawler user agents include: GPTBot (OpenAI) ClaudeBot (Anthropic) CCBot (Common Crawl) Google-Extended (Google) PerplexityBot (Perplexity) You can identify these in your server logs by their user-agent strings.

Citation:[List of Top AI Search Crawlers + User Agents](https://momenticmarketing.com/blog/ai-search-crawlers-bots)

Is the text/markdown MIME type official?Yes. The text/markdown MIME type was officially registered with IANA in 2016 through RFC 7763, making it a standardized way to declare Markdown content.

Citation:[RFC 7763 - The text/markdown Media Type](https://datatracker.ietf.org/doc/html/rfc7763)

Does this create duplicate content issues?No. The rel="canonical" relationship properly signals that the HTML version is authoritative. Search engines understand that alternate versions (Markdown, mobile, different languages) are representations of the same content, not duplicates.



How much work is this to implement?Minimal. You need to: Convert HTML to Markdown (using existing libraries) Serve it via a URL parameter like ?tmpl=markdown Add HTTP Link headers Cache the generated Markdown This was done with a single Joomla plugin on RicheyWeb.com.



What happens if AI crawlers ignore this?Nothing bad. The implementation follows HTTP standards correctly and doesn't harm traditional SEO. At worst, you've added clean Markdown exports that can be useful for documentation, archiving, or other purposes. At best, AI crawlers start using the signal and you're ahead of the curve.



Can I block AI crawlers from accessing the Markdown version?Yes. You can use robots.txt to control which crawlers can access which URLs. However, the point of this experiment is to make content more accessible to AI, not less.



Do I need to create Markdown versions of every page?Not necessarily. You might want to prioritize: Article/blog content Documentation pages Product descriptions Any text-heavy content you want AI systems to understand well Skip pages like navigation, checkout flows, or highly interactive interfaces where Markdown wouldn't make sense.



How do I know if it's working?Monitor your server logs for requests to ?tmpl=markdown URLs from AI crawler user agents. Track whether AI systems that reference your content show improved accuracy or understanding. However, concrete measurement may be difficult since AI companies don't disclose their crawling logic.



Should I use rel="alternate" for other formats too?Yes, if they're legitimate alternate representations. Common uses include: Language variants (with hreflang) Mobile versions AMP pages RSS feeds PDF versions Don't abuse it by creating artificial alternates that aren't actually different representations of the same content.

Citation:[Localized Versions of your Pages](https://developers.google.com/search/docs/specialty/international/localized-versions)

What's the difference between rel="alternate" and rel="canonical"?rel="canonical" points to the authoritative/preferred version rel="alternate" advertises other representations of the same content The HTML page says "I'm canonical, and here's a Markdown alternate." The Markdown page says "The HTML version is canonical (not me)."



Is this part of a broader standard?The HTTP Link header mechanism is standardized in RFC 8288. Using it for content negotiation and alternate representations is well-established. What's experimental is using it specifically for Markdown alternates to improve AI content ingestion.

Citation:[RFC 8288 - Web Linking](https://datatracker.ietf.org/doc/html/rfc8288)

Could this become an industry standard?Possibly. If enough sites adopt this approach and AI companies find it useful, it could emerge as a best practice. The experiment is designed to be forward-compatible with potential future standards while following current HTTP conventions correctly.



What if my CMS doesn't support this?You have several options: Write a plugin/extension for your CMS Use a reverse proxy or CDN to add the headers Generate static Markdown files during your build process Use middleware in your application server The implementation doesn't require deep CMS integration—it's primarily about header manipulation and content transformation.





- [      email ](mailto:?subject=Markdown+Alternates+Experiment%3A+AI-Friendly+Web+Content&body=https%3A%2F%2Fwww.richeyweb.com%2Fwhite-hat-seo%2Fmarkdown-alternates-experiment-ai-friendly-web-content)
- [      facebook ](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.richeyweb.com%2Fwhite-hat-seo%2Fmarkdown-alternates-experiment-ai-friendly-web-content)
- [      x-twitter ](https://twitter.com/intent/tweet?text=Markdown+Alternates+Experiment%3A+AI-Friendly+Web+Content%3A+https%3A%2F%2Fwww.richeyweb.com%2Fwhite-hat-seo%2Fmarkdown-alternates-experiment-ai-friendly-web-content)
- [      linkedin ](http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.richeyweb.com%2Fwhite-hat-seo%2Fmarkdown-alternates-experiment-ai-friendly-web-content&title=Markdown+Alternates+Experiment%3A+AI-Friendly+Web+Content&summary=The+Hypothesis+As+artificial+intelligence+increasi...)
- [      pinterest ](http://pinterest.com/pin/create/button/?url=https%3A%2F%2Fwww.richeyweb.com%2Fwhite-hat-seo%2Fmarkdown-alternates-experiment-ai-friendly-web-content&media=https%3A%2F%2Fcdn.joomla.org%2Fimages%2Fjoomla-org-og.jpg&description=Markdown+Alternates+Experiment%3A+AI-Friendly+Web+Content)
 


 

   [  Previous article: Curated Backlinks   Curated Backlinks ](/white-hat-seo/curated-backlinks)  

##### We Value Your Privacy

 

We use cookies to enhance your experience and for traffic analysis. By continuing to visit this site you agree to our use of cookies.

[Privacy Policy](/privacy-policy)

 Details 

###### Google Tag Manager Items

- Ad Storage
- Ad User Data
- Ad Personalization
- Analytics Storage
- Functionality Storage
- Personalization Storage
- Security Storage
 
 

 

 

 

 

 Decline Accept
```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.richeyweb.com/#organization","name":"RicheyWeb","url":"https://www.richeyweb.com/","logo":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/logo/richeyweb.svg","contentUrl":"https://www.richeyweb.com/images/logo/richeyweb.svg","width":{"@type":"QuantitativeValue","value":38,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":38,"unitCode":"PX"},"@id":"https://www.richeyweb.com/#logo"},"image":{"@id":"https://www.richeyweb.com/#logo"},"sameAs":["https://x.com/ComRicheyweb","https://www.facebook.com/RicheyWebDev/","https://www.youtube.com/channel/UCxnVG8BwOvQRO7hVqNX7T2g","https://community.joomla.org/service-providers-directory/listings/115:richeyweb.html"],"description":"RicheyWeb is a custom software developer specializing in Joomla extensions.","ContactPoint":[{"@type":"ContactPoint","url":"https://www.richeyweb.com/contact-us","telephone":"903-873-8460","contactType":"Owner/Administrator","areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"availableLanguage":"en"},{"@type":"ContactPoint","url":"https://www.richeyweb.com/bugs","telephone":"903-873-8460","contactType":"Technical Support","areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"availableLanguage":"en"}],"knowsAbout":["Computer programming",{"@type":"Thing","name":"Computer programming","sameAs":["https://en.wikipedia.org/wiki/Computer_programming","https://www.wikidata.org/wiki/Q80006","https://g.co/kg/m/01mf_"]},"PHP",{"@type":"Thing","name":"PHP","sameAs":["https://en.wikipedia.org/wiki/PHP","https://www.wikidata.org/wiki/Q59","https://g.co/kg/m/060kv"]},"JavaScript",{"@type":"Thing","name":"JavaScript","sameAs":["https://en.wikipedia.org/wiki/JavaScript","https://www.wikidata.org/wiki/Q2005","https://g.co/kg/m/02p97"]},"arduino","Computer forensics",{"@type":"Thing","name":"Computer forensics","sameAs":["https://en.wikipedia.org/wiki/Computer_forensics","https://www.wikidata.org/wiki/Q878553","https://g.co/kg/m/02wxbd"]},"White hat",{"@type":"Thing","name":"White hat","sameAs":["https://en.wikipedia.org/wiki/White_hat_(computer_security)","https://www.wikidata.org/wiki/Q7995625","https://g.co/kg/m/03ns_5"]},"Search engine optimization",{"@type":"Thing","name":"Search engine optimization","sameAs":["https://en.wikipedia.org/wiki/Search_engine_optimization","https://www.wikidata.org/wiki/Q180711","https://g.co/kg/m/019qb_"]},"Search engine marketing",{"@type":"Thing","name":"Search engine marketing","sameAs":["https://en.wikipedia.org/wiki/Search_engine_marketing","https://www.wikidata.org/wiki/Q846132","https://g.co/kg/m/06mw8r"]},"Digital marketing",{"@type":"Thing","name":"Digital marketing","sameAs":["https://en.wikipedia.org/wiki/Digital_marketing","https://www.wikidata.org/wiki/Q1323528","https://g.co/kg/g/122hcnps"]},"Web hosting service",{"@type":"Thing","name":"Web hosting service","sameAs":["https://en.wikipedia.org/wiki/Web_hosting_service","https://www.wikidata.org/wiki/Q5892272","https://g.co/kg/m/014pz4"]},"Email hosting service",{"@type":"Thing","name":"Email hosting service","sameAs":["https://en.wikipedia.org/wiki/Email_hosting_service","https://www.wikidata.org/wiki/Q5368818","https://g.co/kg/m/09w60m"]},"Internet hosting service",{"@type":"Thing","name":"Internet hosting service","sameAs":["https://en.wikipedia.org/wiki/Internet_hosting_service","https://www.wikidata.org/wiki/Q1210425","https://g.co/kg/m/09w5yw"]},"Virtual hosting",{"@type":"Thing","name":"Virtual hosting","sameAs":["https://en.wikipedia.org/wiki/Virtual_hosting","https://www.wikidata.org/wiki/Q588365","https://g.co/kg/m/024mvh"]},"Web performance",{"@type":"Thing","name":"Web performance","sameAs":["https://en.wikipedia.org/wiki/Web_performance","https://www.wikidata.org/wiki/Q7978612","https://g.co/kg/m/0gfj3f1"]},"Web content management system",{"@type":"Thing","name":"Web content management system","sameAs":["https://en.wikipedia.org/wiki/Web_content_management_system","https://www.wikidata.org/wiki/Q45211","https://g.co/kg/m/0615s2"]},"Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"General Data Protection Regulation",{"@type":"Thing","name":"General Data Protection Regulation","sameAs":["https://en.wikipedia.org/wiki/General_Data_Protection_Regulation","https://www.wikidata.org/wiki/Q1172506","https://g.co/kg/m/0pk_7xs"]},"SERP",{"@type":"Thing","name":"SERP","sameAs":["https://en.wikipedia.org/wiki/SERP","https://www.wikidata.org/wiki/Q2205811","https://g.co/kg/g/11c5szp7kc"]},"Artificial intelligence",{"@type":"Thing","name":"Artificial intelligence","sameAs":["https://en.wikipedia.org/wiki/Artificial_intelligence","https://www.wikidata.org/wiki/Q11660","https://g.co/kg/m/0mkz"]},"Prompt engineering",{"@type":"Thing","name":"Prompt engineering","sameAs":["https://en.wikipedia.org/wiki/Prompt_engineering","https://www.wikidata.org/wiki/Q108941486","https://g.co/kg/g/11p6kpgt_n"]},"E-learning",{"@type":"Thing","name":"E-learning","sameAs":["https://en.wikipedia.org/wiki/E-learning_(theory)","https://www.wikidata.org/wiki/Q182250","https://g.co/kg/g/122czm1f"]},"Sharable Content Object Reference Model",{"@type":"Thing","name":"Sharable Content Object Reference Model","sameAs":["https://en.wikipedia.org/wiki/Sharable_Content_Object_Reference_Model","https://www.wikidata.org/wiki/Q827811","https://g.co/kg/m/06_40"]},"Experience API",{"@type":"Thing","name":"Experience API","sameAs":["https://en.wikipedia.org/wiki/Experience_API","https://www.wikidata.org/wiki/Q7807728","https://g.co/kg/g/1yw9ktxr8"]},"Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]},"Nginx",{"@type":"Thing","name":"Nginx","sameAs":["https://en.wikipedia.org/wiki/Nginx","https://www.wikidata.org/wiki/Q306144","https://g.co/kg/m/02qft91"]},"MySQL",{"@type":"Thing","name":"MySQL","sameAs":["https://en.wikipedia.org/wiki/MySQL","https://www.wikidata.org/wiki/Q850","https://g.co/kg/m/04y3k"]}],"areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"memberOf":["Mensa International",{"@type":"Organization","name":"Mensa International","sameAs":["https://en.wikipedia.org/wiki/Mensa_International","https://www.wikidata.org/wiki/Q184194","https://g.co/kg/m/0140pf"]},"National Rifle Association",{"@type":"Organization","name":"National Rifle Association","sameAs":["https://en.wikipedia.org/wiki/National_Rifle_Association","https://www.wikidata.org/wiki/Q863259","https://g.co/kg/m/0j6f9"]},"CompTIA",{"@type":"Organization","name":"CompTIA","sameAs":["https://en.wikipedia.org/wiki/CompTIA","https://www.wikidata.org/wiki/Q597534","https://g.co/kg/m/040shq"]},"ISFCE LLC",{"@type":"Organization","name":"ISFCE LLC","sameAs":["https://isfce.com","https://g.co/kg/g/11wxm5r0rg"]}],"hasCredential":[{"@type":"EducationalOccupationalCredential","name":"Joomla 3 Certified Administrator","credentialCategory":"Certification","description":"Administrator Exam is the first available Joomla! certification exam","recognizedBy":{"@type":"Organization","name":"Open Source Matters, Inc.","sameAs":["https://en.wikipedia.org/wiki/Open_Source_Matters,_Inc.","https://g.co/kg/g/11f00wvjhz"]},"url":"https://certification.joomla.org/certified-user-directory/michael-richey","about":["Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"Web content management system",{"@type":"Thing","name":"Web content management system","sameAs":["https://en.wikipedia.org/wiki/Web_content_management_system","https://www.wikidata.org/wiki/Q45211","https://g.co/kg/m/0615s2"]},"Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]}],"educationalLevel":"expert","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/contact/badge.webp","contentUrl":"https://www.richeyweb.com/images/contact/badge.webp","width":{"@type":"QuantitativeValue","value":300,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":86,"unitCode":"PX"},"caption":"Joomla 3 Certified Administrator"}},{"@type":"EducationalOccupationalCredential","name":"Certified Computer Examiner","credentialCategory":"Certification","description":"Internationally recognized computer forensics certifiecation","recognizedBy":{"@type":"Organization","name":"ISFCE LLC","sameAs":["https://en.wikipedia.org/wiki/ISFCE_LLC","https://g.co/kg/g/11wxm5r0rg"]},"url":"https://isfce.com/","about":["Digital forensics",{"@type":"Thing","name":"Digital forensics","sameAs":["https://en.wikipedia.org/wiki/Digital_forensics","https://www.wikidata.org/wiki/Q3246940","https://g.co/kg/m/0cnxzfx"]},"Computer forensics",{"@type":"Thing","name":"Computer forensics","sameAs":["https://en.wikipedia.org/wiki/Computer_forensics","https://www.wikidata.org/wiki/Q878553","https://g.co/kg/m/02wxbd"]},"Mobile device forensics",{"@type":"Thing","name":"Mobile device forensics","sameAs":["https://en.wikipedia.org/wiki/Mobile_device_forensics","https://www.wikidata.org/wiki/Q6887097","https://g.co/kg/m/06zp3tp"]},"Network forensics",{"@type":"Thing","name":"Network forensics","sameAs":["https://en.wikipedia.org/wiki/Network_forensics","https://www.wikidata.org/wiki/Q7001032","https://g.co/kg/m/05pb280"]},"Database forensics",{"@type":"Thing","name":"Database forensics","sameAs":["https://en.wikipedia.org/wiki/Database_forensics","https://www.wikidata.org/wiki/Q5227405","https://g.co/kg/m/0cgqsy"]}],"educationalLevel":"expert","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/contact/isfce-cce.webp","contentUrl":"https://www.richeyweb.com/images/contact/isfce-cce.webp","width":{"@type":"QuantitativeValue","value":150,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":150,"unitCode":"PX"},"caption":"Certified Computer Examiner"}}],"hasOfferCatalog":{"@type":"OfferCatalog","name":"Web Services","itemListElement":[{"@type":"Offer","itemOffered":{"@type":"Service","name":"Hosting"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Development"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Search Engine Optimization"}}]}},{"@type":"WebSite","@id":"https://www.richeyweb.com/#website","url":"https://www.richeyweb.com/","name":"RicheyWeb","publisher":{"@id":"https://www.richeyweb.com/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.richeyweb.com/search?q={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string","valueMaxLength":256,"valueMinLength":2,"valuePattern":"^[A-Za-z0-9\\s]+$"}},"creator":{"@id":"https://www.richeyweb.com/#organization"},"copyrightHolder":{"@id":"https://www.richeyweb.com/#organization"}},{"@type":"WebPage","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#webpage","url":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content","name":"Markdown Alternates Experiment: AI-Friendly Web Content","description":"Explore how Markdown alternates in HTTP Link headers could enhance AI content ingestion on the web at RicheyWeb.com.","isPartOf":{"@id":"https://www.richeyweb.com/#website"},"about":{"@id":"https://www.richeyweb.com/#organization"},"inLanguage":"en-GB"},{"@type":"Article","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/jooma-article-index-in-a-module-position-720p.webp","contentUrl":"https://www.richeyweb.com/images/articles/jooma-article-index-in-a-module-position-720p.webp","width":{"@type":"QuantitativeValue","value":1280,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":720,"unitCode":"PX"},"caption":"Markdown Alternates Experiment: AI-Friendly Web Content","representativeOfPage":true},"headline":"Markdown Alternates Experiment: AI-Friendly Web Content","description":"Explore how Markdown alternates in HTTP Link headers could enhance AI content ingestion on the web at RicheyWeb.com.","author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"},"datePublished":"2026-01-18T00:00:00+00:00","dateModified":"2026-04-16T00:00:00+00:00","about":["Markdown",{"@type":"Thing","name":"Markdown","sameAs":["https://en.wikipedia.org/wiki/Markdown","https://www.wikidata.org/wiki/Q1193600","https://g.co/kg/m/0jt0gkj"]},"Artificial intelligence",{"@type":"Thing","name":"Artificial intelligence","sameAs":["https://en.wikipedia.org/wiki/Artificial_intelligence","https://www.wikidata.org/wiki/Q11660","https://g.co/kg/m/0mkz"]},"Search engine optimization",{"@type":"Thing","name":"Search engine optimization","sameAs":["https://en.wikipedia.org/wiki/Search_engine_optimization","https://www.wikidata.org/wiki/Q180711","https://g.co/kg/m/019qb_"]},"Web crawler",{"@type":"Thing","name":"Web crawler","sameAs":["https://en.wikipedia.org/wiki/Web_crawler","https://www.wikidata.org/wiki/Q45842","https://g.co/kg/m/08220"]},"HTTP",{"@type":"Thing","name":"HTTP","sameAs":["https://en.wikipedia.org/wiki/HTTP","https://www.wikidata.org/wiki/Q8777","https://g.co/kg/m/03hgt"]},"Content discovery","Machine learning",{"@type":"Thing","name":"Machine learning","sameAs":["https://en.wikipedia.org/wiki/Machine_learning","https://www.wikidata.org/wiki/Q2539","https://g.co/kg/m/01hyh_"]}],"mentions":["RFC 8288","RFC 7763","HTML",{"@type":"Thing","name":"HTML","sameAs":["https://en.wikipedia.org/wiki/HTML","https://www.wikidata.org/wiki/Q8811","https://g.co/kg/m/03g20"]},"CSS",{"@type":"Thing","name":"CSS","sameAs":["https://en.wikipedia.org/wiki/CSS","https://www.wikidata.org/wiki/Q46441","https://g.co/kg/m/015tjh"]},"JavaScript",{"@type":"Thing","name":"JavaScript","sameAs":["https://en.wikipedia.org/wiki/JavaScript","https://www.wikidata.org/wiki/Q2005","https://g.co/kg/m/02p97"]},"Media type",{"@type":"Thing","name":"Media type","sameAs":["https://en.wikipedia.org/wiki/Media_type","https://www.wikidata.org/wiki/Q1667978","https://g.co/kg/m/025tt8q"]},"Header",{"@type":"Thing","name":"Header","sameAs":["https://en.wikipedia.org/wiki/Header_(computing)","https://www.wikidata.org/wiki/Q747318","https://g.co/kg/m/02dnj_"]},"Google",{"@type":"Thing","name":"Google","sameAs":["https://en.wikipedia.org/wiki/Google","https://www.wikidata.org/wiki/Q95","https://g.co/kg/m/045c7b"]},"Internet Assigned Numbers Authority",{"@type":"Thing","name":"Internet Assigned Numbers Authority","sameAs":["https://en.wikipedia.org/wiki/Internet_Assigned_Numbers_Authority","https://www.wikidata.org/wiki/Q242540","https://g.co/kg/m/0lf63"]},"Large language model",{"@type":"Thing","name":"Large language model","sameAs":["https://en.wikipedia.org/wiki/Large_language_model","https://www.wikidata.org/wiki/Q115305900","https://g.co/kg/g/11kc9956b3"]},"OpenAI",{"@type":"Thing","name":"OpenAI","sameAs":["https://en.wikipedia.org/wiki/OpenAI","https://www.wikidata.org/wiki/Q21708200","https://g.co/kg/g/11bxc656v6"]},"Anthropic",{"@type":"Thing","name":"Anthropic","sameAs":["https://en.wikipedia.org/wiki/Anthropic","https://www.wikidata.org/wiki/Q116758847","https://g.co/kg/g/11csrrqr2z"]},"hreflang",{"@type":"Thing","name":"hreflang","sameAs":["https://en.wikipedia.org/wiki/Hreflang","https://www.wikidata.org/wiki/Q12317381","https://g.co/kg/g/11b6l538t3"]},"RSS",{"@type":"Thing","name":"RSS","sameAs":["https://en.wikipedia.org/wiki/RSS","https://www.wikidata.org/wiki/Q45432","https://g.co/kg/m/0n5tx"]},"PHP",{"@type":"Thing","name":"PHP","sameAs":["https://en.wikipedia.org/wiki/PHP","https://www.wikidata.org/wiki/Q59","https://g.co/kg/m/060kv"]},"Python",{"@type":"Thing","name":"Python","sameAs":["https://en.wikipedia.org/wiki/Python_(programming_language)","https://www.wikidata.org/wiki/Q747452","https://g.co/kg/m/05z1_"]},{"@type":"Article","@id":"https://www.richeyweb.com/blog/development/generator-tag-claim-your-joomla-sites#article","url":"https://www.richeyweb.com/blog/development/generator-tag-claim-your-joomla-sites","name":"Generator Tag: Claim Your Joomla Sites","headline":"Generator Tag: Claim Your Joomla Sites","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/generator-tag-claim-your-joomla-sites/generator-tag.webp","contentUrl":"https://www.richeyweb.com/images/articles/generator-tag-claim-your-joomla-sites/generator-tag.webp","width":{"@type":"QuantitativeValue","value":1274,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":716,"unitCode":"PX"},"caption":"Generator Tag: Claim Your Joomla Sites"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/hosting/ai-slop-vs-quality-content-and-technical-seo#article","url":"https://www.richeyweb.com/blog/hosting/ai-slop-vs-quality-content-and-technical-seo","name":"AI Slop vs Quality Content and Technical SEO","headline":"AI Slop vs Quality Content and Technical SEO","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/ai-slop-vs-quality-content-and-technical-seo/seo-ai-slop.webp","contentUrl":"https://www.richeyweb.com/images/articles/ai-slop-vs-quality-content-and-technical-seo/seo-ai-slop.webp","width":{"@type":"QuantitativeValue","value":835,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":469,"unitCode":"PX"},"caption":"AI Slop vs Quality Content and Technical SEO"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/development/bug-reports-a-developers-best-friend-not-a-burden#article","url":"https://www.richeyweb.com/blog/development/bug-reports-a-developers-best-friend-not-a-burden","name":"Bug Reports: A Developer's Best Friend, Not a Burden","headline":"Bug Reports: A Developer's Best Friend, Not a Burden","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/plg_content_interlinked/articles/russian-comments.webp","contentUrl":"https://www.richeyweb.com/images/articles/plg_content_interlinked/articles/russian-comments.webp","width":{"@type":"QuantitativeValue","value":1200,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":675,"unitCode":"PX"},"caption":"Bug Reports: A Developer's Best Friend, Not a Burden"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/development/canonical-http-headers-for-rss-feeds#article","url":"https://www.richeyweb.com/blog/development/canonical-http-headers-for-rss-feeds","name":"Canonical HTTP Headers for RSS Feeds","headline":"Canonical HTTP Headers for RSS Feeds","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/canonical-http-headers-for-rss-feeds/gsc-duplicate-without-user-selected-canonical.webp","contentUrl":"https://www.richeyweb.com/images/articles/canonical-http-headers-for-rss-feeds/gsc-duplicate-without-user-selected-canonical.webp","width":{"@type":"QuantitativeValue","value":1431,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":804,"unitCode":"PX"},"caption":"Canonical HTTP Headers for RSS Feeds"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/hosting/ai-automation-unlocking-content-opportunities#article","url":"https://www.richeyweb.com/blog/hosting/ai-automation-unlocking-content-opportunities","name":"AI Automation Unlocking Content Opportunities","headline":"AI Automation Unlocking Content Opportunities","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/ai-automation/ai-automation.webp","contentUrl":"https://www.richeyweb.com/images/articles/ai-automation/ai-automation.webp","width":{"@type":"QuantitativeValue","value":720,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":405,"unitCode":"PX"},"caption":"AI Automation Unlocking Content Opportunities"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/development/seo-tabs-with-details-summary#article","url":"https://www.richeyweb.com/blog/development/seo-tabs-with-details-summary","name":"SEO Friendly Tabs with details/summary","headline":"SEO Friendly Tabs with details/summary","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/seo-tabs-with-details-summary/seo-tabs-example.webp","contentUrl":"https://www.richeyweb.com/images/articles/seo-tabs-with-details-summary/seo-tabs-example.webp","width":{"@type":"QuantitativeValue","value":1280,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":720,"unitCode":"PX"},"caption":"SEO Friendly Tabs with details/summary"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/development/i-built-this-on-february-3rd-cloudflare-announced-it-on-february-12th#article","url":"https://www.richeyweb.com/blog/development/i-built-this-on-february-3rd-cloudflare-announced-it-on-february-12th","name":"I Built This on February 3rd. Cloudflare Announced It on February 12th","headline":"I Built This on February 3rd. Cloudflare Announced It on February 12th","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/plg_system_markdown/hero-still.webp","contentUrl":"https://www.richeyweb.com/images/articles/plg_system_markdown/hero-still.webp","width":{"@type":"QuantitativeValue","value":1015,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":571,"unitCode":"PX"},"caption":"I Built This on February 3rd. Cloudflare Announced It on February 12th"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/hosting/tracking-ai-crawlers-with-nginx-and-google-analytics-4#article","url":"https://www.richeyweb.com/blog/hosting/tracking-ai-crawlers-with-nginx-and-google-analytics-4","name":"Tracking AI Crawlers with NGINX and Google Analytics 4","headline":"Tracking AI Crawlers with NGINX and Google Analytics 4","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/tracking-ai-crawlers-with-nginx-and-google-analytics-4/lua-analytics-code.webp","contentUrl":"https://www.richeyweb.com/images/articles/tracking-ai-crawlers-with-nginx-and-google-analytics-4/lua-analytics-code.webp","width":{"@type":"QuantitativeValue","value":1135,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":641,"unitCode":"PX"},"caption":"Tracking AI Crawlers with NGINX and Google Analytics 4"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}}],"@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#article","isPartOf":{"@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#webpage"},"publisher":{"@id":"https://www.richeyweb.com/#organization"},"citation":[{"@type":"CreativeWork","@id":"https://datatracker.ietf.org/doc/html/rfc8288#creativework","url":"https://datatracker.ietf.org/doc/html/rfc8288"},{"@type":"CreativeWork","@id":"https://datatracker.ietf.org/doc/html/rfc7763#creativework","url":"https://datatracker.ietf.org/doc/html/rfc7763"},{"@type":"CreativeWork","@id":"https://momenticmarketing.com/blog/ai-search-crawlers-bots#creativework","url":"https://momenticmarketing.com/blog/ai-search-crawlers-bots"},{"@type":"CreativeWork","@id":"https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls#creativework","url":"https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls"},{"@type":"CreativeWork","@id":"https://developers.google.com/search/docs/specialty/international/localized-versions#creativework","url":"https://developers.google.com/search/docs/specialty/international/localized-versions"},{"@type":"CreativeWork","@id":"https://www.richeyweb.com/software/joomla/plugins/system-markdown#softwareapplication","url":"https://www.richeyweb.com/software/joomla/plugins/system-markdown","name":"System - Markdown"},{"@type":"CreativeWork","@id":"https://richeyweb.com#creativework","url":"https://richeyweb.com"}],"keywords":"Artificial intelligence, Web content, Markdown alternates, HTTP Link headers, AI content ingestion, Search engines, AI crawlers, HTML structural complexity, Programmatic content extraction, Plain-text format, Structured content, Article text, Data tables, Hierarchical information, Technical Approach, Link headers, Canonical, Alternate, Type text/markdown, Content Generation, Heading hierarchy, Link structure, Absolute URLs, Tables and lists, Inline images, Alt text, Pure content representation, Human-readable, Machines to parse, Established Standards, RFC 8288, Language variants, Mobile versions, RSS feeds, Explicit Content-Type Declaration, MIME type, IANA, RFC 7763, Selective crawling strategies, Structured formats, Reduced Processing Overhead, Parsing Markdown, DOM construction, CSS interpretation, JavaScript execution, Semantic structure, Headings, lists, emphasis, Future-Proofing, Emerging standards, Content APIs, Crawl patterns, User agents, GPTBot, CCBot, ClaudeBot, Tmpl=markdown, Crawl frequency","articleSection":"White-Hat SEO","url":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content","hasPart":{"@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#faqpage"}},{"@type":"FAQPage","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#faqpage","url":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content","isPartOf":{"@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#article"},"mainEntityOfPage":{"@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#webpage"},"mainEntity":[{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-0","name":"What is this experiment about?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-0","text":"This experiment tests whether providing Markdown versions of web pages and advertising them through HTTP Link headers makes content more accessible to AI crawlers for training and retrieval systems."}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-1","name":"Why Markdown instead of HTML?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-1","text":"Markdown is a plain-text format that's structurally simple and human-readable. Unlike HTML with its nested tags, CSS classes, and JavaScript, Markdown provides clean content without decorative elements, making it easier for AI systems to parse and extract meaning."}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-2","name":"How does it work technically?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-2","text":"When crawlers visit a page, the server sends HTTP Link headers that advertise a Markdown alternate version. For example:\r\n\r\nHTML pages include: Link: ; rel=\"alternate\"; type=\"text/markdown\"\r\nMarkdown pages include: Link: ; rel=\"canonical\"\r\nThis follows the same pattern used for language variants and mobile versions."}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-3","name":"Will this help my SEO?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-3","text":"No. Google and other search engines don't prioritize or rank Markdown alternates. The rel=\"canonical\" tag properly signals the HTML version as authoritative, preventing duplicate content issues, but the Markdown version provides no traditional SEO benefit.","citation":{"@type":"CreativeWork","url":"https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls","name":"How to Specify a Canonical with rel=canonical"}}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-4","name":"Do AI companies actually use these signals?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-4","text":"Unknown. No major AI company (OpenAI, Anthropic, Google, etc.) has publicly documented using rel=\"alternate\" type=\"text/markdown\" signals to discover cleaner content. This experiment is speculative."}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-5","name":"What AI crawlers should I monitor?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-5","text":"Common AI crawler user agents include:\r\n\r\nGPTBot (OpenAI)\r\nClaudeBot (Anthropic)\r\nCCBot (Common Crawl)\r\nGoogle-Extended (Google)\r\nPerplexityBot (Perplexity)\r\nYou can identify these in your server logs by their user-agent strings.","citation":{"@type":"CreativeWork","url":"https://momenticmarketing.com/blog/ai-search-crawlers-bots","name":"List of Top AI Search Crawlers + User Agents"}}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-6","name":"Is the text/markdown MIME type official?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-6","text":"Yes. The text/markdown MIME type was officially registered with IANA in 2016 through RFC 7763, making it a standardized way to declare Markdown content.","citation":{"@type":"CreativeWork","url":"https://datatracker.ietf.org/doc/html/rfc7763","name":"RFC 7763 - The text/markdown Media Type"}}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-7","name":"Does this create duplicate content issues?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-7","text":"No. The rel=\"canonical\" relationship properly signals that the HTML version is authoritative. Search engines understand that alternate versions (Markdown, mobile, different languages) are representations of the same content, not duplicates."}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-8","name":"How much work is this to implement?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-8","text":"Minimal. You need to:\r\n\r\nConvert HTML to Markdown (using existing libraries)\r\nServe it via a URL parameter like ?tmpl=markdown\r\nAdd HTTP Link headers\r\nCache the generated Markdown\r\nThis was done with a single Joomla plugin on RicheyWeb.com."}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-9","name":"What happens if AI crawlers ignore this?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-9","text":"Nothing bad. The implementation follows HTTP standards correctly and doesn't harm traditional SEO. At worst, you've added clean Markdown exports that can be useful for documentation, archiving, or other purposes. At best, AI crawlers start using the signal and you're ahead of the curve."}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-10","name":"Can I block AI crawlers from accessing the Markdown version?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-10","text":"Yes. You can use robots.txt to control which crawlers can access which URLs. However, the point of this experiment is to make content more accessible to AI, not less."}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-11","name":"Do I need to create Markdown versions of every page?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-11","text":"Not necessarily. You might want to prioritize:\r\n\r\nArticle/blog content\r\nDocumentation pages\r\nProduct descriptions\r\nAny text-heavy content you want AI systems to understand well\r\nSkip pages like navigation, checkout flows, or highly interactive interfaces where Markdown wouldn't make sense."}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-12","name":"How do I know if it's working?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-12","text":"Monitor your server logs for requests to ?tmpl=markdown URLs from AI crawler user agents. Track whether AI systems that reference your content show improved accuracy or understanding. However, concrete measurement may be difficult since AI companies don't disclose their crawling logic."}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-13","name":"Should I use rel=\"alternate\" for other formats too?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-13","text":"Yes, if they're legitimate alternate representations. Common uses include:\r\n\r\nLanguage variants (with hreflang)\r\nMobile versions\r\nAMP pages\r\nRSS feeds\r\nPDF versions\r\nDon't abuse it by creating artificial alternates that aren't actually different representations of the same content.","citation":{"@type":"CreativeWork","url":"https://developers.google.com/search/docs/specialty/international/localized-versions","name":"Localized Versions of your Pages"}}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-14","name":"What's the difference between rel=\"alternate\" and rel=\"canonical\"?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-14","text":"rel=\"canonical\" points to the authoritative/preferred version\r\nrel=\"alternate\" advertises other representations of the same content\r\nThe HTML page says \"I'm canonical, and here's a Markdown alternate.\" The Markdown page says \"The HTML version is canonical (not me).\""}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-15","name":"Is this part of a broader standard?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-15","text":"The HTTP Link header mechanism is standardized in RFC 8288. Using it for content negotiation and alternate representations is well-established. What's experimental is using it specifically for Markdown alternates to improve AI content ingestion.\r\n\r\n","citation":{"@type":"CreativeWork","url":"https://datatracker.ietf.org/doc/html/rfc8288","name":"RFC 8288 - Web Linking"}}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-16","name":"Could this become an industry standard?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-16","text":"Possibly. If enough sites adopt this approach and AI companies find it useful, it could emerge as a best practice. The experiment is designed to be forward-compatible with potential future standards while following current HTTP conventions correctly."}},{"@type":"Question","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#question-17","name":"What if my CMS doesn't support this?","acceptedAnswer":{"@type":"Answer","@id":"https://www.richeyweb.com/white-hat-seo/markdown-alternates-experiment-ai-friendly-web-content#answer-17","text":"You have several options:\r\n\r\nWrite a plugin/extension for your CMS\r\nUse a reverse proxy or CDN to add the headers\r\nGenerate static Markdown files during your build process\r\nUse middleware in your application server\r\nThe implementation doesn't require deep CMS integration—it's primarily about header manipulation and content transformation."}}]}]}
```
