SSW Foursquare

Rules to Better Websites - Tuning and Maintenance - 10 Rules

  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 analyze your website performance?

    For a smooth and responsive user experience, your site needs to be checked for performance bottlenecks. These usually become noticeable sometime after deployment, as your user base and quantity of content grows.

    This includes:

    • Check for and improve the slowest pages
    • Check for and improve the compression of unnecessarily large images
    • Check for and improve inefficient Ajax JavaScript code
    • Check for and improve the slowest database queries
    • Check for and improve page responsiveness
  4. Do you analyze your website statistics (aka Google Analytics)?

    There is a lot of information tucked away in your web server log files. Valuable, but often unused, information that can be retrieved from your web server log files include:

    • Geographical origin of users
    • Referring pages (which external pages did the users come from e.g. search engines)
    • Number of users
    • Time spent on the website
    • Reasons for user's early departure
    • Popularity of pages within your website

    View a sample template of Google Analytics report.

    Learn more on Rules to Better Google Rankings.

  5. 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.

  6. Do you have a HealthCheck 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 HealthCheck 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 HealthCheck 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 HealthCheck 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 HealthCheck page to test your website dependencies?

    Figure: Check everything with care

  7. 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.
    2. Open the solution.
    3. Build it and run it in IE.
    4. 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.

  8. 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

  9. 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 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.

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

  10. 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. Powered by GitHub