diff --git a/docs/rules/shebang.md b/docs/rules/shebang.md
index 6623a354..efd25c64 100644
--- a/docs/rules/shebang.md
+++ b/docs/rules/shebang.md
@@ -1,6 +1,6 @@
 # Require correct usage of hashbang (`n/shebang`)
 
-❌ This rule is deprecated. It was replaced by [`n/hashbang`](hashbang.md).
+❌ This rule is deprecated.
 
 🔧 This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix).
 
diff --git a/lib/rules/no-hide-core-modules.js b/lib/rules/no-hide-core-modules.js
index f5e43514..52382de6 100644
--- a/lib/rules/no-hide-core-modules.js
+++ b/lib/rules/no-hide-core-modules.js
@@ -69,7 +69,11 @@ module.exports = {
             url: "https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-hide-core-modules.md",
         },
         type: "problem",
-        deprecated: true,
+        deprecated: {
+            deprecatedSince: "4.2.0",
+            message: "This rule was based on an invalid assumption.",
+            url: "https://github.com/mysticatea/eslint-plugin-node/issues/69",
+        },
         fixable: null,
         schema: [
             {
diff --git a/lib/rules/shebang.js b/lib/rules/shebang.js
index 585947be..33235599 100644
--- a/lib/rules/shebang.js
+++ b/lib/rules/shebang.js
@@ -7,11 +7,24 @@
 
 const hashbang = require("./hashbang.js")
 
+/** @type {import('./rule-module').RuleModule<{}>} */
 module.exports = {
     meta: {
         ...hashbang.meta,
-        deprecated: true,
-        replacedBy: ["n/hashbang"],
+        deprecated: {
+            deprecatedSince: "17.0.0",
+            message:
+                "This rule was deprecated in eslint-plugin-n v17.0.0. Please use 'n/hashbang'",
+            url: "https://github.com/eslint-community/eslint-plugin-n/issues/196",
+            replacedBy: [
+                {
+                    rule: {
+                        name: "n/hashbang",
+                        url: hashbang.meta?.docs?.url,
+                    },
+                },
+            ],
+        },
         docs: { ...hashbang.meta?.docs, recommended: false },
     },
     create: hashbang.create,
diff --git a/tests/lib/rules/shebang.js b/tests/lib/rules/shebang.js
index 7e096606..d35e5671 100644
--- a/tests/lib/rules/shebang.js
+++ b/tests/lib/rules/shebang.js
@@ -5,7 +5,7 @@ it("should export shebang as alias ", () => {
     const shebang = require("../../../lib/rules/shebang.js")
     const hashbang = require("../../../lib/rules/hashbang.js")
 
-    assert.strictEqual(shebang.meta.deprecated, true)
-    assert.deepStrictEqual(shebang.meta.replacedBy, ["n/hashbang"])
+    assert.strictEqual(typeof shebang.meta.deprecated, "object")
+    assert.strictEqual(typeof shebang.meta.replacedBy, "undefined")
     assert.strictEqual(shebang.create, hashbang.create)
 })