From b42f08c7f0fb70904d92e024261a30366c5e278e Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 28 Sep 2026 06:17:57 +0000 Subject: [PATCH 1/2] Redirect discontinued Kafka docs and add missing developerapi redirect 22 /kafka/* doc paths 404 (Ahrefs Site Audit, crawl 2026-09-27) with no existing redirect; several carry high-authority backlinks (DR90-97 from github.com/upstash/kafka-js, medium.com/upstash, auth0.com, archive.org) that currently land on a 404. Redirect them to /docs/introduction. /howto/developerapi also 404s (Ahrefs Site Audit) with a DR91 backlink from pkg.go.dev/github.com/upstash/terraform-provider-upstash/v2; docs.json already redirects /redis/howto/developerapi and /redis/account/developerapi to /common/account/developerapi but was missing this bare path. --- docs.json | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/docs.json b/docs.json index 461b5f102..28ce6f06a 100644 --- a/docs.json +++ b/docs.json @@ -2524,6 +2524,98 @@ ] }, "redirects": [ + { + "source": "/howto/developerapi", + "destination": "/common/account/developerapi" + }, + { + "source": "/kafka", + "destination": "/introduction" + }, + { + "source": "/kafka/aivenjdbcsource", + "destination": "/introduction" + }, + { + "source": "/kafka/aivenjdbcsink", + "destination": "/introduction" + }, + { + "source": "/kafka/schema-registry/schemahowto", + "destination": "/introduction" + }, + { + "source": "/kafka/schema-registry/schemaintroduction", + "destination": "/introduction" + }, + { + "source": "/kafka/webhook", + "destination": "/introduction" + }, + { + "source": "/kafka/debeziummysql", + "destination": "/introduction" + }, + { + "source": "/kafka/debeziummongo", + "destination": "/introduction" + }, + { + "source": "/kafka/debeziumpsql", + "destination": "/introduction" + }, + { + "source": "/kafka/integrations/spark", + "destination": "/introduction" + }, + { + "source": "/kafka/connect", + "destination": "/introduction" + }, + { + "source": "/kafka/connect/mongosource", + "destination": "/introduction" + }, + { + "source": "/kafka/connect/debeziumpsql", + "destination": "/introduction" + }, + { + "source": "/kafka/kafkaapi", + "destination": "/introduction" + }, + { + "source": "/kafka/mongosource", + "destination": "/introduction" + }, + { + "source": "/kafka/mongosink", + "destination": "/introduction" + }, + { + "source": "/kafka/howto/kafka-with-lambda", + "destination": "/introduction" + }, + { + "source": "/kafka/real-time-analytics/realtime_analytics_serverless_kafka_setup", + "destination": "/introduction" + }, + { + "source": "/kafka/rest", + "destination": "/introduction" + }, + { + "source": "/kafka/pricing", + "destination": "/introduction" + }, + { + "source": "/kafka/credentials", + "destination": "/introduction" + }, + { + "source": "/kafka/overall/getstarted", + "destination": "/introduction" + }, { "source": "/box/guides/crabbox-setup", "destination": "/box/guides/remote-development" From 11b871fe60ebb4c7da468fab0612f7bac373bc1e Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 29 Sep 2026 15:19:51 +0000 Subject: [PATCH 2/2] Revert generic Kafka->/introduction redirects per review feedback Copilot correctly flagged that mass-redirecting 22 discontinued /kafka/* paths to one unrelated page (/introduction) risks being treated as soft 404s by search engines, and drops the Kafka context those backlinks/visitors were expecting. Google's own guidance prefers a genuine 404 over a soft-404-style mass redirect when no relevant replacement exists. Kafka has no successor product in the current lineup, so there's no single correct redirect target per page. Reverting these 22 entries back to 404 (their current, unchanged behavior) until there's a real destination - e.g. a Kafka retirement/migration page - to point them to instead. Tracked as a content opportunity in DX-3085. Keeps the /howto/developerapi -> /common/account/developerapi fix, which is an exact 1:1 mapping to the current page and unaffected by this concern. --- docs.json | 88 ------------------------------------------------------- 1 file changed, 88 deletions(-) diff --git a/docs.json b/docs.json index 28ce6f06a..e2b4d7668 100644 --- a/docs.json +++ b/docs.json @@ -2528,94 +2528,6 @@ "source": "/howto/developerapi", "destination": "/common/account/developerapi" }, - { - "source": "/kafka", - "destination": "/introduction" - }, - { - "source": "/kafka/aivenjdbcsource", - "destination": "/introduction" - }, - { - "source": "/kafka/aivenjdbcsink", - "destination": "/introduction" - }, - { - "source": "/kafka/schema-registry/schemahowto", - "destination": "/introduction" - }, - { - "source": "/kafka/schema-registry/schemaintroduction", - "destination": "/introduction" - }, - { - "source": "/kafka/webhook", - "destination": "/introduction" - }, - { - "source": "/kafka/debeziummysql", - "destination": "/introduction" - }, - { - "source": "/kafka/debeziummongo", - "destination": "/introduction" - }, - { - "source": "/kafka/debeziumpsql", - "destination": "/introduction" - }, - { - "source": "/kafka/integrations/spark", - "destination": "/introduction" - }, - { - "source": "/kafka/connect", - "destination": "/introduction" - }, - { - "source": "/kafka/connect/mongosource", - "destination": "/introduction" - }, - { - "source": "/kafka/connect/debeziumpsql", - "destination": "/introduction" - }, - { - "source": "/kafka/kafkaapi", - "destination": "/introduction" - }, - { - "source": "/kafka/mongosource", - "destination": "/introduction" - }, - { - "source": "/kafka/mongosink", - "destination": "/introduction" - }, - { - "source": "/kafka/howto/kafka-with-lambda", - "destination": "/introduction" - }, - { - "source": "/kafka/real-time-analytics/realtime_analytics_serverless_kafka_setup", - "destination": "/introduction" - }, - { - "source": "/kafka/rest", - "destination": "/introduction" - }, - { - "source": "/kafka/pricing", - "destination": "/introduction" - }, - { - "source": "/kafka/credentials", - "destination": "/introduction" - }, - { - "source": "/kafka/overall/getstarted", - "destination": "/introduction" - }, { "source": "/box/guides/crabbox-setup", "destination": "/box/guides/remote-development"