Website Analytics With Matomo: Add a Site

Useful WebsitesThis post is part of the website analytics with Matomo where I am taking a look at Matomo which bills itself as a Google Analytics alternative that protects your data and your customers’ privacy.

Addin sites to Matomo is easy to do. Click the cog icon to open the administration site of Matomo. In the Quick Links section click Add a new website:

Matomo admin dashboard

Continue reading “Website Analytics With Matomo: Add a Site”

Website Analytics With Matomo: First Run

Useful WebsitesThis post is part of the website analytics with Matomo where I am taking a look at Matomo which bills itself as a Google Analytics alternative that protects your data and your customers’ privacy.

With Matomo installed it is now available for you to log in using your super user account. Navigate to the website and enter the credentials and click Sign In:

Matomo sign in page

Continue reading “Website Analytics With Matomo: First Run”

ClassicPress Plugin Development: Integrating Code Potent’s Update Manager into a Plugin

ClassicPress PluginsThis post is part of the ClassicPress Plugin Development series n which I am going to look at both best practice for developing plugins and how I approach some requirements as well as some of the functions I commonly use.

The process for adding the Update Manager client to a plugin is quite straightforward.

Once you have downloaded the Update Manager, copy the UpdateClient.class.php file into your plugin folder; I add it to the libraries folder. Once you’ve done this, require_once the file in your plugin:

require_once(dirname(__FILE__).'/libraries/updateclient/UpdateClient.class.php');

There are three lines in the UpdateClient.class.php which need to be changed.

The first is in the namespace declaration where you need to change this to your developer name \ your plugin name. The below is an example for my Add Open Graph Tags plugin:

// EDIT: Make this unique. Example: YourDevName\YourPluginName;
namespace azurecurve\azrcrv_aogt;

The second is to set the update server URL; this is the domain of the ClassicPress site which wll be running the Update Manager plugin (I covered this in the previous post):

// EDIT: URL where Update Manager is installed; with trailing slash!
const UPDATE_SERVER = 'https://update.development.azurecurve.co.uk/';

The third needs to be set to plugin as the Update Manager supports themes as well as plugins:

// EDIT: plugin or theme?
const UPDATE_TYPE = 'plugin';

With the above done, Update Manager has been added to the plugin which means this plugin can now server updates to users which they can easily apply to their sites through the admin dashboard. In the next post, I’ll show how to create a plugin update endpoint which servers updates to users.

Click to show/hide the ClassicPress Plugin Development Series Index

ClassicPress Plugin Development: Create a Plugin Update Server Using Code Potent’s Update Manager

ClassicPress PluginsThis post is part of the ClassicPress Plugin Development series in which I am going to look at both best practice for developing plugins and how I approach some requirements as well as some of the functions I commonly use.

WordPress manages plugin updates via the Plugin Repository; ClassicPress are building a plugin directory, but the version which will allow updates to be pushed is some time away. To close this functionality gap, there is a plugin available which allows plugin developers to host their own update site and push updates out for their plugins.

This plugin is the Update Manager plugin from Code Potent. I have integrated this into all of my publicly available plugins so any time I release a new version this is pushed out to all users.

There is a full documentation set available from Code Potent.

The process of creating an update server is quite easy and you can use an existing ClassicPress site if you want. I opted to create a new site rather than adding to an existing one, but the process is no different.

Download the latest Update Manager version and using the Add Plugins page upload the download Update Manager zip and activate the plugin.

Your update server is now up and running; the next step is to add the Update Manager client to your plugin, which I will be covering in the next post.

Click to show/hide the ClassicPress Plugin Development Series Index

Website Analytics With Matomo: Install

Useful WebsitesThis post is part of the website analytics with Matomo where I am taking a look at Matomo which bills itself as a Google Analytics alternative that protects your data and your customers’ privacy.

With the zip file of the Matomo On-Premise downloaded you need to upload that to your website. Once you’ve done that navigate to the domain name where you should see the Welcome! screen.

Click Next to begin:

Welcome! page of the Matomo installation process

Continue reading “Website Analytics With Matomo: Install”

Website Analytics With Matomo: Prerequisites

Useful WebsitesThis post is part of the website analytics with Matomo where I am taking a look at Matomo which bills itself as a Google Analytics alternative that protects your data and your customers’ privacy.

The prerequisites for installing the on-premise version of Matomo are quite straightforward:

  • Matomo can be run on any operating system such as Linux (Ubuntu, RedHat, CentOS, Raspberry Pi OS, etc.), Windows, macOS Server or FreeBSD.
  • A webserver such as Apache, Nginx, IIS, LiteSpeed, etc.
  • PHP version 7.2.5 or greater (the previous major vrsion of Matomo will run on PHP version 5.5.9 through to PHP 7x).
  • MySQL version 5.5 or greater or MariaDB
  • PHP extension pdo and pdo_mysql or the mysqli extension.
  • A mySQL/MariaDB database.
  • A mySQL/MariaDB user with permissions to create/alter tables in the database.

If you’re running a high traffic site, there are some resources available covering recommended setup.

Full requirements are available here.

Website Analytics With Matomo: Download Software

Useful WebsitesThis post is part of the website analytics with Matomo where I am taking a look at Matomo which bills itself as a Google Analytics alternative that protects your data and your customers’ privacy.

You can download the on-remise version of Matomo by clicking the large green button on the < href='https://matomo.org/matomo-on-premise/'>Matomo On-Premise page:

Matomo software download link

On the next page, click the large green Download Matomo button and save the zip file.

Website Analytics With Matomo: What is Matomo?

Microsoft Dynamics 365 Business CentralThis post is part of the website analytics with Matomo where I am taking a look at Matomo which bills itself as a Google Analytics alternative that protects your data and your customers’ privacy.

Matomo says you can “[t]ake back control with Matomo — a powerful web analytics platform that gives you 100% data ownership”. It is a GPL licensed web analytics software platform giving you detailed reports on your website(s) and visitors, including search engines and keywords used as wel as their language and pages they visit or files downloaded.

Matomo is open source software which can be used via the Matomo cloud or an “on-premise” installation where you have it installed on your own servers. In this series I will only be looking at the on-premise version of Matomo. Using on-premise Matomo means all of the software is installed on your servers and all of the data is on your database server.

This is a major difference to using Google Analytics, which I did for a short time, where your tracking data is owned and controlled by Google and used for whatever they decide. With Matomo the data is on your server and you decide how it can be used and by who; you can therefore ensure you are fully GDPR and CCPA compliant (I am based in the UK where GDPR applies but my websites are hosted in the US where most of my visitors come from).

There is also the capability to extend with plugins with more than 70 plugins available on the Marketplace; some of the plugins are free, but others are paid premium plugins.

Tracking is enabled on websites by way of a JavaScript tag added to the bottom of each page. Matomo then records activity and aggregates the data to provide detailed web analytics reports about your visitors, page views, referrer information, search engine keywords and so on.

Website Analytics With Matomo: Series Index

Useful WebsitesI’ve used a few different tools for tracking visits to my sites for a while, moving on from one tool when they made it less useful or when it stopped working. More recently I have started using Matomo which bills itself as a Google Analytics alternative that protects your data and your customers’ privacy.

In this series I am going to take a look at what Matomo is and how it is implemented and used. If you’re reading this post directly on azurecurve|Rambings of a Dynamics GP Consultant it will automatically update, otherwise you will need to .

Website Analytics With Matomo
What is Matomo?
Download Software
Prerequisites
Install
First Run
Add a Site
Update

ClassicPress Plugin Development: Develop for Accessibility

ClassicPress PluginsThis post is part of the ClassicPress Plugin Development series in which I am going to look at both best practice for developing plugins and how I approach some requirements as well as some of the functions I commonly use.

in the last post, I discussed how plugins should be developed for them to be translated (internationalization); you should also develop for accessibility (often abbreviated as a11y as there are 11 letters between the letters l and n.

The A11y Project website has a lot of good resources which can help get you started with developing for accessibility and as they say, on their about page, “[a]ccessibility is incredibly important, yet often overlooked in traditional digital design and development education…”.

Unfortunately, this post is more of a “do as I say, not as I do” because I have nt been developing with accessibility in mind. There are certain ways of coding which I have picked up in the past whic do fit the accessibility patterns, but this is more fortuitous happenstance than deliberate design. It recently came up on the ClassicPress Forum when Marco Zehe joined the community.

Reading an interview he did with Deborah Edwards-Onoro of Lireo Designs this reiterated that accessibility should not just be a nice to have, but a requirement as without it, sites will not be accessible to many users. One of the reasons he gave for looking at ClassicPress is the forced introduction of the block editor (formerly Gutenburg editor) into WordPress which has many series accessibility problems.

Plugins form a major part of the ClassicPress, and WordPress, ecosystems with many of them outputting content to users and this should always be done in an accessible way; it’s not just the front end content which needs to be accessible, it is also the settings pages in the admin dashboard.

As with internationalization, adding accessibility to an existing plugin will take a lot more effort than designing and coding the plugin for accessibility from the start. This is a task which I have added to my development list to look at as soon as possible; unfortunately with a lot of ClassicPress plugins this is not going to be a small task.

The A11Y Project website has links to a lot of resources to help with accessibility design including a checklist.

Click to show/hide the ClassicPress Plugin Development Series Index