Microsys
  

Integrate Online Search Engine and Keyword Tools

Integrate and add more search engines and keyword suggestion tools into A1 Keyword Research.

Add SEO and PPC Tools to A1 Keyword Research

A1 Keyword Research can integrate its functionality with many keyword suggestion and search engine optmization tools. You can add support for new SEM, SEO and keyword tools.

  • Location and usage:
    • Configuration files for website, keyword etc. tools are located in file directory: "%AppUserDataDir%\data\position-checks".
    • A good way to learn more is to open and view the files located in the above directory.
    • For new configuration files to become available, you may need to restart A1 Keyword Research.

  • How it works:
    • You define an config file to specify how to query a website / address.
    • You define a regex file to specify how to parse the retrieved content.
    • See below for an example of myEngineConfig.ini and myEngineRegex.rex.

  • Advanced usage:
    • You define an config include file. These files can be included by normal config files.
    • When the program loads a config file into memory, the content of any config include file is appended.
    • Many engines have localized versions that can share the same regex and config include files.

  • File naming conventions:
    • File service types:
      • Keyword suggestion: Files start with "suggest--".
      • Website position: Files start with "position--".
    • File setup types:
      • Config files: File extension is ".ini".
      • Config include files: File extension is ".inc".
      • Regex files: File extension is ".rex".


myEngineConfig.ini
- documentation and example

For all configuration files, you can define address, results per page, how deep to scan, wait time between queries etc.
(The program does enforce some limits to help prevent excessive overuse.)

If some options have not been set, defaults will be used. Depending on the tool using the configuration file, e.g. position checking or keyword suggestion, not all match options are used.
Field (=) Value (demonstration values listed here) Description
meta__name_short name example short name shown in program
meta__name_long long name example long name shown in program
search__kind generic_parser uses HTTP GET requests to online services and APIs
 
search__url http://search.example.com/results.aspx Simple style:
Generates URLs by appending query names and values based on options set.
 
http://search.example.com/results/q=@search__q_var_f@/ Template style:
Generates URLs using search__q_var_? to insert and replace query values.
 
Template style generated URLs
search__url_tmpl_var @ Symbol to use if you choose to construct query URLs by having query tool replace @search__q_var_?@ with approriate values.
 
@search__q_var_f@ = query text
@search__q_var_c@ = results count
@search__q_var_s@ = results start
Using the @search__q_var_?@ system can sometimes make it easier to construct the query URLs. Typical case is if the search URLs do not contain any query component, i.e. ?.
 
Simple style generated URLs
search__q_var_f q "query" (a.k.a. search/find) parameter
search__q_var_c c results "count" per page parameter
search__q_var_s s start query results from "start" parameter
 
 
Note: Above is rarely useful if using the search__url_tmpl_var template construct
 
Simple style generated URLs
search__q_input_before datacenter=en& insert before "query" related parameters
search__q_input_after
 
add after "query" related parameters
 
 
Note: Above is rarely useful if using the search__url_tmpl_var template construct
 
Options controling query tool
search__q_start 1 the number this engine considers first "start" result
search__q_start_default 1 the number this engine considers default "start" result
search__q_pp_sa 100 with (next) result page, add value to "start"
search__q_items 100 search results on each page
search__q_pages 2 search result pages to check
 
search__limit_depth_total 1000 max number of positions requested data for
search__limit_connect_timeout 10000 max miliseconds before connection attempt timeout
search__limit_read_timeout 10000 max miliseconds before read download timeout
search__limit_connect_tries 1 max number of connection tries
 
search__idle_lo_s 0800 minimum time before next result page (miliseconds)
search__idle_lo_e 1600 maximum time before next result page (miliseconds)
search__idle_hi_s 1200 minimum time before next search query (miliseconds)
search__idle_hi_e 2000 maximum time before next search query (miliseconds)
 
config__include_file myConfigInclude.inc file containing configuration, usually shared
extract__rex_file myEngineRegex.rex file containing regular expressions used to extract data
search__ua_file myUserAgents.txt file containing user agent string(s) to use
 
extract__match_url 2 match parenthesis in regex for "url"
extract__match_title 3 match parenthesis in regex for "title"
extract__match_desc -1 match parenthesis in regex for "description"
extract__match_count_searches -1 match parenthesis in regex for "searches count"
extract__match_count_scores -1 match parenthesis in regex for "scores count"
 
clean__decode__match_url 1 0 = no decode. 1 = normal decode.
 
suggest__clean__match_title false clean "title part" (only used when suggesting phrases)


myEngineRegex.rex
- documentation and example

These files contain regular expressions used for matching.

Some stuff is automatically handled in A1 Keyword Research. You do not need to worry about:
  • Case sensitivity.
  • HTML comments.
  • HTML new-lines - all converted to spaces.
  • HTML white-spaces - superfluous white-spaces removed.
  • HTML embedded inside shown website title.
  • All lines in .rex files are left + right trimmed for white-spaces.

Recommended books:
  • Regular Expressions in 10 Minutes, Ben Forta
  • Mastering Regular Expressions, Jeffrey E. F Friedl

Quick example of regular expression:
<li([\s]class="fromsite")?><h3>
<a href="([^"]*)">(.*?)</a>
</h3><p>
A1 Keyword Research
A1 Keyword Research | help | previous | next
Complete PPC and SEO keywords toolset. Position check including history, analyze competition, analyze keyword density and content, organize and combine keyword lists and much more.
This help page is maintained by
As one of the lead developers, his hands have touched most of the code in the software from Microsys. If you email any questions, chances are that he will be the one answering.
Share this page with friends   LinkedIn   Twitter   Facebook   Pinterest   YouTube  
 © Copyright 1997-2024 Microsys

 Usage of this website constitutes an accept of our legal, privacy policy and cookies information.