如何安全更新 WordPress 主題和插件

已發表: 2018-10-23
插件是 WordPress 不可或缺的一部分,因為它們可以幫助您在 WordPress 網站中添加新特性和功能。 但是,如果您未能正確更新您的 WordPress 插件,則可能會導致軟件衝突或錯誤。 此外,您最終可能會損害 WordPress 網站的安全性。

保持 WordPress 插件、主題或核心升級並不是一項艱鉅的任務,但有一些注意事項不容忽視。 這是因為如果您沒有正確升級它們,它可能會破壞您網站的功能,甚至會讓您危及 WordPress 網站的安全性。 同時,WordPress 主題和插件可以顯著改善您網站的功能和外觀,提高網絡流量,最終提高轉化率和業務收入。

必須多久更新一次 WordPress 核心、主題和插件?

答案是:只要有更新! 您等待的時間越長,它就會變得越困難,因此您必須在需要時更新它並且有新的更新可用。 大多數時候,新更新建立在舊更新之上。 此外,您可以更改模板以及數據在數據庫中的存儲方式,可以輕鬆地以增量方式進行控制。

實際上,此類更新對於安全目的非常重要。 因此,不要只是等待執行安全更新,因為這對您的 WordPress 來說可能是至關重要的,從而使其面臨服務器風險。 每當識別出安全漏洞時,有關可利用代碼的信息就會在整個互聯網上發布。 最終,任何黑客都可以輕鬆、即時地編寫機器人並自動爬取網站以利用此類漏洞。

除此之外,過時的插件、主題和 WordPress 版本是讓黑客訪問您的網站的最簡單方法。 即使是停用的插件或主題也很容易使您的系統非常脆弱。 因此,為了幫助您,在本文中,我們將討論一些建議的做法,以使您的 WordPress 保持最新。

但是在我們深入研究這些最佳實踐之前,如果您想知道許多人提供的維護計劃,聲稱可以幫助用戶保持最新狀態,那麼您必須知道這樣的想法是有問題的。 這些計劃僅按季度、每月或每週提供這些更新。 由於必須按時完成更新,這種方法無法滿足您的更新要求,並使您的站點面臨安全漏洞。 畢竟,這些更新最好盡快完成,而不是遵循預定的時間表。

因此,當您繼續閱讀時,我們將討論以下基本方面:

  • 更新前備份 WordPress
  • 為更新測試構建暫存環境
  • 更新插件的提示
  • 更新主題的提示
  • 更新 WordPress 核心
  • 恢復 WordPress 插件或主題文件
  • 如果更新破壞了您網站的功能的後果

現在讓我們分別討論它們中的每一個!

1.確保在更新任何內容之前備份您的網站

許多用戶犯的一個錯誤並面臨丟失其站點數據庫的後果是未能在執行更新之前進行適當的備份。 因此,您必須避免這個錯誤,並記得為您的 WordPress 網站保留一份最新的備份。 這將幫助您在任何升級或更新出錯時恢復數據。 為此,請確保您進行了兩種類型的備份,即僅數據庫備份和完整站點備份,也稱為完整備份。

將上述兩個備份下載並存儲在您的任何本地計算機中。 為了進一步幫助您,這裡有一些您可以使用的有用插件。

  • 後退WPUp - 它是一個免費插件,提供各種發送和調度到遠程位置的選項
  • 複印機  – 您可以使用專業版來安排備份。 這非常適合遷移,免費版本可以快速復制該站點。
  • 備份好友 這是一個付費插件,但非常適合遷移和調度。
  • UpDraftPlus   – 這個插件類似於BackupBuddy 和BackWPUp,但它現在變得越來越流行。 這些插件為遠程備份存儲提供付費和免費選項。
  • 硬盤驅動器  – 如果您有多個站點,那麼 WorpDrive 是一個非常划算的選擇。 您只需在輸入 FTP 憑據後讓插件自動運行。 此外,您可以測試備份以確保其界面中的功能以及使用一鍵還原功能。
注意:始終保持足夠且合理的備份大小。 此外,請排除大文件並在文件夾中上傳。

2. 在本地暫存環境中測試您的站點是否存在任何衝突

在不中斷您的實時站點的情況下,您可以通過多種方式構建一個臨時環境來測試您的站點更新。

使用可用的 localhost 為 WordPress 建立臨時站點

通常,您必須維護站點的本地託管副本(永久)。 這樣,您可以首先使用本地站點運行所有更新,然後使用 Git 將更新推送或執行到站點的實時服務器。 這可以防止更新後出現意外。 此外,關於服務器和您的本地託管站點的變化是 MySQL 和 PHP 版本。

但是,如果您想完美匹配您的實時和本地環境,您可以像其他開發人員一樣使用 Vagrants(虛擬開發環境)或以下提到的任何選項。

  • 桌面服務器

Desktopserver

您可以使用 Desktop Server 并快速製作本地託管站點的副本,檢查/測試更新並修復或記錄問題,在實時網站上重複該過程。

為此,您必須使用上面列出的任何備份插件來準備站點的 Zip 備份。 此外,請確保省略大目錄,因為您不得針對每個上傳的媒體文件測試更新。 現在下載文件 (zip) 並將其導入桌面服務器,您就擁有了站點的本地版本,您可以根據自己的判斷隨時中斷該版本。

  • WP 暫存插件

如果您使用 WP Staging Plugin,您可以輕鬆地在您的主機帳戶(當前)的子目錄中創建您網站的克隆。 但是,該插件可在 WordPress 主機(非託管)上訪問,例如具有共享標準託管的 Blue Host 或 HostGator。

執行任務——

WP Staging
  • 安裝此插件並選擇要克隆的項目。
  • 登錄您的克隆站點,一旦它安裝在您當前站點的子目錄中。
  • 更新插件或自定義主題,但測試一切。
  • 檢查它是否按預期運行。 如果是,您可以將修改遷移到生產站點。

3. 使用託管 WordPress 主機訪問登台環境

為此,建議您使用 Get Flywheel、WP Engine 和 Site-Ground 等主機,因為它們提供可靠的性能、備份、安全性和一鍵式登台環境。 當您查看所有提供的功能時,使用和充分利用此選項比手動設置成本更有意義。

  • WP Stagecoach 和 WordPress 登台環境

  • 只需單擊一下即可建立您的實時站點的臨時副本。
  • 將所有臨時站點更改複製回 WordPress 實時站點。
  • 您可以選擇要導入的更改,即導入全部或部分文件更改或/和您的數據庫更改。
WP Stagecoach

更新 WordPress 插件的注意事項

在進行插件更新之前,您必須了解以下一些有用信息。

更新您的 WordPress 核心文件

某些 WordPress 版本確實與過時的插件或主題衝突。 就像插件和主題一樣,您應該毫不猶豫地更新補丁,例如 3.0 到 3.0.1 以及 5.0 到 5.1 的主要更新,但要確保它與您現有的主題和插件兼容。

此外,使用站點的本地副本更新測試也是一個好主意。 但是,如果站點使用 WPML - WordPress 多語言插件運行,有些人在將站點從 4.9.2 更新到 5.0 時可能會遇到一些問題。 此外,您可能還需要更新主題。 因此,請確保對所有內容進行充分備份。

WP_Updates

為確保該插件與 WordPress 最新版本兼容,您可以在其任何論壇或 WordPress.org 上查看該插件。 如果 WordPress 升級包含 jQuery 庫更新,它可能會與與您的主題或插件集成的 jQuery 衝突,並可能導致一些關於 jQuery 的問題。 例如,Ajax 內容編輯器或主題的滑塊可能會停止正常工作,在這種情況下,更新主題變得不可避免,並且是 WordPress 更新的強制要求。

替換廢棄插件

在更新插件之前,首先從您購買插件的地方或在 WordPress.org 上檢查插件的最後更新日期。 如果您的插件在過去 6 個月內沒有更新,請確定它的可行性。 如果您認為不再提供支持,請搜索可以更好地維護的新插件。 同樣,如果您的插件超過兩年沒有更新,請開始尋找替代方案。 這是因為如果您的網站使用了一個過時的插件,並且沒有長時間維護,您的網站要么會被黑客入侵,要么最終會崩潰。

定期更新 WordPress 插件

每當有可用更新時,您必須儘早更新您的插件,尤其是插件補丁,它們是安全修復和錯誤。 為確保更新插件時站點的功能,請推遲插件升級,除非您查看插件網站或 WordPress.org 上的更改日誌。 有時此類更改過於重要,這將需要您重新構建樣式表、自定義模板文件或重新輸入數據。 您可以在閱讀更改日誌時找到此信息和詳細信息。

首先更新 WordPress 插件

如果您對 WordPress 和插件都進行了重大升級,則必須首先更新插件並逐個檢查它們。 如果您先升級 WordPress,它會再次提示您更新插件,使其與 WordPress 最新版本兼容。 此外,如果插件帶有主題,您還需要更新主題以正確使用新插件。

更新高級插件

以下是更新高級插件所需執行的操作:

  • 對於高級插件,不要忘記輸入許可證密鑰。
  • 如果插件與主題捆綁在一起,請繼續購買高級插件。 主題開發人員通常會花時間更新捆綁的插件。

樣式更新/插件模板

在主題升級的情況下:

  • 為您的插件更新模板 - 使用可自定義模板的模板 - 並將其與子主題的模板進行比較。 使用可自定義模板的插件示例包括 NextGEN Gallery、WooCommerce 和 The Events Calendar。
  • 也許插件已被刪除、移動或重命名,模板或樣式表,您將其鏡像為您的子主題。

WordPress 主題更新

WordPress 主題更新可能會變得有點棘手,因為更新將覆蓋您為主題文件所做的所有自定義(但僅當更改包含在子主題中時)。 同樣,更新也會覆蓋您已經設置的選項。

因此,請繼續閱讀,因為我們分享了一些您必須牢記的注意事項。

  • 在修改核心主題文件的情況下,或者簡單地說,如果您沒有考慮子主題,那麼您將不得不對您之前對主題文件所做的更改,對新主題進行更改,這可能需要一些時間。
  • 如果您使用子主題,那麼更新父主題很容易,您不必擔心。 但是請務必將修改後的模板文件與父主題的新模板文件進行比較,以了解修改後的模板是否兼容 HTML。 為此,您可能需要重建自定義模板文件。
  • 也許新主題將具有新的類和 HTML ID,因此您對樣式表的更改將不會被應用。 為此,請繼續閱讀我們討論處理任何主題或插件更新可能會破壞您的網站的情況的方法。
  • 就像插件一樣,如果更新是主題補丁,並且您已經合併了子主題,那麼更新將很容易。 如果主題涉及重大變化,請留出一天進行升級。 但是,這需要的時間取決於父主題的年齡、更新的重大程度以及對子主題或原始主題進行的自定義數量。
  • 新插件可能無法與舊主題一起順利運行,因為您計劃將這些插件與最新的 WordPress 版本合併。 這就是為什麼即使不方便也需要更新主題的原因。

但是,對於帶有靜態 CSS/HTML 的主題,不使用 JavaScript,您無需擔心主題更新,因為這些主題幾乎沒有任何需要升級的東西,除了一些已棄用的 WordPress 功能。 但同樣,如果您使用那個舊主題,您的網站一定很無聊,您必須考慮更新以使其更有趣。
就像汽車一樣,WordPress 最偉大和最新的主題也有很多花哨的東西。 此外,更新它們也很耗時。

WordPress 的最新主題包含許多集成在一起的功能和活動部分。 它們非常令人興奮、健壯且對執行幾乎所有任務都很有用,前提是您必須使它們保持最新,而這需要時間,因為代碼從一個版本徹底更改為另一個版本。

恢復插件文件和 WordPress 主題

有時,升級到主題或插件會出現嚴重錯誤,在這種情況下,您可以使用上面創建的備份輕鬆替換這些插件和主題文件。 但是,對於備份插件,首先,您需要解壓縮完整的備份。 之後,只需將插件或主題舊版本 FTP 到 wp-content> 插件或主題文件夾,用該備份覆蓋插件或主題的新版本。

WordPress.org 和 WordPress 插件舊版本的恢復

如果您在 WordPress.org 上遇到有關插件的問題,請嘗試重新安裝該插件的舊版本,該版本無需任何備份即可輕鬆升級。

WP Org
  • 使用 WordPress.org 搜索您的插件
  • 單擊開發人員選項卡。
  • 使用另一個版本列表,下載插件舊版本。
  • 首先,使用 WordPress 儀表板上的插件列表停用並刪除插件的較新版本。
  • 通過單擊添加新插件上傳並激活舊版本。 僅當您沒有對數據庫進行更改時,這必須充分發揮作用,將您的 WordPress 站點恢復為升級插件之前的狀態。

恢復 WordPress 數據庫

如果您無法使用一鍵還原或不使用 VaultPress 進行站點還原,則需要手動還原文件(使用 FTP)和數據庫。 這樣的指令有點長,你必須更仔細地恢復數據庫。 但是,請查看下面討論的說明,並確保您不會無意中刪除任何其他數據庫。

首先,下載您在升級之前構建的數據庫備份,但如果您更喜歡備份插件,請解壓縮您創建的數據庫的備份。 查找以“.sql”結尾的文件。

  1. 登錄到您的虛擬主機的控制面板。
  2. 轉到 MySQL 的數據庫嚮導。
  3. 按照以下步驟創建一個新的數據庫,用戶名/密碼。 記下數據庫用戶名、數據庫名稱和數據庫密碼。 不要忘記為新用戶提供所有權限。
  4. 在您的網絡託管控制面板中,單擊 phpMyAdmin。
  5. 為此,您可能需要在前面步驟中創建的憑據(用戶名和密碼)。
  6. 在 phpMyAdmin 窗口左側,單擊數據庫名稱。
  7. 當您進入“結構”選項卡時,您會發現“在數據庫中找不到表”。
  8. 現在單擊屏幕頂部的導入選項卡。
  9. 單擊下一頁上“要使用的文件”字段旁邊顯示的瀏覽按鈕。
  10. 當您單擊瀏覽時,在您的計算機上找到存儲的文件 - 備份。
  11. 確保在格式的下拉菜單中正確選擇了 SQL。
  12. 單擊 Go 按鈕以導入數據庫表。
  13. 使用 FTP 或文件管理器(您的網絡主機的控制面板)登錄您的網​​站。
  14. 創建一個 wp-config.php 文件副本。
  15. 編輯原始文件 - wp-config.php 以包含您之前在步驟 3 中創建的用戶名、數據庫名稱和密碼。
  16. 您現在已完成恢復舊數據庫。
注意:在使用 BackupBuddy 的情況下,您可能需要使用 importbuddy.php 腳本來恢復數據庫並覆蓋舊數據庫的表,而不是構建一個全新的表。

您的網站因主題升級或 WordPress 插件而中斷 – 該怎麼辦?

如果您破壞了您的實時站點,您需要首先使用備份來恢復它。 但是,如果您已經合併了一個暫存環境,請按照下面討論的提示繼續前進並充分解決您的站點的問題。

1. 閱讀文檔、支持論壇和變更日誌

如果您閱讀更新日誌、支持論壇或文檔,您可以從其他人的經驗中學習。 如果任何其他人也遇到過同樣的問題,這表明有更好的機會了解修復或在那裡討論它。

2.使用正確的簡碼並重新保存選項

如果升級時插件功能或滑塊未正確加載,則應單擊更新或保存更改,以便功能或滑塊可以重新連接到佈局或頁面。 確保所有其他設置和圖像與舊版本中的以前相同。 有時,重大更新會讓您重新選擇所有選項。 在某些更新中,您只需單擊一個按鈕,您的選擇就會被保存並重新開始工作。

某些主題短代碼或插件可能不再相同或已更改,因此您必須使用正確的短代碼並閱讀文檔。

3.清除瀏覽器和網站緩存

雖然您可能認為升級/更新站點損壞的根本原因,但這有時也是由於某些緩存文件干擾了您的站點的正確加載。 這些干擾緩存文件可能會帶來各種不可預知的行為。 因此,最好的辦法是登錄 WordPress 的儀表板並刪除緩存插件中的所有緩存文件,然後再刪除瀏覽器的緩存文件。 現在嘗試使用其他瀏覽器查看或登錄您的站點。

4. WordPress 插件或主題升級後的疑難解答式問題

如果您想知道為什麼 CSS 樣式的修改沒有合併到您的新插件或主題中,可能有一些原因。 這些包括:

  • HTML 已更改- 如果 HTML 類或 ID 已更改,您的舊插件或主題使用的 CSS 將被忽略。 但是,要修復它,請使用 Inspect Element Chrome 功能、Firebug 或 Safari 來識別正確的 CSS 選擇器,並根據需要在子主題的樣式表中對其進行修改。
  • 樣式被覆蓋- 當您更新插件或主題時,可能會覆蓋這些插件或主題中包含的一些方法或樣式表。 要解決此問題,只需將樣式表和样式複製到適當的位置。 這可以在 FTP 目錄或插件或主題選項中。 您還可以比較舊站點和新站點以確定位置。
    樣式的位置發生了變化——就像 NextGEN Gallery 和 The Events Calendar 的更新一樣,也許你的樣式表
  • 位置一定是搬家了。 為此,請閱讀插件文檔以獲取有關新樣式表在 FTP 目錄中的位置的信息。

5.   WordPress 更新後無法加載或中斷

按照這些步驟來識別主題插件、主題和其他插件之間的 JQuery/JavaScript 或 PHP 錯誤衝突。 以下步驟的目的是隔離問題並消除盡可能多的變量。 但是,您必須始終在暫存環境中執行此操作,以便在此過程中不會破壞實時站點。

  • 使用網絡主機的文件管理器或通過 FTP 登錄到您的 WordPress。
  • 將插件文件夾的名稱更改為 plugins-old。
  • 從主題文件夾中取出活動主題並在文件夾中 - wp-content。
  • 通過登錄 WordPress 的儀表板激活二十七個默認主題。
  • 轉到插件頁面並檢查所有插件現在是否已停用。
  • 測試您的 WordPress 網站,不要注意外觀混亂,因為您不再使用主題。
  • 現在再次轉到文件管理器或 FTP 並將文件夾 - 舊插件更改為插件,再次將主題移動到主題文件夾。
  • 首先,編輯文件 - public_html 中的 wp-config.php 以及行 'define('WP_DEBUG,' false)' 到 'define(WP'_DEBUG', true)。
  • 現在激活原始主題。
  • 測試您的網站並記下錯誤。
  • 在這種情況下,主題依賴於已安裝的插件,請確保此類插件已正確更新和激活。
  • 再次測試站點並記下錯誤。
  • 如果發現任何錯誤,請閱讀插件或主題的支持論壇以獲取有關解決問題的更多信息。 打開調試時報告的錯誤並不那麼嚴重,儘管開發人員也應該注意這些。 但不幸的是,大多數高級主題的開發人員都冷漠,幾乎不維護插件或主題。
  • 如果在所需插件或您的主題中沒有發現錯誤,請一一激活插件並記下錯誤。 此外,請閱讀支持論壇以了解有關已知問題的更多信息。
    o) 最後,將文件 wp-config.php 編輯為 public_html 以及將行 'define('WP_DEBUG', true) 編輯為 'define('WP_DEBUG', false)。

縮小問題根源的一種方法是消除變量(例如刪除所有主題和插件)並打開調試功能。 雖然您可能無法完全解決問題,但您至少可以縮小問題的根源。

是時候犒賞自己了!

如果您已經成功處理了所有問題併升級了所有內容,那麼您做得很好! 是時候放鬆一下,享受網站的更新版本了,同時為您的 WordPress 網站提供更多的網絡流量!