Semantic Technology for Global SEO Part 2

As explained in the first blog entry, our first idea how to code the use case one wasn’t the best one. So this blog will describe the new implemented idea of the API of use case one. Furthermore the implementation of use case 2 and the user interfaces of the two cases.

Initial situation use case 1

As the strategy described in the first blog wasn’t the best way to receive related words, we use dc:subject in the ldpath (f.e. (.|dc:subject)/^dc:subject;) . So we don’t want to go up and down in the hierarchy but use the horizontal way. We also want to include more resources than dbpedia. In order to receive the right languages we will create our own indices from dbpedia in different languages. Furthermore an Test-User-Interface has been implemented

Strategy use case 1

The new strategy of the API works with Entities and Subjects. To receive related keywords from this API the following steps have to be implemented.

  1. The API  calls the stanbol-API-site: /entityhub/site/{index}/find for all Indices which include the given language and selects the relevant URLs from the response.
  2. The API calls the stanbol-API-site: /entityhub/site/{index}/ldpath with the ldpath urls=(.|dc:subject)/^dc:subject;.
  3. The keywords are filtered from all saved urls.
  4. Tuning Categories which aren’t related to the keyword, have to be eliminated, as far as possible. In the keyword-API are three possibilities to improve the results.
  • double values are removed
  • wrong characters/words and numbers are removed
  • an Ini-file for tuning the result has been included
  • more indices has been included/created (dbpedia indices have been created in the languages: af, an, ar, az, ba, be, bg, bn,br, bs, ca,cs,cv,cy, da, de, el, es, en,eo, et,fa, fi, fr,gl, id, it, hr, lt, lv, ms, my, nl, no, pl, pt, ro, ru, sh, sk, sl, th,uk,vi,zh

User interface use case 1

The Interface for the first Use Case is available under:

Semantic Technology for Global SEO_1

As the User should be guided through the sementic-keyword-test-application , there is only a drop down menu in order to select the search engine and two input fields displayed at the first step.
To only analyze a single keyword, the user has to state a keyword in the right input field and click “check keyword”.

It’s also possible to first analyze an url and afterwards check the analyzed keywords for related keywords and their Search Volume, Competition and Potential.

In order to do this, the User enters an URL and presses the Analyze URL – Button. Afterwards the result-data is displayed below the url-inputfield. (See screenshot below (here the url has been used))

Semantic Technology for Global SEO_2

When clicking on one keyword in the table, the keyword is send to the keyword-api and related keywords are received. These keywords will be analyzed and displayed below the keyword-input field. (See screenshot below -> example keyword europa)

Semantic Technology for Global SEO_3

When clicking on another keyword in the left table, the analyzed words will be added on the right table.

Initial situation use case 2

In the second use case it should be possible to categorize a set of keywords. Also here an Test-User-Interface should be implemented.

Strategy use case 2

To receive related categories which refer to many keywords, the keyword-API has been extended. To receive categories from this keyword-API the following steps have have been implemented.

  1. The API calls for each keyword,given from the user or other applications, the Stanbol-API: /entityhub/site/{index}/find and selects the relevant URLs from this response.
  2. Afterwards the API calls the site /entityhub/site/{index}/ldpath with the ldpath: category=dc:subject::xsd:anyURI;  and selects relevant URLs.
  3. Then the API calls, with all found URLs from the step before, the site: entityhub/site/{index}/ldpath with ldpath: skos:broader=(skos:broader|^skos:narrower); and selects further URLs which include categories. How often this point will be repeated is defined in an ini file.
  4. Points are given depending on the level the categories are found. As lower levels describe the keyword better than uppers they receive more points. Points=1/level^2 . If it’s found in step 1 or 2 it receives one point
  5. Afterwards all found categories are saved in one array with their points. If one category is already in the list, the points are added to the points.
  6. As the number of found main-categories should be limited and this limit should depend on the number of keywords, that size will be calculated and saved in the variable xsize.(min 1 – max 20)
  7. Afterwards the categories with the most points are filtered. (How many categories will be filtered is defined in xsize)
  8. The keywords will be added to the categories found in the point before. But one keyword will only be added to one of the main categories. If the keyword doesn’t refer to a main category, it will be added to “uncategorized”.
  9. Then the array with the maincategories and their keywords will be returned json encoded.
  10. The “Tuning-points” pointed at the strategy for use case are also used in this use case.

User interface use case 2

The User Interface for the second Use Case is available at:

Semantic Technology for Global SEO_4

In order to guide the User through the sementic-keyword-test-application (printed above), there is only a drop down menu, in order to select the search engine, and a field to enter a list of keywords displayed at the first step. The keywords should be entered one keyword per line, as it could be seen in the next picture.

Semantic Technology for Global SEO_5

After pressing the Button “Group Keyword” a request is send to the Keyword-API. With the  the language from the searchengine-dropdown-field and the keywords given in the textarea as parameters.
As soon as data is received from the keyword-api,  the next grid is displayed:

Semantic Technology for Global SEO_6

In the right grid, the categories are displayed and the number of keywords, which refer to the category.
When  double-clicking on a topic, the last grid is displayed.

Semantic Technology for Global SEO_7

This grid, displays all keywords which refer to the topic.


So we demonstrated, that Stanbol is a good technology for our use cases. It’s possible to find related keywords and categorize keywords with the coded API in combination with Stanbol. Further steps will be to add further Indizes as we expect better results with them.

Author: Wernher

Wernher Behrendt is senior researcher at Salzburg Research and the coordinator of the IKS project

Comments are closed.