如何在Odoo中進行搜索引擎優化(SEO)?

搜索引擎優化(SEO)是一組優秀的實踐方法,用于優化您的網站,以便在Google等搜索引擎中獲得更好的排名。簡而言之,良好的SEO可以讓您獲得更多的訪問者。

一些SEO規則的例子:您的網頁應該加載快速,您的頁面應該只有一個標題 <h1> ,元標簽(alt-tag,title-tag)應該與內容一致,您的網站應該有一個 /sitemap.xml 文件等。

為了保證Odoo網站和Odoo電子商務用戶擁有出色的SEO,Odoo抽象出所有的技術復雜性,并以最佳方式處理所有事務。以下將對此進行解釋。

首先,讓我們看看如何通過優化網站內容和元標簽來輕松提高排名。

元標簽?

標題,描述?

每個網頁都應該定義 <title><description> 元數據。這些信息元素被搜索引擎用于推廣您的網站。它們基于頁面標題和內容自動生成,但您可以微調它們。確保它們與頁面內容匹配,否則您將被搜索引擎降級。

../../../../_images/seo01.png

關鍵詞?

為了撰寫高質量的內容并提高流量,Odoo 提供了一個 <keyword> 查找器。這些關鍵詞是您希望引導到您的網站的搜索。對于每個關鍵詞,您可以看到它在內容中的使用情況(H1、H2、頁面標題、頁面描述、頁面內容)以及在 Google 中的相關搜索。使用的關鍵詞越多,效果越好。

../../../../_images/seo02.png

注解

如果您的網站有多種語言,您可以為單個頁面的每種語言使用Promote工具,并設置特定的標題、描述和搜索標簽。

內容為王?

在SEO方面,內容通常是王者。Odoo提供了幾個模塊來幫助您構建網站內容:

  • Odoo 博客 : 寫出優質內容。

  • Odoo Slides : 發布您的所有Powerpoint或PDF演示文稿。它們的內容會自動索引到網頁上。例如: odoo.com/slides/public-channel-1

  • Odoo 論壇 : 讓您的社區為您創建內容。例如: odoo.com/forum/1 (占 Odoo.com 登錄頁面的 30%)

  • Odoo 郵件列表歸檔 : 在您的網站上發布郵件列表歸檔。例如: `odoo.com/groups/community-59 <https://www.odoo.com/groups/community-59>`_(每月創建1000個頁面)

注解

404 頁面是一個普通頁面,您可以像編輯其他頁面一樣在 Odoo 中編輯它。這樣,當訪問者在無效的 URL 中迷失時,您可以構建一個出色的 404 頁面,將其重定向到您網站的頂部內容。

使用社交網絡?

社交媒體是為大規模分享而建立的。如果很多人在社交媒體上分享您的內容,那么更多的人可能會鏈接到它,而鏈接是SEO排名的重要因素。

Odoo嵌入了多個工具,可通過社交媒體分享內容:

社交網絡?

Odoo 允許在您的網站頁腳中鏈接所有社交網絡賬戶。您只需要在公司設置中引用所有賬戶即可。

../../../../_images/seo03.png

社交分享?

將構建塊 分享 拖放到您想讓訪問者分享的任何頁面上。點擊圖標,他們將被提示在他們的社交媒體墻上分享該頁面。

../../../../_images/seo04.png

大多數社交媒體使用圖片來裝飾分享帖子。Odoo默認使用網站標志,但您可以在Promote工具中選擇頁面的任何其他圖像。

../../../../_images/seo05.png

Facebook 頁面?

將構建塊 Facebook頁面 拖放到頁面上,以顯示您的Facebook業務頁面的小部件,并鼓勵訪問者關注它。您可以顯示時間軸、下一個事件和消息。

Twitter 滾動條?

在您的網站上展示帶有客戶滿意度的 Twitter 動態。這將增加推文和分享的數量。

測試您的網站?

您可以使用WooRank免費服務: woorank.com,比較您的網站在SEO方面與Odoo的排名。

URL處理?

本節將介紹Odoo如何使URL更加友好,有利于SEO。

URL結構?

一個典型的Odoo URL看起來像這樣:

使用以下組件:

  • https:// = 協議

  • www.mysite.com = 您的域名

  • /fr_FR = 頁面語言。如果訪問者瀏覽網站的主要語言,則會刪除此部分URL。因此,此頁面的主要版本為:https://www.mysite.com/shop/product/my-great-product-31

  • /shop/product = 每個模塊都定義了自己的命名空間(/shop 用于電子商務模塊的目錄,/shop/product 用于產品頁面)。

  • my-great-product = 默認情況下,這是頁面所指向的產品的 slugified 標題。但是,您可以為了 SEO 目的進行自定義。一個名為“Pain carré”的產品將被 slugified 為“pain-carre”。根據命名空間的不同,這可能是不同的對象(博客文章、頁面標題、論壇帖子、論壇評論、產品類別等)

  • -31 = 產品的唯一標識符

請注意,URL 的任何動態組件都可以縮減為其 ID。例如,以下 URL 都會對上述 URL 進行 301 重定向:

有些URL有多個動態部分,比如這個(一個博客分類和一篇文章):

在上面的例子中:

  • 公司新聞 ”是博客的標題

  • Odoo的故事 是一篇特定博客文章的標題

當Odoo頁面有分頁器時,頁面編號直接設置在URL中(沒有GET參數)。這使得每個頁面都可以被搜索引擎索引。例如:

URL和標題的更改?

當頁面的URL發生變化時(例如,產品名稱更改為更符合SEO的版本),您無需擔心更新所有鏈接:

  • Odoo 將自動更新所有鏈接到新的 URL。

  • 如果外部網站仍然指向舊的URL,則會進行301重定向,將訪問者路由到頁面的新地址。

例如,此URL:

將自動重定向到:

簡而言之,只需更改博客文章的標題或產品的名稱,更改將自動應用于您網站的所有位置。當外部網站使用舊鏈接時,通過301重定向,舊鏈接仍然有效,保持SEO鏈接權重。

HTTPS?

搜索引擎會提高安全的HTTPS/SSL網站的排名。因此,默認情況下,所有Odoo在線實例都完全基于HTTPS。如果訪問者通過非HTTPS的URL訪問您的網站,則會被重定向到其HTTPS等效網址。

多語言支持?

多語言URL?

如果您在多種語言中運行網站,則相同的內容將在不同的URL上提供,具體取決于所使用的語言:

在這個例子中,fr_FR是頁面的語言。你甚至可以有同一語言的幾個變體:pt_BR(巴西葡萄牙語),pt_PT(葡萄牙葡萄牙語)。

語言注釋?

為了讓搜索引擎知道第二個URL是第一個URL的法語翻譯,Odoo會在頭部添加一個HTML鏈接元素。在主版本的HTML <head>部分,Odoo會自動添加一個鏈接元素,指向該網頁的翻譯版本;

采用這種方法:

  • 搜索引擎將根據訪客的語言自動重定向到正確的語言頁面。

  • 如果您的頁面尚未翻譯,搜索引擎不會對您進行懲罰。實際上,這不是重復的內容,而是相同內容的不同版本。

語言檢測?

當訪問者第一次訪問您的網站(例如 yourwebsite.com/shop)時,他們可能會根據瀏覽器語言偏好自動重定向到相應的翻譯版本(例如 yourwebsite.com/fr_FR/shop)。

下一次,它會保留當前語言的 cookie,以避免任何重定向。

為了強制訪問者使用默認語言,您可以在鏈接中使用默認語言的代碼,例如:yourwebsite.com/en_US/shop。這將始終將訪問者引導到頁面的英文版本,而不使用瀏覽器語言偏好設置。

頁面速度?

介紹?

頁面加載時間是搜索引擎的重要標準。更快的網站不僅可以改善訪客的體驗,還可以提高頁面排名。一些研究表明,如果將頁面加載時間減少一半(例如,將4秒減少到2秒),訪客的放棄率也會減少一半(從25%降至12.5%)。加載頁面多花費一秒鐘可能會導致亞馬遜銷售額損失16億美元。

../../../../_images/seo06.png

幸運的是,Odoo會為您完成所有的魔法。下面,您將找到Odoo用于加速頁面加載時間的技巧。您可以使用以下兩個工具來比較您的網站排名:

圖片?

當您上傳新圖片時,Odoo會自動壓縮它們以減小它們的大?。▽τ?.PNG 和 .GIF 使用無損壓縮,對于 .JPG 使用有損壓縮)。

從上傳按鈕開始,您可以選擇保持原始圖像不變,如果您更喜歡優化圖像的質量而不是性能。

../../../../_images/seo07.png

注解

Odoo在上傳到您的網站時壓縮圖像,而不是在訪問者請求時壓縮。因此,如果您使用第三方主題,它可能提供的圖像未經有效壓縮。但是,Odoo官方主題中使用的所有圖像都已默認壓縮。

當您單擊圖像時,Odoo會顯示 <img> 標記的Alt和title屬性。您可以單擊它來為圖像設置自己的標題和Alt屬性。

../../../../_images/seo08.png

當您單擊此鏈接時,將出現以下窗口:

../../../../_images/seo09.png

Odoo的象形圖標是使用字體實現的(在大多數Odoo主題中使用 Font Awesome)。因此,您可以在頁面中使用盡可能多的象形圖標,它們不會導致額外的請求來加載頁面。

../../../../_images/seo10.png

靜態資源:CSS?

所有 CSS 文件都經過預處理、合并、壓縮、緩存(服務器端和瀏覽器端)。結果為:

  • 加載頁面只需要一個CSS文件請求

  • 這個 CSS 文件是在頁面之間共享和緩存的,這樣當訪問者點擊另一個頁面時,瀏覽器甚至不需要加載任何 CSS 資源。

  • 此CSS文件已經優化為較小的尺寸

預處理: Odoo使用的CSS框架是Bootstrap。雖然主題可能使用其他框架,但大多數 `Odoo主題<https://www.odoo.com/apps/themes>`__直接擴展和自定義Bootstrap。由于Odoo支持Less和Sass,您可以修改CSS規則,而不是通過額外的CSS行覆蓋它們,從而使文件更小。

合并: 在Odoo中,您可能使用的每個模塊或庫都有自己的CSS、Less或Sass文件(電子商務、博客、主題等)。擁有多個CSS文件對于模塊化來說非常好,但對于性能來說不好,因為大多數瀏覽器一次只能執行6個請求,導致大量文件串行加載。對于像.JS和.CSS這樣的小文件,文件傳輸的延遲時間通常比實際數據傳輸時間長得多。因此,加載CSS資源的時間更多地取決于要執行的請求數量,而不是實際文件大小。

為了解決這個問題,所有的CSS/Less/Sass文件都會被合并成一個單獨的.CSS文件發送給瀏覽器。因此,每個頁面只需要 加載一個.CSS文件 ,這非常高效。由于CSS在所有頁面之間共享,當訪問者點擊另一個頁面時,瀏覽器甚至不需要加載新的CSS文件!

<head>標簽中都有這兩個文件

訪問者獲得的內容(僅一個文件)

/* 來自 bootstrap.css * /

.text-muted {

.text-muted {

顏色:#666;

顏色: #777;

背景:黃色

背景:黃色;

}

}

/* 來自 my-theme.css * /

.text-muted {

顏色:#666;

}

Odoo發送的CSS包括所有頁面/模塊的CSS/Less/Sass。這樣,同一訪問者的額外頁面視圖將不必加載CSS文件。但是,某些模塊可能包含巨大的CSS/Javascript資源,您不希望在第一頁預取它們,因為它們太大。在這種情況下,Odoo將此資源拆分為第二個包,僅在請求使用它的頁面時加載。這種情況的一個例子是僅在訪問者登錄并訪問后端(/web)時才加載的后端。

注解

如果CSS文件非常大,Odoo將把它分成兩個較小的文件,以避免Internet Explorer每個表格的4095個選擇器限制。但大多數主題都適用于此限制以下。

壓縮: 在預處理和連接后,生成的 CSS 會被壓縮以減小其大小。

縮小之前

縮小后

/* 一些注釋 * /

.text-muted {顏色:#666}

.text-muted {

顏色:#666;

}

最終結果會被壓縮后再傳送到瀏覽器。

然后,服務器端和瀏覽器端都會緩存版本(這樣我們就不必在每個請求中預處理、合并和壓縮),并且瀏覽同一網站的訪問者只需加載一次 CSS。

靜態資源:Javascript?

與 CSS 資源一樣,JavaScript 資源也會被合并、壓縮、緩存(服務器端和瀏覽器端)。

Odoo創建了三個JavaScript捆綁包:

  • 適用于網站所有頁面的代碼(包括視差效果、表單驗證等)。

  • 一個用于前端和后端共享的常見JavaScript代碼(Bootstrap)

  • 一個用于后端特定的Javascript代碼(Odoo Web客戶端界面,供您的員工使用Odoo)

您網站的大多數訪問者只需要前兩個捆綁包,這將導致最多加載兩個Javascript文件以呈現一個頁面。由于這些文件在所有頁面之間共享,因此同一訪問者的進一步點擊不會加載任何其他Javascript資源。

注解

如果您在 開發者模式 下工作,CSS 和 Javascript 既不會被合并,也不會被壓縮。因此,速度會慢很多。但是,這樣可以讓您輕松使用 Chrome 調試器進行調試,因為 CSS 和 Javascript 資源不會從其原始版本轉換。

內容分發網絡(CDN)?

如果您在Odoo中啟用CDN功能,則靜態資源(Javascript、CSS、圖像)將從內容交付網絡加載。使用內容交付網絡有三個優點:

  • 從附近的服務器加載資源(大多數CDN在全球主要國家都有服務器)

  • 高效緩存資源(不占用自己服務器的計算資源)

  • 將資源加載分配到不同的服務上,允許并行加載更多資源(因為Chrome限制每個域名最多6個并行請求)

您可以通過 網站管理 應用程序中的配置菜單配置CDN選項。以下是您可以使用的配置示例:

../../../../_images/seo11.png

HTML頁面?

HTML頁面可以進行壓縮,但通常由您的Web服務器(NGINX或Apache)處理。

The Odoo網站構建器已經優化,以確保干凈簡潔的HTML代碼。已經開發了構建塊以生成干凈的HTML代碼,通常使用Bootstrap和HTML編輯器。

例如,如果您使用顏色選擇器將段落的顏色更改為您網站的主要顏色,Odoo將生成以下代碼:

<p class="text-primary">我的文本</p>

大多數HTML編輯器(如CKEditor)將生成以下代碼:

<p style="color: #AB0201">我的文本</p>

響應式設計?

不支持移動設備的網站會對搜索引擎排名產生負面影響。所有Odoo主題都依賴于Bootstrap,以便根據設備(桌面、平板電腦或移動設備)高效地呈現。

../../../../_images/seo12.png

由于所有Odoo模塊共享相同的技術,因此您網站上的所有頁面都是移動友好的。

瀏覽器緩存?

Javascript、圖像和CSS資源的URL會在其內容更改時動態更改。例如,所有CSS文件都通過此URL加載: localhost:8069/web/content/457-0da1d9d/web.assets_common.0.css。如果您修改了網站的CSS,則此URL的 457-0da1d9d 部分將更改。

這使得Odoo可以在這些資源上設置非常長的緩存延遲(XXX):XXX秒,同時如果您更新資源,它會立即更新。

可擴展性?

除了速度快之外,Odoo比傳統的CMS和電子商務平臺(Drupal,WordPress,Magento,Prestashop)更具可擴展性。

這是一張總結 Odoo 網站和電子商務可擴展性的幻燈片。

../../../../_images/seo13.png

搜索引擎文件?

網站地圖?

站點地圖指向需要被搜索引擎機器人索引的頁面。Odoo 會自動生成一個 /sitemap.xml 文件。出于性能原因,該文件會被緩存并每 12 小時更新一次。

默認情況下,所有的URL都會在一個單獨的 /sitemap.xml 文件中,但是如果您有很多頁面,Odoo會自動創建一個Sitemap索引文件,遵循 `sitemaps.org協議<http://www.sitemaps.org/protocol.html>`__,每個文件將URL分組為45000個塊。

每個站點地圖條目都有4個自動計算的屬性:

  • <loc> : 頁面的URL

  • <lastmod> : 資源的最后修改日期,根據相關對象自動計算。對于與產品相關的頁面,這可以是產品或頁面的最后修改日期。

  • <priority> : 模塊可以根據其內容實現自己的優先級算法(例如: 論壇可能根據特定帖子的投票數分配優先級)。靜態頁面的優先級由其優先級字段定義,該字段已經歸一化(默認值為16)。

結構化數據標記?

結構化數據標記用于在搜索引擎結果中生成豐富片段。這是網站所有者向搜索引擎機器人發送結構化數據的一種方式;幫助它們理解您的內容并創建良好呈現的搜索結果。

Google支持多種內容類型的富媒體片段,包括:評論、人物、產品、企業、事件和組織。

Odoo 實現了 schema.org 規范中定義的微數據,用于事件、電子商務產品、論壇帖子和聯系地址。這使得您的產品頁面可以在 Google 中顯示額外的信息,如產品的價格和評分:

../../../../_images/seo14.png

機器人協議文件(robots.txt)?

搜索引擎在索引您的網站時,首先查看 /robots.txt 文件的一般索引規則(允許的機器人、站點地圖路徑等)。Odoo會自動創建它。其內容為:

用戶代理: * 網站地圖: https://www.odoo.com/sitemap.xml

這意味著所有機器人都被允許索引您的網站,并且沒有其他索引規則,除了在以下地址找到的站點地圖中指定的規則。

您可以在 開發者模式 下自定義 robots 文件,方法是在 設置 –> 技術 –> 用戶界面 –> 視圖 中排除 robots,排除某些頁面,重定向到自定義站點地圖。將視圖的模型數據設置為 不可更新 ,以避免系統升級后重置文件。