Skip to content

Add JSON-LD and llms.txt for AI search - #2200

Open
halskiszymon wants to merge 5 commits into
software-mansion:masterfrom
halskiszymon:geo-structured-data
Open

halskiszymon wants to merge 5 commits into
software-mansion:masterfrom
halskiszymon:geo-structured-data

Conversation

@halskiszymon

@halskiszymon halskiszymon commented Aug 20, 2026 •

Copy link
Copy Markdown

Two SEO changes for the docs site. Nothing changes the rendered page.

  • JSON-LD: Organization with the same @id as swmansion.com, plus SoftwareSourceCode for the library, derived from siteConfig. The identical @id is what makes engines read the docs and the company site as one entity instead of two unrelated ones.
  • llms.txt, generated at build — no new dependency. Lists every docs page. The build now fails if the file is missing or lists nothing.

Both come from one local plugin, plugins/swm-geo.js, registered with a single line. The same change is going out across the docs repos; reference: software-mansion/react-native-reanimated#10332.

Check: deploy_docs.yml only triggers on version tags, and the last one predates 2023, so the new step is effectively dormant here. The plugin itself is verified in the sibling PRs: 25, 56, 63 and 79 pages listed.

The two red CircleCI jobs are unrelated — code_quality runs Poetry/Python checks and rust_runner_code_quality runs Rust. This diff is three JS and YAML files under website/ and .github/.

One local plugin injects Organization and SoftwareSourceCode structured data
using the same @id as swmansion.com, and writes llms.txt from the pages
Docusaurus just built. CI fails if the file is missing or lists nothing.
A title containing regex metacharacters would change the pattern's meaning or
throw at build time.
@halskiszymon
halskiszymon marked this pull request as ready for review August 20, 2026 09:34
JSON.stringify leaves `<` unescaped, so a `</script>` inside any config
value would close the tag early. Escaped to <.

This branch has not been deployed

No deployments
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.

1 participant