diff --git a/api_docs/http-headers.md b/api_docs/http-headers.md
index 07a1f6dbf0..47149cbb85 100644
--- a/api_docs/http-headers.md
+++ b/api_docs/http-headers.md
@@ -49,7 +49,7 @@ client = zulip.Client(
If you are working on an integration that you plan to share outside
your organization, you can get help picking a good name in
`#integrations` in the [Zulip development
-community](https://zulip.com/development-community).
+community](https://zulip.com/development-community/).
## Rate-limiting response headers
diff --git a/api_docs/incoming-webhooks-overview.md b/api_docs/incoming-webhooks-overview.md
index 78393bbed2..9cab08ce36 100644
--- a/api_docs/incoming-webhooks-overview.md
+++ b/api_docs/incoming-webhooks-overview.md
@@ -166,7 +166,7 @@ integration.
The list of existing webhook integrations can be found in
`zerver/lib/integrations.py` (at `WEBHOOK_INTEGRATIONS`) or by browsing
-the [Integrations documentation](/integrations).
+the [Integrations documentation](/integrations/).
Parameters accepted in the URL include:
diff --git a/docs/production/install.md b/docs/production/install.md
index f481877c0b..5092a31cdd 100644
--- a/docs/production/install.md
+++ b/docs/production/install.md
@@ -12,8 +12,8 @@ Zulip's
### Should I follow this installation guide?
- If you would like to try out Zulip, you can start by [checking it out in the
- Zulip development community](https://zulip.com/try-zulip), or [create a test
- Zulip Cloud organization](https://zulip.com/new).
+ Zulip development community](https://zulip.com/try-zulip/), or [create a test
+ Zulip Cloud organization](https://zulip.com/new/).
- If you are deciding between self-hosting Zulip and signing up for [Zulip
Cloud](https://zulip.com/plans/), our [self-hosting
diff --git a/templates/corporate/why-zulip.md b/templates/corporate/why-zulip.md
index a3b53ae4c6..02c671db94 100644
--- a/templates/corporate/why-zulip.md
+++ b/templates/corporate/why-zulip.md
@@ -83,7 +83,7 @@ notifications.
> extremely efficiently, and I don’t feel stressed.”
>
> — Dan Allen, [Asciidoctor](https://asciidoctor.org/) open-source project lead ([case
-> study](/case-studies/asciidoctor))
+> study](/case-studies/asciidoctor/))
@@ -100,7 +100,7 @@ discussions asynchronously without interrupting their flow.
>
> — Josh Triplett, [Rust Language
> team](https://www.rust-lang.org/governance/teams/lang) co-lead ([case
-> study](/case-studies/rust))
+> study](/case-studies/rust/))
- **Take advantage of everyone’s expertise.**
Zulip’s topics make it easy to pick up a conversation thread hours (or days!)
@@ -127,7 +127,7 @@ reference.
> can meaningfully know what’s going on.”
>
> — Gaute Lund, co-founder of iDrift AS company ([case
-> study](/case-studies/idrift))
+> study](/case-studies/idrift/))
@@ -172,4 +172,4 @@ from emails, docs, issue trackers, code comments, or anywhere else.
> decisions we’ve made.”
>
> — Nick Bergson-Shilcock, [Recurse Center](https://www.recurse.com/) co-founder
-> and CEO ([case study](/case-studies/recurse-center))
+> and CEO ([case study](/case-studies/recurse-center/))
diff --git a/templates/zerver/app/index.html b/templates/zerver/app/index.html
index 37678a756a..38b6e2b499 100644
--- a/templates/zerver/app/index.html
+++ b/templates/zerver/app/index.html
@@ -188,7 +188,7 @@
We recommend that
you give Zulip the ability to mirror the messages for you via
Webathena. If you'd prefer, you can instead
- run the
+ run the
Zephyr mirror script yourself in a screen
session.
diff --git a/templates/zerver/landing_nav.html b/templates/zerver/landing_nav.html
index ce3ae31643..07e13db25c 100644
--- a/templates/zerver/landing_nav.html
+++ b/templates/zerver/landing_nav.html
@@ -170,7 +170,7 @@