SEO Spider Configuration

Spider Basic Tab

Check Images

Untick this box if you do not want to crawl images. (Please note, we check the link but don’t crawl the content). This prevents the spider checking images linked to using the image tag (img src=”image.jpg”). Images linked to via any other means will still be checked, for example, using an anchor tag (a href=”image.jpg”).

Check CSS

Untick this box if you do not want to check CSS links. 

Check JavaScript

Untick this box if you do not want to check JavaScript links. 

Check SWF

Untick this box if you do not want to check flash links. 

Follow internal or external ‘nofollow’

By default the Spider will not crawl internal or external links with the ‘nofollow’ attribute or external links from pages with the meta nofollow tag. If you would like the Spider to crawl these, simply tick the relevant option. 

Crawl all subdomains

By default the SEO Spider will only crawl the subdomain you crawl from and treat all other subdomains encountered as external sites. To crawl all subdomains of a root domain, use this option.

Crawl outside of start folder

By default the SEO Spider will only crawl the subfolder (or sub directory) you crawl from forwards. However, if you wish to start a crawl from a specific sub folder, but crawl the entire website, use this option.

Crawl canonicals

By default the SEO Spider will crawl canonicals (canonical link elements or http header) and use the links contained within for discovery. If you do not wish to crawl canonicals, then please untick this box. Please note, that canonicals will still be reported and referenced in the SEO Spider, but they will not be crawled for discovery.

Crawl next/prev

By default the SEO Spider will not crawl rel=”next” and rel=”prev” elements or use the links contained within it for discovery. If you wish to crawl the pages referenced in rel=”next” and rel=”prev” elements, please tick this box.

Ignore robots.txt

By default the SEO Spider will obey robots.txt protocol. The SEO Spider will not be able to crawl a site if its disallowed via robots.txt. However, this option allows you to ignore this protocol which is down to the responsibility of the user. This option actually means the SEO Spider will not even download the robots.txt file. So it also means ALL robots directives will be completely ignored.

Show Internal URLs Blocked By Robots.txt

By default internal URLs blocked by robots.txt will be shown in the ‘Internal’ tab with Status Code of ‘0’ and Status ‘Blocked by Robots.txt’. To hide these URLs in the interface unselect this option. This option is not available if ‘Ignore robots.txt’ is checked.

You can also view internal URLs blocked by robots.txt under the ‘Response Codes’ tab and ‘Blocked by Robots.txt’ filter. This will also show the robots.txt directive (‘matched robots.txt line’ column) of the disallow against each URL that is blocked.

Show External URLs Blocked By Robots.txt

By default external URLs blocked by robots.txt are hidden. To display these in the External tab with Status Code ‘0’ and Status ‘Blocked by Robots.txt’ check this option. This option is not available if ‘Ignore robots.txt’ is checked.

You can also view external URLs blocked by robots.txt under the ‘Response Codes’ tab and ‘Blocked by Robots.txt’ filter. This will also show robots.txt directive (‘matched robots.txt line column’) of the disallow against each URL that is blocked.

Spider Limits Tab

Limit search total

The free version of the software will crawl 500 URI. If you have a licensed version of the tool this will be removed, but you can include any number here for greater control over the number of pages you wish to crawl.

Limit search depth

You can choose how deep the Spider crawls a site (in terms of links away from your chosen start point).

Limit max URL length to crawl

Control the length of URLs that the SEO Spider will crawl.

Limit max folder depth

Control the number of folders (or sub directories) the SEO Spider will crawl.

Limit number of query strings

Control the number of query string parameters (?x=) the SEO Spider will crawl.

Spider Rendering Tab

Rendering

Allows you to set the rendering mode for the crawl:

  • Text Only: Looks only at the raw HTML, ignores the AJAX Crawling Scheme and JavaScript.
  • Old AJAX Crawling Scheme: Implements Google’s now deprecated AJAX Crawling Scheme.
  • JavaScript: Executes JavaScript, inspecting the DOM for links/titles etc.

Please note: To emulate Googlebot as closely as possible our rendering engine uses the Chromium project. The following operating systems are supported:

  • Windows 10
  • Windows 8 & 8.1
  • Windows 7
  • Windows Server 2008
  • Windows Server 2012
  • Windows Server 2016
  • Ubuntu 12.04+ (64-bit only)
  • Mac OS X 10.9+

AJAX Timeout

This is how long, in seconds, the SEO Spider should allow JavaScript to execute before considering a page loaded. Our research has shown Googlebot waits about 5 seconds.

Spider Advanced Tab

Allow cookies

As default the SEO Spider does not accept cookies, like a search bot. However, you can choose to accept cookies by ticking this box.

Request authentication

By default the SEO Spider will show a login box when a URL that’s been requested requires authentication.

The SEO Spider supports basic and digest authentication. If you visit the website and your browser gives you a popup requesting a username and password, that will be basic or digest authentication, which is supported.

Please see our FAQ on crawling staging or development sites that are password protected for more information.

Pause on high memory usage

The SEO Spider will automatically pause when a crawl has reached the memory allocation and display a ‘high memory usage’ message. However, you can choose to turn this safeguard off completely.

Always follow redirects

This feature allows the SEO Spider to follow redirects until the final redirect target URL in list mode, ignoring crawl depth. This is particularly useful for site migrations, where URLs may perform a number of 3XX redirects, before they reach their final destination. To view the chain of redirects, we recommend using the ‘redirect chains‘ report.

Respect noindex

This option means URLs with ‘noindex’ will not be reported in the SEO Spider.

Respect canonical

This option means URLs which have been canonicalised to another URL, will not be reported in the SEO Spider.

Response timeout

As default the SEO Spider will wait 10 seconds to get any kind of http response from a URL. You can increase the length of waiting time, which is useful for very slow websites.

5XX Response Retries

This option provides the ability to automatically re-try 5XX responses. Often these responses can be temporary, so re-trying a URL may provide a 2XX response.

Max redirects to follow

This option provides the ability to control the number of redirects the SEO Spider will follow.

Spider Preferences Tab

Page title & meta description width

This option provides the ability to control the character and pixel width limits in the SEO Spider filters in the page title and meta description tabs. For example, changing the minimum pixel width default number of ‘200’, would change the ‘Below 200 Pixels’ filter in the ‘Page Titles’ tab. This allows you to set your own character and pixel width based upon your own preferences.

Other character preferences

These options provide the ability to control the character length of URLs, h1, h2 and image alt text filters in their respective tabs. You can also control the max image size.

Other Configuration Options

URL rewriting

The URL rewriting feature allows you to rewrite URLs on the fly. For the majority of cases, the ‘remove parameters’ and common options (under ‘options’) will suffice. However, we do also offer an advanced regex replace feature which provides further control.

Remove Parameters

This feature allows you to automatically remove parameters in URLs. This is extremely useful for websites with session IDs or lots of parameters which you wish to remove. For example –

If the website has session IDs which make the URLs appear something like this ‘example.com/?sid=random-string-of-characters’. To remove the session ID, you just need to add ‘sid’ (without the apostrophes) within the ‘parameters’ field in the ‘remove parameters’ tab.

URL Rewriting

The SEO Spider will then automatically strip the session ID from the URL. You can test to see how a URL will be rewritten by our SEO Spider under the ‘test’ tab.

url rewriting test

Options

We will include common options under this section. The ‘lowercase discovered URLs’ option does exactly that, it converts all URLs crawled into lowercase which can be useful for websites with case sensitivity issues in URLs.

Regex Replace

This advanced feature runs against each URL found during a crawl. It replaces each substring of a URL that matches the regex with the given replace string. The “Regex Replace” feature can be tested in the “Test” tab of the “URL Rewriting” configuration window.

Examples are:

1) Changing all links to example.com to be example.co.uk

Regex: .com
Replace: .co.uk

2) Making all links containing page=number to a fixed number, eg

www.example.com/page.php?page=1
www.example.com/page.php?page=2
www.example.com/page.php?page=3
www.example.com/page.php?page=4

To make all these go to www.example.com/page.php?page=1

Regex: page=\d+
Replace: page=1

3) Removing the www. domain from any url by using an empty Replace. If you want to remove a query string parameter, please use the “Remove Parameters” feature – Regex is not the correct tool for this job!

Regex: www.
Replace:

Include

This feature allows you to control which URL path the SEO Spider will crawl via regex. It narrows the default search by only crawling the URLs that match the regex which is particularly useful for larger sites, or sites with less intuitive URL structures. Matching is performed on the url encoded version of the URL.

The page that you start the crawl from must have an outbound link which matches the regex for this feature to work. (Obviously if there is not a URL which matches the regex from the start page, the SEO Spider will not crawl anything!).

  • As an example, if you wanted to crawl pages from www.screamingfrog.co.uk which have ‘search’ in the URL string you would simply include the regex:
    .*search.*
    in the ‘include’ feature. This would find the /search-engine-marketing/ and /search-engine-optimisation/ pages as they both have ‘search’ in them.

Exclude

The exclude configuration allows you to exclude URLs from a crawl by supplying a list of a list regular expressions (regex). A URL that matches an exclude is not crawled at all (it’s not just ‘hidden’ in the interface), hence this will mean other URLs that do not match the exclude, but can only be reached from an excluded page will also not be found in the crawl.

The exclude list is applied to new URLs that are discovered during the crawl. This exclude list does not get applied to the initial URL(s) supplied in crawl or list mode. Changing the exclude list during a crawl will only affect newly discovered URLs from then on. It will not be applied retrospectively to the list of pending URLs. Matching is performed on the URL encoded version of the URL. You can see the encoded version of a URL by selecting it in the main window then in the lower window pane in the details tab looking at the URL Info tab, and the value second row labelled “URL Encoded Address”.

Here are some common examples –

  • To exclude a specific URL or page the syntax is:
    http://www.example.com/do-not-crawl-this-page.html
  • To exclude a sub directory or folder the syntax is:
    http://www.example.com/do-not-crawl-this-folder/.*
  • To exclude everything after brand where there can sometimes be other folders before:
    http://www.example.com/.*/brand.*
  • If you wish to exclude URIs with a certain parameter such as ‘?price’ contained in a variety of different directories you can simply use (Note the ? is a special character in regex and must be escaped):
    .*\?price.*
  • If you wanted to exclude all files ending jpg, the regex would be:
    .*jpg$
  • If you wanted to exclude any URI with ‘produce’ within them, the regex would be:
    .*produce.*
  • Secure (https) pages would be:
    .*https.*
  • Excluding all pages on http://www.domain.com would be:
    http://www.domain.com/.*
  • If you want to exclude a URL and it doesn’t seem to be working, its probably because it contains special regex characters such as ?. Rather trying to locate and escape these individually, you can escape the whole line starting with \Q and ending with \E as follow:
    \Qhttp://www.example.com/test.php?product=special\E

You can also view our video guide about the exclude feature in the SEO Spider –

Speed

This feature allows you to control the speed of the Spider, either by number of concurrent threads or by URLs requested per second.

When reducing speed, it’s always easier to control by the ‘Max URI/s’ option, which is the maximum number of URL requests per second. For example, the screenshot below would mean crawling at 1 URL per second –

speed configuration

The ‘Max Threads’ option can simply be left alone.

Increasing the number of threads allows you to significantly increase the speed of the SEO Spider.

However, please use responsibly as setting the number of threads high to increase the speed of the crawl will increase the number of http requests made to the server and can impact a site’s response times. We recommend approving a crawl rate with the webmaster first, monitoring response times and adjusting speed if there are any issues.

Accept-Language

You can find the ‘Accept-Language’ configuration under ‘Configuration > HTTP Header > Accept-Language’.

This configuration allows you to include an Accept-Language HTTP header in the SEO Spider’s request. There are scenarios where you may wish to supply this header to crawl locale-adaptive content.

language-accept header

While we have have some common presets covered in the configuration, you can choose ‘custom’ and supply any language and region pair that you require, as shown above.

User agent

You can find the ‘User-Agent’ configuration under ‘Configuration > HTTP Header > User-Agent’.

The user-agent switcher has inbuilt preset user agents for Googlebot, Bingbot, Yahoo! Slurp, various browsers and more. This feature also has a custom user-agent setting which allows you to specify your own user agent.

Details on how the SEO Spider handles robots.txt can be found here.

Custom extraction

The custom extraction feature allows you to collect any data from the HTML of a URL. Extraction is performed on the static html returned by internal HTML pages with a 2xx response code. The SEO Spider supports the following modes to perform data extraction:

  • XPath: XPath selectors, including attributes.
  • CSS Path: CSS Path and optional attribute.
  • Regex: For more advanced uses, such as scraping HTML comments or inline JavaScript.

When using XPath or CSS Path to collect HTML, you can choose what to extract:

  • Extract HTML Element: The selected element and its inner HTML content.
  • Extract Inner HTML: The inner HTML content of the selected element. If the selected element contains other HTML elements, they will be included.
  • Extract Text: The text content of the selected element and the text content of any sub elements.

You’ll receive a tick next to your regex, Xpath or CSS Path if the syntax is valid. If you’ve made a mistake, a red cross will remain in place!

The results of the data extraction appear under the ‘custom’ tab in the ‘extraction’ filter. They are also included as columns within the ‘Internal’ tab as well.

Some extraction examples include the following –

Google Analytics ID

["'](UA-.*?)["']

Google Analytics ID Extraction

The data extracted is –

google-analytics-id-extracted

Additional Headings

As default, the SEO Spider only collects h1s and h2s, but if you’d like to collect h3s, the XPath is –

//h3

 

And the h3s on our site are as follows –

h3s extracted

To collect just the first h3 only, the XPath is –

/descendant::h3[1]

To collect the first 10 h3’s on a page, the XPath would be –

/descendant::h3[position() >= 0 and position() <= 10]

Mobile Annotations

If you wanted to pull mobile annotations from a website, you might use an Xpath such as –

//link[contains(@media, '640') and @href]/@href

 

Which for the Huffington Post would return –

mobile annotations extraction

Hreflang

The following Xpath, combined with Extract HTML Element, will collect the contents all hreflang elements –

//*[@hreflang]

The above will collect the entire HTML element, with the link and hreflang value.

If you want the hreflang values themselves, like the image below:
hreflang language values extracted

You just need to specify the attribute using @hreflang and Extract Inner HTML:

//*[@hreflang]/@hreflang

Which would simply return the language value, like ‘en-GB’ for example. If you'd like all the urls referenced from hreflang links, you can use the following with Extract Inner HTML:

//*[@hreflang]/@href

Social Meta Tags

You may wish to extract social meta tags, such as Facebook Open Graph tags or Twitter Cards. The Xpath is for example –


//meta[starts-with(@property, 'og:title')]/@content
//meta[starts-with(@property, 'og:description')]/@content
//meta[starts-with(@property, 'og:type')]/@content

etc

Schema

You may wish to collect the types of various Schema on a page, so the set-up might be –


//*[@itemtype]/@itemtype

Email Addresses

Perhaps you wanted to collect email addresses from your website or websites, the Xpath might be something like –


//a[starts-with(@href, 'mailto')]

From our website, this would return the two email addresses we have in the footer on every page –

email address extracted

Embedded YouTube Videos

//iframe[contains(@src ,'www.youtube.com/embed/')]

Specific Hreflang

//link[@hreflang='en']

Specific iframe src

(//iframe/@src)[1]

Extract Links In The Body Only

The following XPath will only extract links from the body of a blog post on https://www.screamingfrog.co.uk/annual-screaming-frog-macmillan-morning-bake-off/, where the blog content is contained within the class ‘main-blog--posts_single—inside’.

//div[@class="main-blog--posts_single--inside"]//a - This will get the anchor text with ‘Extract Inner HTML’.
//div[@class="main-blog--posts_single--inside"]//a/@href - This will get the URL with ‘Extract Inner HTML’.
//div[@class="main-blog--posts_single--inside"]//a - This will get the full link code with ‘Extract HTML Element’.

Proxy

This feature (Configuration > Proxy) allows you the option to configure the SEO Spider to use a proxy server.

You will need to configure the address and port of the proxy in the configuration window. To disable the proxy server untick the ‘Use Proxy Server’ option.

Please note:

  • Only 1 proxy server can be configured
  • You must restart for your changes to take effect

Google Analytics integration

You can connect to the Google Analytics API and pull in data directly during a crawl. The SEO Spider can fetch user and session metrics, as well as goal conversions and ecommerce (transactions and revenue) data for landing pages, so you can view your top performing pages when performing a technical or content audit.

If you’re running an Adwords campaign, you can also pull in impressions, clicks, cost and conversion data and the SEO Spider will match your destination URLs against the site crawl, too. You can also collect other metrics of interest, such as Adsense data (Ad impressions, clicks revenue etc), site speed or social activity and interactions.

To set this up, start the SEO Spider and go to ‘Configuration > API Access > Google Analytics’.

google analytics configuration

Then you just need to connect to a Google account (which has access to the Analytics account you wish to query) by granting the ‘Screaming Frog SEO Spider’ app permission to access your account to retrieve the data. Google APIs use the OAuth 2.0 protocol for authentication and authorisation. The SEO Spider will remember any Google accounts you authorise within the list, so you can ‘connect’ quickly upon starting the application each time.

Google Analytics Set-up

Once you have connected, you can choose the relevant Google Analytics account, property, view, segment and date range!

Google analytics view

Then simply select the metrics that you wish to fetch! The SEO Spider currently allow you to select up to 30, which we might extend further. If you keep the number of metrics to 10 or below with a single dimension (as a rough guide), then it will generally be a single API query per 10k URLs, which makes it super quick –

Google analytics metrics

As default the SEO Spider collects the following 10 metrics –

  1. Sessions
  2. % New Sessions
  3. New Users
  4. Bounce Rate
  5. Page Views Per Pession
  6. Avg Session Duration
  7. Page Value
  8. Goal Conversion Rate
  9. Goal Completions All
  10. Goal Value All

You can read more about the definition of each metric from Google.

You can also set the dimension of each individual metric against either page path and, or landing page which are quite different (and both useful depending on your scenario & objectives).

Google Analytics Dimensions

There are scenarios where URLs in Google Analytics might not match URLs in a crawl, so we cover these by matching trailing and non-trailing slash URLs and case sensitivity (upper and lowercase characters in URLs). Google doesn’t pass the protocol (HTTP or HTTPS) via their API, so we also match this data automatically.

If you have hundreds of thousands of URLs in GA, you can choose to limit the number of URLs to query, which is by default ordered by sessions to return the top performing page data.

Google analytics settings

When you hit ‘start’ to crawl, the Google Analytics data will then be fetched and display in respective columns within the ‘Internal’ and ‘Analytics’ tabs. There’s a separate ‘Analytics’ progress bar in the top right and when this has reached 100%, crawl data will start appearing against URLs. The more URLs you query, the longer this process can take, but generally it’s extremely quick.

Google Analytics data in full

There are 3 filters currently under the ‘Analytics’ tab, which allow you to filter the Google Analytics data –

  • Sessions Above 0 – This simply means the URL in question has 1 or more sessions.
  • Bounce Rate Above 70% – This means the URL has a bounce rate over 70%, which you may wish to invesigate. In some scenarios this is normal though!
  • No GA Data – This means that for the metrics and dimensions queried, the Google API didn’t return any data for the URLs in the crawl. So the URLs either didn’t receive any visits sessions, or perhaps the URLs in the crawl are just different to those in GA for some reason.
No GA Data

As an example for our own website, we can see there is ‘no GA data’ for blog category pages and a few old blog posts, as you might expect (the query was landing page, rather than page). Remember, you may see pages appear here which are ‘noindex’ or ‘canonicalised’, unless you have ‘respect noindex‘ and ‘respect canonicals‘ ticked in the advanced configuration tab.

If GA data does not get pulled into the SEO Spider as you expected, then analyse the URLs in GA under ‘Behaviour > Site Content > All Pages’ and ‘Behaviour > Site Content > Landing Pages’ depending on which dimension you choose in your query. The URLs here need to match those in the crawl, for the data to be matched accurately. If they don’t match, then the SEO Spider won’t be able to match up the data accurately.

We recommend checking your default Google Analytics view settings (such as ‘default page’) and filters which all impact how URLs are displayed and hence matched against a crawl. If you want URLs to match up, you can often make the required amends within Google Analytics.

Google Search Console Integration

You can connect to the Google Search Analytics API and pull in data directly during a crawl. The SEO Spider can fetch impressions, clicks, CTR and position metrics from Google Search Analytics, so you can view your top performing pages when performing a technical or content audit.

To set this up, start the SEO Spider and go to ‘Configuration > API Access > Google Search Console’. Connecting to Google Search Console works in the same way as already detailed in our step by step Google Analytics integration guide.

You just need to connect to a Google account (which has access to the Search Console account you wish to query) by granting the ‘Screaming Frog SEO Spider’ app permission to access your account to retrieve the data. Google APIs use the OAuth 2.0 protocol for authentication and authorisation. The SEO Spider will remember any Google accounts you authorise within the list, so you can ‘connect’ quickly upon starting the application each time.

Once you have connected, you can choose the relevant website property, date range and dimensions!

google search console integration

By default the SEO Spider collects the following metrics –

  • Clicks
  • Impressions
  • CTR
  • Position

You can read more about the definition of each metric from Google.

There are three dimension filters, device type (desktop, tablet and mobile), a country filter and a search query filter for ‘contain’ or ‘doesn’t contain’ words, to exclude brand queries as an example.

Google Search Console dimension filter

There are 2 filters currently under the ‘Search Console’ tab, which allow you to filter the Google Search Console data

  • Clicks Above 0 – This simply means the URL in question has 1 or more clicks.
  • No GSC Data – This means that the API didn’t return any data for the URLs in the crawl. So the URLs either didn’t receive any impressions, or perhaps the URLs in the crawl are just different to those in GA for some reason.

Mode

Spider Mode

This is the default mode of the SEO Spider. In this mode the SEO Spider will crawl a web site, gathering links and classifying URLs into the various tabs and filters. Simply enter the URL of your choice and click ‘start’.

List Mode

In this mode you can check a predefined list of URLs. This list can come from a variety of sources – .txt, .xls, .xlsx, .csv or .xml files. The files will be scanned for http:// or https:// prefixed urls, all other text will be ignored. For example, you can directly upload an Adwords download and all URLs will be found automatically.

If you’re performing a site migration and wish to test URLs, we highly recommend using the ‘always follow redirects‘ configuration so the SEO Spider finds the final destination URL. The best way to view these is via the ‘redirect chains’ report.

List mode changes the crawl depth setting to zero, which means only the uploaded URLs will be checked. If you want to check links from these URLs, adjust the crawl depth to 1 or more in the ‘Limits’ tab in ‘Configuration > Spider’. List mode also sets the spider to ignore robots.txt by default, we assume if a list is being uploaded the intention is to crawl all the URLs in the list.

SERP Mode

In this mode you can upload page titles and meta descriptions directly into the SEO Spider to calculate pixel widths (and character lengths!). There is no crawling involved in this mode, so they do not need to be live on a website.

This means you can export page titles and descriptions from the SEO Spider, make bulk edits in Excel (if that’s your preference, rather than in the tool itself) and then upload them back into the tool to understand how they may appear in Google’s SERPs.

Under ‘reports’, we have a new ‘SERP Summary’ report which is in the format required to re-upload page titles and descriptions. We simply require three headers for ‘URL’, ‘Title’ and ‘Description’.

For example –

serp-snippet-upload-format

You can upload in a .txt, .csv or Excel file.

  • Like us on Facebook
  • +1 us on Google Plus
  • Connect with us on LinkedIn
  • Follow us on Twitter
  • View our RSS feed

Download.

Download

Purchase a licence.

Purchase