diff --git a/docs/administration/admin_api/README.md b/docs/administration/admin_api/README.md
index f11e0b19a6..d42b2159df 100644
--- a/docs/administration/admin_api/README.md
+++ b/docs/administration/admin_api/README.md
@@ -7,7 +7,11 @@ server admin. (Note that a server admin is distinct from a room admin.)
An existing user can be marked as a server admin by updating the database directly.
-Check your [database settings](config_documentation.md#database) in the configuration file, connect to the correct database using either `psql [database name]` (if using PostgreSQL) or `sqlite3 path/to/your/database.db` (if using SQLite) and elevate the user `@foo:bar.com` to administrator.
+Check your [database settings](../../usage/configuration/config_documentation.md#database)
+in the configuration file, connect to the correct database using either
+`psql [database name]` (if using PostgreSQL) or
+`sqlite3 path/to/your/database.db` (if using SQLite) and elevate the user
+`@foo:bar.com` to administrator.
```sql
UPDATE users SET admin = 1 WHERE name = '@foo:bar.com';
```
@@ -19,7 +23,7 @@ already on your `$PATH` depending on how Synapse was installed.
Finding your user's `access_token` is client-dependent, but will usually be shown in the client's settings.
## Making an Admin API request
-For security reasons, we [recommend](reverse_proxy.md#synapse-administration-endpoints)
+For security reasons, we [recommend](../../setup/reverse_proxy.md#synapse-administration-endpoints)
that the Admin API (`/_synapse/admin/...`) should be hidden from public view using a
reverse proxy. This means you should typically query the Admin API from a terminal on
the machine which runs Synapse.
@@ -35,7 +39,7 @@ For example, suppose we want to
[query the account](user_admin_api.md#query-user-account) of the user
`@foo:bar.com`. We need an admin access token (e.g.
`syt_AjfVef2_L33JNpafeif_0feKJfeaf0CQpoZk`), and we need to know which port
-Synapse's [`client` listener](config_documentation.md#listeners) is listening
+Synapse's [`client` listener](../../usage/configuration/config_documentation.md#listeners) is listening
on (e.g. `8008`). Then we can use the following command to request the account
information from the Admin API.
diff --git a/docs/upgrade.md b/docs/upgrade.md
index 8009cf64cb..ed7c159584 100644
--- a/docs/upgrade.md
+++ b/docs/upgrade.md
@@ -797,8 +797,8 @@ Any scripts still using the above APIs should be converted to use the
## User-interactive authentication fallback templates can now display errors
This may affect you if you make use of custom HTML templates for the
-[reCAPTCHA](../synapse/res/templates/recaptcha.html) or
-[terms](../synapse/res/templates/terms.html) fallback pages.
+[reCAPTCHA](https://github.com/matrix-org/synapse/blob/v1.42.0/synapse/res/templates/recaptcha.html) or
+[terms](https://github.com/matrix-org/synapse/blob/v1.42.0/synapse/res/templates/terms.html) fallback pages.
The template is now provided an `error` variable if the authentication
process failed. See the default templates linked above for an example.
@@ -1396,7 +1396,7 @@ New templates (`sso_auth_confirm.html`, `sso_auth_success.html`, and
is configured to use SSO and a custom
`sso_redirect_confirm_template_dir` configuration then these templates
will need to be copied from
-[synapse/res/templates](synapse/res/templates) into that directory.
+[synapse/res/templates](https://github.com/matrix-org/synapse/tree/v1.13/synapse/res/templates) into that directory.
## Synapse SSO Plugins Method Deprecation
diff --git a/docs/usage/configuration/config_documentation.md b/docs/usage/configuration/config_documentation.md
index 5b66be0918..2490e10f5e 100644
--- a/docs/usage/configuration/config_documentation.md
+++ b/docs/usage/configuration/config_documentation.md
@@ -2088,7 +2088,7 @@ set.
This is primarily intended for use with the `register_new_matrix_user` script
(see [Registering a user](../../setup/installation.md#registering-a-user));
-however, the interface is [documented](../../admin_api/register_api.html).
+however, the interface is [documented](../../administration/admin_api/register_api.md).
See also [`registration_shared_secret_path`](#registration_shared_secret_path).
diff --git a/docs/usage/configuration/server_notices.md b/docs/usage/configuration/server_notices.md
index 04aa806732..a96f312864 100644
--- a/docs/usage/configuration/server_notices.md
+++ b/docs/usage/configuration/server_notices.md
@@ -58,4 +58,4 @@ displayname and avatar of the Server Notices user.
## Sending notices
To send server notices to users you can use the
-[admin_api](../../admin_api/server_notices.md).
+[admin_api](../../administration/admin_api/server_notices.md).
diff --git a/docs/usage/configuration/user_authentication/password_auth_providers.md b/docs/usage/configuration/user_authentication/password_auth_providers.md
index dc0dfffa21..c85a809a82 100644
--- a/docs/usage/configuration/user_authentication/password_auth_providers.md
+++ b/docs/usage/configuration/user_authentication/password_auth_providers.md
@@ -1,7 +1,7 @@
<h2 style="color:red">
This page of the Synapse documentation is now deprecated. For up to date
documentation on setting up or writing a password auth provider module, please see
-<a href="modules/index.md">this page</a>.
+<a href="../../../modules/index.md">this page</a>.
</h2>
# Password auth provider modules
diff --git a/docs/usage/configuration/user_authentication/single_sign_on/sso_mapping_providers.md b/docs/usage/configuration/user_authentication/single_sign_on/sso_mapping_providers.md
index 9d8efed4be..bfb567227e 100644
--- a/docs/usage/configuration/user_authentication/single_sign_on/sso_mapping_providers.md
+++ b/docs/usage/configuration/user_authentication/single_sign_on/sso_mapping_providers.md
@@ -120,7 +120,7 @@ specified in the config. It is located at
## SAML Mapping Providers
The SAML mapping provider can be customized by editing the
-[`saml2_config.user_mapping_provider.module`](docs/usage/configuration/config_documentation.md#saml2_config)
+[`saml2_config.user_mapping_provider.module`](../../config_documentation.md#saml2_config)
config option.
`saml2_config.user_mapping_provider.config` allows you to provide custom
diff --git a/docs/usage/configuration/workers.md b/docs/usage/configuration/workers.md
index e6a7426874..c86b951ecd 100644
--- a/docs/usage/configuration/workers.md
+++ b/docs/usage/configuration/workers.md
@@ -111,7 +111,7 @@ redis:
enabled: true
```
-See the [configuration manual](usage/configuration/config_documentation.html) for the full documentation of each option.
+See the [configuration manual](config_documentation.md) for the full documentation of each option.
Under **no circumstances** should the replication listener be exposed to the
public internet; replication traffic is:
diff --git a/docs/welcome_and_overview.md b/docs/welcome_and_overview.md
index e35234929a..44bf90e370 100644
--- a/docs/welcome_and_overview.md
+++ b/docs/welcome_and_overview.md
@@ -16,7 +16,7 @@ This documentation covers topics for **installation**, **configuration** and
* See how to [upgrade](upgrade.md) between Synapse versions.
* Administer your instance using the [Admin
- API](usage/administration/admin_api/index.html), installing [pluggable
+ API](administration/admin_api/index.html), installing [pluggable
modules](modules/index.html), or by accessing the [manhole](administration/manhole.md).
* Learn how to [read log lines](administration/request_log.md), configure
|