Sitecore Website Maintenance

10 Monthly Sitecore Site Maintenance Activities

Seann Hicks

Seann Hicks

Saturday, February 11, 2023

Sitecore Website Maintenance Monthly Actions

Regular maintenance of a Sitecore site is important to help keep it performing optimally.

In this article I explore 10 Sitecore website maintenance activities that should be performed on a monthly basis.   While I focus on Sitecore specifically, many of these activities should be performed on any site regardless of the underlying CMS.

Sitecore Website Maintenance Activities Summary

The monthly maintenance activities that should be performed on a Sitecore based website are:

  1. Backup and restore: Regularly backing up the Sitecore database and media library to ensure data recovery in case of a disaster.
  2. Health check: Monitoring the performance and availability of the Sitecore website and its associated systems.
  3. Log file analysis: Regularly reviewing the log files to identify and address any errors or issues.
  4. Security patching: Installing security patches and updates to keep the Sitecore website secure and protected against potential threats.
  5. Database maintenance: Performing routine database maintenance activities such as reindexing and optimizing the Sitecore database to maintain its performance.
  6. Media library maintenance: Regularly reviewing and cleaning up the Sitecore media library to keep it organized and reduce clutter.
  7. Performance tuning: Regularly monitoring and tuning the Sitecore website to ensure it performs optimally and meets the required response times.
  8. Content review: Reviewing the content on the Sitecore website regularly to ensure it is up-to-date, accurate, and relevant.
  9. Analytics review: Regularly reviewing the analytics data to identify any trends, user behavior, and potential issues with the Sitecore website.
  10. SEO Review: Regularly review page rank, organic keyword positions, backlinks. and site issues that may be negatively impact search rank performance.

Sitecore Website Backup and Restore

Backups are a critical element in a system continuity plan. While modern infrastructure is highly reliable, outages and disasters still occur and you need a strategy to restore a system if something unexpected happens. Human error and malicious actors also pose a risk to systems so we need to be ready for anything.

Sitecore Website Infrastructure Backup

In the event of an infrastructure failure you will want a quick path to recovery.  Human error is also a cause of system outages and restoring from backup may be the only way to restore service.

In my case have Azure backups running daily on a Sitecore VM.  I check the backup status in the Azure Portal monthly to ensure it is running smoothly.

Azure VM Backup History 

Sitecore Database Backup

The Master and Core databases are essential to the functioning of a Sitecore site. You will want to ensure these databases are backed up regularly and the backups are stored in a resilient location.

I upload database backups to an Azure storage blob.  Azure storage explorer is a free tool provided by Microsoft that makes transferring large files like databases to the cloud very quick.

Sitecore Website Health Check

A great place to start when assessing the health of a Sitecore website, or any website is with availability and usage statistics.  Answer the following questions about a site:

If site traffic is not performing as expected, it is important to understand why.  Analytics are the first place to start in this investigation.

Sitecore Website Uptime and Performance Monitoring

Site monitors can provide:

I use uptimerobot to monitor my sites.  As a regular maintenance activity I will test the monitor against the test site to validate that it is functional.  The production site monitor should also be checked, however if site availability is measured against an SLA this may not be optimal.  In this case you can use a test site to check your monitoring.  Make sure that your site analytics align with the uptime report, if analytics show a traffic drop off indicative of an outage but the site monitor does not there may be something wrong with your monitor.

Based on your analytics, you may wish to specifically monitor the more heavily visited pages on your site as outages to these pages would be more impactful to your users.

The following image show the last 30 days availability and average response times for Tangenttechnologies.ca.  There are some spikes in response time, but generally the response time remains flat so I have no concerns about this graph.

Uptime Robot 30 Day View

A customer may be interested in a site health report with metrics such as site availability, page load speeds, and site usage and run costs.  I believe it is useful to create such a report on a monthly basis and to include recommendations to address issues and the estimated time and effort to apply these recommendations.  Driving constant improvement is the key to keeping a site performant.

Sitecore Website Infrastructure Monitoring and Alerting

Regularly check the resource utilization and health events of underlying infrastructure. CPU, Memory and disk usage trends should be watched to ensure these resources are available and will be into the future.

The following shows the resource health log of an Azure VM. You can see a health event occured that caused a reboot. It is important to understand the cause of these events even if no site outage occurs.

Azure VM Resource Health Event

Sitecore Website Infrastructure Disk Space

Along with ensuring CPU and Memory are not acting as bottlenecks, you'll want to make sure this is ample disk space. IIS and Sitecore log files should be managed to ensure they do not fill the disk. By default, Sitecore retains 30 days worth of log files. This duration is set in the Sitecore.config file. The Sitecore cleanup agent can be configured to retain for a shorter duration if necessary, however your best bet is to ensure your log files are as free of errors and unnecessary messages as possible.

I am running a Sitecore site on a Virtual Machine in Azure.  I can keep track of various system metrics including disk space availability using Azure Insights.  The following is a screenshot of the current disk utilization on one of my Azure VMs.

Azure Disk Space Utilization GraphAzure also allows you to send alerts on infrastructure events, such as low disk space.  There are default alert settings that will check CPU, memory, disk and network usage and send email alerts if a threshold is exceeded. 

Sitecore Website Maintenance Log file analysis

You want your Sitecore error logs to be clean.  There should be no exception stack traces or debug messages in the log files.  Make sure you review your most recent Sitecore logs.  Log files that are particularly large are also worth looking into as they may contain a set of error events.  You may even wish to add log file monitoring so that errors can be actively managed when they occur.

Sitecore CMS Security Patching

Sitecore patches are essential to keep a site secure and running error free.

Sitecore hotfixes must be applied ad hoc.  I like to use sitecorehotfixversionselecor.com to find hotfixes for my specific Sitecore version.

Sitecore SQL Database Maintenance

Along with backing up the Sitecore databases, regular DBA maintenance is also key to ensuring a healthy Sitecore website. Some database maintenance can be completed within the Sitecore backend. Navigate to the Control Panel to access the maintenance apps. The following shows the database maintenance options.

Sitecore Control Panel Database Maintenance

Rebuilding the Sitecore Link Database

There is a Sitecore table known as the 'Links' table that stores links between items for each of the Core, Master and Web databases. This table is generally kept up to date via Sitecore items events (item:copied, item:deleted, item:saved). If you are moving items via packages, performing an upgrade or updating items programmatically you may need to rebuild the link database.

Rebuilding the Sitecore Search Indexes

There are a number of functions within Sitecore that are based on search. Content authors rely on search to find items with the Content Manager. Your site may provide a site search implemented with the Sitecore search. In order to keep the search running optimally it is recommended that the search index be rebuilt regularly.

Sitecore SQL Database Optimization

Regularly optimizing the database can reduce its size and improve performance. This includes tasks like cleaning up unused data, updating statistics and defragmenting indexes.

To calculate the fragmentation percentage of your indexes you can run the following T-SQL using SQL Management Studio

SELECT S.name as 'Schema',
T.name as 'Table',
I.name as 'Index',
DDIPS.avg_fragmentation_in_percent,
DDIPS.page_count
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS DDIPS
INNER JOIN sys.tables T on T.object_id = DDIPS.object_id
INNER JOIN sys.schemas S on T.schema_id = S.schema_id
INNER JOIN sys.indexes I ON I.object_id = DDIPS.object_id
AND DDIPS.index_id = I.index_id
WHERE DDIPS.database_id = DB_ID()
and I.name is not null
AND DDIPS.avg_fragmentation_in_percent > 0
ORDER BY DDIPS.avg_fragmentation_in_percent desc

Here is a screen capture of the output

SSMS Fragmented Index Report

You can see that the PublishQueue table index ndxID in this example is 70% defragmented. To fix this you can use SSMS to reorganize the index.  Make sure to defragment indexes during off hours to reduce impacts to users.

 SSMS Defragment Index

Sitecore Media Library Maintenance

Check and address the following in the Sitecore media library

 

Regular Website Performance Tuning

Load Tests and Performance Tests are a great way to set a performance baseline and keep track of performance trends.

System performance is an important part of ensuring an optimal user experience. It is also a way to keep infrastructure costs as low as possible. Inefficient systems cost more to run.

Website Performance Tuning with Google Lighthouse

Google lighthouse is a great way to spot check page performance or to do ad hoc performance testing. Lighthouse creates a performance report with suggestions to improve page load times.

Google Lighthouse Report Example

Leverage your site analytics to direct your performance tuning efforts to the most visited pages to optimize value to users. Large images are typically the biggest performance issue for sites.

Remember that Google SEO is also measuring you page bandwidth usage and load speeds for both desktop and mobile experiences.

Sitecore Website Content Review

Sitecore Out of Box and Powershell Content Reports

There are a number of reports that should be run regularly to identify content issues.  Sitecore provides the following:

I highly recommend the Sitecore Powershell ISE module.  It has a number of reports to audit both the content library and media library.  If your site has a content authoring workflow setup with item versioning and locking, the workflow reports at very helpful for finding content items that are stalled.  The Content reports available are:

The Powershell ISE content audit can be accessed from the Sitecore Desktop under Reporting Tools -> Powershell Reports -> Content Audit

Sitecore Powershell ISE Content Audit

The following shows the parameters for the Items Last updated report

Powershell Items Last Updated Report Parameters

Sitecore Broken Links Report

Sitecore provides a handy report to find broken links in content.

The following screen capture shows the Broken links report for the master database.  The broken links are found in rich text content where links were manually added either incorrectly or have changed since being added.  I like to find an verify the error in the actual content before taking action.

Sitecore Broken Links Report

Reviewing content can be aided by analytics reports. 

Regular Website Analytics Review

Related to the content review, analytics can help show where there might be content gaps.  Analytics should be reviewed within the context of the website goals, so ensure these are in place and used to set the context for the review.  The steps in an analytics review are:

  1. Set Goals: Define the specific goals for your website and what metrics to track. This can include metrics such as website traffic, visitor demographics, bounce rate, conversion rate, etc.
  2. Collect Data: Use website analytics tools such as Google Analytics to collect data on your website's performance.

  3.  Review Traffic Sources: Analyze the traffic sources to determine which channels are driving the most traffic to your website, such as search engines, social media, referrals, etc.

  4.  Analyze User Behavior: Review how visitors are interacting with your website, including page views, bounce rate, time on site, and conversion rates.

  5.  Check for Technical Issues: Look for any technical issues that may be affecting your website's performance, such as broken links, slow page load times, or errors.

  6.  Review Content Performance: Evaluate how your website content is performing by analyzing metrics such as page views, time on page, and engagement rate.

  7.  Analyze Conversion Rates: Analyze your website's conversion rate to determine if visitors are completing the desired actions on your website, such as making a purchase or filling out a form.

  8.  Identify Opportunities: Identify opportunities for improvement based on the data analysis and develop a plan for implementing changes.

  9.  Create Reports: Create a report summarizing the findings of the monthly analytics review to share with stakeholders, including graphs, charts, and key takeaways.

  10.  Repeat: Continue to conduct monthly website analytics reviews to track progress and make ongoing improvements to your website's performance.

If your site has a search box, make sure your analytics are capturing the search terms that users are entering, these can provide great insight into what content your site should be providing.

Regular Website SEO Review

If you are driving public traffic to your site through site content like a blog, you'll want to ensure your search engine (Google) page ranks are improving.  I rely on 2 tools to check that my content is properly indexed by search engines and that there are no technical issues that may be impacting my search rankings.  They are, Google Search Console and Ahrefs.  Ahrefs will regularly audit and email a report with findings and recommendations to improve site SEO.

Website SEO Review using Google Search Console

Use Google Search console to see how your content is being ranked by Google and if it is trending up or down.  This data is valuable to drive your content review, pay special attention to articles that were once ranked well, but have been slipping.  Slipping content may need a refresh.  When it comes to SEO ensure you apply the following checklist to your content:

Verify the content is up to date and still valid, the world is always changing and your content needs to keep up.

Ensure your articles have an answer target.  This is a short paragraph that gives the reader a quick answer to their question and should appear at the top of the article.  Google may choose to use this as an answer 'snippet' which is highly advantageous to your search ranking

Check grammar and spelling.  Automated tools like grammerly are helpful, but make sure you review the changes they are making because they aren't always right

Ensure your articles have helpful and relevant images or diagrams.  Original photographs are preferred, and be sure to add descriptive alt text to help search engines identify them.

Subheadings need to read like headlines, not document outlines.  Google may choose to select a section of your article to surface in response to a search query, a heading that stands on its own will help Google do this.

Interlinking - Grouping site content and linking between articles helps increase the rate at which articles are ranked by Google and increase clicks to other content.

Google Search Console Page Experience

Google search console provides a report that measures your site's page performance.  This is know as the Page experience report and it is provided for both the desktop and mobile experiences of you site pages.  Use this report to help focus your optimization efforts and ensure that your page load speeds are sufficient for Google.

The following is a screen capture of the Page Experience report for this site.  As you can see all pages are within Google's threshold for performance.  Check this monthly because changes that affect site performance may occur, or Google may change the thresholds.  If your page experience is not satisfactory this may affect your SEO ranking.

Google Search Console Page Experience Report 

Website SEO Review using Ahrefs

Ahrefs is an SEO tool with a free tier that will run a regular audit on your site.  This tool is known as AWT and from the ahrefs site it will:

The following is an example of the Site overview report from Ahrefs.  It shows how your site has been performing over time based on Ahrefs data (note that Ahrefs does not have access to your Google analytics, so this data is approximate).

Ahrefs Site Report Overview

Sitecore Website Maintenance Summary

Don't let regular Sitecore maintenance fall by the wayside make a conscious effort to check in on a Sitecore site at least once a month.  Remember to regularly:

See my other Sitecore articles for more Sitecore tips

Sitecore CMS Overview

Useful Sitecore Modules

Sitecore PAAS Review

Migrating Sitecore User Accounts 

Using Sitecore Webforms Datasources and Renderings 

Photo by Mike Newbry on Unsplash

Sign-up to receive the weekly post in your inbox. I don't share email addresses, unsubscribe at any time.

Email Address