diff --git a/toolkit/content/widgets/moz-support-link/moz-support-link.mjs b/toolkit/content/widgets/moz-support-link/moz-support-link.mjs
index 0f8892d958890e43822b04dcd781e4ba4adcf8e2..d57782b94bc6666e8d607b3906805d04791e2bc0 100644
--- a/toolkit/content/widgets/moz-support-link/moz-support-link.mjs
+++ b/toolkit/content/widgets/moz-support-link/moz-support-link.mjs
@@ -17,7 +17,9 @@ MozXULElement.insertFTLIfNeeded("browser/components/mozSupportLink.ftl");
 export default class MozSupportLink extends HTMLAnchorElement {
   static SUPPORT_URL = "https://www.mozilla.org/";
   static get observedAttributes() {
-    return ["support-page", "utm-content"];
+    // We add tor-manual-page for pages hosted at tor project. Also shared with
+    // base-browser/mullvad-browser. See tor-browser#42583.
+    return ["support-page", "utm-content", "tor-manual-page"];
   }
 
   /**
@@ -96,12 +98,33 @@ export default class MozSupportLink extends HTMLAnchorElement {
   }
 
   attributeChangedCallback(attrName, oldVal, newVal) {
-    if (attrName === "support-page" || attrName === "utm-content") {
+    if (
+      attrName === "support-page" ||
+      attrName === "utm-content" ||
+      attrName === "tor-manual-page"
+    ) {
       this.#setHref();
     }
   }
 
   #setHref() {
+    let torManualPage = this.getAttribute("tor-manual-page");
+    if (torManualPage) {
+      const [page, anchor] = torManualPage.split("_", 2);
+
+      let locale = Services.locale.appLocaleAsBCP47;
+      if (locale === "ja-JP-macos") {
+        // Convert quirk-locale to the locale used for tor project.
+        locale = "ja";
+      }
+
+      let href = `https://tb-manual.torproject.org/${locale}/${page}/`;
+      if (anchor) {
+        href = `${href}#${anchor}`;
+      }
+      this.href = href;
+      return;
+    }
     let supportPage = this.getAttribute("support-page") ?? "";
     let base = MozSupportLink.SUPPORT_URL + supportPage;
     this.href = this.hasAttribute("utm-content")
@@ -122,21 +145,7 @@ customElements.define("moz-support-link", MozSupportLink, { extends: "a" });
  *          Otherwise the url in unmodified form.
  */
 export function formatUTMParams(contentAttribute, url) {
-  if (!contentAttribute) {
-    return url;
-  }
-  let parsedUrl = new URL(url);
-  let domain = `.${parsedUrl.hostname}`;
-  if (
-    !domain.endsWith(".mozilla.org") &&
-    // For testing: addons-dev.allizom.org and addons.allizom.org
-    !domain.endsWith(".allizom.org")
-  ) {
-    return url;
-  }
-
-  parsedUrl.searchParams.set("utm_source", "firefox-browser");
-  parsedUrl.searchParams.set("utm_medium", "firefox-browser");
-  parsedUrl.searchParams.set("utm_content", contentAttribute);
-  return parsedUrl.href;
+  // Do not add utm parameters. See tor-browser#42583.
+  // NOTE: This method is also present in about:addons.
+  return url;
 }