Make /launch/usdt0 discoverable to search and AI crawlers - #2840
Open
mmazco wants to merge 1 commit into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Improves search and AI discoverability for the static USDT0 launch page.
Changes:
- Adds canonical, Open Graph, and TechArticle metadata.
- Includes the page in the generated sitemap.
- Adds an inbound documentation link.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
static/launch/usdt0.html |
Adds discovery and structured metadata. |
docusaurus.config.ts |
Adds the USDT0 page to the sitemap. |
docs/tokens/usdt0-layerzero.mdx |
Adds an inbound link; it should use the relative path ../../launch/usdt0. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
|
||
| On Stellar, USDT0 is a **classic asset with a SAC**. Classic flows use a trustline plus a payment. Soroban contracts call the SAC. See the [tokenization model comparison](./anatomy-of-an-asset.mdx#tokenization-model-comparison) for what that implies. | ||
|
|
||
| For an overview of what USDT0 unlocks on Stellar, the partners supporting it today, and a deployment checklist, see the [USDT0 on Stellar launch guide](/launch/usdt0). |
The page has been live since 01 Sep and draws real organic traffic (Google is already its second largest source), but three things were working against it. Sitemap: files under static/ bypass the Docusaurus build, so the page never appeared in the generated sitemap - 960 URLs, none of them this one. Added via the sitemap plugin's createSitemapItems hook rather than hand-maintaining a second sitemap. Canonical and og:url: these were meant to be injected when the page is generated, but the anchor string still said twitter:card content "summary" after that was changed to "summary_large_image". str.replace fails silently on no match, so neither tag has ever shipped. Both matter here because /launch/usdt0, /launch/usdt0.html and /docs/launch/usdt0 are all receiving traffic as separate URLs. Structured data: added a TechArticle JSON-LD block so search and AI systems have something unambiguous to cite instead of inferring what the page is. The missing internal link to this page is handled separately in the PR that adds it to the USDT0 docs page. Not changed: robots.txt already allows all crawlers and sets Content-Signal ai-train=yes, search=yes, ai-input=yes, and the page's content is fully hard-coded in markup, so nothing needs JavaScript to read it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
mmazco
force-pushed
the
usdt0-discoverability
branch
from
September 8, 2026 23:21
e6aa687 to
361c35b
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
Suppressed comments (1)
static/launch/usdt0.html:7
- The newly added
about.namecapitalizes “Network,” contrary to the repository terminology convention requiring “Stellar network” (CONTRIBUTING.md:86).
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"USDT0 on Stellar","description":"A guide to USDT0 on Stellar: how it arrives, what it unlocks, which partners support it, and how to integrate.","url":"https://developers.stellar.org/launch/usdt0","datePublished":"2026-09-01","inLanguage":"en","about":{"@type":"Thing","name":"USDT0 on Stellar Network"},"publisher":{"@type":"Organization","name":"Stellar Development Foundation","url":"https://stellar.org"}}</script>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
/launch/usdt0has been live since 1 Sep and is drawing real organic traffic — Google is already its second-largest source, and ChatGPT and Claude have both begun referring to it. Three things were limiting how findable it is. Two are mechanical; one is a bug.The fourth issue, that nothing on the site links to the page, is handled separately in #2841 so it can land independently of the config change here.
1. The page is not in the sitemap
The generated sitemap has 960 URLs and none of them is this page. Files under
static/bypass the Docusaurus build entirely, so nothing adds them.Fixed with the sitemap plugin's
createSitemapItemshook, so the entry is generated alongside every other URL rather than maintained by hand in a second file.2.
canonicalandog:urlhave never shipped — a silent bugThe generator that produces
static/launch/usdt0.htmlwas written to inject both tags, anchored on:That string became
content="summary_large_image"when the OG image was added, andstr.replacefails silently when it matches nothing. Neither tag has been on the live page since.This matters more than usual here:
/launch/usdt0,/launch/usdt0.htmland/docs/launch/usdt0are all currently receiving traffic as separate URLs, with no canonical consolidating them.3. No structured data
Added a
TechArticleJSON-LD block — headline, description, canonical URL, publish date, publisher, subject. This gives search and AI systems something explicit to cite rather than inferring what the page is.Already fine, not changed
robots.txtallows all crawlers and setsContent-Signal: ai-train=yes, search=yes, ai-input=yesh1, fiveh2sContent updates to the page are in progress separately.
🤖 Generated with Claude Code