diff --git a/app/jobs/migrate_website_connections_job.rb b/app/jobs/migrate_website_connections_job.rb
new file mode 100644
index 0000000000000000000000000000000000000000..f292284e95adc7731dd5c829fd7cdb0c6001f790
--- /dev/null
+++ b/app/jobs/migrate_website_connections_job.rb
@@ -0,0 +1,16 @@
+class MigrateWebsiteConnectionsJob < ApplicationJob
+  queue_as :default
+
+  def perform(website_id)
+    website = Communication::Website.find(website_id)
+    website.pages.find_each(&:connect_dependencies)
+    website.posts.find_each(&:connect_dependencies)
+    website.categories.find_each(&:connect_dependencies)
+    website.menus.find_each(&:connect_dependencies)
+    website.connect(website.about, website) if website.about.present?
+
+    website.destroy_obsolete_connections
+    website.sync_with_git
+    website.destroy_obsolete_git_files
+  end
+end