liip/SEO-keywords-generator

Name: SEO-keywords-generator

Owner: Liip

Description: Keyword generator providing multiple commands in order to manage keyphrases for SEO monitoring tools such as AWRCloud

Created: 2015-11-12 15:53:53.0

Updated: 2018-01-11 02:24:46.0

Pushed: 2017-09-25 07:54:49.0

Homepage:

Size: 100

Language: Python

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Keywords generator

Introduction

The keyword generator provide multiple commands in order to generate and manage a set of keyphrases for SEO monitoring tools such as AWRCloud, the tool currently used at Liip for internal SEO. It takes an unusual yet powerful generative approach: given a list of patterns composed by keyword_placeholders, and given a list of keywords for each keyword_placeholder, the tool generates all keyphrases (= keyword combinations) corresponding to the patterns based on the keywords listed for each keyword_placeholder, accordingly to the languages associated with each keyword.

For a more basic keyword composition tool, see MergeWords.

Commands:

| Command | Description | |————–|——————————————————————————————–| | generate | Generate keywords from an input directory and save it into a file generated keyword file | | download-awr | Download keyphrases from AWR cloud into a file AWR Cloud keyword export | | compare-awr | Compare generated keywords with AWR Cloud keyword export | | upload-awr | Upload keyphrases and groups to AWR Cloud using generated keyword file |

Command synthax

To get general help on the keyword generator:

n

To know options for each commands:

n [COMMAND] --help
Installation

Download or clone the repository from github.

Then:

 python setup.py install
More information about the generate command

A short example.

Given …

A project directory with the following structure:

_DIR

patterns.csv
keyword_placeholders
+-- [placeholder_1].csv
+-- ...

patterns.csv file which lists keyphrases patterns, which are composed by keyword_placeholders separated by spaces (or plus sign for compound words). Note how patterns are attributed to one or many language (the same will go for placeholder files):

ern,languages,tag,example keyphrase
e,fr|en|de,priority-1|words-1,'web'
e organisation,en|de,priority-2|words-2,'web agentur'
e+organisation,de,priority-2|words-2,'webagentur'
nisation theme,fr,priority-2|words-2,'agence web'
e service,en|de, priority-3|words-2,'web development'
ice theme,fr,priority-3|words-2,'développement web'

A /keyword_placeholders/ folder of [PLACEHOLDER].csv files detailing the real keywords behind each placeholder (in the above defined patterns, there are three placeholders: theme, organisation, and service):

/keyword_placeholders/theme.csv:

ord,languages
fr|en
rnet,fr|en

/keyword_placeholders/organisation.csv:

ord,languages
tur,de
cy,en
ce,fr

/keyword_placeholders/service.csv:

ord,languages
gn,en|fr|de
loppement,fr
lopment,en
icklung,de

… the script will output all possible keyword combinations in the following keywords.csv file:

hrase,lang,topics,tags
ce internet,fr,organisation|theme,priority-2|words-2
ce web,fr,organisation|theme,priority-2|words-2
gn internet,fr,service|theme,priority-3|words-2
gn web,fr,service|theme,priority-3|words-2
loppement internet,fr,service|theme,priority-3|words-2
loppement web,fr,service|theme,priority-3|words-2
rnet,de|en|fr,theme,priority-1|words-1
rnet agency,en,organisation|theme,priority-2|words-2
rnet agentur,de,organisation|theme,priority-2|words-2
rnet design,de|en,service|theme,priority-3|words-2
rnet development,en,service|theme,priority-3|words-2
rnet entwicklung,de,service|theme,priority-3|words-2
rnetagentur,de,organisation|theme,priority-2|words-2
de|en|fr,theme,priority-1|words-1
agency,en,organisation|theme,priority-2|words-2
agentur,de,organisation|theme,priority-2|words-2
design,de|en,service|theme,priority-3|words-2
development,en,service|theme,priority-3|words-2
entwicklung,de,service|theme,priority-3|words-2
gentur,de,organisation|theme,priority-2|words-2
Group management
pattern groups

It is possible to attribute groups to patterns ? in our above example, we assign the 'prio-1' and 'prio-2' groups to the patterns. Multiple groups can be associated to a pattern by separating them with “|“.

Keyword groups associated during keyword upload

When uploading keyphrases to AWRCloud, keyword groups will automatically be associated to uploaded keywords.

The using the command

n upload-awr

The following groups will be created in AWRCloud:

Configuration

Store your username and password in the file [HOME_DIRECTORY]/.kwgen/config.ini using the following structure:

hentication]
name = xxx
word = yyy

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.