成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用這個Python工具對網站的SEO問題進行自動化測試

開發 開發工具 測試 自動化
作為一個技術性搜索引擎優化開發者,我經常被請來協助做網站遷移、新網站發布、分析實施和其他一些影響網站在線可見性和測量等領域,以控制風險。SEODeploy 可以幫助我們在網站部署之前識別出 SEO 問題。

[[345241]]

SEODeploy 可以幫助我們在網站部署之前識別出 SEO 問題。

作為一個技術性搜索引擎優化開發者,我經常被請來協助做網站遷移、新網站發布、分析實施和其他一些影響網站在線可見性和測量等領域,以控制風險。許多公司每月經常性收入的很大一部分來自用戶通過搜索引擎找到他們的產品和服務。雖然搜索引擎已經能妥善地處理沒有被良好格式化的代碼,但在開發過程中還是會出問題,對搜索引擎如何索引和為用戶顯示頁面產生不利影響。

我曾經也嘗試通過評審各階段會破壞 SEO(搜索引擎優化search engine optimization)的問題來手動降低這種風險。我的團隊最終審查到的結果,決定了該項目是否可以上線。但這個過程通常很低效,只能用于有限的頁面,而且很有可能出現人為錯誤。

長期以來,這個行業一直在尋找可用且值得信賴的方式來自動化這一過程,同時還能讓開發人員和搜索引擎優化人員在必須測試的內容上獲得有意義的發言權。這是非常重要的,因為這些團隊在開發沖刺中優先級通常會發生沖突,搜索引擎優化者需要推動變化,而開發人員需要控制退化和預期之外的情況。

常見的破壞 SEO 的問題

我合作過的很多網站有成千上萬的頁面,甚至上百萬。實在令人費解,為什么一個開發過程中的改動能影響這么多頁面。在 SEO 的世界中,Google 或其他搜索引擎展示你的頁面時,一個非常微小和看起來無關緊要的修改也可能導致全網站范圍的變化。在部署到生產環境之前,必須要處理這類錯誤。

下面是我去年見過的幾個例子。

偶發的 noindex

在部署到生產環境之后,我們用的一個專用的第三方 SEO 監控工具 ContentKing 馬上發現了這個問題。這個錯誤很隱蔽,因為它在 HTML 中是不可見的,確切地說,它隱藏在服務器響應頭里,但它能很快導致搜索不可見。

  1. HTTP/1.1 200 OK
  2. Date: Tue May 25 2010 21:12:42 GMT
  3. [...]
  4. X-Robots-Tag: noindex
  5. [...]

canonical 小寫

上線時錯誤地把整個網站的 canonical 鏈接元素全改成小寫了。這個改動影響了接近 30000 個 URL。在修改之前,所有的 URL 大小寫都正常(例如 URL-Path 這樣)。這之所以是個問題是因為 canonical 鏈接元素是用來給 Google 提示一個網頁真實的規范 URL 版本的。這個改動導致很多 URL 被從 Google 的索引中移除并用小寫的版本(/url-path)重新建立索引。影響范圍是流量損失了 10% 到 15%,也污染了未來幾個星期的網頁監控數據。

源站退化

有個網站的 React 實現復雜而奇特,它有個神奇的問題,origin.domain.com URL 退化顯示為 CDN 服務器的源站。它會在網站元數據(如 canonical 鏈接元素、URL 和 Open Graph 鏈接)中間歇性地顯示原始的主機而不是 CDN 邊緣主機。這個問題在原始的 HTML 和渲染后的 HTML 中都存在。這個問題影響搜索的可見性和在社交媒體上的分享質量。

SEODeploy 介紹

SEO 通常使用差異測試工具來檢測渲染后和原始的 HTML 的差異。差異測試是很理想的,因為它避免了肉眼測試的不確定性。你希望檢查 Google 對你的頁面的渲染過程的差異,而不是檢查用戶對你頁面的渲染。你希望查看下原始的 HTML 是什么樣的,而不是渲染后的 HTML,因為 Google 的渲染過程是有獨立的兩個階段的。

這促使我和我的同事創造了 SEODeploy 這個“在部署流水線中用于自動化 SEO 測試的 Python 庫。”我們的使命是:

開發一個工具,讓開發者能提供若干 URL 路徑,并允許這些 URL 在生產環境和預演環境的主機上進行差異測試,尤其是對 SEO 相關數據的非預期的退化。

SEODeploy 的機制很簡單:提供一個每行內容都是 URL 路徑的文本文件,SEODeploy 對那些路徑運行一系列模塊,對比生產環境production預演環境staging的 URL,把檢測到的所有的錯誤和改動信息報告出來。

 

SEODeploy overview

這個工具及其模塊可以用一個 YAML 文件來配置,可以根據預期的變化進行定制。

 

SEODeploy output

最初的發布版本包含下面的的核心功能和概念:

  1. 開源:我們堅信分享代碼可以被大家批評、改進、擴展、分享和復用。
  2. 模塊化:Web 開發中有許多不同的堆棧和邊緣案例。SEODeploy 工具在概念上很簡單,因此采用模塊化用來控制復雜性。我們提供了兩個建好的模塊和一個實例模塊來簡述基本結構。
  3. URL 抽樣:由于它不是對所有 URL 都是可行和有效的,因此我們引入了一種隨機抽取 XML 網站地圖 URL 或被 ContentKing 監控的 URL 作為樣本的方法。
  4. 靈活的差異檢測:Web 數據是凌亂的。無論被檢測的數據是什么類型(如 ext、數組或列表、JSON 對象或字典、整數、浮點數等等),差異檢測功能都會嘗試將這些數據轉換為差異信息。
  5. 自動化: 你可以在命令行來調用抽樣和運行方法,將 SEODeploy 融合到已有的流水線也很簡單。

模塊

雖然核心功能很簡單,但在設計上,SEODeploy 的強大功能和復雜度體現在模塊上。模塊用來處理更難的任務:獲取、清理和組織預演服務器和生產服務器上的數據來作對比。

Headless 模塊

Headless 模塊 是為那些從庫里獲取數據時不想為第三方服務付費的開發者準備的。它可以運行任意版本的 Chrome,會從每組用來比較的 URL 中提取渲染的數據。

Headless 模塊會提取下面的核心數據用來比較:

  1. SEO 內容,如標題、H1-H6、鏈接等等。
  2. 從 Chrome 計時器Timings和 CDP(Chrome 開發工具協議Chrome DevTools Protocol)性能 API 中提取性能數據
  3. 計算出的性能指標,包括 CLS(累積布局偏移Cumulative Layout Shift),這是 Google 最近發布的一個很受歡迎的 Web 核心數據
  4. 從上述 CDP 的覆蓋率 API 獲取的 CSS 和 JavaScript 的覆蓋率數據

這個模塊引入了處理預演環境、網絡速度預設(為了讓對比更規范化)等功能,也引入了一個處理在預演對比數據中替換預演主機的方法。開發者也能很容易地擴展這個模塊,以收集他們想要在每個頁面上進行比較的任何其他數據。

其他模塊

我們為開發者創建了一個示例模塊,開發者可以參照它來使用框架創建一個自定義的提取模塊。另一個示例模塊是與 ContentKing 結合的。ContentKing 模塊需要有 ContentKing 訂閱,而 Headless 可以在所有能運行 Chrome 的機器上運行。

需要解決的問題

我們有擴展和強化工具庫的計劃,但正在尋求開發人員的反饋,了解哪些是可行的,哪些是不符合他們的需求。我們正在解決的問題和條目有:

  1. 對于某些對比元素(尤其是 schema),動態時間戳會產生誤報。
  2. 把測試數據保存到數據庫,以便查看部署歷史以及與上次的預演推送進行差異測試。
  3. 通過云基礎設施的渲染,強化提取的規模和速度。
  4. 把測試覆蓋率從現在的 46% 提高到 99% 以上。
  5. 目前,我們依賴 Poetry 進行部署管理,但我們希望發布一個 PyPl 庫,這樣就可以用 pip install 輕松安裝。
  6. 我們還在關注更多使用時的問題和相關數據。

開始使用

這個項目在 GitHub 上,我們對大部分功能都提供了 文檔

我們希望你能克隆 SEODeploy 并試試它。我們的目標是通過這個由技術性搜索引擎優化開發者開發的、經過開發者和工程師們驗證的工具來支持開源社區。我們都見過驗證復雜的預演問題需要多長時間,也都見過大量 URL 的微小改動能有什么樣的業務影響。我們認為這個庫可以為開發團隊節省時間、降低部署過程中的風險。

如果你有問題或者想提交代碼,請查看項目的關于頁面。 

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2024-11-21 15:24:49

2011-05-16 15:36:00

軟件測試

2012-12-24 22:54:31

2009-08-19 09:00:48

單元測試框架自動化測試

2020-07-28 08:41:21

Kubernetes自動化測試軟件開發

2016-10-26 22:16:48

macaca自動化測試javascript

2016-10-26 22:07:06

macaca自動化測試javascript

2016-10-26 22:24:00

macaca自動化測試javascript

2016-10-26 22:29:13

macaca自動化測試javascript

2010-09-08 15:25:09

自動化測試技術網站鏈接測試

2024-11-01 15:05:12

2014-11-12 09:24:00

2012-02-27 17:34:12

Facebook自動化

2011-11-18 09:11:21

Web

2023-01-09 15:20:16

2011-05-30 17:50:23

分布式測試

2022-07-04 09:00:36

Playwright自動化測試工具

2011-05-31 18:17:07

分布式測試

2022-02-17 10:37:16

自動化開發團隊預測

2023-02-11 21:14:58

自動化測試框架
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线h | 日韩综合网 | 黄色国产在线视频 | 在线视频中文字幕 | 日本在线视频中文字幕 | 欧美成人第一页 | 久久久久久久久久久久久久久久久久久久 | 色婷婷激情 | 成人精品一区 | 男女在线网站 | 国产精品成人一区 | 国产成人jvid在线播放 | 亚洲视频在线免费观看 | 一级黄色毛片a | 亚洲精品在线免费观看视频 | 亚洲影音 | 一本一道久久a久久精品综合蜜臀 | www.4虎影院| 久久综合影院 | 国产午夜精品久久久久免费视高清 | 亚洲国产成人精品女人久久久 | 欧美日韩国产综合在线 | 精品久久一区二区 | 女人av| 精品久久久久久 | 伊人伊人伊人 | 99久久国产| 九九热精品视频在线观看 | 99久久精品免费看国产免费软件 | 免费视频久久 | 蜜桃视频在线观看免费视频网站www | 色黄网站| 精品免费国产一区二区三区 | 成人h视频在线观看 | 一区二区三区欧美在线 | 日韩欧美在线观看视频 | 国产亚洲精品精品国产亚洲综合 | 黄色在线免费观看 | 四虎网站在线观看 | 国产日韩精品一区二区三区 | 亚洲国产精品一区二区久久 |