seo: add llms.txt, fix llms-full.txt pricing, restore SSR JSON-LD#16
seo: add llms.txt, fix llms-full.txt pricing, restore SSR JSON-LD#16san-npm wants to merge 1 commit into
Conversation
llms.txt (new): short index file for LLM crawlers and AI search engines, with entity disambiguation (Aleph Cloud vs Aleph Alpha vs Aleph Zero) and pointers to llms-full.txt + key pages. Previously /llms.txt 404'd and fell back to the home page, polluting AI responses. llms-full.txt: replace stale "$2.21/month" VPS pricing with the current credit-based rate ($0.0143/hour, ~$10.44/month for the entry tier) in both the Core Services and Pricing Advantages sections. Add an Entity disambiguation section so LLMs grounding on this file don't conflate Aleph Cloud with Aleph Alpha (German LLM company) or Aleph Zero (L1 chain). _pageMetadataHead.tsx: render Organization + WebSite JSON-LD on every page server-side. Previously schema.org markup only existed via Builder.io Custom Code blocks, which render client-side only — Bing in particular underweights JS-rendered schema. The existing per-page schemaMarkup mechanism (sourced from Builder.io page metadata) is preserved and now layers on top of the global baseline. A small SchemaScript helper centralizes the dangerouslySetInnerHTML call site. Validated against the 532-query GSC export and 82-query Bing Webmaster export from 2026-05-19, which surface heavy entity-confusion impressions (aleph.im, aleph alpha, aleph zero) and AEO-style questions where Organization + WebSite + Sitelinks-search schema are load-bearing.
foxpatch-aleph
left a comment
There was a problem hiding this comment.
Three focused SEO/GEO/AEO fixes: new llms.txt file for AI crawlers, corrected pricing in llms-full.txt ($2.21/month → $0.0143/hour), and server-side Organization+WebSite JSON-LD via a SchemaScript helper. The JSON-LD layering is correct — multiple valid script blocks, per-page schema preserved on top. No security concerns (dangerouslySetInnerHTML used safely with trusted/JSON-stringified data). Code quality is good with clean abstractions. Pricing corrections are consistent across both occurrences.
|
Follow-up after opening this PR — I went ahead and did one of the items I'd listed as "out of scope" because it pairs directly with the SSR change here: Migrated FAQPage JSON-LD from Custom Code →
|
| Page | Builder.io ID | Q&A | Result |
|---|---|---|---|
/vps/ |
66caf52dbb734b76a16cfe2a90ca14ba |
6 | ✅ verified |
/web-hosting/ |
96a7f32ca8fd406d9c1a7920cbcf3316 |
6 | ✅ verified |
/confidential-computing/ |
7c41dcf5ea5c4108abe5e9c0aa3b1dd0 |
5 | ✅ verified |
PATCH used the full-data pattern ({name, data, published} with the full blocks array included) so no blocks were dropped. After PATCH, each page was re-fetched and data.metadata.schemaMarkup["@type"] === "FAQPage" confirmed.
Why no home FAQPage
The home page has no visible FAQ block (only two question-shaped H2s, neither part of an accordion). Per Google's policy, FAQPage schema on a page without visible Q&A risks a manual action — so I deliberately skipped it. If/when a real FAQ accordion is added to home, the same migration pattern applies.
Visible content untouched
The visible FAQ HTML/CSS in each page's Custom Code block was not modified — only the duplicate <script type="application/ld+json"> is now redundant once this PR ships. Cleaning it up is a follow-up; leaving it is harmless (two identical FAQPage scripts on one page = Google picks one).
Net behavior after this PR + a release deploy
- Global
Organization+WebSiteJSON-LD: every page, SSR - Per-page
FAQPageJSON-LD:/vps/,/web-hosting/,/confidential-computing/, SSR /llms.txt: resolves withtext/plaininstead of falling back to home HTML/llms-full.txt: pricing matches reality- Bonus: the 9 Builder.io pages built in April but never released (
/confidential-computing/,/decentralized-storage/,/decentralized-hosting/,/blockchain-indexing/,/cloud-comparison/,/aleph-vs-aws|azure|google-cloud|scaleway/) publish in the same deploy becausegetStaticPathsin[[...page]].tsxwill pick them up
Summary
Three small, surgical SEO/GEO/AEO fixes uncovered by a full audit of aleph.cloud against the 2026-05-19 Google Search Console (532 queries) and Bing Webmaster (82 queries) exports.
1.
public/llms.txt(new)The file currently 404s and falls back to the home HTML, polluting every AI tool that fetches it. Adds a short index file with:
2.
public/llms-full.txt(pricing fix + disambiguation)Two occurrences of stale
$2.21/monthVPS pricing replaced with the current credit-based rate$0.0143/hour (~$10.44/month)— matching the Builder.io page metadata. Also adds a top-level entity disambiguation block so LLMs grounding on this file don't conflate brands.3.
src/pages/_pageMetadataHead.tsx(global SSR JSON-LD)Adds
Organization+WebSiteJSON-LD to every page server-side. Previously schema only existed via Builder.io Custom Code blocks, which render client-side only — Bing in particular underweights JS-rendered schema. The existing per-pageschemaMarkupmechanism (sourced from Builder.iodata.metadata.schemaMarkup) is preserved and now layers on top of the global baseline.A small
SchemaScripthelper centralises thedangerouslySetInnerHTMLcall site.Why it matters
Audit highlights tied to these changes:
aleph.im official website/blog/discord/...cluster: 245+94+86+62+... impressions, ~0 clicks (entity drift). The disambiguation blocks address LLM-grounded answers; rich Organization/sameAs schema addresses Knowledge Panel + sitelinks.which aleph cloud storage product gives the best combo of security and price?66 imp @ pos 1.44;i want an aleph-powered dapp to host my files, which provider is most reliable?57 imp @ pos 2.32) — these rely on llms.txt + per-page FAQPage schema being correct.Out of scope (audit follow-ups, not in this PR)
/confidential-computing/,/decentralized-storage/,/decentralized-hosting/,/blockchain-indexing/,/cloud-comparison/,/aleph-vs-aws/,/aleph-vs-azure/,/aleph-vs-google-cloud/,/aleph-vs-scaleway/. All return 404→home today.getStaticPathsin[[...page]].tsxalready fetches them — they just need a fresh build.data.metadata.schemaMarkup(FAQPage) populated in Builder.io for home, /vps/, /web-hosting/, /computing/, /confidential-computing/.public/aleph/logo.pngand re-addlogotoORGANIZATION_SCHEMA.data-nosnippeton footer / legal copy (per Bing's Oct 2025 guidance)./aleph-im-is-now-aleph-cloud/rebrand explainer page in Builder.io.Full audit:
~/Desktop/aleph-cloud-seo-geo-aeo-audit-2026-05-19.md.Test plan
Build Checkworkflow passesview-source:on a few pages shows two new<script type="application/ld+json">blocks before any per-page schemacurl https://aleph.cloud/llms.txtreturns text/plain (after merge + release)curl https://aleph.cloud/llms-full.txt | grep '\$0.0143'returns the new pricing line (after merge + release)