diff --git a/changelog.d/12331.doc b/changelog.d/12331.doc
new file mode 100644
index 0000000000000000000000000000000000000000..ec0ca3ea9531cfbe92c264019e9ee2beca24e1a9
--- /dev/null
+++ b/changelog.d/12331.doc
@@ -0,0 +1 @@
+Update dead links in `check-newsfragment.sh` to point to the correct documentation URL.
diff --git a/scripts-dev/check-newsfragment.sh b/scripts-dev/check-newsfragment.sh
index 493558ad651b9fd9542753c271bdc9e1d4017280..effea0929c93b52e78b86008ca1f9e17502d9179 100755
--- a/scripts-dev/check-newsfragment.sh
+++ b/scripts-dev/check-newsfragment.sh
@@ -19,7 +19,7 @@ if ! git diff --quiet FETCH_HEAD... -- debian; then
     if git diff --quiet FETCH_HEAD... -- debian/changelog; then
         echo "Updates to debian directory, but no update to the changelog." >&2
         echo "!! Please see the contributing guide for help writing your changelog entry:" >&2
-        echo "https://github.com/matrix-org/synapse/blob/develop/CONTRIBUTING.md#debian-changelog" >&2
+        echo "https://matrix-org.github.io/synapse/latest/development/contributing_guide.html#debian-changelog" >&2
         exit 1
     fi
 fi
@@ -32,7 +32,7 @@ fi
 
 # Print a link to the contributing guide if the user makes a mistake
 CONTRIBUTING_GUIDE_TEXT="!! Please see the contributing guide for help writing your changelog entry:
-https://github.com/matrix-org/synapse/blob/develop/CONTRIBUTING.md#changelog"
+https://matrix-org.github.io/synapse/latest/development/contributing_guide.html#changelog"
 
 # If check-newsfragment returns a non-zero exit code, print the contributing guide and exit
 python -m towncrier.check --compare-with=origin/develop || (echo -e "$CONTRIBUTING_GUIDE_TEXT" >&2 && exit 1)