Repository navigation
Conversation
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Six heading edits invalidate existing quickstart fragment links and need explicit IDs to preserve navigation.
6 open issues
What changed in this PR
This PR addresses the SEO/GEO audit for Keploy’s Docusaurus documentation, improving structured data, indexing metadata, and content presentation.
Changes:
- Fix FAQ JSON-LD rendering and update shared software and organization metadata.
- Restore glossary self-canonicals, exclude search from the sitemap, and clarify root-level robots policy ownership.
- Remove heading emoji, organize introduction content, and replace external operating-system logos with local assets.
| File | Description |
|---|---|
| versioned_docs/version-4.0.0/running-keploy/unit-test-architecture.md | Remove heading emoji. |
| versioned_docs/version-4.0.0/running-keploy/test-run-reports.md | Remove heading emoji. |
| versioned_docs/version-4.0.0/running-keploy/test-generate.md | Remove heading emoji. |
| versioned_docs/version-4.0.0/running-keploy/api-test-architecture.md | Remove heading emoji. |
| versioned_docs/version-4.0.0/running-keploy/about-unit-testing.md | Remove heading emoji. |
| versioned_docs/version-4.0.0/running-keploy/about-api-testing.md | Remove heading emoji. |
| versioned_docs/version-4.0.0/quickstart/samples-go-gin-mongo.md | Remove Docker and local heading emoji. |
| versioned_docs/version-4.0.0/quickstart/go-mux-sql.md | Remove Docker and local heading emoji. |
| versioned_docs/version-4.0.0/quickstart/go-mux-mysql.md | Remove Docker and local heading emoji. |
| versioned_docs/version-4.0.0/quickstart/go-gin-redis.md | Remove Docker and local heading emoji. |
| versioned_docs/version-4.0.0/quickstart/go-fasthttp-postgres.md | Remove local heading emoji. |
| versioned_docs/version-4.0.0/quickstart/code-coverage.md | Remove heading emoji. |
| versioned_docs/version-4.0.0/keploy-explained/testing-guide.md | Remove heading emoji. |
| versioned_docs/version-4.0.0/keploy-explained/supported-languages.md | Remove heading emoji. |
| versioned_docs/version-4.0.0/keploy-explained/keploy-security.md | Remove heading emoji. |
| versioned_docs/version-4.0.0/keploy-explained/keploy-privacy.md | Remove heading emoji. |
| versioned_docs/version-4.0.0/keploy-explained/integrations-pr-agent.md | Remove heading emoji. |
| versioned_docs/version-4.0.0/keploy-explained/debugger-guide.md | Remove heading emoji. |
| versioned_docs/version-4.0.0/keploy-explained/api-testing-faq.md | Remove heading emoji. |
| versioned_docs/version-4.0.0/keploy-explained/ai-models.md | Remove heading emoji. |
| versioned_docs/version-4.0.0/concepts/what-is-keploy.md | Add descriptive section headings. |
| versioned_docs/version-4.0.0/concepts/reference/glossary/regression-testing.md | Remove blog canonical override. |
| versioned_docs/version-4.0.0/concepts/reference/glossary/black-box-testing.md | Remove blog canonical override. |
| versioned_docs/version-4.0.0/concepts/platform-requirements.md | Use local operating-system logos. |
| static/robots.txt | Simplify ineffective subpath rules and document root policy ownership. |
| src/schema/siteEntities.js | Update software identity, category, and organization references. |
| src/remark/remarkFaqSchema.js | Emit unescaped JSON-LD while escaping < for script safety. |
| docusaurus.config.js | Exclude search routes from the sitemap. |
Review effort: Balanced
nehagup
force-pushed
the
seo/geo-audit-fixes-2026-10
branch
from
October 23, 2026 15:49
0a50de8 to
ecc1b00
Compare
- FAQPage JSON-LD via dangerouslySetInnerHTML so it is not entity-escaped - Glossary regression-testing / black-box-testing: self-canonical - SoftwareApplication @id #software, DeveloperApplication; Wikidata sameAs - Exclude /docs/search/ from sitemap - Neutralize /docs/robots.txt (rules belong in root robots.txt) - Add H2 sections to What is Keploy?; strip emoji from doc H1s - Self-host OS logos on platform requirements table Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Neha Gupta <gneha21@yahoo.in>
Removing emoji from headings changed generated fragment IDs (e.g. using-docker-compose- -> using-docker-compose), breaking links in QuickStartList.js and in-page fallback links. Pin the old IDs on all 24 de-emojied headings. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Neha Gupta <gneha21@yahoo.in>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Neha Gupta <gneha21@yahoo.in>
nehagup
force-pushed
the
seo/geo-audit-fixes-2026-10
branch
from
October 23, 2026 15:56
ecc1b00 to
8b58a73
Compare
This branch has not been deployed
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.

Fixes the
keploy/docsrows from the keploy.io SEO/GEO audit (Oct 2026).Structured data
{"@context…) on https://keploy.io/docs/keploy-explained/api-testing-faq/ and https://keploy.io/docs/keploy-explained/unit-testing-faq/. React entity-escapes text children of<script>during SSR.src/remark/remarkFaqSchema.jsnow emits the JSON throughdangerouslySetInnerHTML(with<escaped as<). I checked the built HTML: everyld+jsonblock on both pages parses withjson.loads.src/schema/siteEntities.js: SoftwareApplication@idis nowhttps://keploy.io/#software(it was#keploy), withapplicationCategory: "DeveloperApplication". OrganizationsameAsnow includes Wikidatahttps://www.wikidata.org/wiki/Q137395272. Publisher already pointed athttps://keploy.io/#organization.softwareHelpwas alreadyhttps://keploy.io/docs/. BreadcrumbList already comes fromDocBreadcrumbs.dateModifiedalready comes from git (showLastUpdateTime+src/lastUpdate/contentLastUpdate.js). I made no change there.Canonicals
Sitemap and robots
/docs/search/is excluded from the sitemap. 1.0.0 and 2.0.0 were already excluded andnoIndex. 3.0.0 is not built (onlyIncludeVersions).<lastmod>already uses per-doc git content dates (lastmod: "date"). It needs full history in CI, which is alreadyfetch-depth: 0.static/robots.txt(served at/docs/robots.txt, which crawlers ignore) is now a no-opAllow: /plus a comment. The real rules (AI-bot policy,/docs/1.0.0/–3.0.0/disallows) must live in the root https://keploy.io/robots.txt. That is handled in the keploy/landing PR.Content
concepts/what-is-keploy.md): I added the H2s Overview / How Keploy Generates Tests / Where to Run Keploy Tests over the existing text. No new claims.concepts/platform-requirements.md): the hot-linked Apple (pngplay), Windows (wikimedia) and Linux (th.bing.com) logos now use the existing/docs/img/os/*-logo.svg.Skipped / manual steps
authorstill fall back to the Organization, anddatePublishedfalls back to the git last-modified date. Setting real authors and dates needs a decision on who the authors are.trailingSlash: trueis already set. The 302 comes from the hosting/proxy layer and has to be changed to a 301 there.content/llms-*.txthas no Allen Digital, no "Feneva" and no hard-coded star count, so no change was needed.Build
yarn install --frozen-lockfile && yarn buildsucceeded locally. There were 2 broken-anchor warnings (samples-mux, samples-redis); they were already there and are unrelated to this PR. I checked the build output: the FAQ JSON-LD parses, the glossary canonicals point to themselves, there are no/docs/searchentries in the sitemap, and#softwareand the Wikidata ID are present.🤖 Generated with Claude Code