{Nadeem Haddadeen}

Arabic SEO Consultant, Python for SEO From Jordan

Screaming Frog

Screaming Frog custom extraction with CSS selectors

Extract page-specific values with CSS selectors, validate matches against the HTML, and export reliable fields for analysis.

Screaming Frog custom extraction with CSS selectors
Background photograph: Jakub Zerdzicki / Unsplash. Title design: Nadeem Haddadeen.

A crawler’s standard columns cover common SEO fields. They will not necessarily include a product’s stock label, a coin’s market value, or a custom statistic inside a component.

Custom extraction lets you define the element to collect. The important work is selecting the intended value consistently and identifying pages where the structure differs.

Inspect the value in the page

Open a representative page and inspect the visible value. Look for a stable class or attribute on the element and its surrounding component.

<div class="coin-summary">
  <span class="label">Market value</span>
  <span class="market-value">125000</span>
</div>

For this simplified fixture, .coin-summary .market-value targets the value span. A selector for .coin-summary would also collect the label, which may not be what your analysis needs.

Copying a selector from DevTools can help you start, but generated selectors with long chains and positional indexes may be fragile. Review what each part matches.

Configure and name the field

Open Screaming Frog’s Custom Extraction configuration and add a clearly named field. Choose CSS selector and the appropriate extraction output, such as text. Available options and licensing depend on the installed version; the publisher documents custom extraction in detail.

Use a name that reflects the value, such as market_value_text, rather than extractor_1. Record the selector with the export so another person can reproduce the column.

Match the rendering mode to the source

If the value exists in the returned HTML, an HTML crawl may collect it. If scripts add it later, the crawl may need JavaScript rendering and sufficient time for the component to appear.

Check the response and DOM first. A blank extraction can mean no match, a different template, a failed data request, or a rendering condition. It does not automatically mean the business value is zero.

Check match count and output

Add a second field only when the first is reliable. For example, collect the coin name separately from market value. Inspect whether multiple matches produce several values and whether their order can be interpreted safely.

Do not assume the first match belongs to the main content. A repeated mobile component, recommendation card, or hidden modal can use the same class. Scope the selector to the intended section.

XPath can express structural relationships and regex can match textual patterns, but they have different strengths. Use a method you can validate rather than treating the three options as interchangeable syntax.

Export before normalising

Retain the raw text export, then clean values in a separate working dataset. Currency symbols, thousands separators, decimal conventions, and units need explicit handling. A value such as 1.2M cannot be converted by simply deleting non-numeric characters.

Compare several exported rows with the live pages and record the crawl date. Prices and statistics can change between the crawl and a later manual check.

My SEO automation service covers repeatable extraction and validation. For large generated page sets, programmatic SEO consulting connects those custom fields with the shared template rules being audited.

Video lessons: SEO course session 25 · SEO course session 16. The videos are in Arabic.