SSW Foursquare

Rules to Better Websites - Tuning and Maintenance - 9 Rules

Ensure your website remains effective and reliable by following crucial maintenance and tuning practices. This collection highlights the importance of content freshness, performance analysis, compatibility checks, and security measures, equipping you with the tools to maintain a high-performing online presence.

  1. Do you provide fresh content via CMS?

    What brings customers back to your website time and time again? Fresh content. Keep your website up to date by creating and updating pages, which will drive customer interest.

    The quickest and easiest way to post fresh content to your existing site is to implement a CMS. These are a few that we can recommend using:

    SharePoint

    The premier content management to store all documents & records. SSW helps enterprises customize and develop SharePoint often powered by Angular.

    DNN - DotNetNuke

    DNN (aka Evoq) can be used as a web content management system (CMS) for simple websites or as a powerful application development framework.

    Orchard

    Orchard is a free, open source, community-focused project aimed at delivering applications and reusable components on the rock-solid ASP.NET MVC platform.

    Sitefinity

    Sitefinity's mix of benefits for marketers, IT managers, Developers, and designers make it the ideal choice for medium sized businesses.

    Sitecore

    Sitecore's mix of powerful marketing and business features, rich development support and scalability make it the ideal solution for leading websites.

    Umbraco

    With over than 200.000 installations, Umbraco is one of the most deployed Web Content Management Systems on the Microsoft stack.

    WordPress

    WordPress the most popular content management system (CMS) on the web, and is trusted by content publishers from both large and small businesses.

  2. Do you monitor Google keywords?

    Making sure that your site content to include specific keywords is just one part of the story. You need to constantly monitor how they perform.

    The two main tools for keywords (and most of SEO research) are:

    It's better to use paid versions, but there are free versions with a limited set of features that are still useful.

  3. Do you collect and analyze website data with Google Analytics?

    Google Analytics gives you a great insight into how, when and where your website is used. If you're not using an analytics package in your website, you're flying blind when it comes to understanding how, when and where your website is used.

    Video: How To Setup Google Analytics In 2025 - Complete Tutorial (9 min)

    By using Google Analytics, you will be able to see what your visitors are viewing and what they aren't, what they spend large amount's of time on, what pages are causing errors, what pages are directing visitors to you, which browsers and devices are being used to see your site and more. All this information help you better structure your site to what your visitors like. It also allows you to compare site traffic from one month to another.

    The most useful reports:

    • Number of users
    • Which are the most popular pages of your website
    • Time spent on the website
    • Geographical origin of users
    • Which sites are referring the most hits to you (e.g. search engines)
    • Which keywords are bringing users to your site
    • If you have downloads, which are the most popular

    Adding Google Analytics to websites

    To add Google Analytics to your website:

    1. Log into your Google account
    2. Go to Admin
    3. Create a new Account (if needed) and a new Property
    4. Specify your website details
    5. Find your Tracking Code
    6. Add the script to your website

    tracking code property
    Figure: Navigate to the Tracking Code property

    From this page, you will be able to get a JavaScript snippet to include in your application.

    20 08 2014 3 30 55 PM compressor
    Figure: Include this JavaScript in your web application

    20 08 2014 10 53 15 AM compressor
    Figure: The JavaScript code in HTML

    Once deployed, this script will start tracking metrics and interacting with Google Analytics. You are good to go!

    More information on Set up Analytics for a website and/or app.

    Adding Google Analytics to blogs

    Using the above instructions, you can add Google Analytics to any website, including any blog. However, you may also find that your blogging platform or theme provides a way to set up Google Analytics using a plugin or other simple approach. Check your theme's documentation - sometimes it's as simple as adding the tracking code to configuration. Of course, adding the above JavaScript is easy enough in any case.


    Plausible - For when Google Analytics is too much

    Google Analytics is incredibly powerful, but for many marketing sites, blogs, and small products it can feel like using a 747 cockpit to check your speed.

    Some common issues:

    • Steep learning curve and cluttered UI for simple questions
    • Heavy script that can slow down page loads
    • Reliance on cookies and personal data, which means consent banners, adblockers, and missing data
    • Tight alignment with Google’s ad ecosystem, which some teams simply don’t want or need

    If you just want fast, trustworthy, privacy-friendly insight, it’s worth looking at Plausible Analytics.

    imgi 2 plausible analytics
    Figure: Plausible Analytics is an open source project dedicated to making web analytics more privacy-friendly

    How Plausible helps

    1. Clarity over complexity - Plausible focuses on the essentials (pageviews, top pages, referrals, conversions, campaigns) in a single, clean dashboard. No maze of reports, no custom exploration degree required

    2. Privacy-first, usually no cookie banner - Plausible is cookieless and doesn’t collect personally identifiable data or use cross-site tracking. It’s designed to be GDPR/CCPA/PECR friendly out of the box, which often means you can run meaningful analytics without an intrusive consent pop-up

    3. More reliable numbers in a blocker-heavy world - Because it’s lightweight, privacy-focused and can be proxied through your own domain, Plausible is less likely to be blocked than traditional tracking scripts. In practice, that can mean more accurate counts of real visitors than a heavily blocked GA4 setup

    4. Faster site, happier users - The Plausible script is tiny compared to GA, helping you keep your Core Web Vitals and page experience in good shape. Analytics shouldn’t cost you conversions

    5. Open, independent, and self-hostable - Plausible is open source, run by an independent team, with the option to self-host and keep full control over your data if that matters to your organization

    If you rely heavily on GA4’s advanced features (ad platform integrations, complex attribution, BigQuery exports), keep it. Otherwise, consider running Plausible alongside GA for a while. It’s a one-line script, easy to test, and for many sites it delivers the important 10% of metrics without the 90% of noise.

  4. Do you check your website is multi-browser compatible?

    You should design a website to look good when being viewed in Google Chrome, Mozilla Firefox, the latest version of Edge and Safari unless the client specifically requests otherwise.

    There are a lot of other browsers available, but it is important to consider that most other browsers are based on the most used browser nowadays.

    Note that readable is not perfect. There may be some page elements that are less than perfect, but it's just not worth of time to fix small bugs in every single browser, except for Google Chrome.

    You must test your website on the major browsers, though, because that there will be more differences and problems than you would think. The typical things that you will need to fix are:

    • Menus
    • Dynamic HTML
    • VB Script

    You should be able to fix all formatting and layout bugs by editing the CSS file.

    BrowserUsageStats2020
    Figure: Browsers statistics in 2020 – Know more in W3C Browser Stats

    Note: If a browser represents less than 2% of your website views in Analytics, then you shouldn't bother.

    E.g. Google archived this link - https://code.google.com/archive/p/html5-js/ - which was used as an HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries. Since IE represents a small percentage of views it can be removed instead of updated to a new working shim.

  5. Do you have a Health Check page (from /zsValidate) to make sure your website is healthy?

    Websites can be complicated, and a very small mistake can take the whole site down. But there are two different kinds of errors, coding errors and deployment errors; coding errors should be picked up by compiling and debugging, while deployment errors should be picked up by the Health Check page.

    Whenever there is a deployment problem, instead of fixing it straight away, we find out what the cause of the problem is and create a Health Check test to prevent it from happening again. So next time, when the site is down or re-deployed to a new server, we can simply run the Health Check page and fix all red crosses then the site should be back online.

    .NET Core has the ability to add a health check to your application and can be configured for a variety of real-time monitoring scenarios:

    • Health probes can be used by container orchestrators and load balancers to check an app's status. For example, a container orchestrator may respond to a failing health check by halting a rolling deployment or restarting a container. A load balancer might react to an unhealthy app by routing traffic away from the failing instance to a healthy instance.
    • Use of memory, disk, and other physical server resources can be monitored for healthy status.
    • Health checks can test an app's dependencies, such as databases and external service endpoints, to confirm availability and normal functioning.

    See more at Health checks in ASP.NET Core.

    If you need to add a UI to the health check system - we recommend checking out spNetCore.Diagnostics.HealthChecks Public.

    It includes NuGet packages that make it easy to test the health of the lots of different endpoints, and you can push the health check results to different logging platforms e.g. Application Insights, DataDog, etc

    It also includes UI (which is themable) and the UI supports automatic discovery of k8s services exposing pods that have health checks endpoints. This means you can benefit from it and avoid registering all the endpoints you want to check and let the UI discover them using the k8s API.

    Best of all they have a Release Gate available on the DevOps market place for the release pipelines.

    ui branding
    Figure: Sample Health Checks page

    timeline
    Figure: Sample Health of an endpoint being viewed in a timeline, so I can see when a resource was last healthy

    Other products using validation status

    microsoft service health
    Figure: Microsoft Service Health - admin.microsoft.com/servicestatus

    google workspace status
    Figure: Google Workspace Status Dashboard - www.google.com/appsstatus/dashboard

    apple system status
    Figure: Apple System Status - www.apple.com/au/support/systemstatus

    mailchimp status
    Figure: MailChimp status - status.mailchimp.com

    See Do you have a Health Check page to test your website dependencies?

    check everything
    Figure: Check everything with care

  6. Do you have auto-generated maintenance pages on every project ?

    Nowadays, most application are dealing with Data. And it would be nice to have maintenance pages to manage data (select, insert, update and delete).

    We recommend you create the maintenance pages by netTiers. netTiers is a set of open source code templates used in CodeSmith for object-relational mapping. It automatically generates a personalized Data Tiers application (on a base of a SQL Server Database) in just a few minutes. With the application it generated, you can manage data of a web application easily and efficiently.

    Please follow these steps to create your maintenance pages.

    1. Download CodeSmith.
    2. Download .netTiers and extract to a folder (e.g., C:\Program Files\NetTiers)
    3. Install CodeSmith.
    4. Run C:\Program Files\NetTiers\NetTiers.cst.
    5. Set requires properties following instructions.

    NetTiersConfig
    Figure: Properties Window

    1. Generate. 7. Open the solution. 8. Build it and run it in IE. 9. Congratulations! It's up and running.

    RunNorthwind
    Figure: The application is running

    Code Smith enables to do this generate with a single command. If you want to generate it again, just run this command.

    cs D:\DataDavidBian\Personal\New12345\NetTiers.csp

    Figure: An example of command line of Code Smith for NorthWindWe recommend you put this command in a file called "_Regenerate.bat" and add it in the solution in case you will generate it again in future.

  7. Do you have uptime report for your website?

    Websites should have an uptime report to provide real-time and historical performance and availability information.

    Plus, with history information, you can get exact downtime of your website or services in the past.

    google uptime report
    Figure: Google's uptime reports - with history information. See it now

  8. Do you know how to find broken links?

    Often times, web pages are dynamic. Most link scanners are not capable of submitting form information. The trick is to allow a "door" for link scanner go through to scan a dynamic section of a site. A common technique is to hard code hidden link with a query string at the bottom of the page that allows the link scanner to follow into the simulated user input. See the following code for example:

    <a href="KB.aspx?KBID=Q1097707"
      >Q1097707 - How do I turn Option Strict on by default in VB.NET?</a
    >

    Figure: Example source code - finding broken links

    It will return all the knowledge base articles in a paged format. The link scanner will click the Next Page link and eventually scan through the entire knowledge base.

    Google Webmaster & Bing Webmaster

    Google webmaster tools and Bing webmaster centre are useful tools to monitor links.

    GoogleWebMaster
    Figure: In Google webmaster tools you can see all broken URLs, and even the pages who are linking to them (known as referrer, found in the 'Linked From' column)

    BingWebMaster
    Figure: In Bing webmaster centre you can find the broken URL which is linked by the above URL

    We have a program called SSW Link Auditor to check for this rule. ::: good

    link auditor scan
    Figure: SSW Link Auditor automatically locate broken links
    :::

    SSW CodeAuditor

    Identifying where you have broken links on your website can be a little like finding a needle in a haystack. For enterprise scale web applications with lots of moving parts, it feels more like finding a penny at the bottom of the ocean.

    SSW CodeAuditor is a cheap, convenient tool for hunting down broken links, and you don't need a sitemap to set it up. Just point it at a publicly accessible URL and it'll spit out a report.

    • Broken links are categorized by page making them easy to fix
    • Each broken link listing includes a status code to tell you what went wrong
    • Broken Links in the dashboard are displayed with their corresponding anchor text to give you some context about the page
    • It can be implemented with you website's Continuous Integration pipeline using GitHub Actions

    broken link summary
    Figure: Using SSW Code Auditor's broken link dashboard

  9. Do you perform security and system checks?

    To maintain the stability of your server and help protect against harmful attacks, your server should only be running necessary services, and all software should have the latest updates.

    This includes:

    • Check that your operating system has the latest patches
    • Check the system for software updates
    • Check system event logs for software error reports
    • Check the system is only running necessary services
We open source.Loving SSW Rules? Star us on GitHub. Star
Stand by... we're migrating this site to TinaCMS