SE::Google::Position - Checking website positions by keywords in Google
Overview of the scraper
Scraper for checking website positions by keywords in Google. Thanks to the SE::Google::Position scraper, you can automatically check positions in Google SERP using your own domain databases. Using the SE::Google::Position scraper, you can easily, accurately, and quickly determine the site's position in Google.
A-Parser's functionality allows you to save the parsing settings of the SE::Google::Position scraper for future use (presets), ), set a parsing schedule, and much more. You can use automatic substitution of subqueries from files.
Results can be saved in the form and structure you need, thanks to the built-in powerful templating engine Template Toolkit which allows applying additional logic to the results and outputting data in various formats, including JSON, SQL and CSV.
Scraper application cases
🔗 Working with API, part 1
Example of working with the A-Parser API using the SE::Google::Position position scraper
🔗 Another example of SE::Google::Position operation
Determining the site position by key, as in the user's browser
🔗 Overview of presentation options
The article discusses 4 different options for presenting the result: text, CSV, JSON, HTML
🔗 How to find positions by keys?
Getting acquainted with the SE::Google::Position scraper and checking the rank of a keyword in the search results
Collected data
- Site position and link to the site page
- List of all site positions and links to pages

Capabilities
- All features of the scraper
SE::Google - Automatically stops scraping when a site is found
- Supports subdomain search
- Ability to compare the desired position by domain, by top-level domain, and by full link (Exact domain / Top level domain / Exact url)
- Collecting positions for multiple domains at once
Use cases
- Checking the positions of your own sites and competitor sites
- Searching for traffic pages of a site
Queries
As queries, you need to specify the domain of the desired site and the search query separated by a space, for example:
lenta.ru news
lenta.ru online news
If you need to check one site against a list of queries, you can specify the domain in the query format (Query format):
lenta.ru $query
Or just use a list of keywords. To use several domains in one query, you need to specify a list of domains separated by commas and the keyword separated by a space, for example:
lenta.ru,ria.ru,notfound.com news feed
The results will be written to the array $bulkcheck.
The option Stop when found is also supported; parsing will end if positions are found for all domains.
Query substitutions
You can use built-in macros for automatic substitution of subqueries from files. For example, if we want to check sites/a site against a keyword database, we will specify several main queries:
ria.ru
lenta.ru
rbc.ru
yandex.ru
In the query format, we specify the macro for substituting additional words from the file. Keywords.txt, This method allows you to check a database of sites against a database of keys and get the positions as a result:
$query {subs:Keywords}
This macro will create the same number of additional queries as there are in the file for each initial search query, which in total will give [number of initial queries (domains)] x [number of queries in the Keywords file] = [ total number of queries] as a result of the macro's work.
Output results examples
A-Parser supports flexible result formatting thanks to the built-in templating engine Template Toolkit, which allows it to output results in an arbitrary form, as well as in a structured form, such as CSV or JSON
Exporting the list of positions
Getting the result in the form:
searched domain - key: position number in the SERP
Result format:
$domain - $key: $position\n
Example result:
lenta.ru - news: 6
lenta.ru - online news: 7
...
Simultaneous checking of several domains (bulk check)
Information on all domains when checking several domains simultaneously is contained in the array $bulkcheck.
Result format:
$bulkcheck.format('$domain - $position\n')
Example query:
lenta.ru,ria.ru,notfound.com news feed
Example result:
lenta.ru - 1
ria.ru - 3
notfound.com - 0
Links + anchors + snippets with position output
Outputting links, anchors, and snippets to a CSV table
Saving related keywords
Keyword competition
Checking link indexation
Saving in SQL format
Dumping results to JSON
Results processing
A-Parser allows processing results directly during scraping; in this section, we have presented the most popular use cases for the SE::Google::Position scraper
Saving domains without zero positions
The example of simultaneous checking of several domains (see above in the output options) was taken as a basis and a filter was added.
Add a filter and select the position output variable from the drop-down list. Select the type: >. Next, you need to write 0 in the Number. With this filter, you can remove all results with a zero position.
Download example
How to import an example into A-Parser
eJx1VNtu2zAM/RVDCNAVyIJ2a4HBDwPSYhk2ZE3Wy1OaB9WiUy2y6Ely2szwv4+S
ZTvtuhdZJA/Jw4tcM8ft1i4NWHCWpaualeHOUnbzJU2/Im4UpOkSrXQSdfI+ueE7
SAQWXGqbPEn3iJVLePIHDCZlhLExK7mxYHzI1ZuRCCIg55VybFwzty+BUuIOjJEC
yCgFyTmagjsiFGBsx1XlYaOHSm2zR8i2kxbx7mjUMiJ+o47E/b0+OmbN/6NXFkqD
z/shcs6VhQOPXCoHhuyRQrpifWpfY1fLehyht63f5wOyJ3THMsBSZkFb1qzXXUQ7
C/x9TeXpJLa+N/pW32LLAwb1jKQrXoROCO7AW7tGHE/cs4/AhQjUuGoz+EEMWe+0
/B3IaSQsXY0EOzNYkMpBCOCV+47dio2C7Autgu/P1ie2bMwsUZ1xIiJeWyS1hTs0
i9AD0tcM9VSpOexADbAQ/6KSStDWTHNy+hYd34Ys/onR9OUdpqKZPxni0EcJ0sXi
x+AlcI4bqlw8UN1KFtKRbC+x0i7ObwtQ9j278j0r0ECfJkaO2ekxlaD9gg0jm5aD
6kUZL8byUpmhzuVmEZe2Q1b6ll7sQl9iUSrwdelKqbFf5uthPaY2jsELA8HXzpch
hS+9e4rMISr7/aalWhpJ63fuCRbUycOsMWTGlbq7nh9a2LBSJCjQjk9MNTYyfDS6
nDorJhkWyX11cvZRhBPC+WG4n52Gs9V8aqEP4Twf3KLZzyijl7BB2lHqU7Puf0D9
r61++zeU1g2twC+7bOG+Xx5MOmq8DYjT5i+HCcki
See also: Result filters
Link deduplication
Link deduplication by domain
Extracting domains
Removing tags from anchors and snippets
Filtering links by inclusion
Possible settings
Supports all settings of the scraper
SE::Google, as well as additionally:
| Parameter Name | Default Value | Description |
|---|---|---|
| Pages count | 1 | Number of SERP parsing pages (from 1 to 10) |
| Result format | $domain - $key: $position\n | Default result output format |
| Stop when found | ☑ | Stop parsing if a domain is found; will not go to subsequent pages |
| Match type | Exact domain | Ability to compare the desired position by domain, by top-level domain, and by full link (Exact domain / Top level domain / Exact url) |