Date post: | 07-May-2015 |
Category: |
Technology |
Upload: | craig-nelson- |
View: | 4,374 times |
Download: | 8 times |
How to Assure Success for a New Sitecore Site(Full Presentation)
Development Tips for New Sitecore SitesSeptember 18, 2013
1
Sitecore Enterprise Web CMS• Popular .NET Web Content Management
System for mid-to-large organizations• Provides friendly tools for non-technical
Content Authors & Marketers• Can be customized & extended to meet almost
any conceivable business need
2
Sitecore Projects
Success vs. Failure
3
Sitecore Project Success Indicators
Indicators of a successful Sitecore project• The project showed that business case was achievable• The benefits required by business case were delivered• The project delivery was in-line with expectations• The project completed within the allocated time period• The project completed within the budgeted cost• The project completed with most features & functions• Minimal or mutually agreed upon scope changes• Acceptance by the client
4
Reasons for Sitecore Project Failures
Sitecore projects can fail for a number of reasons• Correct business requirements were not addressed• Initial assumptions were listed but not scrutinized• Sitecore capabilities not understood by stakeholders• Information Architecture (IA) design was weak or poor• Effort & resources were not correctly calculated • Using developers with limited Sitecore experience• Too few developers or devs assigned to multiple projects
• The business needs or environment changed• Excessive changes to scope & requirements after start
• Sponsor/governance group was weak or inactive5
Sitecore Project Success Factors
Keys to Sitecore project success• Clear statement of requirements• Competent governance• Customer participation• Doing things the Sitecore way• Early understanding of Sitecore capabilities• Proper planning• Realistic expectations• Solid Information Architecture (IA) design• Stakeholder & user involvement• Using experienced Sitecore Specialists• Writing code that leverages the Sitecore API
6
Establishing Business Goals for Site
Business case should drive Sitecore site design• Increased sales• Increased subscriptions• Increased & segmented lead generation • Decreased marketing expenses
A successful Sitecore site is not just about code• Use a structured website development process• Tailor content creation environment to your needs• Create a site that is an “online hub” for marketing
7
Get Stakeholders Involved Early
Stakeholders can help ensure project success • Using internal staff to do some development work• Using Sitecore experts to supplement internal staff• Using Sitecore’s capabilities to meet requirements• Using Sitecore modules to reduce development costs• Creating a UI design that is friendly for business users• Planning for mobile display & performance• Planning for obtaining high SEO rankings at start• Using source control &
continuous integration 8
Learning Sitecore is the First Step
Stakeholders need to understand Sitecore early• Sitecore components• Content stored in SQL databases• Code & files stored in folders on the file system• IIS web server software
• Sitecore processes• All content is stored in databases• Pages are generated at the time of the web request
• Sitecore features• Built-in capabilities & potentials for customization• Functionality provided by add-on modules• Common customizations used by other businesses
9
Customizing Sitecore
10
Customizing Tools to Reduce TCO
Custom Sitecore tools help users to be productive• Unused tools can be removed from a user’s display• Custom tools can be created to help users with tasks• Lower operational costs due to fewer mistakes• Tools can reduce management & maintenance costs• Sitecore Specialists can identify if this is cost effective• Custom Sitecore reports can help with managing sites
11Remove
Unused ToolsExtend
Existing ToolsAdd New
Tools
Customizing the User Interface (UI)
There are two key ways to control Sitecore behavior• User interface (UI) is for business users & marketers• Business users use the UI to make timely updates to site• Sitecore UI should be friendly for business users
• Application programming interface (API) is for developers• Developers use the Sitecore API to write efficient code• Developers use the Sitecore API to make the UI friendly
Sitecore UI should reflect the needs of the business • Sitecore Specialists can skillfully customize the UI• Tasks performed by business users get easier & faster• Total Cost of Ownership (TCO) of Sitecore site is reduced• Return on Investment (ROI) of project is increased
12
A Friendly UI Can Reduce TCO
A friendly UI is easier for authors to use• Icons can be used to help users locate content faster• Content can be updated in a more timely manner• Company & industry icons can make UI more friendly
• The Sitecore menus can be re-organized for users• Unused menu commands can be removed from display• Custom buttons that do useful things can be added
• A friendly UI can help reduce ongoing costs• Business users can be more productive• A friendly UI reduces resistance to CMS adoption 13
Sitecore UI Customization Examples
Many things can help to make the UI friendly• Add a shortcut to Content Tree for publishing items• User just needs to right-click an item to publish it
• Add a workflow command named “Fast Publish”• This command is only displayed for Approvers• Allows Authors who are Approvers to bypass workflow• Approvers no longer need to submit & approve changes
• Display an Unlock command for specified Authors• Authors usually can only unlock items that they locked• This command is not displayed for most Authors• Enables Author to unlock items locked by others
• Much, much, much more…
14
Reducing Questions Reduces TCO
It is easy to add context to a Sitecore field• Log on to the Sitecore Desktop as an admin • Enable Standard Fields in the Ribbon’s View tab• Find the Help section of the target template field
Options for adding context to a field• Use Short Description to add text next to the field• Use Long Description to add a pop-up window of
text when users point at the field name• Use Help Link to add a link to the field that directs
the user to another internal or external page 15
Sitecore Developers
16
Types of CMS Developers
It is helpful to differentiate CMS developer types• CMS Generalists (can be very expensive SC resource) • May have extensive web development experience• Have prior CMS experience, but may not be ASP.NET• May have done training but have no Sitecore experience
• Sitecore Generalists (can be expensive SC resource)• Have worked on one or more Sitecore projects in past• Worked on projects with other CMS products since then
• Sitecore Specialists (likely to be best value)• They have worked on many Sitecore projects recently• Their focus is Sitecore & Sitecore-related technologies• They are up-to-date on Sitecore & Sitecore modules
17
Use Specialists to Reduce Costs
Sitecore Specialists can help reduce project costs• Sitecore Specialists can better architect the site• Site will be easier & more intuitive to navigate• Business users will be able to find content faster
• Specialists use Sitecore API to write rendering code• Code reuse helps consistency & faster development• Component reuse minimizes duplication of effort• Page Editor can be used for inline editing & page design
• Sitecore Specialists can customize the user interface• Customize Sitecore, not your way of doing business • Avoid generalists when Sitecore Specialists are available
18
Cost Savings through Reuse
Reuse is a good way to reduce project costs• Reusing structural elements helps speed development• Helps simplify organization of content for users• Helps ensure site performs well from caching
• Reusing rendering code reduces development costs• Helps provide site with consistent renderings• Speeds development time by avoiding duplicate coding
• Reusing content reduces the amount of time to GoLive• Saves users from entering the same content twice• Additional savings for content updates after GoLive 19
Using Internal Staff for New Sites
Benefits• Client has total control of budget & costs• Client has total control of project data & distribution• Client creates in-house Sitecore experts• Client avoids using external resources to maintain site
Risks• Internal developers can get assigned to other projects• Internal developers leaving organization after project• Lack of initial Sitecore expertise can cause problems• Project is not done based on Sitecore best practices• Information Architecture (IA) & Content Tree are bad
20
Internal Developer Guidelines
Guidelines for using internal Sitecore developers• Send developers to official Sitecore Training classes• Send developers with prior ASP.NET & CMS expertise
• Let developers assist Sitecore experts on first project• It takes hard-won experience to create Sitecore experts• Pair newly trained developers with existing experts
Things to Avoid• Don’t bet project success on newly trained developers• Don’t rely only on recently trained Sitecore developers• Don’t use newly trained developers to architect sites 21
Using Vendors to Create New Sites
Benefits• Client can potentially get Sitecore experts for project • Client avoids costs of hiring permanent developers• Client can focus on business objectives of site
Risks• Total dependence on vendor for project success• There are no in-house experts on Sitecore or the site• Reliability, performance & security depends on vendor• All future updates must be performed by vendor
• Vendor may be a generalist , not a Sitecore Specialist22
Vendor Developer Guidelines
Guidelines for using Sitecore vendor developers• Meet with the developers who will be doing the work• Check if they are Sitecore specialists or generalists • Get a sense of their readiness to share knowledge• Verify internal developers can communicate with them• Verify their ability to mentor your internal staff
Things to Avoid• Don’t make decisions until you meet the developers• Avoid paying for vendor developers to learn Sitecore• Avoid vendors that discourage direct communication
with their developers23
Guidelines for Using Developers
Try to use both internal & vendor developers• Use vendor developers to supplement internal staff• Internal developers can learn Sitecore from experts• Helps build internal/vendor team for future support• Internal developers are better equipped to manage site• Client only pays for vendor’s time as needed
Cautions• Collaboration of developers must be well managed• Vendor developers may minimize staff mentoring time• Client may stop mentoring if it slows project progress
• Vendor developers may not be skilled mentors
24
Obtaining Good Developer Value
Guidelines for obtaining good developer value• Avoid developers with no Sitecore experience• Avoid developers with the cheapest or highest rates• Minimize the layers of supervision / management• Use developers satisfied with working arrangements• Use developers who are interested in the project• Use developers who can be dedicated to the project• Use developers who can work as part of a team• Use developers who freely share technical knowledge• Use developers who can show you high quality work• Use developers who are skilled with the Sitecore API
25
Using Remote Collaboration
Remote collaboration is used on many projects• Developers may not be able to work side-by-side• Screen sharing is used for meetings & mentoring• Skype, Join.me, WebEx, etc.
• Distributed source control is used for collaboration• GIT supports distributed repositories• Internal developers can fully participate in development• Source control is in place for development work after GoLive
• Team Development for Sitecore (TDS) is useful• Adds Sitecore definition items to source control• Uses serialization to export & import Sitecore items• Developers avoid tedium creating & installing packages
26
Reducing Site Development Costs
Reduce resource requirements• Scale back the scope of the project• Eliminate all non-essential change orders• Defer some features to post launch
• Use fewer developers – allow more time for project
Use resources in a cost-effective way• Assign low-cost persons the work they can do• Use higher cost architects to do the architecture• Use lower cost developers to write rendering code
• Ensure external experts can work with internal staff• Use collaboration & mentoring to help staff do more
27
How Generalists Can Impact Costs
Sitecore works very well when set up right• A poor Information Architecture (IA) can cause chaos• Updates should not have to be done item-by-item• A poor IA can cause Sitecore projects to fail• It is expensive to redo an IA after the content is added
• Opportunities for code reuse can be lost• Reusing code provides for consistency & economy• Projects complete faster when components are reused• Duplicating code & site components wastes money
28
How Specialists Can Ensure Success
Specialists can help Sitecore users succeed• Content organized in a logical way so that it is easy to find• Pre-population of fields with default values for new items• Custom menus that reduce the steps to complete tasks• Workflows that get content approved without delays• Rules that ensure published content does not have errors• A staging site so authors can see changes before going live
Specialists make better mentors than generalists• It is easier to explain things that you understand well• Good mentors need experience, not just book knowledge
29
Sitecore Marketing Support
30
Redirecting Link Juice to New Site
Marketing term for "online ranking power“• The quantity and quality of inbound links to a page• One of the primary factors that determines rankings
How Link Juice is affected by redirects• 302 redirects forward almost no link juice • 307 redirects forward almost no link juice• 301 redirects forward 90-99% of link juice
Stakeholders may redirect Link Juice to new site• Think about Link Juice redirects at start of project
31
Optimizing Your Site for SEO
• Configure your Sitecore Link Manager settings for SEO• Use consistent URL formats & minimize similar content• Minimize the use of cloned items & alias items in Sitecore• Use static URLs over dynamic URLs & avoid query strings• Clean up broken links & HTML validation errors in Sitecore
• Add canonical tags to pages with duplicate content• Specify canonical URLs in a Sitemap & submit to search engines
• Use Google Webmaster tools to specify your preferred domain• Block public DNS resolution for all development & staging sites• Add a robots.txt file to all development & staging sites
• Analyze site bindings & compare them with your DNS records• Bind only your primary DNS domain(s) to your live site• Bind generic DNS domains to a second site that redirects to live• Use 301 redirects instead of 302 or 307 redirects
32
Setting up Staging Sites for SEO
There are good reasons to have a staging site • Authors can test content changes before going live• Admins can troubleshoot publishing issues
Set up your staging site without hurting SEO• Do one or more of the following…• Add a Robots.txt file to the root of the staging site • Restrict access with NTFS and Windows Authentication• Restrict access with IP Address restrictions• Allow DNS name resolution only on corporate network
33
How Specialists Help Marketers
Sitecore Specialists help Marketers get results• Setting up DMS requires specialized Sitecore skills• Applying real-time personalization rules• Assigning goals & configuring attributes• Creating multivariate tests
• Specialists can help to preserve Link Juice• Specialists can help optimize SEO rankings
Sitecore Specialists can help performance• Optimizing Sitecore performance is a specialty• Tuning caches requires specialized Sitecore knowledge 34
DMS
Link Juice
SEO Rankings
Why Performance is Important
Faster web sites create a better user experience• Higher performing web sites display more quickly• Google uses page load speed as a metric in rankings • Mobile users may be using sketchy connections• Improving performance reduces bounce rates• Some users leave if a site hasn't loaded in 4 seconds• Users hit “Back” & click the next link in the search results
• Higher performing web sites get better results• Higher visitor engagement• Higher visitor retention• Higher visitor conversion rates 35
Optimizing Sitecore Performance
Optimize Sitecore live sites to run efficiently• Tune Sitecore caches so they are sized properly• Optimize Sitecore media for fast loading• Troubleshoot slow running Sitecore pipelines• Update the Search API to the latest supported version
Avoid things that cause Sitecore to run slowly• Do not publish items with validation errors• Do not create huge branches in the content hierarchy• Do not set ‘compilation debug = true’ on live sites
36
Why Mobile Speed is Important
Performance must meet customer expectations• Users expect performance levels close to desktop• Lack of speed hurts visitor retention and conversions
More critical to optimize for mobile than desktop• Mobile devices have limited processor capabilities• Mobile networks have latency and bandwidth issues• Mobile usage is huge and continues to grow rapidly
37
Issues that Affect Mobile Speeds
Latency & bandwidth issues• The user’s location has an unreliable connection• The user is using a slower 3G cellular network• The user is at a public Wi-Fi hotspot or crowded hotel
Design & development issues• Adaptive and/or Responsive design not implemented • Pages use many HTTP requests to get components• Downloaded media is not sized for mobile devices• Site settings are not optimized for mobile devices
38
Optimizing Mobile Performance
• More critical to optimize for mobile than for desktop• Compression is the most effective way to optimize• Use an Adaptive & Responsive web design• Reduce components to reduce # of HTTP requests• Reduce bandwidth requirements & latency issues• Utilize a Content Delivery Network (CDN)• Use social links instead of social media widgets• A Content Delivery Network (CDN) helps mobiles• Use Time To First Byte (TTFB) to find slow servers• Test performance on both smartphones & tablets• Test with the Wi-Fi turned off• Test from places with poor signal reception
39
Modules Add Functionality to Sitecore
Paid Sitecore modules• Licensed by Sitecore• Supported by Sitecore Support
Paid third party modules• Licensed by a Sitecore Partner• Supported by the Sitecore Partner
Free shared-source modules• Downloadable from http://marketplace.sitecore.net • Supported by Sitecore-monitored community forum
40
Using Modules Can Save Money
Sitecore modules are used to save time & money• Modules are developed by Sitecore or community• Pre-packaged solutions help speed site development• Avoid spending money to “reinvent the wheel”
How Sitecore modules are used to save money• Review available modules at beginning of project• Test modules to see if they meet requirements• Modify or extend a module to meet requirements• Shared-source modules can be extended• Developers do not need to write code from scratch• Sitecore Specialists are familiar with Sitecore modules
41
Providing Customer Interaction
Sitecore supports social media & blog comments• Calendar & Gallery modules• Email Campaign Manager module• FAQ & WIKI modules• Forum & Polling modules• Google Maps module• Single Sign-on using Facebook, Twitter, LinkedIn, etc.• Sitecore Blogging modules• Tagging & Tag Cloud modules
42
Tags vs. Sitecore Content Tree
Tags are index terms assigned to content items• Non-hierarchical keywords that provide context• Used to improve search results• Helps people find relevant content quickly • Content indexes are becoming increasingly important
The Content Tree uses hierarchical categorization• The Content Tree is more like a Table of Contents• Parent-child categorizations are becoming less
important as content sets grow large and complex 43
Why Tag Content?
Tags provide context & relevancy to content• Improves search results for visitors• Makes content easier & quicker to find• Supports Search Engine Optimization (SEO)
• Can provide visitors with a Tag Cloud to navigate site• Visitors can quickly view the most prominent keywords• Visitors can quickly access topics of interest
Search Rankings are becoming more important • Sitecore supports large & complex content sets• Millions of items can now be stored in ‘buckets’• Using trees to organize data is no longer practical
44
Managing Tags in Sitecore
Sitecore Specialists can create tag commands• Some commands enable users to manage tags• Users can view all existing tag names• Users can add new tags without navigating the tree• Users can rename & delete tags in the tag pool• Admins can restrict access to tag commands
• Other commands enable users to assign tags• Users can assign tags to content items• Users can assign tags to controls that render content
45
Tagging Content in Sitecore 7
Sitecore 7 provides additional support for tags• Tags can be used to refine search results with facets• Tags can be used to boost items in search results• Users can assign tags as a bulk operation• Users perform a search & display results• Users use facets to refine search results• Users apply “Add Tag” bulk operation to results
46
Total Cost of Ownership (TCO)
47
Using Sitecore 7 to Lower TCO
Sitecore 7 has removed all quantity restrictions• Content can now be organized in Item Buckets• Sitecore 7 users use search tools to manage content • The Search Results page is now a primary CMS tool• Field values can appear on the Search Results Page• Search results can be refined with facets• Use Quick Actions to implement commands on items• Use Bulk Operations to apply bulk changes to items
Using Sitecore 7 can lower TCO• Managing large numbers of items is now much easier• A single author can apply commands & bulk changes
48
Using MVC to Cut Development Costs
Model View Controller (MVC) can reduce costs• MVC is simpler & easier to implement than Webforms• New web projects should use an MVC framework• Sitecore 6.6 version & higher support MVC
How MVC can reduce development costs• More intuitive development model for developers• Provides total control over HTML; aids AJAX use• Provides cleaner interaction with inline JavaScript• MVC enables shorter development times
Hint: Use Sitecore Specialists that know & use MVC
49
Setting Up Successful Workflows
Keep most workflows as simple as possible• Meet but do not exceed business requirements• Complex workflows delay content updates to site• Adding complexity to workflows increases TCO
Approvers should not need to submit & approve • Some authors may also be approvers for other authors• Create a custom workflow command for approvers• Enables approvers to send items to final state directly• Only display it for members of Approver role
50
Setting Up Security for a New Site
Not all business users need the same site access• Assign required privileges but not more than that• Reduce costs from mistakes & errors• Reduce data loss & data compromises
Let an administrator assign Sitecore security• Sitecore security is very similar to AD & NTFS rules• Send an admin to official Sitecore admin training• Avoid using pure developers to make security settings
51
Migrating Content from Old Sites
Content can be migrated from an old site• Content must be extracted & imported into Sitecore• The Kapow Katalyst module can be used to do this• The Sitecore Data Importer can also be used for this• Custom code may required to convert & import
content
52
Old Site Content New
Site
In Summary
Assure success for a Sitecore new site project• Learn how Sitecore’s features can meet requirements• Use Sitecore modules to reduce development costs• Use Sitecore experts to supplement internal staff• Customize the UI to make it friendly for business users• Plan for mobile display & performance at the start• Plan for obtaining high SEO rankings at the start• Use source control, continuous integration & TDS
The most cost effective way to assure success for a new Sitecore site is to use Specialists
who can get it done right the first time.
53
Caveat Emptor
There are many ways to plan for a new Sitecore site• Experienced vendors can propose additional solutions• Review your hosting needs with a Sitecore partner• Review proposed Sitecore sites with all stakeholders
This presentation is intended to be academic• To enhance public knowledge of issues related to new sites• To promote better understanding of Sitecore sites
Author cannot guarantee accuracy or fitness for your site• Author makes no representations or warranties• Author disclaims any liability if you act on this information 54
More Topics from TICAll Sitecore-related SlideShares from TIChttp://www.slideshare.net/cwnelson/presentations
How to Assure Success for a New Sitecore Site (summary deck)http://www.slideshare.net/cwnelson/creating-new-sitecore-sites-summary
Implementing Routine Sitecore Maintenancehttp://www.slideshare.net/cwnelson/sitecore-maintenance-tips
Performance Tips for Sitecore Mobile Usershttp://www.slideshare.net/cwnelson/sitecore-mobile-performance-tips
Sitecore 7 – New Features for Usershttp://www.slideshare.net/cwnelson/sitecore-7-new-features
Sitecore Performance Tips for Visitor Engagementhttp://www.slideshare.net/cwnelson/sitecore-performance-tips
Troubleshooting Sitecore Performancehttp://www.slideshare.net/cwnelson/troubleshooting-sitecore-performance
55
The Inside Corner, Inc.
• The Inside Corner, Inc. (TIC) is owned by Craig Nelson• TIC is a Sitecore partner & web consultancy• A U.S. point of contact for teams of Sitecore specialists • We create new Sitecore sites & enhance existing ones
56
Primary Developer - Craig Nelson
• Sitecore Specialist certified for Sitecore 7• 10 years of system administration experience• 10 years as a Microsoft Certified Trainer• 5 years of ASP.NET web development experience• 4 years of Sitecore development experience• 3 years as a Sitecore technical instructor• Sitecore architecture & configuration expert• Performance & SEO optimization specialist• Workflow configuration specialist 57
Get Help with your Sitecore Site
Follow TIC on LinkedIn• http://www.linkedin.com/company/the-inside-corner-inc.
Add TIC to your Circles on Google Plus• http://google.com/+Theinsidecorner
Follow TIC on Twitter • https://twitter.com/TheInsideCorner
Contact Craig Directly• Craig Nelson - Certified 7.0 Developer and Sitecore Partner• cwnelson[at]ticdevs.com• Mobile - 707.319.7446
Visit the TIC website• http://ticdevs.com
58
Bibliography
7 Things Your Website Developer Won’t Tell You
Establish Business Goals for Your Web Site
Learning How to Avoid Project Failure
Sitecore Marketplace
The Successful Vendor Selection Process
Why Some Projects Fail and Why Some Succeed?
Download slide presentation to view URLs59
Thank you for taking the timeto view this presentation on
How to Assure Success for a New Sitecore Site(Full Presentation)
Please share with others and add a comment if you think it is useful
Thanks!
September 18, 201360