What are data points and how do I define them?
Data points are reoccurring information within your website's content. If you're running a blog the data points could be the author's name and the publishing date. If you're running a small Woocommerce online shop with a handful of products the price of each product could be a data point.
When you define data points for your website via the SS360 control panel, the SS360 crawlers can pick up these data points while indexing your website and transform them into structured data to be displayed in your result snippets or to be turned into a sorting option across your search results.
When looking at today.com, for example, you can see that their Health&Wellness posts always show the author of the article and the publishing date below the headline. With the data point feature it's easy to extract this information from each article to generate a richer result snippet, making it possible for the user to easily see who wrote a specific result article or to sort the results by publishing date.
Global Data Points vs. Content Group Data Points
The easiest and most straightforward way to integrate data points into your search is to define them globally. Visit "Indexing Control > Content Groups" in the SS360 control panel.
There you find in the top part of the page the global settings for data points.
Just hit the "Add Data Point" button to add your first global data point by filling out the template. Your settings may look something like this:
You can define text data points or numeric data points. Text data points are for displaying information within each search result, numeric data points can be used in the same way or they can be made into a sorting option (e.g. the publishing date, price, quantities, weight values, etc.).
The settings above are as follows:
- Name: define a name for the data point. This name will be shown left of the data point.
- XPath: you must enter a valid XPath expression to point the crawler to the element which contains the data point. Let's say you want to add an author filter. In this case, you would set "Name" to "Author" and then set the XPath to the DOM element containing the author's name. Every DOM element on your site described by this XPath will be analyzed and the information it contains will be extracted as a data point for this page. You may also point the crawler to numeric information, such as date, weight, or price. The SS360 crawler will automatically recognize that the data point is numeric and will extract the numeric value. This way you can define a data point as a sorting option, an example of which will be shown later.
- Show: this box should be selected if you want SS360 to display this data point in the search result, regardless of whether you want to show a text value or a numeric value.
- Single: the XPath you provide could match multiple nodes on the page. Select this box to only pick the content from the first node determined by the XPath (this box should be checked by default).
- Sort: check this box to let the engine generate a sorting option for this data point. This only makes sense if the data point holds a numeric value, otherwise sorting won't work.
Don't forget to hit the save button below the data point to save your configuration.
Important: you have to re-index your entire site to see the new data points.
More data points
Let's extend the example from before and add a numeric data point to display in the search results and to use as a sorting option.
As you can see, we added two new data points with the same XPath. The XPath points to the publishing date of each article on today.com:
The publishing date is found on every article in the top right corner directly below the headline. The XPath chosen here extracts it directly from a meta attribute, which is part of the schema.org definition.
SS360 extracts this date twice and uses it in two different ways:
- In the first setting the XPath is used as a sorting option called "Publishing date".
In this case, the three options are configured in the following way:
- "Show" is deselected since we don't want the date to be displayed in the search result.
- The option "Single" is selected because, as explained earlier, we only want to extract the first result this XPath expression is giving back.
- "Sort" is selected since we want this data point to be a sorting option. When selected, you have the option to sort descending or ascending.
- The second setting is configured to display the date directly under the "Author" data point in the search result.
To achieve this, the three options are configured as follows:
- "Show" is selected since the numeric value should be shown directly in the search result.
- The "Single" option is still selected since this is only regarding extraction. We still want to get the data from the first node if multiple nodes are found with the XPath expression.
- The "Sort" option is deselected.
By adding two data points that get their information from the same XPath expression from the same node you can create both a sorting option and a richer search snippet with additional information.
Below the data points we just defined you will see the option "Default Sorting". You now may choose to select your new numeric data point "Publishing date" as a default sorting option to show the newest article first in the search results.
When does it make sense to deselect the "Single" option?
If you have multiple values you want to show within each search result, you may define one XPath to extract all nodes relevant for this information and leave the "Single" option deselected. Let's look at an example on today.com when visiting the "Food" category. There you find many recipes for different dishes each with an ingredient list.
Content Group Data Points
Since only recipes have ingredient lists, it makes no sense to define the data point for ingredients globally as the XPath should only match pages within the food category. Because of this, we should define a content group. To learn how to do this you can refer to our content group tutorial.
After we have created the content group, we can add a data point exclusively for this content group.
Each data point consists of a name--"Ingredients" in this case--and an XPath pointing to the desired content--in this case, the ingredient list.
Please note the "Single" option is deselected in order to catch every ingredient.
When searching now for a recipe like "Z'paghetti Bolognese" we will find the ingredients listed directly in the search result:
This can be tuned as much as you want, using whatever data points you have on your site. You may even place hidden tables or other elements to hold data not visible to the user, but extractable by the crawler, which will then be included in the search results.
Don't forget to re-index your entire site to let the changes take effect.
Show Data Points in Search SuggestionsYou can select which data points you want to show in your search suggestions. To do so you have to configure your
object and add the
property to you
configuration (for v10 and older,
should be a direct child of
). For example, let us assume that you want the data point "Author" to be shown in your suggestions. You would configure this as follows:
The name between the # has to exactly match the data point name and it will be replaced with its value.
Starting with the Site Search 360 v11 you can also define a mapping of data point keys to
. All matching
s will be added to your search suggestions, and the other ones will be simply ignored. Let's assume that you want to show the "Category" and "Price" with an € sign. When using the
option, the '€' would still be shown for suggestions without this data point, fortunately the
configuration solves this:
Data points and API usage
When you use the SS360 HTTP REST API you can send data points within each uploaded page.
Use the structuredData array to send the objects of the data point within each page. You have to place a JSON object for each data point into the array. The data point JSON object must define the name, such as "Author" or "Publishing Date", and the corresponding value for this page.
Anything still unclear? Please get in touch with us to help you via email (mail [at] sitesearch360.com), Gitter, or our chat widget on the main site.