Skip to content

Discoverability layer: richer paper metadata, real sitemap dates, llms.txt, IndexNow - #4

Merged
studiofarzulla merged 1 commit into
masterfrom
claude/website-discoverability-optimization-vp02ni
Sep 20, 2026
Merged

studiofarzulla merged 1 commit into
masterfrom
claude/website-discoverability-optimization-vp02ni

Conversation

@studiofarzulla

Copy link
Copy Markdown
Owner

Summary

Makes every paper landing page a better retrieval object for Google Scholar, the citation-graph indexers (OpenAlex, Semantic Scholar) and LLM search crawlers, without changing any visible content.

Paper pages (build-papers.js)

  • ScholarlyArticle JSON-LD is now built as an object rather than a string template. @id is the DOI URL, the author @id is the ORCID URL, publisher/affiliation @id is https://dissensus.ai/#organization. Adds sameAs (arXiv, Zenodo, SSRN, PhilPapers), keywords, abstract, dateModified, license, isPartOf (series, plus the journal once accepted), creativeWorkStatus, encoding (the PDF), mainEntityOfPage and an identifier list (DOI, arXiv, paper number).
  • Highwire: citation_author_orcid, citation_author_institution, citation_technical_report_institution, citation_arxiv_id. Dublin Core gains DC.subject. A <link rel="alternate" type="application/pdf"> points at the PDF.
  • Two optional papers.json fields: keywords (seeded for 17 papers from each PDF's own embedded Keywords field, so nothing is invented) and findings (rendered as a "Key findings" list under the abstract). findings is empty everywhere on purpose: several papers carry updateNotes withdrawing earlier claims, so those lists should be written from the current manuscripts.

Site level

  • sitemap.xml: lastmod now comes from each paper's date/updateDate and each news post's article:published_time; the static pages carry none. Every URL used to be stamped with the build date, which is the one pattern Google documents as untrustworthy.
  • research.html: an ItemList JSON-LD of every paper keyed by DOI, inside the generated block.
  • News posts: a BlogPosting JSON-LD block derived from each post's existing meta tags (marker-delimited, idempotent).
  • index.html / about.html: shared @id nodes for the Organization and founder. farzulla.com uses the same @ids, so the two sites now describe one author, one lab, one set of works.
  • public/llms.txt generated from papers.json.
  • robots.txt: Content-Signal: search=yes, ai-input=yes (no statement on training) and a note that crawler blocking, where it happens, is the Cloudflare zone policy, not this file.
  • indexnow.js + public key file: node indexnow.js after a deploy submits the sitemap URLs to the IndexNow engines.
  • README brand name corrected per CLAUDE.md; CLAUDE.md documents the new fields and the lastmod rule.

Verification

  • node build-papers.js runs clean; a second run produces an identical sitemap and exactly one JSON-LD block per news post.
  • All 33 JSON-LD blocks across public/ parse; every ScholarlyArticle carries the new properties.
  • sitemap.xml is well-formed, 37 URLs, 29 with a real date, no .html twins.
  • Every hosted PDF is under 5 MB and has a literal References heading (Scholar's inclusion requirements).
  • Live probes on 19 Sep 2026: dissensus.ai returns 200 to Googlebot, bingbot, OAI-SearchBot, Claude-SearchBot, PerplexityBot, GPTBot, ClaudeBot and CCBot.

Not in this PR (needs the account owner)

Semantic Scholar currently lists only the 9 arXiv-hosted papers (two of them duplicated); the 13 Zenodo/SSRN/PhilPapers-only papers need the author-page "add paper" flow. OpenAlex profile claim, Zenodo related-identifier links, Bing Webmaster Tools and the Cloudflare AI-bot policy are all dashboard actions.

🤖 Generated with Claude Code

https://claude.ai/code/session_01KkqSm9RbUPUpYZ5TLa7HuF


Generated by Claude Code

…tes, llms.txt, IndexNow

Paper pages (build-papers.js):
- ScholarlyArticle JSON-LD now built as an object: @id = DOI URL, author @id = ORCID URL,
  publisher/affiliation @id = https://dissensus.ai/#organization, plus sameAs (arXiv, Zenodo,
  SSRN, PhilPapers), keywords, abstract, dateModified, license, isPartOf (series / journal
  when accepted), creativeWorkStatus, encoding (the PDF), mainEntityOfPage, identifier list.
- Highwire: citation_author_orcid, citation_author_institution,
  citation_technical_report_institution, citation_arxiv_id; DC.subject; <link rel=alternate>
  to the PDF.
- New optional papers.json fields: `keywords` (seeded for 17 papers from each PDF's own
  embedded Keywords field) and `findings` (rendered as a Key findings list; left empty).

Site-level:
- sitemap.xml: lastmod from paper date/updateDate and news article:published_time; static
  pages carry none. Every URL used to be stamped with the build date.
- research.html: ItemList JSON-LD of every paper keyed by DOI.
- News posts: BlogPosting JSON-LD derived from their own meta tags (idempotent sync).
- index.html / about.html: shared @id nodes for the Organization and founder.
- llms.txt generated from papers.json; robots.txt gains a Content-Signal line and a note
  on where crawler blocking actually happens; indexnow.js + key file for IndexNow pings.
- README: brand name per CLAUDE.md; CLAUDE.md documents the new fields and the lastmod rule.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KkqSm9RbUPUpYZ5TLa7HuF
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
dissensus-ai db0b077 Commit Preview URL

Branch Preview URL
Sep 19 2026, 11:05 PM

@studiofarzulla
studiofarzulla marked this pull request as ready for review September 20, 2026 02:25
Copilot AI lite review requested due to automatic review settings September 20, 2026 02:25
@studiofarzulla
studiofarzulla merged commit a6c0852 into master Sep 20, 2026
1 check passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

Correct the superseded DOI for semantic-first-vision and regenerate the derived outputs.

Review effort: Lite
Findings: None

What changed in this PR

Adds richer scholarly metadata, structured data, accurate sitemap dates, llms.txt, crawler signals, and IndexNow support.

Changes:

  • Enriches paper and news JSON-LD and metadata.
  • Generates content-aware sitemaps and llms.txt.
  • Adds shared entity identifiers, crawler signals, and IndexNow tooling.
  • Requires correcting the superseded DOI used for semantic-first-vision.
File Summary
README.md Documents discoverability workflow.
public/​terms.html Updates stylesheet cache version.
public/​sitemap.xml Uses content dates.
public/​robots.txt Adds crawler content signals.
public/​research.html Adds publication ItemList JSON-LD.
public/​projects.html Updates stylesheet cache version.
public/​privacy.html Updates stylesheet cache version.
public/​papers/​whitepaper-factor-analysis.html Adds enriched paper metadata.
public/​papers/​trauma-training-data.html Adds enriched paper metadata.
public/​papers/​temporal-bitmap-interpretation.html Adds enriched paper metadata.
public/​papers/​substrate-independent-friendship.html Adds enriched paper metadata.
public/​papers/​stakes-without-voice.html Adds enriched paper metadata.
public/​papers/​sentiment-abm.html Adds enriched paper metadata.
public/​papers/​semantic-first-vision.html Adds enriched metadata; DOI requires correction.
public/​papers/​replicator-optimization-mechanism.html Adds enriched paper metadata.
public/​papers/​marl-coordination.html Adds enriched paper metadata.
public/​papers/​market-reaction-asymmetry.html Adds enriched paper metadata.
public/​papers/​identity-thesis.html Adds enriched paper metadata.
public/​papers/​hedging-paradox.html Adds enriched paper metadata.
public/​papers/​genre-mimicry.html Adds enriched paper metadata.
public/​papers/​first-crisis-governance.html Adds enriched paper metadata.
public/​papers/​consent-to-consideration.html Adds enriched paper metadata.
public/​papers/​consensual-sovereignty.html Adds enriched paper metadata.
public/​papers/​consciousness-monograph.html Adds enriched paper metadata.
public/​papers/​cbdc-privacy.html Adds enriched paper metadata.
public/​papers/​axiom-of-consent.html Adds enriched paper metadata.
public/​papers/​autonomous-red-team.html Adds enriched paper metadata.
public/​papers/​asri.html Adds enriched paper metadata.
public/​papers/​alpha-asymmetry-fx.html Adds enriched paper metadata.
public/​news/​trident.html Adds BlogPosting JSON-LD.
public/​news/​temporal-bitmap.html Adds BlogPosting JSON-LD.
public/​news/​research-update-september-2026.html Adds BlogPosting JSON-LD.
public/​news/​lab-update-aug2026.html Adds BlogPosting JSON-LD.
public/​news/​incorporation.html Adds BlogPosting JSON-LD.
public/​news/​iaseai-affiliate.html Adds BlogPosting JSON-LD.
public/​news/​digital-finance-accept.html Adds BlogPosting JSON-LD.
public/​news.html Updates stylesheet cache version.
public/​llms.txt Provides generated paper catalogue.
public/​join.html Updates stylesheet cache version.
public/​index.html Adds shared entity identifiers.
public/​css/​site.css Styles optional findings.
public/​about.html Adds organization and founder metadata.
public/​404.html Updates stylesheet cache version.
public/​31dde54ee5c4516b4c1d7949cd7eecc7.txt Publishes IndexNow verification key.
papers.json Adds paper keywords and metadata.
indexnow.js Submits sitemap URLs to IndexNow.
CLAUDE.md Documents metadata and sitemap rules.
build-papers.js Generates metadata, JSON-LD, sitemap, and llms.txt.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants