Spider Basic Tab
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”).
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.
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.
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.
By default the SEO Spider will extract hreflang attributes and display hreflang language and region codes and the URL under the hreflang tab.
However, the URLs found in the hreflang attributes will not be crawled, unless ‘Crawl hreflang’ is ticked.
With this setting enabled hreflang url’s will be extracted from a sitemap uploaded in list mode.
Enable this configuration for URLs discovered in the hreflang attributes to be crawled.
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
Allows you to set the rendering mode for the crawl:
- Old AJAX Crawling Scheme: Implements Google’s now deprecated AJAX Crawling Scheme.
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+
Note: If you are running a supported OS and are still unable to use rendering, it could be you are running in compatibility mode. To check this, go to your installation directory (C:\Program Files (x86)\Screaming Frog SEO Spider\) , right click on ScreamingFrogSEOSpider.exe, select Properties then the Compatibility tab and check you don’t have anything ticked under the Compatibility mode section.
Rendered Page Screen Shots
You can select various window sizes from Googlebot desktop, Googlebot mobile and various other devices.
Spider Advanced Tab
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.
This option means URLs with ‘noindex’ will not be reported in the SEO Spider.
This option means URLs which have been canonicalised to another URL, will not be reported in the SEO Spider.
This option means URLs with a rel=”prev” in the sequence, will not be reported in the SEO Spider. Only the first URL in the paginated sequence with a rel=”next” attribute will be reported.
As default the SEO Spider will wait 20 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
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.
You can download, edit and test a site’s robots.txt using the custom robots.txt feature under ‘Configuration > robots.txt > Custom’ which will override the live version on the site for the crawl. It will not update the live robots.txt on the site. This feature allows you to add multiple robots.txt at subdomain level, test directives in the SEO Spider and view URLs which are blocked or allowed.
The custom robots.txt uses the selected user-agent in the configuration.
During a crawl you can filter blocked URLs based upon the custom robots.txt (‘Response Codes > Blocked by robots.txt’) and see the matches robots.txt directive line.
Please read our featured user guide using the SEO Spider as a robots.txt tester.
Please note – As mentioned above, the changes you make to the robots.txt within the SEO Spider, do not impact your live robots.txt uploaded to your server. You can however copy and paste these into the live version manually to update your live directives.
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.
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.
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.
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.
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.
1) Changing all links to example.com to be example.co.uk
2) Making all links containing page=number to a fixed number, eg
To make all these go to www.example.com/page.php?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!
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:
in the ‘include’ feature. This would find the /search-engine-marketing/ and /search-engine-optimisation/ pages as they both have ‘search’ in them.
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:
- To exclude a sub directory or folder the syntax is:
- To exclude everything after brand where there can sometimes be other folders before:
- 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):
- If you wanted to exclude all files ending jpg, the regex would be:
- If you wanted to exclude any URI with ‘produce’ within them, the regex would be:
- Secure (https) pages would be:
- Excluding all pages on http://www.domain.com would be:
- 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:
You can also view our video guide about the exclude feature in the SEO Spider –
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 –
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.
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.
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.
The SEO Spider allows you to find anything you want in the source code of a website. The custom regex search feature will check the source code of every page you decide to crawl for what it is you wish to find. There are ten filters in total under the ‘custom’ configuration menu which allow you to input your regex and find pages that either ‘contain’ or ‘does not contain’ your chosen input. To ‘scrape’ or extract data, please use the custom extraction feature.
The pages that either do or do not contain these can be found in the ‘custom’ heading tab and using the relevant filter number which match those in your configuration. For example, you may wish to choose ‘contains’ for pages like ‘Out of Stock’ as you wish to find any pages which have this on. When searching for something like Google Analytics code, it would make more sense to choose the ‘does not contain’ filter to find pages that do not include the code (rather than just list all those that do!). For example –
In this example above, any pages with ‘out of stock’ on them would appear in the custom tab under filter 1. Any pages which the spider could not find the Analytics UA number on would be listed under filter 2.
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.
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
The data extracted is –
As default, the SEO Spider only collects h1s and h2s, but if you’d like to collect h3s, the XPath is –
And the h3s on our site are as follows –
To collect just the first h3 only, the XPath is –
To collect the first 10 h3’s on a page, the XPath would be –
/descendant::h3[position() >= 0 and position() <= 10]
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 –
The following Xpath, combined with
Extract HTML Element, will collect the contents all hreflang elements –
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:
You just need to specify the attribute using @hreflang and
Extract Inner HTML:
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:
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 –
You may wish to collect the types of various Schema on a page, so the set-up might be –
If the structured data is implemented in the JSON-LD format, regular expressions rather than XPath or CSS Selectors must be used:
Perhaps you wanted to collect email addresses from your website or websites, the Xpath might be something like –
From our website, this would return the two email addresses we have in the footer on every page –
Embedded YouTube Videos
Specific iframe src
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’.
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.
- 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’.
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.
Once you have connected, you can choose the relevant Google Analytics account, property, view, segment and date range!
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 –
As default the SEO Spider collects the following 10 metrics –
- % New Sessions
- New Users
- Bounce Rate
- Page Views Per Pession
- Avg Session Duration
- Page Value
- Goal Conversion Rate
- Goal Completions All
- Goal Value All
You can read more about the definition of each metric from Google.
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.
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.
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.
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!
By default the SEO Spider collects the following metrics –
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.
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.
The SEO Spider supports two forms of authentication, standards based which includes basic and digest authentication, and web forms based authentication.
Basic & Digest Authentication
There is no set-up required for basic and digest authentication, it is detected automatically during a crawl of a page which requires a login. If you visit the website and your browser gives you a pop-up requesting a username and password, that will be basic or digest authentication. If the login screen is contained in the page itself, this will be a web form authentication, which is discussed in the next section.
Often sites in development will also be blocked via robots.txt as well, so make sure this is not the case or use the ‘ignore robot.txt configuration‘. Then simply insert the staging site URL, crawl and a pop-up box will appear, just like it does in a web browser, asking for a username and password.
Enter your credentials and the crawl will continue as normal. You cannot pre-enter login credentials – they are entered when URLs that require authentication are crawled. This feature does not require a licence key. Try to following pages to see how authentication works in your browser, or in the SEO Spider.
- Basic Authentication Username:user Password: password
- Digest Authentication Username:user Password: password
Web Form Authentication
There are other web forms and areas which require you to login with cookies for authentication to be able to view or crawl it. The SEO Spider allows users to log in to these web forms within the SEO Spider’s built in Chromium browser, and then crawl it. This feature requires a licence to use it.
To log in, simply navigate to ‘Configuration -> Authentication’ then switch to the ‘Forms Based’ tab, click the ‘Add’ button, enter the URL for the site you want to crawl, and a browser will pop up allowing you to log in.
Please note – This is a very powerful feature, and should therefore be used responsibly. The SEO Spider clicks every link on a page; when you’re logged in that may include links to log you out, create posts, install plugins, or even delete data.
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’.
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.
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 –
You can upload in a .txt, .csv or Excel file.