Thực hiện audit SEO kỹ thuật quy mô lớn thường đòi hỏi sự tỉ mỉ và khả năng xử lý dữ liệu phức tạp. Để nâng cao hiệu quả và độ chính xác, việc thành thạo Regular Expressions (Regex) trong Screaming Frog SEO Spider là một kỹ năng không thể thiếu cho bất kỳ SEOer chuyên nghiệp nào. Tại V4SEO, chúng tôi nhận thấy rằng việc ứng dụng Regex không chỉ giúp tối ưu hóa thời gian mà còn mở ra những khả năng phân tích sâu rộng, vượt xa các báo cáo mặc định, đặc biệt khi phân tích dữ liệu regex Screaming Frog là gì trong bối cảnh SEO hiện đại.
Regex Screaming Frog là gì? Tại sao SEOer phải thành thạo?
Regex Screaming Frog là việc sử dụng cú pháp biểu thức chính quy (Regular Expressions) để tạo các mẫu tìm kiếm và trích xuất dữ liệu linh hoạt, tùy chỉnh trong công cụ Screaming Frog SEO Spider, giúp các SEOer lọc, phân tích và thao tác với dữ liệu crawl một cách hiệu quả và chính xác hơn cho các mục tiêu audit cụ thể. Thành thạo kỹ năng này không chỉ giúp bạn giải quyết các vấn đề SEO truyền thống mà còn cho phép khám phá sâu hơn các insight tiềm ẩn từ cấu trúc website.
Giải thích Regex một cách đơn giản nhất cho SEOer
Regex, hay Regular Expressions, là một chuỗi ký tự đặc biệt được sử dụng để tìm kiếm, khớp hoặc thay thế các mẫu văn bản nhất định. Đối với SEOer, có thể hình dung Regex như một “ngôn ngữ” để mô tả các mẫu URL, đoạn mã HTML, hoặc nội dung text mà bạn muốn tìm hoặc trích xuất. Chẳng hạn, thay vì tìm chính xác “v4seo.com/blog/category-1”, bạn có thể dùng Regex để tìm tất cả các URL trong thư mục “/blog/” có dạng “/blog/category-bất-kỳ-số-nào”. Đây là một công cụ cực kỳ mạnh mẽ để làm việc với dữ liệu có cấu trúc và không có cấu trúc.

Vai trò và lợi ích vượt trội của Regex trong Screaming Frog
Việc tích hợp Regex vào Screaming Frog mang lại những lợi ích đáng kể, biến công cụ này từ một crawler mạnh mẽ thành một bộ phân tích dữ liệu tùy chỉnh.
Khả năng lọc và phân đoạn dữ liệu nâng cao: Regex cho phép bạn lọc ra các tập hợp URL cụ thể dựa trên các mẫu phức tạp, ví dụ: chỉ crawl các trang sản phẩm có ID số, hoặc loại trừ tất cả các trang phân trang khỏi quá trình thu thập. Trích xuất thông tin tùy chỉnh: Bạn có thể trích xuất bất kỳ đoạn văn bản nào từ mã nguồn HTML bằng cách xác định mẫu Regex. Điều này cực kỳ hữu ích cho việc thu thập dữ liệu JSON-LD, thẻ Open Graph, thuộc tính alt của hình ảnh, hoặc các chuỗi tùy chỉnh khác. Phát hiện lỗi SEO nhanh chóng: Từ việc tìm các thẻ meta description quá dài, H1 trùng lặp đến các script JavaScript không mong muốn, Regex giúp bạn nhanh chóng xác định các vấn đề kỹ thuật SEO mà các báo cáo mặc định có thể bỏ qua. Tối ưu hóa quá trình audit: Bằng cách tập trung vào các dữ liệu liên quan và tự động hóa việc trích xuất, SEOer có thể giảm đáng kể thời gian audit, cho phép tập trung vào phân tích và đưa ra giải pháp.
Hướng dẫn chi tiết sử dụng Regex trong các tính năng của Screaming Frog
Screaming Frog tích hợp Regex vào nhiều tính năng cốt lõi, từ việc kiểm soát quá trình crawl đến phân tích dữ liệu sau khi thu thập.

Custom Search: Tìm kiếm nội dung và lỗi SEO
Tính năng Custom Search cho phép bạn tìm kiếm các mẫu Regex trong mã nguồn HTML của các trang được crawl. Đây là công cụ đắc lực để phát hiện các lỗi hoặc thiếu sót cụ thể.
Tìm lỗi meta description trống hoặc trùng lặp:
- Ví dụ Regex: (<meta name=”description” content=””)|(content=”\s*”)
- Regex này giúp bạn phát hiện các thẻ meta description không có nội dung hoặc có nội dung là khoảng trắng.
Phát hiện H1 trùng lặp hoặc thiếu:
- Ví dụ Regex: <h1[^>]*>.*?<\/h1>
- Sử dụng kết hợp với bộ lọc “Duplicate” hoặc “Missing” trong báo cáo “H1” của Screaming Frog để xác định các vấn đề.
Tìm internal link hỏng hoặc có cấu trúc không mong muốn:
- Ví dụ Regex: <a[^>]*href=”\/broken-link-pattern\/.*?”
- Phát hiện các liên kết nội bộ trỏ đến các mẫu URL bị hỏng hoặc không tuân thủ quy tắc đặt tên.
Xác định script lỗi hoặc không an toàn:
- Ví dụ Regex: <script[^>]*src=”.*?\.(js|css)”[^>]*defer> (Tìm script có thuộc tính defer)
- Sử dụng để kiểm tra việc triển khai các thuộc tính tối ưu hiệu suất cho script và CSS.
Custom Extraction: Trích xuất dữ liệu có cấu trúc và tùy chỉnh
Custom Extraction là tính năng mạnh mẽ nhất của Regex trong Screaming Frog, cho phép bạn trích xuất các phần tử cụ thể từ HTML mà không cần truy cập API.
Trích xuất JSON-LD (Product, Article):
- Ví dụ Regex (cho Product Schema): (<script type=”application\/ld\+json”>.*?{“@type”:”Product”.*?<\/script>)
- Regex này sẽ trích xuất toàn bộ khối JSON-LD có chứa @type là “Product”. Bạn có thể điều chỉnh để trích xuất các loại schema khác như “Article” hoặc “LocalBusiness”.
- Sau khi trích xuất, bạn có thể phân tích các trường dữ liệu quan trọng như name, price, description, sku để đảm bảo tính đầy đủ và chính xác của dữ liệu có cấu trúc.
Trích xuất Open Graph (OG) Tags:
- Ví dụ Regex: <meta property=”og:(title|description|image)” content=”(.*?)”\/>
- Regex này sẽ trích xuất giá trị content của các thẻ OG title, description, và image, giúp kiểm tra việc triển khai social sharing.
Trích xuất Breadcrumbs:
- Ví dụ Regex: <nav aria-label=”breadcrumb”>.*?<\/nav>
- Trích xuất toàn bộ đoạn mã HTML của breadcrumbs để kiểm tra cấu trúc và nội dung.
Trích xuất thuộc tính alt của ảnh thiếu:
- Ví dụ Regex: <img[^>]*src=”[^”]+”[^>]*alt=””[^>]*>
- Phát hiện các thẻ <img> không có thuộc tính alt hoặc có alt trống, một yếu tố quan trọng để tăng độ liên quan nội dung cho hình ảnh và cải thiện khả năng tiếp cận.
Include/Exclude: Lọc URL hiệu quả để tập trung phân tích
Các tính năng Include (chỉ crawl các URL khớp) và Exclude (không crawl các URL khớp) cho phép bạn tinh chỉnh phạm vi crawl, tiết kiệm tài nguyên và thời gian.
Lọc subdomain cụ thể:
- Ví dụ Regex: ^https?:\/\/(www\.)?blog\.yourdomain\.com\/
- Chỉ crawl các URL thuộc subdomain “blog.yourdomain.com”.
Phân đoạn URL theo thư mục:
- Ví dụ Regex: ^https?:\/\/yourdomain\.com\/products\/.*
- Chỉ crawl các URL nằm trong thư mục “/products/”.
Loại bỏ URL không cần thiết (ví dụ: các trang đăng nhập, tài khoản):
- Ví dụ Regex: ^https?:\/\/yourdomain\.com\/(login|account|cart)\/.*
- Ngăn Screaming Frog crawl các trang nhạy cảm hoặc không liên quan đến SEO.
Rewrites: Xử lý và chuẩn hóa URL phức tạp
Tính năng Rewrites cho phép bạn thay đổi URL ngay trong quá trình crawl, hữu ích khi xử lý các URL có tham số động hoặc các vấn đề chuẩn hóa.
Chuẩn hóa các URL có tham số session:
- Ví dụ Regex (Find): (.*)(\?|&)utm_source=.*
- Ví dụ Regex (Replace): $1
- Loại bỏ các tham số UTM hoặc session ID khỏi URL để tránh trùng lặp nội dung.
Xử lý chuyển hướng sai:
- Nếu website của bạn có các chuyển hướng nội bộ không chính xác (ví dụ: từ HTTP sang HTTPS), bạn có thể sử dụng Rewrites để chuẩn hóa các URL này trước khi crawl.
Các cú pháp Regex phổ biến nhất cho SEOer
Việc nắm vững các cú pháp Regex cơ bản đến nâng cao là chìa khóa để khai thác tối đa sức mạnh của nó.
Ký tự đại diện cơ bản và nhóm ký tự
Các ký tự đại diện là nền tảng của Regex, cho phép bạn khớp với các loại ký tự hoặc chuỗi khác nhau.
Dấu chấm .: Khớp với bất kỳ ký tự đơn nào (trừ xuống dòng).
- Ví dụ: ca.t sẽ khớp với “cat”, “cot”, “cbt”.
Dấu sao *: Khớp với không hoặc nhiều lần xuất hiện của ký tự đứng trước nó.
- Ví dụ: colou*r sẽ khớp với “color” và “colour”.
Dấu cộng +: Khớp với một hoặc nhiều lần xuất hiện của ký tự đứng trước nó.
- Ví dụ: a+b sẽ khớp với “ab”, “aab”, “aaab”, nhưng không khớp với “b”.
Dấu hỏi ?: Khớp với không hoặc một lần xuất hiện của ký tự đứng trước nó (tức là tùy chọn).
- Ví dụ: colou?r sẽ khớp với “color” và “colour”.
Dấu ngoặc vuông []: Khớp với bất kỳ ký tự nào trong dấu ngoặc.
- Ví dụ: [aeiou] sẽ khớp với bất kỳ nguyên âm nào. [0-9] khớp với bất kỳ chữ số nào.
Dấu gạch chéo ngược \: Thoát khỏi ký tự đặc biệt, biến nó thành ký tự thông thường.
- Ví dụ: \. sẽ khớp với dấu chấm thực sự, không phải ký tự đại diện.
Toán tử lặp, nhóm, thay thế (Capturing Groups, Alternation)
Các toán tử này giúp bạn tạo ra các mẫu Regex phức tạp hơn, có khả năng trích xuất và thao tác với các phần của chuỗi.

Dấu ngoặc nhọn {n,m}: Khớp với ít nhất n và nhiều nhất m lần xuất hiện của ký tự đứng trước nó.
- Ví dụ: \d{3} sẽ khớp với một chuỗi 3 chữ số. \d{3,5} khớp với chuỗi 3, 4 hoặc 5 chữ số.
Dấu ngoặc tròn (): Tạo một nhóm bắt giữ (capturing group). Nội dung bên trong sẽ được coi là một đơn vị và có thể được trích xuất hoặc tham chiếu lại.
- Ví dụ: (cat|dog) sẽ khớp với “cat” hoặc “dog”.
- Trong Custom Extraction, các nhóm bắt giữ này là cách bạn chỉ định dữ liệu muốn trích xuất.
Dấu sổ dọc |: Toán tử “OR”, khớp với một trong các mẫu được phân tách.
- Ví dụ: apple|banana sẽ khớp với “apple” hoặc “banana”.
Assertions và Backreferences nâng cao (Lookahead, Lookbehind)
Các khái niệm nâng cao này cho phép bạn khớp với các mẫu dựa trên ngữ cảnh mà không bao gồm ngữ cảnh đó trong kết quả khớp.
Lookahead (?=…): Khớp với một chuỗi chỉ khi nó được theo sau bởi một mẫu cụ thể.
- Ví dụ: keyword(?=\.html) sẽ khớp với “keyword” chỉ khi nó đứng trước “.html” (nhưng không bao gồm “.html” trong kết quả khớp). Hữu ích để tìm các từ khóa chỉ trên các trang HTML cụ thể.
Negative Lookahead (?!…): Khớp với một chuỗi chỉ khi nó KHÔNG được theo sau bởi một mẫu cụ thể.
- Ví dụ: image\.jpg(?!.*\/old\/) sẽ khớp với “image.jpg” miễn là nó không nằm trong thư mục “/old/”.
Lookbehind (?<=…): Khớp với một chuỗi chỉ khi nó được đứng trước bởi một mẫu cụ thể.
- Ví dụ: (?<=https:\/\/www\.)example\.com sẽ khớp với “example.com” chỉ khi nó được đứng trước bởi “https://www.”.
Negative Lookbehind (?<!…): Khớp với một chuỗi chỉ khi nó KHÔNG được đứng trước bởi một mẫu cụ thể.
Backreferences \1, \2, …: Tham chiếu lại nội dung của một nhóm bắt giữ đã được tạo trước đó.
- Ví dụ: <(h[1-6])>.*?<\/\1> sẽ khớp với các thẻ tiêu đề HTML (H1 đến H6) và đảm bảo thẻ mở và đóng khớp nhau (ví dụ: <H2>…<\H2>).
Tích hợp dữ liệu Screaming Frog & Regex với GA4, GSC, BigQuery
Sau khi trích xuất dữ liệu bằng Regex trong Screaming Frog, bước tiếp theo là tích hợp và phân tích chúng với các công cụ lớn hơn để có cái nhìn tổng thể về hiệu suất SEO.
Dùng Regex để làm sạch và phân tích dữ liệu GSC & GA4 sau crawl
Dữ liệu từ Google Search Console (GSC) và Google Analytics 4 (GA4) thường rất phong phú nhưng cũng cần được làm sạch và phân đoạn để phân tích hiệu quả.

Làm sạch dữ liệu GSC:
- Sử dụng Regex trong bộ lọc của GSC hoặc khi xuất dữ liệu để loại bỏ các truy vấn không liên quan, nhóm các biến thể của cùng một từ khóa, hoặc phân loại các trang dựa trên mẫu URL. Ví dụ, bạn có thể lọc để chỉ hiển thị các truy vấn chứa “mua” hoặc “giá” trong một danh mục sản phẩm cụ thể.
Phân tích dữ liệu GA4:
- Trong GA4, bạn có thể sử dụng Regex để tạo các đối tượng tùy chỉnh (audiences), các biến số tùy chỉnh (custom dimensions) hoặc lọc báo cáo dựa trên các mẫu URL. Ví dụ, bạn có thể tạo một đoạn đối tượng bao gồm tất cả người dùng đã truy cập các trang /blog/2024/.* để phân tích hành vi của họ trên các bài viết mới nhất.
- Regex cũng hữu ích khi bạn muốn so sánh hiệu suất của các nhóm trang cụ thể mà không cần tạo nhiều bộ lọc thủ công.
Ví dụ SQL query với Regex trong BigQuery để phân tích dữ liệu SEO lớn
BigQuery là một công cụ phân tích dữ liệu mạnh mẽ, và khi kết hợp với Regex, nó trở thành một trợ thủ đắc lực để xử lý và phân tích các bộ dữ liệu SEO khổng lồ từ các nguồn như nhật ký máy chủ (server logs), GSC, hoặc GA4.
Ví dụ SQL query với Regex trong BigQuery để phân loại URL: Giả sử bạn có một bảng crawl_data với cột url và bạn muốn phân loại các URL thành “Sản phẩm”, “Blog”, “Danh mục” và “Khác”.
SELECT
url,
CASE
WHEN REGEXP_CONTAINS(url, r’.*\/products\/[a-zA-Z0-9-]+\/?$’) THEN ‘Sản phẩm’
WHEN REGEXP_CONTAINS(url, r’.*\/blog\/[a-zA-Z0-9-]+\/?$’) THEN ‘Blog’
WHEN REGEXP_CONTAINS(url, r’.*\/categories\/[a-zA-Z0-9-]+\/?$’) THEN ‘Danh mục’
ELSE ‘Khác’
END AS url_category,
COUNT(url) as total_urls
FROM
`your_project.your_dataset.crawl_data`
GROUP BY
url_category
ORDER BY
total_urls DESC;
Query này sử dụng hàm REGEXP_CONTAINS để kiểm tra các mẫu Regex trong cột url và gán nhãn phân loại. Đây là một ví dụ mạnh mẽ về cách regex Screaming Frog dùng để làm gì ở cấp độ phân tích dữ liệu quy mô lớn.
Mẹo và thủ thuật tối ưu hiệu suất khi dùng Regex trong Screaming Frog
Sử dụng Regex hiệu quả không chỉ là về việc viết đúng cú pháp mà còn là tối ưu hóa để đảm bảo tốc độ và độ chính xác, đặc biệt là khi bạn thực hiện các bước kiểm tra schedule crawl Screaming Frog nhanh.
Cách tránh các lỗi phổ biến và debug Regex hiệu quả
Regex có thể phức tạp, và lỗi cú pháp là điều khó tránh khỏi. Dưới đây là bảng tổng hợp các lỗi regex Screaming Frog thường gặp và cách khắc phục:
| Lỗi | Dấu hiệu | Nguyên nhân | Cách khắc phục | Mức độ ưu tiên |
| Regex không khớp với bất kỳ gì | Không có kết quả hoặc kết quả không mong muốn. | Cú pháp Regex sai, ký tự đặc biệt chưa được escape, hoặc mẫu quá cụ thể/quá chung. | Sử dụng Regex tester: Luôn kiểm tra Regex trên các công cụ như regex101.com hoặc regexr.com với các mẫu dữ liệu thực tế. Kiểm tra escape: Đảm bảo các ký tự đặc biệt như ., +, *, ?, (, ), [, ], {, }, |, \, ^, $ được escape bằng \ nếu bạn muốn khớp chính xác chúng. | Cao |
| Regex khớp quá rộng | Kết quả khớp bao gồm cả các phần không mong muốn. | Mẫu Regex quá chung chung, thiếu các anchor (^, $), hoặc sử dụng .* không kiểm soát. | Sử dụng anchor: Dùng ^ (bắt đầu dòng/chuỗi) và $ (kết thúc dòng/chuỗi) để giới hạn phạm vi khớp. Giới hạn .: Tránh dùng . không giới hạn; thay bằng [^\n] hoặc các nhóm ký tự cụ thể hơn. Sử dụng non-greedy: Thêm ? sau các toán tử lặp (*?, +?) để khớp số lượng ký tự ít nhất. | Trung bình |
| Vấn đề về hiệu suất/tốc độ crawl | Screaming Frog chạy chậm, tiêu tốn nhiều tài nguyên, hoặc bị treo. | Regex quá phức tạp, có nhiều backreferences, hoặc mẫu có khả năng “backtracking” vô hạn (catastrophic backtracking). | Đơn giản hóa Regex: Cố gắng viết Regex càng đơn giản càng tốt. Tránh backtracking: Hạn chế các mẫu lặp lồng nhau hoặc các nhóm thay thế quá rộng. Kiểm tra trên bộ dữ liệu nhỏ: Trước khi chạy trên toàn bộ website, thử Regex trên một tập hợp nhỏ các URL. | Cao |
| Trích xuất sai dữ liệu | Dữ liệu được trích xuất không phải là thứ bạn mong muốn hoặc không đầy đủ. | Nhóm bắt giữ () đặt sai vị trí, thiếu ngữ cảnh cho Lookahead/Lookbehind. | Kiểm tra nhóm bắt giữ: Đảm bảo () bao quanh chính xác phần dữ liệu bạn muốn trích xuất. Kiểm tra ngữ cảnh: Đảm bảo các assertion (lookahead/lookbehind) đang tham chiếu đúng phần tử HTML xung quanh. | Cao |
Tối ưu tốc độ crawl khi sử dụng Regex phức tạp
Việc sử dụng Regex, đặc biệt là các mẫu phức tạp trong Custom Extraction, có thể ảnh hưởng đến hiệu suất crawl của Screaming Frog.

Tối ưu Regex: Viết Regex càng hiệu quả càng tốt. Tránh các mẫu quá dài, lặp lại không cần thiết, hoặc các biểu thức có thể gây ra backtracking. Giới hạn phạm vi crawl: Sử dụng các tính năng Include/Exclude bằng Regex để chỉ crawl các phần website bạn thực sự cần, giảm tải cho Screaming Frog. Chạy trên máy tính mạnh: Regex yêu cầu CPU và RAM đáng kể. Đảm bảo bạn có đủ tài nguyên máy tính, đặc biệt khi làm việc với các website lớn. Thử nghiệm từng bước: Nếu bạn có nhiều Regex Custom Extraction, hãy thêm chúng từng bước một và kiểm tra hiệu suất để xác định Regex nào gây ra sự chậm trễ.
Tương lai của Regex trong SEO: Xu hướng và công cụ hỗ trợ
Mặc dù các công cụ SEO ngày càng thông minh hơn với AI và Machine Learning, vai trò của Regex vẫn vững chắc. Nó là cầu nối giữa khả năng hiểu mẫu của con người và khả năng xử lý của máy tính. Trong tương lai, Regex có thể được tích hợp sâu hơn vào các nền tảng phân tích dữ liệu tự động, giúp các thuật toán tinh chỉnh việc nhận diện mẫu hoặc làm sạch dữ liệu ban đầu. Các công cụ kiểm tra Regex trực tuyến như Regex101.com, Regexr.com, hoặc RegEx Pal tiếp tục là tài nguyên vô giá để kiểm tra và tinh chỉnh các biểu thức của bạn trước khi triển khai trong Screaming Frog.

Checklist: Đảm bảo sử dụng Regex đúng cách và hiệu quả cho mọi chiến dịch SEO
Để tối đa hóa lợi ích của Regex trong Screaming Frog, hãy tuân thủ checklist sau:
| Hạng mục | Chi tiết thực hiện | Mức độ ưu tiên |
| Hiểu rõ mục tiêu | Xác định rõ ràng dữ liệu cần tìm hoặc trích xuất (URL, H1, JSON-LD, v.v.). | Cao |
| Kiểm tra Regex trước | Luôn dùng công cụ kiểm tra Regex trực tuyến (regex101.com) với dữ liệu mẫu thực tế trước khi áp dụng vào Screaming Frog. | Cao |
| Sử dụng Capture Groups | Đảm bảo các nhóm bắt giữ () được đặt đúng chỗ để trích xuất chính xác phần dữ liệu mong muốn trong Custom Extraction. | Cao |
| Tối ưu hiệu suất | Tránh Regex quá phức tạp, lặp lại không cần thiết. Giới hạn phạm vi crawl bằng Include/Exclude khi có thể. | Trung bình |
| Xử lý các ký tự đặc biệt | Escape các ký tự đặc biệt bằng \ khi bạn muốn khớp chúng theo nghĩa đen (ví dụ: \. cho dấu chấm). | Cao |
| Kiểm tra Case Sensitivity | Chú ý đến tùy chọn phân biệt chữ hoa/thường trong Regex của Screaming Frog nếu cần. | Trung bình |
| Tham chiếu tài liệu | Luôn tham khảo tài liệu chính thức của Screaming Frog và các nguồn Regex uy tín khi gặp khó khăn. | Trung bình |
| Ghi chú Regex | Lưu trữ và ghi chú rõ ràng các Regex bạn đã sử dụng cùng với mục đích của chúng để dễ dàng tái sử dụng và debug. | Thấp |
| Cập nhật kiến thức | Liên tục cập nhật các phiên bản mới của Screaming Frog và các mẹo Regex mới trong cộng đồng SEO. | Trung bình |
Regex là một công cụ biến đổi, cho phép SEOer vượt qua các giới hạn của phân tích dữ liệu truyền thống. Từ việc tìm kiếm các lỗi nhỏ nhất đến trích xuất các khối dữ liệu schema phức tạp, khả năng tùy chỉnh mà Regex mang lại là vô giá. Việc nắm vững kỹ năng này không chỉ nâng cao năng lực audit mà còn giúp bạn đưa ra các quyết định chiến lược dựa trên dữ liệu chính xác, sâu sắc hơn.
Bài viết liên quan
https://v4seowebsite.vn/loc-regex-trong-gsc-la-gi