Skip to main content

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

Collected data

  • Site position and link to the site page
  • List of all site positions and links to pages
Collected data

Capabilities

  • All features of the scraper SE::GoogleSE::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

Same as in SE::Google.

Same as in SE::Google.

Same as in SE::Google.

Keyword competition

Same as in SE::Google.

Checking link indexation

Same as in SE::Google.

Saving in SQL format

Same as in SE::Google.

Dumping results to JSON

Same as in SE::Google.

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
tip

See also: Result filters

Same as in SE::Google.

Same as in SE::Google.

Extracting domains

Same as in SE::Google.

Removing tags from anchors and snippets

Same as in SE::Google.

Same as in SE::Google.

Possible settings

Supports all settings of the scraper SE::GoogleSE::Google, as well as additionally:

Parameter NameDefault ValueDescription
Pages count1Number of SERP parsing pages (from 1 to 10)
Result format$domain - $key: $position\nDefault result output format
Stop when foundStop parsing if a domain is found; will not go to subsequent pages
Match typeExact domainAbility to compare the desired position by domain, by top-level domain, and by full link (Exact domain / Top level domain / Exact url)