Kentico CMS Content in a SharePoint Search World: Creating the Kentico Content the Searchable Way

Kentico CMS Content in a SharePoint Search World: Creating the Kentico Content the Searchable Way
Virgil Carroll profile picture

By Virgil Carroll, Human Solutions Architect, Founder

Categories: Learn

The Kentico Content Management System is one of the most powerful CMS’s on the market and SharePoint 2013 search is one of the most powerful search engines as well.  Where these are extremely powerful tools, a solid search experience cannot be accomplished by great tools alone.  The first mantra for any good search experience is ‘Our content cannot suck!’.  Where this might make you laugh a little, there are not any truer words that can be spoken.  For great search, one must have content that is well formed, has solid keywords and is in a manner that a search engine can parse and deeply understand.  So what happens if you content isn’t that good?  Or you have a lot of pages but they are somewhat sparse?  Well don’t fret, because using some smart methodology you can even take content that might not be up to the task and make it highly searchable.

The Problem

One of the trends that has caused today’s search engines plenty of problems is the long page design concept.  These type of pages (like displayed below) often contain many different content concepts into a unified view to reduce the number of clicks a site visitor has to go through to find information and gain understanding.  Where this has become a very popular and usable concept, this concept struggles when applied to sites that have larger information systems (i.e. a lot of content) and require a solid search experience as well.

High Monkey homepage screenshot


To understand the issues that arise from this type of page (and really any type of page) from a search perspective, we need to dig a little deeper into how a search crawl really works.  When a crawl is performed the html of a page URL is parsed and broke down into separate components.  Most search engines (not all) will typically break the content down into its base components such as page title, metadata (set in the header of the page), content and its URL.  Once crawled many more advanced search engines are going to run the different algorithms to try and gain a deeper understanding of the page including number of instances of words, length of content, keywords identified, etc.  Once processed, this content and deeper understanding is stored in some kind of index to be accessed when someone performs a search.

So let’s say we have a Home Page and on it we are planning to display the following different types of content
-    An introduction to the company
-    2-3 featured projects
-    Brief descriptions of our services
-    Abstracts of our recent blog posts
-    Upcoming events and important news

So after we set-up this page, we crawl it with our search engine and start to test some different search terms we might use.  Now let’s say we perform a search on High Monkey.  When the search results are returned we might get something like below.  When the result shows, it gives a solid title of the page and a brief description of the page.  This result is very helpful because it would take us to the home page of the site to learn all about High Monkey (and the really awesome things we do J)…BUT now let’s perform another search such as Latest Blogs.  Can you guess what you would see now?  If you guessed the same exact screenshot below, then you would be correct.  So what is the problem with this?  Well it should be apparent in the content below.  First, there is nothing in the content that even indicates this page includes anything about latest blogs, therefore if a person is trying to find latest blogs, why would they click on this link?  Second, even if a person did click on this link, where do you think they would land on the page?  If you said the top of the page, then you would be correct.  Why is this a problem?  Because on most screens, just seeing the top of the page will also give you no indication that blogs even exist on the page.  Thus we have now created a search result, which where it may go to the right place, gives no solid indication it’s the right place and when you visit the page, you don’t see the information you were looking for on the screen.  Is this problem making sense?

High Monkey Search Results Page

The Solution

So since we have now shown how these pages’ work and the problems they create from a search perspective, we can take this information and develop a strategy to build these pages in a smarter way that is going to provide better searchable content down the road.

Adding structure

One of the solid ways we have tackled this problem in our projects is to add more definable structure to the pages we create.  This is one of the great opportunities of a powerful system such as the Kentico CMS.  With this system you can easily define page structures based on sub-components of content to better segment information.

In the example below, instead of having a single Home page with all content defined on it, we break the various sections described above into a child structure below the page itself.  The benefit of this is now we can manage these individual content components and crawl separately to gain a ‘separate’ understanding of each content chunk on a page.

High Monkey Page Rollup example

So how do we then display this content in one unified page?  Well that is actually the easy part.  Using the power of the Kentico CMS we can use such controls as  Repeaters or Hierarchal Viewer web parts to roll-up the sub content and view on the home page as a unified page.

Kentico Web Part Properties screenshot

Side Note: I want to mention this page development methodology is not only useful from a search perspective, but overall from a page management perspective.  Not only can you better define chunks of types of content, but you can also give your content contributors a much richer experience to design pages in, yet also maintain a higher level of control on the architecture and page make-up.  Much like enabling the widget framework in Kentico, think of these structures as more of a super-widget level.  You can control how content is organized on the page, the different fields that need to be filled out and limit what a page editor can and cannot add or edit.  This is overall a very powerful way to manage large information architectures (something we do a lot) and give your page editors flexibility yet also clarity around what they are doing.

Once you have your structure in place, you can easily build a transformation for your Repeater control that can easily display the sub content as one unified page.  So you have accomplished two things: First, you have created a separated, highly manageable sub-page structure that can be ‘understood’ as separate pieces of content by search and Second, you have combine them together with Kentico so they show as a single, unified page to visitors.

Kentico Transformation properties screenshot

Adding metadata

Now that we have created a solid ‘component’ page structure, we are ready for top notch search, correct?  Well not quite, so let’s evaluate this a bit further.  An additional part of making search work well is by utilizing a solid metadata strategy to assist in other findability situations such as people who may not know the exact topic they are looking for, and hence need some additional assistance. By simply adding metadata to each piece of content you are able to give your visitors an expanded search opportunity to better fit the mistakes we make. Whether it be adding common misspellings for a piece of content or by adding relationships to other content, adding metadata to your site’s content helps to improve your sites searchability.

One of the biggest advantages you can bring to the table with solid metadata is the ability to use ‘refiners’ to assist in getting to the information you need.  Much like the image below, refiners can help you narrow down search results when you don’t get the results you were hoping to get.  Where that could be seen as a symptom of bad search (and it often is), this can also occur because the visitor is just not that familiar with the content of your site and need extra assistance to get to the specific information they are seeking.  Displaying a solid set of refiners based off good metadata (like the image below) can help increase the success rate of your visitors greatly.

Screenshot of High Monkey Search page

Where adding metadata can be a very powerful tool, this can also be very dangerous for website owners to tackle.  Why?  I have seen both sides of a very bad coin.  First, you have some people that will tend to over-simplify and create only a small subset of metadata to use.  Where this can be a great place to start, it can also cause a lot of problems when you have a lot of content that is all ‘tagged’ the same.  If you are trying to narrow down 100 results and click on a refiner that is tagged on 99 items, this becomes very un-helpful.  Where on the other side, if you create too many categories and get the same 100 results and 99 of them are tagged differently, you are going to give people too many choices in which to make their decision.  Individual metadata strategies really come down to your individual organizational needs and visitor requirements, but overall you should always look at this through the eyes of how a visitor might find information on your site.  Give them too few options and they will fail, too many and they will fail.  Find a decent balance between those two and you will probably find the right mix for success.

Screenshot of kentico high monkey blog form

Another advantage of metadata provides is related keywords and phrases that can be searched to return relevant search results.  A good example of this would be if you were searching on the phrase ‘Kentico’ you might return results that specifically have that word in its title or content.  What happens if instead of searching ‘Kentico’, instead you search ‘Content Management’?  Would you expect to see the same results on the site?  Where you may not, a visitor most likely would.  This is another common issue that comes up often in search and besides metadata providing refiners where people can ‘refine’ their results, they may actually use other terms that once understood you can attach to results to increase their relevance.

These concepts together is why metadata is another critical component in the successful search chain.

Summary

Well we went through a lot of concepts here, but overall the point of this blog post comes down to this.  Good search takes good content.  Good content takes good understanding of your audiences, page structure, how they search and the related keywords they might use.  What’s it take to figure that all out?  TIME.  Sorry I wish I could tell you there was some quick fix.  Some silver bullet that would do this all for you, but in all my years of experience nothing has ever beaten getting your hands dirty, learning what your visitors are really looking for and then applying that to your overall content approach.