WordPress 4評測:強勢介入、伺機待發、迅猛成長
譯文作為地球上最強大也最具人氣的博客引擎,WordPress在新版本中帶來了超越博客的更多新功能——但這一切當然需要付出成本。
軟件在發展過程中往往會迎來與最初定位有所區別的前進方向。WordPress就是非常典型的例子。作為一款最初相當單純的博客引擎,WordPress如今已經成為應用范圍最廣的軟件方案之一、被普遍用于面向公共及內部網站的維護工作。時至今日,WordPress引擎已經不再僅僅是一套強大的博客生成引擎,它同時能夠作為CMS、社交中心、論壇、反饋追蹤系統以及電子商務解決方案等等。隨著版本的不斷更新,WordPress開始一步步成為一套通用型內容發布框架,甚至足以為業務乃至企業提供有力支持。
提起WordPress,我們首先想到的關鍵詞就是“可以”。要讓WordPress處理來自公共甚至是內部用例的高強度流量并為其提供安全保護,我們必須對其進行一定調整。而在另一方面,大部分此類調整都已經擁有現成方案可用(甚至比這還簡單)——這要歸功于以該產品為核心衍生出的活躍開發文化。如果大家希望利用WordPress滿足自己的需求,很可能已經有人拿出過完善的解決方案,而且他們很清楚該如何為我們的需求服務。
我們首先著眼于WordPress 4.0的預發布版本。需要強調的是,目前其還處于官方beta測試階段,其中不少元素仍然未被最終敲定。由于WordPress在進行大版本升級時會采取一些潛在限制(下面將進一步探討這個話題),因此WordPress 4.0在實際體驗中獲得了相當穩定的運作表現。事實上,我們幾乎可以將其直接部署在生產環境當中,而用不著再對其預覽版身份過分擔心。
新的與值得關注的內容
與傳統認知相反,WordPress的整數發行版本并不會引入規模龐大、極具革命性意味的變化與調整。WordPress項目的開發人員會緩慢但堅定地逐步為其加入新功能,而非為了與大版本升級相符而一下子引入太多天翻地覆的變化。另外在大家意料之中的是,WordPress 4.0與之前的其它整數版本相比更適合被添加至生產環境當中。
在過去一年中,WordPress引入的最大變化——同時也是給業務與企業用戶帶來最大潛在影響的因素——在于該產品的開發方式。相對于原本一直向核心產品直接添加變更的作法,如今WordPress開始首先以插件方式引入新功能并以此作為測試機制。如果實際效果符合開發團隊的預期,這些功能才會被最終納入到核心產品本身。
除了能讓核心代碼變得更精簡之外,這種開發戰略還帶來另一大優勢。這意味著希望在實際使用中對WordPress作出定制的企業能夠獲得一套標準化實施流程,并且以現有插件為著眼點考量自己該如何構建定制化功能。從核心代碼到插件再到模板,整套WordPress都由PHP進行構建。很明顯,PHP編程語言在企業中的旺盛人氣讓用戶能夠更輕松地把WordPress作為開發平臺并加以使用。
啟動
WordPress廣受歡迎的一大原因在于其極易安裝與配置。很多Web內容供應商都提供一鍵式WordPress腳本安裝方案,其它能夠輕松實現的配置選項同樣不難找到。舉例來說,JumpBox提供一套WordPress VM機制,我也將在下面的評測中用到這套方案。
即使以手動方式進行安裝,WordPress實例的設置過程也絕對與復雜二字無緣。創建數據庫、將文件解壓至文件夾中、最后最困難的部分也不過就是為該程序的文件設定權限。余下的工作完全交給WordPress本身自行解決即可。面向該程序的全部主流選項要么同樣可以自動完成配置,要么只需通過基于Web的管理員面板加以設定。
同樣的,整套產品——加上所有插件以及主題——都能在后臺自行完成更新,這項特性相對較新。企業用戶可能需要關閉該選項,從而防止其在后臺中悄悄引發問題。與其它任何軟件產品相比,WordPress在避免由平臺本身變動而引發插件或者主題功能出錯方面都更加謹慎——至少是同樣謹慎。
如果大家需要向其中導入原有內容,方法之一就是將其轉換為WXR文件(全稱為WordPress Extended RSS),也就是WordPress自己的XML文件格式。使用WXR的一大弊端在于它并不屬于正式文檔;它只能作為供WordPress所使用的實際代碼內容、從而實現數據導出。換句話來說,通過逆向工程解析該格式的運作機制并借此創建出實際存在的導出文件是根本不可能的。WordPress會自動獲取RSS信息,不過需要對導入內容或者用戶賬戶作出額外修改。
大家需要做出的決定之一在于是否使用WordPress的多站點模式。在典型的WordPress安裝流程當中,大家往往只需要將其視為單一單元進行審視,所有頁面、用戶以及資產都能夠統一處理。然而在更為復雜的部署流程當中——例如需要為每一個部門保留自己的獨立用戶庫、資產列表以及博客——那么就可能需要并行部署多個WordPress實例。不過另一種更加簡潔的選項在于利用多站點模式通過同一個程序實例對多個WordPress站點加以管理。不過需要注意的是,并不是所有的插件都能與多站點模式順暢協作。事實上,要開發出一款適用于多站點模式的插件要求技術人員具備相當程度的聰明才智。
看起來不錯 在過去一年中,大部分立竿見影的變化都集中在WordPress用戶界面調整及功能易用性層面。舉例來說,其編輯器與控制面板被重新構建為響應式設計,而主題管理系統方面的變化也使其更易于整理與排序。其中企業用戶需要關注的一項原生調整在于對博文的變更可以逐步進行追蹤并最終指向特定用戶,從而使管理員得以了解到底是誰造成當了前問題的出現。
容納管理系統中的各類編輯器通常非常糟糕,鼓勵用戶在系統之外撰寫自己的文本內容并將其粘貼至系統內部。相比之下,WordPress的編輯器更傾向于推動用戶直接在瀏覽器內進行操作。出于對設計人員的尊重,我最終也開始采取這樣的使用方式。最近編輯器還迎來另一項升級,即引入了免打擾模式,就是說在我們輸入內容的同時、所有非必要提示都會被隱藏起來。很多內容管理系統都只為用戶提供一套位于屏幕中央的小小編輯欄,其周圍環繞著一大堆控制選項,WordPress的設定顯然更符合普通用戶的需求。除此之外,WordPress編輯器對于移動設備同樣非常友好,大家可以利用編輯控制選項對布局進行縮放與重組、進而使其在平板設備與智能手機上獲得更理想的顯示效果。
插件與主題構建起龐大的生態系統,從而使WordPress成為一套自成一派的平臺。不過在添加插件的過程中請多加小心,不同插件的協同運作有時候會引發沖突。
在默認情況下,WordPress會在系統當中提供五種用戶角色,分別為:訂閱者、發布者、作者、編輯者以及管理員。其中訂閱者基本上相當于管理評論內容的版主;發布者能夠創建新的博文,但再無其它特權;作者可以發布博文并管理自己的媒體信息;編輯者能夠修改其他用戶發布的博文與媒體信息;而管理員則有權處理全部相關內容。在大多數場景中,這些角色都能確切發揮自己的作用,但我們也可以根據需求添加更多細化控制機制、從而通過用戶訪問管理器等第三方插件對用戶行為進行監控。與此類似,大家還能夠將Active Directory等現有認證授權系統與WordPress相結合。
#p#
調整與塑造
除了安裝的便捷性之外,WordPress在定制化方面的便捷性同樣值得關注。適用于WordPress站點的主題可以通過由WordPress控制的庫或者其它來源處輕松下載,用戶還可以在WordPress當中直接對其進行編輯。這些主題是可以提前進行暫時性嘗試的,因此大家用不著為了查看特定主題的實際顯示效果而激進地將其部署到面向公眾的站點版本當中。
但WordPress在定制化與擴展性領域的真正實力源自其插件系統,其插件甚至建立起一套屬于自己的軟件生態系統。直觀來看,WordPress當中沒有任何單一層面無法利用插件進行定制處理,這自然也覆蓋了其大部分功能范疇:SEO優化、內容緩存與加速、內容管理、搜索與替換、聯系方式、通訊與電子郵件訂閱管理乃至電子商務插件等等。
作為兩款被廣泛使用的插件,BuddyPress與bbPres充滿顯示出WordPress在靈活性方面的巨大優勢。前者允許用戶將WordPress轉化為一套成熟的社交網絡體系,后者則能夠將WordPress站點帶來論壇功能——只需利用WordPress用戶數據庫即可實現登錄。我們甚至可以利用PauPress將WordPress的用戶數據庫構建起一套CRM系統。
當然,大家也可以找到其它一些能夠將WordPress轉化成實用性企業工具的插件。除了前面已經提到的Active Drectory集成方案之外,另一個不得不提的使用范例就是Secure FTP支持:WordPress本身并不支持SFTP,因此大家需要添加第三方插件使其具備這種能力。與之相似,現有插件還能將WordPress與Salesforce或者SugarCRM等平臺實現跨越式集成。
需要注意什么
盡管插件系統具備極為強大的潛能,但將其與WordPress進行關聯也會帶來眾多令人頭痛的難題。由于插件能夠極大改變WordPress的運作方式,因此它們之間有可能無法正常交互或者引發嚴重沖突、從而導致不同插件不能和平共存。同理,某些插件無法在多站點安裝模式下正常起效,而且很多插件無法感知到BuddyPress或者bbPress的存在。
WordPress的瀏覽器內置編輯器與移動及桌面系統瀏覽器協作良好。其“免打擾”模式能夠在用戶使用編輯欄時將一切控制機制隱藏起來。
即使是對于最常見的插件而言,進行交叉測試都是一項不切實際的任務,因此最明智的做法在于盡可能利用少量必要插件完成工作。經驗法則:每次添加的插件數量絕不超過一個,而且要對每款插件的方方面面進行深入測試。大家也不用指望這種情況能夠發生轉變。畢竟插件與主題的多樣性是幫助WordPress脫穎而出的關鍵性因素,而由此帶來的弊端恐怕只能說是一種必要之痛。
WordPress當中的另一種潛在陷阱則在于性能表現。在默認情況下,WordPress會在接收到請求后以動態方式生成每一個頁面。如果大家需要以月為單位對內容加以更新,這樣的處理方式的確非常理想;但對于那些使用強度較高的站點而言,負載頻率的提升有可能導致頁面響應緩慢。這一點在使用分區托管機制的WordPress站點身上體現得尤為明顯,但有時候也會出現在專用安裝模式當中。
為了解決這個難題,許多第三方插件帶來了類型各異的靜態內容緩存與加速交付機制。WP Super Cache就是其中一例,它能夠將利用多種不同方式實現站點加速,其中包括:生成靜態文件、CDN一體化以及頁面壓縮等等。其它一些插件(例如EM Obejct Cache)則能夠通過提供數據庫層面的緩存機制實現WordPress加速。
WordPress面臨的另一大挑戰在于安全性。事實上,該程序核心隨著時間推移已經變得愈發安全,但第三方插件與主題仍然扮演著攻擊活動跳板的角色、因此我們需要對其進行嚴密監控。Wordfence等現有插件能夠幫助我們保護WordPress,但從長遠角度看、此類方案會降低管理員們的警覺性。
最后,大家可能會發現WordPress在第一方與第三方支持方面可謂毫無短板。幾乎每一家托管廠商——包括以企業業務為核心的Rackspace——都將WordPress列為受支持產品,并為其提供自動化設置腳本。作為WordPress的締造者,Automattic公司自己也拿出了博主級與專業級兩個托管服務版本。WP Engine等專用托管方案面向所有傳統的企業級WordPress托管需求。Maintainn等第三方機制則根據用戶實際需求的不同而提供不同層次的支持水平。
一方面,采用WordPress將不可避免地要求大家處理大量工作、從而保證其適用于業務流程與企業環境。導入現有內容、優化性能表現并將WordPress與所有企業運營所必需的方案相集成,這一切都要求大家付出相當可觀的艱辛努力。
而在另一方面,WordPress那豐富的生態系統能夠顯著降低相關工作的實施強度。由于已經存在大量以WordPress為基礎、為環境或者為核心的完善方案,大家能夠相對更加輕松地找到自己需要的工具、進而在它們的幫助下完成任務或者利用它們構建適合自己的方案。
WordPress 4.0是目前功能配置最與時俱進的版本,但考慮到“插件優先”的開發理念,我們應該會看到更多原本需要由第三方插件實現的功能被逐步添加到核心產品中來。在這里,我們希望納入企業級功能的決定可以切實推動WordPress在博客平臺之外找到新的發展目標。
英文:http://www.infoworld.com/d/applications/review-wordpress-4-plugs-in-turns-grows-247752