Escolar Documentos
Profissional Documentos
Cultura Documentos
nonlin
nonlinear
nonlinear digital
nonlin
nonlinear digital digi
nonlinear enterprise
nonlin
nonlinear enterprise enterp
sitecore:
the nonlinear way
Copyright © 2014 non-linear creations inc.
All rights reserved
nonlinear creations
Toronto | New York | São Paulo | Ottawa | Calgary | Florianópolis
www.nonlinearcreations.com
table of contents
i | introduction
chapter 1: marketing
1 |
3 |
Driving return on investment (ROI) from
your Sitecore deployment
7 |
Three warning signs to be aware of during a Sitecore
implementation
9 |
Accessing Sitecore analytics with Microsoft BI tools
table of contents | C
22 | Sitecore DMS and Google Analytics: Three very good
reasons to integrate
59 | chapter 2: technology
113 | authors
The nonlinear team includes 5 Sitecore MVPs — more than any other Sitecore partner
— and holds all 6 of Sitecore’s coveted specialization designations. In other words,
we’re a company who knows their Sitecore. Wondering what drives Sitecore’s suc-
cess? This is a good place to start.
How it works
This book is meant to be a living document. It’s a selection of entries from our ongoing
online publication series, nonlinear thinking. It’s printed digitally and updated with
new content on a regular basis. The easiest way to stay up to date is to follow us at
one or more of the following:
@nonlinear_tweet
+nonlinearcreations
www.linkedin.com/company/non-linear-creations-nlc
We’ve divided the book into two sections: marketing and technology
• Articles in the marketing section address issues ranging from the statistical
validity of Sitecore A/B tests to recovering organic search traffic after a botched
relaunch.
• Technology articles provide specific advice, often in detailed how-tos based on
our real world experience, for Sitecore developers
ii | www.nonlinearcreations.com
chapter 1: marketing
Driving return on
investment (ROI) from
your Sitecore deployment
Molly Anglin
Vice President, nonlinear digital
The biggest challenge for today’s digital marketer is the ability to demonstrate
how their digital tools can provide real value to a company, beyond eye catching
graphics, follower counts and impressions per click. Turning those buzzwords into
measurable benefits that drive business strategy decisions is key; your website’s con-
tent management system is no exception. Proving to the C-Suite that an investment
into a product like Sitecore has the ability to transform your web presence and spur a
marked increase in sales and conversion rates is a constant battle. Here are five points
to get you started:
4 | www.nonlinearcreations.com
3. Embarking on a vertical adoption
strategy
Seth Gottleib recently published his thoughts on CMS adoption, focusing on
the idea that while widespread adoption is often held up as a measure of success
in software development projects, decentralized publishing by large groups of auth-
ors doesn’t necessarily equate to a “good” website. Instead of the methodology he
refers to as “horizontal adoption,” he points out that “vertical adoption” — essen-
tially, the increased capacity by a smaller web team to understand and make use
of the higher-level marketing functions available in today’s more advanced content
experience management platforms — is key to driving value from the investment. If
all you’re doing is tweaking and publishing content, Sitecore is likely not the prod-
uct for you.
However, if you do intend to make use of the whole Sitecore solution—the con-
tent management system and digital marketing system combined — some extremely
powerful, measurable financial gains can be achieved. Tracking and acting upon
engagement metrics, centralizing cross-channel performance data within the prod-
uct, and using this information to optimize your site(s) really works, as explored
in Sitecore’s whitepaper, Marketing Gold: Connecting Integrated Multichannel
Marketing with Business Growth.
These five considerations are a good start to begin creating a strong case for invest-
ment in a CMS solution like Sitecore. Once your organization has decided on a
deployment, the next step is finding the right partner. When you come to that step,
reach out to our nonlinear digital team and we’ll get you started.
6 | www.nonlinearcreations.com
Three warning signs to be
aware of during a Sitecore
implementation
Glen McInnis
VP, delivery
Finding just the right balance between an agile-inspired project that involves
constant, deliberate reincarnation and a miscommunicated one that suffers from
a lack of vision is a more difficult task than you might think. Undertaking a large
Sitecore project is both a lengthy and costly endeavor that no one on the team
wants to be the one responsible for slowing down.
8 | www.nonlinearcreations.com
Accessing Sitecore
analytics with Microsoft BI
tools
Glen McInnis
VP Technology, Sitecore MVP
The challenge with most data analytics packages is how to best expose the wealth of
information to the marketers and owners of a site. While pre-built reports can pro-
vide an overview of user behaviour, any true insight will require a certain amount of
drilling down into the data. This chapter will give you the ability to capture Sitecore
DMS analytics using familiar Microsoft BI tools.
Introduction
We are going to start with the most familiar Microsoft BI tool — Excel. By enabling
the Power Pivot add-on for Excel, our boring spreadsheet becomes a powerful data
analysis tool.
Importing data
The first step is to connect Power Pivot to your analytics database. For the sake of
simplicity at this stage, you will want to import all tables. The result in Power Pivot will
be a tab for each table in the database. In the following screen capture you can see
10 | www.nonlinearcreations.com
To make the final experience even easier we can also introduce a lookup table called
TimePeriods.
Graphing visits
Now that we have nice clean data, a Pivot Chart with Slicer for Item Language and
Country allows a user to look at visits over a set of months and segment by country
of the user and the language of content accessed.
12 | www.nonlinearcreations.com
Eliminating cart
abandonment with Big
Data and Sitecore DMS
Glen McInnis
VP Technology, Sitecore MVP
The most popular Big Data case studies: HP using it to identify high value employ-
ees at risk of quitting or Chase identifying customers about to jump ship for another
bank, evoke justifiable excitement from companies in every industry.
The catch is that most organizations lack the skilled people needed to tap into this
potential. The job title of data scientist is the most recent moniker applied to these
seemingly mythical creatures, but don’t despair. Instead of spending your days on a
quest for a fairy tale character, build on the team you have and start small.
Eliminating cart abandonment with Big Data and Sitecore DMS | 13
Fixing the abandoned shopping cart issue
Imagine this: you are looking to reduce the rate of abandonment for a conver-
sion flow like a shopping cart. Ideally, addressed the issue of increasing conversion,
and have already A/B tested the experience, exhausting all major opportunities for
improvement. It’s your hope that if you can further segment the audience, you’ll be
able to glean more precise insights from the data.
This kind of analysis requires combining the data from three sources: the DMS, a CRM
database and your finance tool (while this may sound complicated, don’t worry—we
aren’t going to recommend you to go buy Hadoop!). The good news is that the tech-
nical members of your team probably already have access to the great ETL and OLAP
tools in the SQL Server or Oracle database platforms that are running your Sitecore
solution. Once you have that data, the analysis of it can be accomplished using trad-
itional BI tools or in many cases, Excel with Power Pivot.
Back to our example: once your data and business analysts start to segment the cart
abandonment, it is discovered that one sub-group of users is largely responsible.
This abandonment happens once the shipping address is entered and the total cost
of the order is displayed. We know that these users fit the DMS persona of “Casual
Shopper,” place an average of two orders per year, have an average order size of $100
and almost never return a purchase.
14 | www.nonlinearcreations.com
It’s easier than you think
All this to say, a small team of professionals can offer the same benefit as the myth-
ical data scientist; you just need to set aside the time for these people to create that
common ground and to put in place some basic tool skills:
• Software developers will need working knowledge of the ETL, OLAP technolo-
gies embedded in SQL Server or Oracle
• Data and business analyst will need working knowledge of BI tools like those
found in Microsoft Excel or a suitable third-party tool;
• A base level understanding of statistics across the board can be helpful,
but not necessary (you will notice we did not actually talk about statistical anal-
ysis in this example)
With the right technology and employees in place, any sized business can start
making Big Data work them.
Eliminating cart abandonment with Big Data and Sitecore DMS | 15
Using public data to
enhance DMS
personalization in Sitecore
Glen McInnis
VP Technology, Sitecore MVP
16 | www.nonlinearcreations.com
If you combine this information with your geo-targeting, numerous possibilities open
up:
• Those in the hospitality industry can use large events in a particular location to
promote hotel rooms and restaurants
• Education and training organizations might rely on employment rates to deter-
mine if users should be presented with continuing education vs. retraining for
a new job
• The demographic information can help identify lifestyle and life stage
-- Average income and age might lead to presentation of basic or premium
products
-- Average family size/age might lead to targeting of young professionals,
young families, seniors, etc.
Once you get this data into the system, creating a custom DMS rule will let the
marketing team take advantage of the information. Using the Sitecore DMS rules
engine, you can start experimenting with different variables and combinations.
I have included a screencap of an example rules set editor for identifying lifestyle and
life stage.
A word of warning: do not rely on live feeds of public data always being available. If
you are permitted to take a local copy of the data — do it.
Amanda Shiga
VP, Digital
The Sitecore rules engine is the powerhouse behind Sitecore’s personalization cap-
ability. Similar to the Outlook-style rules wizard, the rules engine lets marketers build
powerful clauses to influence content display based on a variety of conditions.
One of the most straightforward uses of the engine is to personalize content based on
a user’s geographical location, translated from their IP address. In the example below,
a promotion targeted to residents of Toronto could be shown for this condition.
18 | www.nonlinearcreations.com
You can also personalize content on a variety of other useful characteristics and
events, such as visitor profile, achievement of a goal, search term or a visit to a
specific page.
However, did you know that there are other cool ways the rules engine can be used
for personalization within Sitecore’s Page Editor? Here are three examples to get you
started.
NB: The examples below all use the rules that come with Sitecore out-of-the-box.
A great example is influencing calls to a search engine (via API or webservice). Some
search engines allow search or ranking profiles to be specified that rank search results
differently. For example, for a visitor whose behaviour places them in the “outdoor
The Sitecore DMS rules engine: Three cool ways to use it | 19
enthusiast” search profile for a travel website, you could boost the ranking of results
with metadata related to outdoor activities.
If the Sitecore control that calls to the search engine stores the search parameters
within the associated item, then we can create several Sitecore items — one for each
search profile — and personalize the call to the search engine. Thus, if our anonym-
ous visitor is building an outdoor enthusiast visitor profile, we can use the rules
engine to swap in the corresponding Sitecore search profile item for our call to the
search engine and influence the search rankings, all in real-time.
NB: This approach will also require you to do the legwork of setting up your visitor
profiles and pattern cards.
As a rule of thumb, abstracting useful logic-driving variables into item fields leaves
flexibility for future personalization as well. This idea can also be applied to any API
call or webservice call.
Temporally-based personalization
Many of the rules in the rules engine refer to the context of the current visit. Unless
you decide to load a visitor’s historical browsing activity into the current session
(a small coding activity, but with some potential performance trade-offs), you won’t
be able to personalize based on time passing or return visits.
Luckily, there are some out-of-the-box rules that allow you to serve content for
visitors who visit often, or who have returned after a specific amount of time
(or both). An example might be offering a reward coupon to a visitor on their
tenth visit.
20 | www.nonlinearcreations.com
Some quick background: Engagement plans are a feature of Sitecore DMS that allow
you to map out a visitor’s engagement journey, over time, with your online chan-
nel(s). These plans also allow you to configure automatic touchpoints with these
visitors based on elapsed time or specific event triggers.
Two examples:
1. Where the current visitor is in the specific state of an engagement plan.
Here, we can personalize based on a visitor’s position in an engagement
plan. If you set up the transitions in your plan based on time elapsed, you can
isolate whether a visitor is returning a certain amount of time after their pre-
vious visit. This is especially helpful if you are personalizing content based
on visitor recency.
2. Where the visit no. compares to number. Here, we can personalize based on
how many times a visitor has returned to the site. This is helpful if you are per-
sonalizing content based on visitor frequency.
The Sitecore DMS rules engine: Three cool ways to use it | 21
Sitecore DMS and Google
Analytics: Three very good
reasons to integrate
Joe Boughner
Director of Marketing
There’s a reason we’re so excited about this. Closing the loop between two best-of-
breed solutions (Sitecore for digital marketing and content management; Google
Analytics for reporting and measurement) gives marketers some amazing opportun-
ities. Here are three examples.
22 | www.nonlinearcreations.com
Real-time personalization: Is it working?
Sitecore’s DMS can do some really cool real-time personalization stuff. From basic
parameters like visit source or visitor geography to more complex variables such as
persona or state in an engagement plan, the ability to serve up a tailored, nuanced
view of your web world to your key audiences is at your fingertips. But how well is it
working?
Why spend hours re-configuring your Google Analytics segments to match what
you’ve already created in Sitecore? Integrate the systems and get on with your
remarketing.
Sitecore DMS and Google Analytics: Three very good reasons to integrate | 23
Sitecore DMS reporting
options: Finding the right
approach
Randy Woods
President, Sitecore Digital MVP
Sitecore DMS gives marketers unparallelled capacity to easily design and implement
content-centric promotions such as:
• Personalization of content based on simple rules
• A/B and multivariate testing of content
• Persona-based personalization
Implementation is only half the challenge, however. You also need to know what
works (and what doesn’t). Closing the loop — learning from success and failure and
trying again — is the key to making content marketing drive business results. Sitecore
provides three means for marketers to evaluate the success of the campaigns they
execute using the Digital Marketing System.
Built in reports: These have improved with every version of Sitecore and will meet
many of the standard reporting requirements a marketer might have. They are
suitable for providing top level reports to management. A marketer is ill advised
24 | www.nonlinearcreations.com
to use these reports, however, for trying to discern the relative effectiveness of two
personalization campaigns. They are relatively simple to use but limited in their
applicability.
Direct SQL queries: The built-in reports can be greatly expanded by creating
custom queries into the DMS database. This provides the marketer with essentially
unlimited flexibility to probe the data for answers, but it requires SQL database skills
or ongoing access to someone with those skills.
Eduardo Moraes
Solution Architect Antoine Rulliere
Sitecore MVP Project Manager
According to recent reports from BuiltWith.com, Google Analytics is used in over 43%
of the top 1 million sites on the web. And now, with a more powerful API in Google
Universal Analytics, it makes it even easier to get integrated with Sitecore and pro-
vide meaningful reports that can help clients to make better decisions, on top of
the customizations already configured with the DMS. Though there are a number of
other methods for reporting in the Sitecore DMS, the powerful and familiar Google
Analytics interface often comes out on top for ease of use and superior capabilities.
London 345 12
Paris 123 6
Ottawa 110 8
Before you can truly harness the power of Google Analytics, you have to think through
and map out the reports you want to generate, including the required dimensions
and metrics. This is where you can start to see the value of integrating with the
Sitecore DMS. Say you want to track metrics on a specific component with a corres-
ponding call to action that’s being personalized by the user’s country. Your report
mapping would look something like this:
28 | www.nonlinearcreations.com
Times the user clicked on
Country Times component A call to action displayed in
(dimension) was triggered (metric) component A (metric)
China 1,234 87
Brazil 712 54
India 709 76
England 345 56
To define a custom dimension, connect to your Google Analytics account and under
Admin > Property > Custom Definitions select Custom Dimensions. This page now
lists your existing custom dimensions, if any.
Click on the New Custom Dimension button (you are currently allowed up to
20 custom dimensions), name your custom dimension, select its scope (Hit, Session
or User; scope determines which hits will be associated with your custom value), then
hit Create. Once you have completed these steps, you will be presented with the code
snippet you need to add to your code in order to track that new dimension.
You now need to define your custom metrics. To do so, follow all of the previous steps
laid out for creating Custom Dimensions but this time, select Custom Metrics. Give it
a name, select a formatting type (Integer, Currency or Time), and again Google will
generate the code snippet you need to use to track the metric.
In our example above, you would need to create the Country dimension and the two
required metrics. You would then inject the corresponding code snippets into your
Sitecore code. The last step is to create a custom report. To achieve this, you need to
click on Customization in the main navigation which should land you on the Custom
This will give you the basic custom report proposed in our example. Voila! Be aware,
you can’t delete metrics and dimensions you’ve created, you can only make them
inactive.
ga(‘send’, ‘pageview’);
For each page view we will also send the relevant dimensions and metrics related to
the content we want to track.
In our case, we want to track the visitor’s country as a custom dimension. As we have
up to 20 dimensions in Google Analytics, for each dimension being tracked we need
to provide its index (as it is configured inside Analytics’ admin interface). Assuming
that country is our first dimension and component displayed is our second dimen-
sion, for a visitor from China being presented with component A, we will have:
ga(‘send’, ‘pageview’);
The values for the dimensions and also for the metrics to be associated to each
dimension can be retrieved from Sitecore DMS using its API. Also, click events on the
component need to be captured so you can measure how many times the compon-
ents’ personalization was displayed and also clicked.
30 | www.nonlinearcreations.com
The capabilities of both Sitecore’s personalization through the DMS and Google
Universal Analytics are continually evolving and are sure to present further oppor-
tunities to segment, target and track customers in the future. The ability to create a
customized, measurable customer journey will allow digital marketers the freedom
to market in a whole new way.
Glen McInnis
VP Technology, Sitecore MVP
We have looked at a number of possible points of caution to take note of when con-
ducting A/B tests, including the three mistakes to avoid and taking personas into
account. But, as many marketers tend to forget, an A/B test is only as effective as its
sample size and statistical relevance.
It can be tempting to run a test for a day or a week, and based on a noticeable
difference in conversion, pick a winner. However, in doing this the chance that your
decision will actually stand up over time is quite low. Ultimately you need to know
when your test has collected enough data to be a realistic prediction of user behav-
iour or, in math geek parlance, the test is significant. There are volumes of academic
texts filled with guidelines for determining the appropriate sample size for statistical
relevance. While we don’t need to wade into those deep waters, there are two key
decisions you do need to make. The first is what confidence level you want to have in
your test. Analytics guru Avinash Kaushik recommends that you shoot for a 95% con-
fidence level and who are we to disagree?
The second thing to keep in mind: the smaller the change in conversion you are
expecting to see, the larger the sample size you will need. This means that your first
32 | www.nonlinearcreations.com
tests of the “obvious” improvements require a relatively small test size, while later
micro-improvements will need a greater level of testing.
In this screenshot from the DMS all you can see are the components and the engage-
ment value that have been delivered. If we know the values assigned — in this case
we assume a value of 1 — then we know that Option B had 60 conversions and C
had 20. If we assume that each of the three options was shown an equal number of
times and the source page was delivered a total of 4,000 times we will see that con-
versions are:
B 2,000 60 3%
C 2,000 20 1%
The t-value in this equation signifies the probability of the sample size is significantly
different enough between the two conditions to be statistical significant. The value
of this particular t, 4.5175, shows the experiment to be highly significant using both
one and two tail t-tests.
As we have shown, there are many misattribution errors that can occur when con-
ducting A/B tests. If we have piqued your interest in undertaking some A/B testing of
your own, but are a little stumped by all of details, get in touch and we can help you
figure out what you need to know to start seeing serious A/B testing results.
34 | www.nonlinearcreations.com
Four steps to extract
engagement value from
Google Analytics
Randy Woods
President, Sitecore Digital MVP
The average value for a page that a user visited before land-
ing on the goal page or completing an ecommerce transaction
Is this the same as engagement value? No, it doesn’t cross multiple sessions
and so gives limited insight into content that may be an intermediary to driving con-
version on later visits, but it should be considered a starting point.
36 | www.nonlinearcreations.com
Export this data for use in Microsoft Excel.
To do this, create a formula in the column next to that labelled page value. This for-
mula should divide the page value of that row by the largest page value in the col-
umn and multiply it by 100.
38 | www.nonlinearcreations.com
This will give you a score ranging between 0 and 100 that you can use as the basis
of your engagement model. You will probably find that most of the scores make
intuitive sense, but be prepared for some surprises. At nonlinear, for example, we
discovered that visits to the news section of our website were surprisingly strongly
associated with whitepaper downloads.
Limitations
This approach has limitations as a model for the value of specific content:
• It is based on conversions that happen within a single visit. As a result, con-
tent that contributes to conversions on a subsequent visit is undervalued. This
is particularly important for organizations that have a long or considered sales
cycle.
• It represents a single slice of time and it needs to be updated frequently.
Your site changes and the dynamics of those visiting change. The model you
create today may not reflect the reality of tomorrow, and the differences can be
dramatic, as evidenced here in some of the numbers from our site:
Executive bios 64 12
Intranet 83 96
governance
• It’s not very subtle and creates an average score across all visit types.
Visitors who originate from different sources behave very differently. Calculating
engagement values using the model described here averages these dif-
ferent behaviours. To avoid this, it’s possible to perform this same analysis
using multiple segments — new visitors vs. repeat visitors, or paid search vs.
organic search, for example. Consider the following table outlining the paid
vs. organic search engagement values for pieces of content on nonlinear’s site:
Visio stencils 67 26
Front end 8 43
development is crucial
While this limitation can create issues for some specific analyses, it is not an uncom-
mon one among marketing technology projects; they often restrict the user to one
engagement value per page or action.
40 | www.nonlinearcreations.com
When A/B tests lie:
The imperative of persona
analysis
Randy Woods
President, Sitecore MVP
A successful A/B test can be both absolutely true and completely misleading.
Marketers have been rapidly adopting A/B (and to a lesser extent) multivariate test-
ing to both landing pages and less frequently, corporate websites, and for a very
good reason — doing so provides a simple data-driven method for increasing the
value of marketing dollars. And for most organizations, a simple A/B test plan will
generate positive returns.
But it is critical to understand that this kind of testing is a blunt instrument that coarsely
measures winners and losers. By definition, an A/B test compares how a statistically
significant sample of visitors reacts to two “calls to action” or some other piece of con-
tent. It measures their reaction against a single outcome. This implicitly assumes that
all of the visitors in that statistically significant sample are “the same.” But we know
that in almost every case, this is an over simplification.
Each test is exposed to 50,000 different visitors. The end result is clear:
Perhaps not surprisingly (as I’m creating this example and I need it to illustrate my
point), these different personas responded very differently to the variants tested.
42 | www.nonlinearcreations.com
Persona Sample Conversion rate
size
*Note: You need to be really careful with statistical validity when you start looking at
sub-segments. The 11% conversion for luxury buyers viewing the “performance” test
is right on the edge of statistical validity (32 of 290 visitors converted vs. 400 of 5,000
visitors for the control ~ 95% statistical certainty.)
Clearly, Test A is the best option only for the largest persona group — the soccer
moms. All of the other personas would convert better if presented with one of the
other offerings.
In fact, if the winner for each persona was implemented, the overall conversion
rate would hit 16%. That’s double the control figure and 4.5% better than the non-
persona adjusted winner. Critically, the number of leads from the highly lucrative lux-
ury-buyer persona almost triples.
Randy Woods
President & Co-Founder, Sitecore MVP
The previous chapter argues that it is critical to analyze A/B tests by how individual
personas react to the content being tested. Determine which variation wins for each
persona and then target that variant to the right visitors (here’s the short summary
— an A/B test that doesn’t break down test results by the type of visitor can only pro-
duce an “average” winner; examining test results for sub-segments/personas/audi-
ence lets you tailor a winner for each group).
I hope the logic for this is clear: not all visitors have the same motivations and relying
on one “best” call to action for all personas won’t deliver the most optimal results,
but actually doing this is a little tricky. It raises many questions, but most urgently
these three:
1. “How do I categorize my visitors into personas?”
2. “How can I combine this data with A/B test information for analysis?”
3. “Once I have a winner for a given persona, how do I show that winner to that
persona and only that persona?”
44 | www.nonlinearcreations.com
Categorizing visitors into personas
Visitors provide you with many clues about their interests and motivations which can
be identified by:
• The search term they use to find the site
• The terms they punch into your site’s search engine
• The content they view while visiting your site
If they have been in contact with you already, you may also have explicit knowledge
about their job title or main interest. The non-technical challenge is to build rules that
will assign a visitor to a given persona based on these “clues.” For example, a site sell-
ing software might determine that they have five personas of import:
• Technical buyers
• Business buyers
• Existing customers
• Shareholders
• Job seekers
Visitors who spend most of their time on the site reviewing job descriptions can
probably be assigned to the “job seekers” persona, unless they then go on to spend a
substantial amount of time reviewing last year’s financial statements, then you might
declare them a “shareholder.” Determining these rules does depend on intuition and
insight, but should also be informed by a deep probing of your web analytics system.
It will, at the very least, tell you if the segment you’re contemplating exists. The tech-
nical challenge is translating these rules into reality. You need some mechanism for
applying these persona categorization rules and it will need to operate in real-time if
you intend to use it to personalize content.
Getting to know your visitors: A/B testing and persona analysis | 45
software product’s features might give visitors 5 points each in the “technical buyer”
and “business buyer” personas. When publishing the technical specs page, they
might assign 10 points to “technical buyer”. The key point is that application of the
persona-categorization rules is:
• Marketing driven — it’s performed by those creating and publishing content
• Intuitive — no coding is required
Create new “segments” within the Google Analytics Advanced Segments section that
map to your personas. Define the segment by the content visited. The following
screen-cap shows the rules we created at nonlinear to identify visitors who may have
an interest in our digital services. We did the same for our potential enterprise client
persona.
46 | www.nonlinearcreations.com
While it does give you some insight, this approach has a number of drawbacks com-
pared to Sitecore or a comparable system:
• You may double (or triple or quadruple) count visitors. The same visitor may be
categorized into more than persona if they meet the criteria
• It can be exceedingly laborious to set up the rules within Google Analytics, par-
ticularly if your site’s information architecture does not parallel your defined
personas
• An analyst must update the definitions whenever new content is added or
removed from the site
• Perhaps most critically, you will not be able to use the segments you have
defined to drive real-time delivery of personalized content meaning that this is
an analysis only exercise
And yet this is absolutely critical — without access to the numbers there is little point
in personas, A/B testing or personalizing content delivery.
nonlinear takes the position that the majority of organizations already have a web
analytics system in place. In most cases, they have personnel trained on that system
and it makes little sense to ask them to learn something new.
If you do elect to use the Google Analytics segmentation approach described above,
you are in luck. The one significant advantage this approach provides is that analysis
is easy. If you conduct A/B tests using Google Content Experiments, you can segment
the results using your Advanced Segment definitions. This should be straight-forward
for any intermediate Google Analytics user.
Getting to know your visitors: A/B testing and persona analysis | 47
Taking action by targeting calls to action to
specific personas
Fortunately, if you have a marketing-enabled CMS like Sitecore, this is entirely
straight-forward. Once you have analyzed your A/B test results by persona and
identified the relevant winners, simply use the built-in personalization capabilities
to ensure the most powerful call to action for each persona is the one that gets
displayed.
If you have used Google Analytics to monitor personas and conduct A/B testing, you
will need to write some very clever code — and embed it throughout your site — to
put the highest performing calls to action in front of each persona.
48 | www.nonlinearcreations.com
How to recover from
search traffic decline after
launch — part 1
Randy Woods
President, Sitecore MVP
Ever wonder what a marketer’s deepest darkest nightmare looks like? Let us lay it
out for you: after months and months of time, effort and money, you relaunch your
new website, and traffic from Google and other search engines plummets by 50%.
Terrifying.
As you all know, this isn’t supposed to happen. nonlinear has redeveloped and
relaunched hundreds of websites for our clients since 1995. We’ve developed a
lengthy checklist designed to preserve and possibly improve visibility of the site in
the major search engines, but from time to time it does happen, whether due to time-
lines, budget or the inexperience of the development team.
How to recover from search traffic decline after launch — part 1 | 49
Identifying the problem
Your site can recover, but it requires rigorous analysis of data to determine the cause
of the drop off in organic search traffic and patience while changes you make are
indexed and influence search rankings.
50 | www.nonlinearcreations.com
Spot check pages on the site for no-index tags. This is as simple as right clicking >
view page source and then using “find” to search for the term index. If you find a
problem, I would suspect that somehow a global search and replace or other broad,
automated task changed tags across the site unintentionally.
How to recover from search traffic decline after launch — part 1 | 51
3. Do you have HTML issues?
Look to Search Appearance > HTML Improvements to learn if your new site is
using title tags and meta descriptions properly. Are you missing title tags? Do
you have duplicate title tags? Are you missing meta descriptions?
52 | www.nonlinearcreations.com
Step 6: Capture your analysis
Completing this table will make your life easier:
How to recover from search traffic decline after launch — part 1 | 53
How to recover from
search traffic decline after
launch - part 2
Randy Woods
President, Sitecore MVP
You’ve identified that your website relaunch caused a dramatic decrease in traffic,
now it’s time to fix it. Let’s go through some scenarios:
54 | www.nonlinearcreations.com
Server issues, sitemap problems and 404
errors
These issues should be readily addressable, although server errors may require
significant investment to resolve.
If most pages on the old site have been replicated essentially intact on the new site,
then:
1. Identify the top 500 to 1,000 404 errors reported by Google Webmaster Tools
2. Manually map these to the new pages and implement on your server
3. Create a catch all “fall back” rule for all other 404 errors pointing visitors to your
home page
How to recover from search traffic decline after launch - part 2 | 55
If the site architecture has changed substantially so that no one-to-one mapping of
404 errors is possible, then:
4. Bucket the 404 errors being reported by Google webmaster tools into themes
that do exist on the new site
5. Create regex rules for creating 301 redirects that point all similarly themed 404
errors into a group that points to a new, comparable page
If you have a small number of pages (say less than 500), then take the time to manu-
ally craft title tags.
If you have thousands or tens of thousands of pages, look into automating title tag
generation. You might, for example, inject product names into the title tag, or repli-
cate the page’s visible title (the title that is visible to visitors). In this case, you may still
want to hand craft title tags for the 500 or so pages that garnered the most search
traffic on the old version of the site.
Of course, there is one other possibility: have you reduced the amount or quality of
content on these pages? If you answer yes to that question, the decline in traffic may
be understandable, and perhaps well deserved. You can avoid this fate by creating
great content that helps potential visitors both find and appreciate the knowledge
you have to offer, all while simultaneously raising your search rankings.
How to recover from search traffic decline after launch - part 2 | 57
chapter 2: technology
An introduction to Sitecore
for developers
Rodrigo Peplau
Sitecore Developer
In this article we’ll talk about the main development concepts of Sitecore, describing
how data is organized and how each page is presented
Data structures
In Sitecore, data is hierarchically organized in a tree. This type of organization, shown
below, is similar to how files appear in an operating system.
Item
• Each node in a Sitecore tree is called an Item, similar to an object in Object-
Oriented Programming. Items are organized in a big unified tree of content
which represents Sitecore’s database
Template
In an analogy with Object Oriented Programming, a template would be similar to a
class. Every Sitecore item has a template counterpart.
Like everything else in Sitecore, Templates also have their own content tree:
In the image above we have a “Richtext Page” template, created to represent a simple
page with a title and a block of text.
Field
Classes have attributes while templates have fields. Just as attributes can be of differ-
ent types (e.g., string, integer, datetime), in Sitecore fields can also have specific types.
In the image below we have the definition of the “Richtext Page” template, with its
two fields:
62 | www.nonlinearcreations.com
Sitecore automatically provides an interface for content editing based on the types
of fields present. For example, when editing a “Richtext Page” item, this is the inter-
face we’ll see:
Object Item
Class Template
Attribute Field
Language
Sitecore natively supports multiple languages. Each item on the content tree may
have versions in different languages, with English as the main language, but new lan-
guages can be easily added and become available for immediate editing.
1. Core — Contains the data needed for running Sitecore and the .NET member-
ship provider tables
2. Master — Database used for content authoring, that contains all versions of all
items
3. Web — Used for the public website and is accessible to visitors. Contains only
the last version of each published item. It is a subset of the “master” database,
optimized for faster performance and smaller size. Whenever content is pub-
lished, the latest version is copied from “master” to “web”
Sitecore API
The following class diagram illustrates the entities relationships within Sitecore from
the point of view of items. These classes can be easily turned into code.
64 | www.nonlinearcreations.com
Usage examples (C#)
Presentation
Programmers have full control over the presentation layer in Sitecore. Below we
describe the concepts related to the presentation layer.
Device
Devices are a way for Sitecore to categorize requests and allow for content to be
rendered in different ways across different media, including web, print material and
mobile phones.
Layout
Layouts define the general structure of how a page is presented. If you were to com-
pare this idea to .NET concepts, a layout would be the equivalent of a master page. It
is possible to define static portions, dynamic blocks modified in the code behind, as
well as placeholders which will be filled with content at a later time. Every layout in
Sitecore points to an .aspx file where all the usual programming is done using .NET.
Sublayout
Sublayouts define the appearance of parts of a page and are used along with a lay-
out. Each sublayout will be rendered within its placeholders to present the final layout
of a page. Comparing this to .NET concepts yet again, a sublayout is similar to a user
control and points to a .ascx file.
Placeholder
Placeholders are ASP.NET controls which, when used in layouts and sublayouts, allow
content blocks to be added in predefined positions.
Example
The image below shows how layouts, sublayouts and placeholders are used to ren-
der a page.
66 | www.nonlinearcreations.com
Our 12 laws of Sitecore
development
Whether you are a Sitecore pro or just getting your feet wet with the customer
engagement platform, there are a few tried and true rules to getting the most out of
the product. Technology is only as effective as the people that implement it, so mak-
ing sure you’re at the top of your Sitecore development game will be beneficial for
your entire organization.
68 | www.nonlinearcreations.com
6. Before deploying, check commands to
ensure a successful Page Editor user
experience:
• Add a component to a page without a data source
• Add a component to a page and point to an existing data source item
• Add a component to a page and create a new datasource item for it to use
• Remove the component from the page
• Remove/add child items from the component if it is a container component
70 | www.nonlinearcreations.com
Sitecore operations:
Four must-have resources
Glen McInnis
VP Technology, Sitecore MVP
During the planning stages of Sitecore implementations, we are often asked about
which IT resources are most crucial for the continued success of the deployment. As
you can imagine, each project requires a customized answer, depending on the spe-
cifics, but there are a few that carry through with the majority of our implementations.
1. Managing servers/infrastructure
The effort here should be minimal, as this is largely routine tasks for patches, backup
verification and the sort that can be mostly automated. If you decide to have your
Sitecore partner provide managed hosting, this work could be offloaded to them.
This work will require about one day per month for verification once the process is
established. If you do decide to keep the servers and infrastructure management in
house, you’ll typically assign the responsibility to the IT department.
72 | www.nonlinearcreations.com
Six tips for scaling Sitecore
infrastructure
Glen McInnis
VP Technology, Sitecore MVP
Sitecore can scale both vertically and horizontally. In this chapter we examine the
ways in which you can scale your Sitecore solution using both approaches and
present a few tips to control your total cost of ownership.
Vertical scaling
This is usually the easiest method of scaling Sitecore, but at some point you will reach
a physical limitation of your hardware or limits in your virtualization technology. That
said in an N + 1 solution you will want N to be the smallest number possible to mini-
mize complexity and infrastructure footprint.
Horizontal Scaling
Once the individual nodes have been maximized we start to add nodes. There are
several options that can be explored.
74 | www.nonlinearcreations.com
Reference Deployment
Since a picture is worth a thousand words, here is a diagram depicting one of the
most common patterns for moderate volume sites. Two content delivery servers, a
single content authoring server backed by a SQL cluster.
Jason St-Cyr
Solution Architect, Sitecore MVP
My favourite topic these days is trying to get folks to move over to a continuous
deployment model where each code check-in goes straight to production. Mike
Brittain, from Etsy, got me hooked back when I attended the 2013 ALM Summit and
he did his presentation on “The Dirty Details” of continuous deployment.
Essentially, he broke my brain by explaining that they didn’t have a test environment.
WHAAAAT?
Yes. They deploy straight to production, multiple times per day and many multiples
of times. The risk-aversion side of my brain was freaking out. How can you do this?
What about the bugs?
Guess what? If you can fix a bug in 15 minutes and have it back in production 15
minutes after that, it doesn’t really matter. You’ve got 30 minutes between the time
somebody notices an issue to when it’s resolved. Imagine your current process to get
a fix to production, does it even come close?
76 | www.nonlinearcreations.com
There’s no way that would work for me
Let me be frank: you’re probably wrong. Unless you are running a website where
somebody will have serious financial, legal, or health consequences from a bug, you
are not running critical software. The site may be critical to your business, but your
uptime requirements are probably in the realm of allowing an hour or so of downtime
each month, therefore you can likely afford a bug here and there.
What you probably can’t afford is to spend a large portion of your marketing or IT
budget and not get anything for it.
Continuous deployment solves that problem by putting what you are paying for dir-
ectly into your revenue stream. Realistically, you will probably still hide a lot of it until
the work is finished, or a package of features are available together, but at that point
the power is in your hands to make it available to your users.
There may also be transactional portions of the site that we need to monitor to
ensure that traffic and activity has not drastically dropped off due to some unknown
issue in the business logic.
Planning for these monitors is really important, and needs to be done before getting
rid of all our staging environments.
There is no easy solution here. For each case, there is a different approach. I’ve
recently blogged about how you can handle templates and sublayouts for continu-
ous deployment, but even there you have no fool-proof solution. At some point, we
have to accept that something might just break.
78 | www.nonlinearcreations.com
If you are deploying one single change directly to production, you are getting feed-
back faster from all of your testers, including your users. If it all goes well, you are
also gaining the benefits of the change immediately. If we start building our software
more incrementally, and doing it faster and better, doesn’t everybody benefit?
Also, don’t underestimate the power of removing the test environment from the
equation to suddenly make developers check their code a little bit more before
checking it in :)
Jason St-Cyr
Solution Architect, Sitecore MVP
We get it. Even though folks have been talking about the importance of ALM to
organizations for years, the majority aren’t planning for it, nor do they have a vision
of how to get their team to where they need to be. Proper ALM strategy and imple-
mentation isn’t something that happens overnight; it success depends on employees
across the board: portfolio and program management, architects, designers, testers,
developers, and of course, operations staff. In a large organization, putting together
a solid plan for ALM within the enterprise can be quite daunting.
All that to say that, while full implementation will be a challenge, small changes are a
great way to get started. Your Sitecore implementation gives you an excellent oppor-
tunity to start introducing processes that you may not have already in place.
Next comes the inevitable question: What about the bottom line?
80 | www.nonlinearcreations.com
Benefits of ALM
• We’re happy to tell you that, generally speaking, the benefits of ALM outweigh
the cost
• Increased ROI by delivering more often enabling you to start getting business
value from your investment faster
• Better traceability by using tooling to tie together all stages of the application
lifecycle
• More efficient delivery by planning for smaller batches and involving more
members of the team
• Improved quality through automated testing and regression, and tester involve-
ment earlier in the process
• Increased flexibility through task automation and early failure.
• Enhanced collaboration by bringing teams together throughout the lifecycle
Requirements tracking: Ensuring requirements for your build are available to the
team is crucial to making sure your implementation is done efficiently.
Task planning: Team members should be able to tie the tasks they need to accom-
plish with the requirements that have been defined, as well as track and report on
progress for the implementation. Don’t forget the dashboard for management!
Source control strategy: We beg of you, please put your code in source control. “It
works on my machine” does not make for a successful and repeatable implementation.
Automated builds: If you have multiple team members working on the implemen-
tation, you should be considering continuous builds and continuous integration to
verify checkins made by the team. Or you could just hope it all compiles together…
(we don’t recommend this approach!)
82 | www.nonlinearcreations.com
Seven tips for automated
testing in Sitecore with
Selenium
Mauro Madeira
Quality Assurance Analyst
Wondering about the best way to test your Sitecore instance? Looking for something
that goes above and beyond automated unit testing? We recommend the inclusion
of browser automation tools like Microsoft Coded UI or Selenium WebDriver into
your testing regimen to ensure that you are fully testing the complexities of your
Sitecore solution.
While unit tests certainly have their place, the benefit of employing a browser driver
is in its ability to mimic the behaviour of a real life user. In our experience, we’ve found
Selenium WebDriver to be one of the best tools for creating and implementing these
types of tests.
No matter which approach you follow, any test should follow the three R’s:
2. Try to group together common steps in your method that can be easily used
and reused. For example, logging into Sitecore and selecting Content Editor can
be included in all tests involving login and use of content editor. Since creat-
ing and tests will be done below /sitecore/Content, the particular test script can
start from that folder.
84 | www.nonlinearcreations.com
3. When writing tests that involve Sitecore authoring, you’ll want to rely on the
most generic way to find an element in Content Editor and Page Editor modes.
Try to avoid dynamically generated ids that can change from content item to
content item (many elements in Sitecore embed the GUID in the markup).
4. Avoid using linked text and content dependent values in your test pages. In this
case, developers should always include ids that will later be attached to the end
of the those dynamically generated by .NET/Sitecore. In this case, XPath is the
solution.
5. Trying to understand why a test failed can be time consuming. Writing a method
that includes the element being searched and logging the method used to find
it can be very helpful when debugging the test.
6. It’s great to get in the habit of taking a screenshot, even when a test is success-
ful. Keeping a folder for every test case with screenshots and a log file can help
you quickly spot where a test may have failed.
7. Many times being thorough can be impossible or not cost effective. One
approach to combat that problem is to write a basic test and take a screenshot
at the end of each basic interaction in a page. This way, the visual inspection can
confirm what has been tested and expand the verification process.
Eduardo Moraes
Solution Architect, Sitecore MVP
Often, our clients will ask us about the possibility of using Sitecore for an intranet or
SharePoint for a public-facing website. While the idea of using one technology solu-
tion to solve both problems sounds promising, there are many things you should
consider before limiting yourself. We have put together five observations based on
our experience and what we see as the common needs and business goals of our cli-
ents, otherwise known as: Sitecore vs SharePoint
86 | www.nonlinearcreations.com
is mainly focused on documents, Sitecore takes, as Darren Guarnaccia CEM expert at
Sitecore puts it, “a more web content centric approach.”
88 | www.nonlinearcreations.com
Related item publishing in
Sitecore 7.2
Jason St-Cyr
Solution Architect, Sitecore MVP
The release of Sitecore 7.2 has us pretty excited. One of the things that most stands
out most is the enhancements for related item publishing, as our team has been
coming up with workarounds for similar issues in many of our past projects.
Note: There are some fixes in 7.2 that address certain scenarios for incremental pub-
lishing, so you may want to take a look at the fixes shipped with this build and see if
it addresses any issues you may be having with incremental publishing.
The scenario we usually run into, however, is targeted publishing of specific items. This
can either be triggered by the user in the authoring environment or via publish actions
in a workflow approval process. In previous versions of Sitecore, there was some basic
related publishing happening in the PublishItem pipeline that would pull in clones
and file drop media. We’d have to build in new events to find components that authors
had added to the page being published, as well as referenced media items, and pub-
lish all of those related items and their parents along with the selected item.
This checkbox triggers the new getItemReferences pipeline that has been added to
the publishing flow. By default, this new pipeline publishes “clones, aliases, related
media items, and items that the current item refers to in the link database.”
The second big piece is that the PublishAction that we often use in the workflows
has some additional parameters, including whether to trigger related publishing. By
default, if not specified, related publishing will not occur, so I would suggest adding
that ‘related=1’ onto your publish action in 7.2 so you can start reaping the bene-
fits of the new pipeline. You can find the other new parameters in the release notes.
Note: The Sample Workflow shipped with 7.2 still only uses the deep=1 parameter,
so if you use the sample workflow with Sitecore, make sure you are updating the par-
ameters on the auto publish action as well.
My specific test was to add some subfolders in the media library, and then upload
an image. Next I referenced that image in a rich text field on a new page and pushed
it through the default sample workflow. The page was published, but the image was
not because its parent folders were not published, and I had not included related=1
in the PublishAction.
Then I repeated the test using the publish item wizard, but this time selected “Publish
Related Items.” The image and its parent folders were published immediately!
90 | www.nonlinearcreations.com
What if the item links don’t reference all the
items that I want to bundle in the publish?
Now that the references code is in its own pipeline, you can add your own classes
directly into the publishing pipeline to run any logic you want to return lists of items
that you also want pulled forward into the publish. I cannot overemphasize how awe-
some it is to drive the logic at the publishing pipeline this easily and not be hooked
into events.
As one of the largest Sitecore partners in North America, we were pretty excited to
wake up to the news that Sitecore has acquired Commerce Server, solidifying their
reputation as the leader in customer experience management. nonlinear has gleaned
first hand experience in integrating the two solutions, completing one of the first
Sitecore Commerce Server integrations back in 2011.
The client had 500 unique sites requiring Sitecore customization and ecommerce
capability through Commerce Server.
92 | www.nonlinearcreations.com
Breaking it down
Considering the extensive number and varying levels of expertise of content auth-
ors, we developed a two tiered personalization approach: one that allowed for daily
maintenance of the sites and another for the more robust administrative tasks like
adding additional items to their particular site’s catalog. The barometer for a success-
ful end-user experience required the implementation of a shopping cart interface
with shipping, payment, order system, member profile and catalog management.
Though it is still early days for Commerce Server’s integration into the Sitecore plat-
form, we have put together a list of three things we learned while working on our
implementation that can help in ensuring your own successful adoption of the two
platforms:
The three things to know about a Sitecore Commerce Server integration | 93
1. Understand the desired functionality
before development
Sitecore supports multiple sites, while Commerce Server supports multiple catalogs.
In order to simplify the management of commerce content for content authors, we
developed an integration framework that allows Sitecore sublayouts to bind to a par-
ticular catalog.
We look forward to the future of Commerce Server under the Sitecore umbrella, and
if our successful implementation is any indication, Sitecore users are in for a treat.
94 | www.nonlinearcreations.com
27 Tips for Configuring
Sitecore
Glen McInnis
VP Technology, Sitecore MVP
Sitecore’s robust .NET based architecture is a huge advantage to teams deploying the
product. The speed of development and the configurability of the platform allows
for amazing results in a very short time. Conversely, the ever expanding scope of the
platform has led to a plethora of settings and configurations that may need adjust-
ment for production environments to ensure scalability, security and performance.
96 | www.nonlinearcreations.com
20. Restrict access to .XML, .XSLT and .MRT files using the
<system.webServer><handlers> section.
21. Disable the upload watcher by removing it from the
<system.webServer><modules> — Sitecore.Resources.Media.UploadWatcher.
22. Optionally disable client RSS feeds by removing the Sitecore.Shell.Feeds.
FeedRequestHandler.
23. Remove unneeded headers from the responses. For example X-Aspnet-Version,
X-Powered-By, X-AspNetMVC-Version.
Sitecore databases
24. Some simple adjustments to the configuration of SQL Server can greatly improve
the performance of the database environment. Keep in mind that some of these
settings may impact the backup approach you employ for MS SQL.
25. Set the compatibility level to SQL Server 2008 (100) to take advantage of the lat-
est optimizations.
26. Ensure the auto close property is set to false. This ensures that a page will only
make one connection.
27. Ensure the auto shrink property is set to false to avoid costly dynamic resizing.
28. Ensure the recovery model is set to simple to avoid the high overhead of trans-
action logs.
Grant Bartlett
Solution Architect
The key to an effective Sitecore website is the ability to update and edit in real-
time and a concentrated effort to make it an accessible, shared project between the
Marketing and IT departments. We are big fans of using Sitecore because it covers
off both of those requirements, while offering impressive visuals and unique person-
alization capabilities with the DMS.
98 | www.nonlinearcreations.com
There are two common challenges with editing content from Page Editor mode:
1. Content authors may find themselves in a situation where they wish to edit a par-
ticular piece of content that is in a field that doesn’t exist on the page in the Page
Editor mode. They may come across a field that contains content they want to
update, but are unable to access the field due to it not being exposed on the page.
2. The incorporation of dynamic elements are a great way to add visual interest to
your site, but can lead to some problems for your content authors. For exam-
ple, an element like a slider, which automatically transitions and hides all but the
current slide, are problematic to update in Page Editor mode because of these
features.
Alleviating the dynamic element issue is a little more complicated and involves using
a two-step process that requires code/CSS updates:
1. The first thing to consider is the automatic transition of slides; it will need to be
disabled in Page Editor mode. In the code, a simple check of Sitecore.Context.
PageMode.IsPageEditor will help you identify which mode you are in, and from
there it’s just a matter of writing the code to disable the transition.
2. The second problem occurs after your slider transition has been disabled. How
can the content author edit the second, third, fourth, etc. slide if they are not
displayed on the page? Again you will need to enlist your developers to solve
this issue using code and CSS: when in Page Editor mode, stack the slides verti-
cally so each one is visible and available to be edited.
While Sitecore continues to improve the content author experience, in house develop-
ers will have a role to play in creating a seamless experience for the active mainten-
ance of a company website.
Glen McInnis
VP Technology, Sitecore MVP
One the biggest challenges when designing and developing a company intranet is
striking a balance between the inclusion of corporate driven materials and allowing
employees the freedom to setup personalized views. You want important corporate
news and information to be available and visible to all employees, while also creating
the most efficient way to track task completion. We’ve identified that Sitecore, a plat-
form generally used for front facing websites, has impressive capabilities on which
to build intranets that strike the balance between corporate needs and employee
personalization.
Personal page
The Sitecore web part framework provides a solid foundation on which to build a per-
sonalized page for employees. By publishing a catalog of web parts with corporate
content, application feeds and more generic RSS feed readers, users can construct
their own view of the content they need, while giving corporate communications the
ability to take over an area of the page when necessary.
100 | www.nonlinearcreations.com
One of the best things about using the Sitecore web part framework for an intranet
is that the definition for each web part gets created in the system as an item. This
allows you to define which web parts should be available to certain groups and gives
you the ability to restrict those who aren’t intended to have access. This functionality
can be especially helpful when the widgets are connected to a secure line of business
applications like a finance system.
The major challenge with an Active Directory driven personalization is the quality of
the data. Many organizations struggle with keeping this information up to date. If you
are able to find an efficient way to overcome the data challenge, you will be well on
your way to incorporating explicit personalization into your Sitecore intranet.
Allison Simpkins
President, nonlinear digital
We’ve talked a lot about what should and shouldn’t be done to inspire employees to
embrace your company intranet, and as we all know, user adoption is crucial. Ensuring
that your organization has a living, breathing intranet is a tough job for even the most
dedicated of web steering committees. The bottom line when it comes to intranets is
that for it to beneficial to your employees, it must make them more efficient.
One of the biggest culprits in dissuading intranet use? Irrelevant content. Your
employees are not going to go out of their way to find things, so if you are hosting
intranet content that is not relevant, compelling or necessary, get rid of it. Having a
well developed content strategy will keep your intranet moving in the right direction,
but equally important is ensuring that your employees are able to find what they’re
looking for.
102 | www.nonlinearcreations.com
way of increasing productivity and encouraging happier employees? Time to look at
optimizing your search. If your employees are starved of the critical information they
need to work better and smarter, your company will suffer.
Most organizations have millions, perhaps billions of documents and structured data
stored in file systems, email servers, intranets, enterprise applications, databases and
web sites. The magic of Coveo is that employees can access all of this across all plat-
forms within a split-second.
To truly engage each visitor, you need to present them with content from all sources
and ensure the content is relevant. Coveo blends content located inside Sitecore
with sources outside such as customer communities, blogs, extranets, portals, CRM’s
and more, the possibilities are endless. This ensures that more relevant information
and products are surfaced to the visitor faster, resulting in higher conversion rates,
improved self-service, and greater visitor satisfaction.
Employees are able to work more efficiently by allowing them to access critical com-
pany information more easily and quicker than ever before through a simple search
user interface.
Jason St-Cyr
Solution Architect, Sitecore MVP
Anybody who has ever done a production launch of an application knows three
things:
1. There are a lot of variables at play
2. Inevitably the law of averages catches up to you
3. Something pretty much always goes wrong.
Whether you are launching something internally or externally, these three things will
apply; a Sitecore launch is no exception. If you are about to start your cutover plan-
ning, here are nine things to keep in mind for your run up to launch day and your
post-launch plan:
1. New “must-haves”
During cutover testing, new end-users or business groups may be brought in to
review the site prior to launch. These individuals may not have had input into the
project until now and may have business needs that have not been met. Suddenly,
new “must-have” features or bugs are identified on launch day. Don’t worry, you’re
reading this before launch day! (Right?) Sound familiar? If so, you have two options:
either bring these folks into the project earlier or set their expectations for a “quick
turnaround” post go-live to address their concerns.
104 | www.nonlinearcreations.com
2. Task estimates are wrong
Task estimates are just that, estimates. The preliminary projections for cutover tasks
are usually incorrect, and as a result, dependent tasks can begin to slide through-
out the day. This can become compounded, especially if multiple teams are trying to
co-ordinate. When reserving your resources for launch day, ensure some flex time for
the end of the day so that these resources are still available to continue launch activ-
ities beyond the estimated time frame.
4. Content issues
Once the full version of the website has been launched, there are usually multiple
users who begin reviewing the site and its contents. Typos, grammar errors, layout
problems, synchronization with publishing issues, etc. are often discovered as visitors
explore the end-user site for the first time. While this can be avoided by establishing a
proper Sitecore governance structure, it’s possible that prior to cutover, many users will
be focused on content migration and viewing content in the authoring environment
and less concerned with the end-user. This is to be expected but thanks to Sitecore’s
easy CMS interface the changes can be made directly in production and published
without needing to do another deployment. A note of caution: make sure you have a
tracking system to track all the issues that are identified during this process!
6. Sitecore performance
Performance testing should cover finding most of these issues but when the actual
load of users begin using certain features new issues may be identified. Your team
needs to be ready to disable these features for further investigation or real-time
capability to address the performance issues. Integration points are the most com-
mon cause of this, so make sure these are included in your performance tests prior
to launch.
7. Browser compatibility
While QA has been doing browser verification, it is inevitable that slight differences
in end-user browser/OS/hardware may find previously unknown compatibility prob-
lems. If your organization is launching an intranet, you may have control over the
hardware and software installed on company-issued workstations, however users
with various mobile devices or working from home may encounter unforeseen prob-
lems. When launching to the Internet, make sure the focus on browser testing is
based on your historical analytics data to know where to focus your testing/develop-
ment efforts, smaller groups can then be scheduled in based on business priority and
desired markets.
106 | www.nonlinearcreations.com
9. Schedule for post-launch deployments
After the initial cutover, there needs to be an agreed upon deployment plan for push-
ing out priority fixes for issues found during cutover or on the first few business days
after cutover. Expect that the first day will likely be handling the influx of questions
and prioritizing the issues, so starting on the second day you will likely need a sched-
uled deployment of priority fixes. If you follow these steps, you’re sure to feel a whole
lot better on launch day.
Eduardo Moraes
Solution Architect, Sitecore MVP
nonlinear has developed extensive experience in building sites prepared to work with
multilingual content. Based on this experience, we have learned that there are sev-
eral things that projects employing the Sitecore CMS need to take into consideration
to ensure proper implementation that allows for the reuse of content templates and
replicated branding for localized content. These include, but are not limited to:
• design of the content tree
• shared (or not) information architecture
• how to deal with fallback content when translation is not available
• use of dictionaries for common labels and other dynamic or static elements of
pages
• how to proceed with workflows for content that needs to be necessarily trans-
lated to multiple sites in different languages
• how the media library should be organized to ensure reuse of media assets
where applicable.
108 | www.nonlinearcreations.com
Language variants
The first thing to do is to ensure you have the language variants configured in your
system. By default, English will be there. Next, you need to add the other languages
your website will need. In the screenshot below we have the Portuguese Brazil
settings being added to our site.
The approach taken above seems an obvious one when we think of it only from the
IA diagram’s perspective. However, what if you want URLs to be localized to different
languages? You will need to consider having the display names of these items also
defined in Sitecore on the language version of each item you want a translated URL.
110 | www.nonlinearcreations.com
Also, to avoid blank spaces showing up in your navigation menu on your site, you
want to make sure that the presentation logic will not display items that don’t exist
(don’t have a comparable different language version) in a given language variant.
Let’s say for example that the item \Empresa\Missao e Valores\Observancia (equiva-
lent to \Company\Mission and Values\Compliance) doesn’t yet have a Portuguese
version. It could have a field called “Include in Navigation” checked to false. The pres-
entation logic for the menu would verify the content of this field and display or not
display the item on the website’s menu.
If your navigation is too different in a given language variant then you may con-
sider creating a separate node in the content tree for the localized items instead of
using the out-of-the-box language variants feature; the same goes for media items.
Files that are common to both sites should be shared, while localized files should be
placed in a separate folder created specifically to hold media items for that language.
Workflows
The use of workflows can help to ensure that content is translated to a given lan-
guage after it is created in its primary version.
Let’s say that items are first created in English and after that they need to be trans-
lated to another language before being published. A workflow could be configured
as follows and applied to the appropriate content templates:
Molly Anglin
A data driven strategist and information architect, Molly has been
part of the nonlinear team since 2001. In her role as Vice President
of nonlinear digital, Molly is involved in projects at various stages,
from planning to development and post launch optimization, many
of which are based on the Sitecore platform.
Grant Bartlett
Since joining nonlinear in 2009, Grant has become one of the most
senior developers on the nonlinear Sitecore team. In his role as
Team Lead in our Ottawa office, he is one of our resident experts in
optimizing Sitecore for the content author experience. His thought
leadership combines technical skill and user friendly formatting to
provide guided instruction on customizing Sitecore.
Joe Boughner
As the Director of Marketing for nonlinear, Joe has been involved
with Sitecore, both as a corporate partnership representative and as
a content author for our own website. These experiences give him a
unique position among our Sitecore experts. Joe joined the team in
2010 and has contributed greatly to the thought leader at nonlinear.
authors | 115
Dwayne Gockel
Dwayne is a Solution Architect who joined the nonlinear Ottawa
team in 2011. His experience in Sitecore has involved both front
and back end development. Dwayne’s focus is transforming existing
websites into new, responsive, user driven and easy to maintain sites
through modern design and development practices.
Mauro Madeira
Mauro acts as a Quality Assurance Analyst out of our Ottawa office,
and has done so since he joined the team in 2011. A dedicated prob-
lem solver, Mauro’s work focuses on improving the automated test-
ing process post site launch for optimal performance. His innovative
automated testing techniques are crucial to Sitecore projects at
nonlinear.
Glen McInnis
Glen has been a vice president at nonlinear since 2006. He has both
strategic and tactical experience with leading CMS vendors including
Sitecore, Microsoft SharePoint, Adobe CQ5, Ektron and OpenText/
RedDot and has been named a Sitecore MVP every year since 2009.
Glen has overseen teams responsible for more than 120 content
management deployments and complements this real-world experi-
ence with substantive formal education.
Eduardo Moraes
Eduardo joined the nonlinear team in 2007. Relying on his Sitecore
expertise, both architectural and technical, he has been a part of
countless deployments over the years. Eduardo’s work has contrib-
uted to a variety of solutions including content migrations, multi-lan-
guage sites, intranet, extranets and front facing websites.
Rodrigo Peplau
Rodrigo is a developer working out of our Florianopolis office in
Brazil. Since joining nonlinear in 2010, he has been a part of count-
less Sitecore implementations. While development is his primary
focus, Rodrigo has begun to branch out into other elements of the
Sitecore platform including the Digital Marketing System and Web
Forms for Marketers.
116 | www.nonlinearcreations.com
Antoine Rulliere
Antoine has been a key part of the nonlinear delivery team since 2009,
bringing strong project management skills to countless Sitecore pro-
jects. His role involves applying nonlinear’s Agile inspired develop-
ment framework to manage projects across all disciplines including
design, strategy, development and testing. His work has contributed
to a number of successfully launched projects and happy clients.
Amanda Shiga
Amanda is nonlinear digital’s Vice President and Sitecore MVP who
has been part of the nonlinear team since 2006. She brings more
than 13 years’ experience in designing and building effective content
management and web-based solutions within a variety of industries.
Amanda leads the nonlinear digital team in delivering digital mar-
keting solutions and contributes significantly to business develop-
ment and thought leadership.
Allison Simpkins
Allison acts as the President of nonlinear digital out of our Toronto
office. She helps clients understand not just how to create mean-
ingful experiences for customers and visitors online but also how
to glean insights from analytics to drive truly engaging multi-chan-
nel marketing campaigns. With more than 14 years at nonlinear,
Allison has been involved with countless Sitecore projects, primarily
in account and project management roles.
Jason St-Cyr
Jason is a Sitecore MVP who has been working out of our Ottawa
office since 2011. In his role as a Solution Architect, he’s tasked with
planning, developing and implementing Sitecore solutions. His cur-
rent focus lies in Application Lifecycle Management (ALM), working
to optimizing a team’s ability to transition from idea to delivery and
beyond to the end of life of the service.
authors | 117
Saulo Venancio
Saulo works out of our Florianopolis office in Brazil as a nonlinear
digital consultant. His experience spans across a number of technol-
ogy platforms including Sitecore and Adobe Experience Manager.
Saulo’s key Sitecore focus lies in content author component and
template development, as well as system administration tasks.
Randy Woods
As nonlinear creations’ co-founder and President, Randy has been
helping clients achieve their online goals since 1995. He has two
decades of leadership experience in the development of online mar-
keting strategies and implementation plans, applying a combination
of business acumen, technical knowledge and marketing insight to
the challenges faced by his clients. His extensive experience using
the Sitecore platform for digital marketing has earned him the title
of the Digital Sitecore MVP.
118 | www.nonlinearcreations.com
about nonlinear digital
nonlinear digital is a full-service digital agency that offers business and technology
driven websites that are equally functional and beautiful. We are committed to rely-
ing on analytics and focus research to plan, build and launch websites and digital
marketing platforms. This approach allows us to provide our clients with proven
results, every time.
Contact Us
info@nonlinearcreations.com 987A Wellington St.
twitter @nonlinear_tweet Suite 201
nonlinear creations Ottawa, ON
+nonlinearcreations K1Y 2Y1
www.nonlinearcreations.com
nonlinear digital
non
nonlinear digital di