如何將 WordPress 單站點移動到多站點,反之亦然?

已發表: 2021-09-10

通常,大多數博主使用一個 WordPress 安裝來託管一個網站。 他們使用子目錄、子域或新域來創建其他安裝。 然而,情況並非總是如此,因為 WordPress 還提供了一項功能,可以通過一次安裝來託管多個站點。 這稱為 WordPress 多站點設置,對於由單個管理員管理網站網絡非常有用。 有時,由於您的要求發生變化,您可能需要將 WordPress 單站點更改為多站點,反之亦然。 我們將在本分步指南中解釋如何更改設置。

WordPress 多站點設置

Multisite 是一種 WordPress 安裝類型,可讓您從一個地方輕鬆更改或更新所有單個網站。 它提供了一個額外的超級管理員用戶角色來管理安裝在單個網絡中的所有站點。 Multisite 中的站點網絡可以合併您的網站和其他用戶的網站(訪問更強大的 WordPress 功能有限制)。 儘管如此,Multisite 的獨特之處在於網絡中的所有網站用戶共享相同的插件和主題,並具有不同的媒體上傳目錄,即您無法從另一個站點訪問一個站點的圖像和文件上傳文件夾。

從託管面板安裝 WordPress 時,您可以創建多站點。 甚至像 Local 這樣的 localhost 應用程序也允許您在計算機中創建多站點設置。 您可以使用它來玩轉並了解是否要為您的網站使用多站點。

使用本地應用程序創建多站點
使用本地應用程序創建多站點

重要提示:WordPress 中的多站點和單站點使用不同的數據庫設置。 多站點為每個站點添加一組單獨的表並管理內容。 如果您沒有正確設置多站點,您將看到如下所示的數據庫錯誤,表明您的數據庫中缺少表。 我們強烈建議避免將單站點轉換為多站點,反之亦然,除非您確實需要它。

多站點數據庫錯誤
多站點數據庫錯誤

如何將 WordPress 單站點遷移到多站點?

與將新網站添加到網站網絡(多站點)相比,導入現有的單個站點需要更多的要求。 單站點遷移到多站點需要創建網站備份(使用 ManageWP 等工具或服務)並啟用多站點功能。 以下是執行此過程的方法。

導出單個站點內容

使用 ManageWP、Duplicator 插件或任何其他插件來備份您要導出的站點,以防出現問題。 一旦啟用了多站點功能,現在就可以合併您的單個網站。 登錄到您的單站點儀表板,將鼠標懸停在“工具”菜單上,然後單擊“導出”選項卡。 從導出選項列表中選擇“所有內容”選項,然後單擊“下載導出文件”按鈕將您的站點內容轉換為可下載的 .xml 文件。

導出單個站點內容
導出單個站點內容

創建多站點 WordPress

登錄到您的主機帳戶並創建一個新的 WordPress 安裝。 為此,您可以使用新域或臨時域,並根據需要更改站點 URL 或設置重定向。 以下是您在 SiteGround 託管中創建新網站時的外觀。 選擇“臨時域名”選項後,您將獲得一個免費的臨時域名來安裝您的網站。

在 SiteGround 中設置臨時域
在 SiteGround 中設置臨時域

您可以選擇“安裝 WordPress 多站點”選項並在主文件夾或子文件夾(子目錄)中安裝 WordPress。

在 WordPress 中安裝 Multisite
在 WordPress 中安裝 Multisite

將單個站點添加到多站點網絡

安裝 WordPress 多站點設置後,登錄到您的多站點網絡。 從儀表板中,將鼠標移至“站點”側邊菜單,然後單擊“添加新”。 填寫要進入多站點的站點的站點地址 (URL)、站點標題和管理員電子郵件,如果所有信息都正確,則單擊“添加站點”按鈕。 您可以單擊“所有站點”選項卡以確認您的單個站點已成功添加到網絡中。

將單站點添加到多站點網絡
將單站點添加到多站點網絡

設置站點主題和插件

現在,重新安裝並激活您在以前的站點中使用的所有插件或主題,在將單個網站移動到多站點網絡時必須停用這些插件或主題。 這一次,安裝和激活將發生在多站點的網絡級別,因此它們可用於傳入站點。 轉到您的多站點儀表板,將鼠標懸停在“主題”或“插件”菜單側欄上,然後單擊“添加新”選項卡。 請記住為主題安裝選擇“網絡啟用”,為插件安裝選擇“網絡激活”——如果您願意,可以使它們可用於網絡中的所有站點。

安裝網絡主題和插件
安裝網絡主題和插件

導入單個站點內容

通過將鼠標懸停在“我的站點”頂部菜單上,導航到網絡儀表板中的該單個站點,選擇該網站並單擊“儀表板”。 現在,轉到“工具”側邊欄菜單,然後單擊“導入”選項卡。 滾動以查看 WordPress 標題並單擊“主站點”,然後單擊“立即安裝”鏈接。 安裝後,單擊出現的“運行導入程序”鏈接以繼續。 此外,單擊“選擇文件”按鈕選擇計算機上已有的 .xml 文件,然後單擊“上傳文件並導入”按鈕。

導入單個站點 XML 文件
導入單個站點 XML 文件

在導入過程中,您可以使用以前站點中已有的作者,或者為網站頁面或帖子內容指定新的作者。 如果您仍然需要來自單個站點的媒體文件,請選中“下載並導入文件附件”選項。 最後,單擊“提交”按鈕,可以看到所有文件、頁面和帖子的日誌都可以在您的多站點網絡的新網站上找到。 最後確保您的網站看起來如您所願。 最後,刪除舊的/以前的單個站點或對網絡中的新站點使用“301 重定向”(以避免損害您的搜索引擎排名)。

如何將 WordPress 多站點恢復為單個站點?

大多數託管公司在安裝 WordPress 時都會提供一個複選框來選擇多站點設置。 不幸的是,許多用戶會選中復選框來安裝多站點設置,然後意識到這不是他們想要的。 此外,當網絡中的網站與其他網站相比變得如此龐大時,您可能希望將其移至獨立安裝。 您可以按照以下說明將網絡中的站點或整個多站點遷移到單個站點。

從多站點導出特定網站

轉到要從多站點中刪除的站點的儀表板。 將鼠標懸停在“工具”菜單側欄上,然後單擊“導出”選項卡。 選擇導出選項並單擊“下載導出文件”按鈕,包含所有網站數據的 XML 文件現在駐留在您的計算機中或可供以後使用。

從多站點導出站點
從多站點導出站點

將多站點的內容導入到其他域

如上所述,您可以使用新域或臨時域來創建單站點 WordPress 安裝。 完成設置後,登錄新站點的儀表板,然後將鼠標懸停在“工具”側欄菜單上,然後單擊“導入”選項卡。 向下滾動以單擊 WordPress 標題下方的“立即安裝”鏈接。 這將在您的站點上安裝 WordPress 導入器插件,安裝後,單擊“運行導入器”鏈接。

從多站點導入單個站點
從多站點導入單個站點

單擊“選擇文件”按鈕,從您的計算機中選擇該站點導出文件,然後單擊“上傳文件並導入”按鈕。 您可以更改或離開作者分配。 選中“下載和導入文件附件”框以上傳站點媒體文件,然後單擊“提交”按鈕。 導入成功後,你會看到一句“玩得開心”。 現在,您可以檢查並開始使用新的單一站點。

重定向設置

無論在哪種情況下,第一件事都應該是運行備份,以防過程中出現任何問題。 其次,在成功遷移後執行重定向以將其打包。 您可以使用重定向插件創建必要的 301 重定向,以保留舊頁面的搜索引擎排名。 您還可以使用 .htaccess 指令來設置必要的重定向。

使用重定向插件

為您從多站點網絡遷移的特定站點安裝並激活插件。 您可以按照以下說明設置從子域到新域的重定向。

  • 通過“工具”菜單轉到“重定向”選項卡。
  • 切換到“站點”選項卡,在“重定向到域”框中輸入域名,然後單擊“更新”按鈕保存設置。
  • 這將重定向整個站點,除了 WordPress 登錄和管理頁面。
  • 如果需要,您可以設置“站點別名”以重定向包括登錄和管理頁面在內的所有內容。
設置站點重定向
設置站點重定向

按照以下說明設置從目錄到新域的重定向。

轉到“重定向”部分,單擊“添加新”按鈕並填寫如下所示的表格:

  • 來源網址:^childsite/(.*)$
  • 目標網址:https://example.com/$1
  • URL 選項:正則表達式
  • 最後,單擊“添加重定向”按鈕。

它看起來像下圖:

添加子目錄重定向
添加子目錄重定向

通過 .htaccess 添加重定向

在您的 .htaccess 文件中添加以下代碼,以便在多站點網絡中從子域重定向到新域。

 Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^subdomain.example.com$ [NC] RewriteRule ^(.*)$ https://www.example.net/$1 [L,R=301] Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^subdomain.example.com$ [NC] RewriteRule ^(.*)$ https://www.example.net/$1 [L,R=301] Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^subdomain.example.com$ [NC] RewriteRule ^(.*)$ https://www.example.net/$1 [L,R=301] Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^subdomain.example.com$ [NC] RewriteRule ^(.*)$ https://www.example.net/$1 [L,R=301]

添加以下代碼以從目錄重定向到新域。

 Options +FollowSymLinks RewriteEngine On RewriteRule ^childsite/(.*)$ https://example.net/$1 [R=301,L] Options +FollowSymLinks RewriteEngine On RewriteRule ^childsite/(.*)$ https://example.net/$1 [R=301,L] Options +FollowSymLinks RewriteEngine On RewriteRule ^childsite/(.*)$ https://example.net/$1 [R=301,L]

請注意,請記住將 childsite、subdomain.example.com 和 https://www.example.net 等站點實例更改為您自己的站點名稱/URL。