Bye Bye Google AMP

Toen Google AMP geïntroduceerd werd leek het heel mooi. Snelle laadtijden voor lichte pagina’s waardoor er misschien meer mensen naar de website zouden komen. Ook ik deed eraan mee met www.maartenvandekamp.nl. Tot vandaag, want ik heb besloten om Google AMP niet meer te ondersteunen.

De belangrijkste reden is omdat de pagina’s door Google gecached worden, en ik erachter kwam dat de tracking-code die aan elke pagina werd toegevoegd, niet juist in AMPHTML werd weergegeven. Daardoor liep ik dus een correcte registratie van mijn bezoekers mis. Niet dat ik hier geld mee verdien, maar ik wil wel graag weten welke content veel wordt bezocht.

Wat ik heb gedaan:

Stap 1

De volgende code heb ik aan mijn thema toegevoegd in het bestand functions.php:

add_filter( 'amp_frontend_show_canonical', '__return_false' );

Deze code werkt alleen wanneer de plugin AMP-WP geïnstalleerd en ingeschakeld is!
Stap 2

In het configuratiebestand van Nginx voor de website van maartenvandekamp.nl de volgende code toegevoegd:

location ~ /amp/$ {
 rewrite ^(.*/)amp/$ $1 permanent;
}

Wat deze twee stukken code doen zijn:

Stap 1: Een WordPress filter benutten in de AMP-WP plugin waarin wordt aangegeven dat <amphtml> niet meer getoond moet worden.

Stap 2: Elke URL die eindigt op /amp/ verwijzen naar de niet-AMP url. Hierdoor indexeert Google weer de normale webpagina’s die ik ooit zo goed mogelijk heb geoptimaliseerd voor mobiele apparaten.

Mogelijke nadelen van het uitschakelen van AMP zijn dat mijn website minder hoog in de zoekresultaten komt te staan. Dat neem ik voor lief, want nu heb ik weer volledige controle over de content en kan ik beter registreren welke delen van de website bezocht worden.

De komende maanden laat ik de plugin AMP-WP nog actief zodat /amp/ nog aan de URL wordt toegevoegd. Zo weet ik zeker dat de indexatie van de AMP naar de niet-AMP URL goed verloopt.

Windows 10 – beperk inlogtijden voor lokale accounts

In voorgaande Windows versies was Ouderlijk Toezicht een prachtig programma waarin per account kon worden aangegeven wanneer wel en niet mocht worden ingelogd. In Windows 10 is dat aangepast. Nu moet elk account inloggen met een Microsoft-account, en zijn de mogelijkheden beperkter dan bij het gebruik van Ouderlijk Toezicht.

Het is gelukkig mogelijk om de inlogtijden via de command prompt alsnog te wijzigen. Hoe dat moet, is op deze Engelstalige pagina te lezen: https://www.howtogeek.com/250224/how-to-set-time-limits-for-a-regular-account-in-windows-10/

Backup emailaccounts with Zimbra zmmailbox

The following code makes it possible to loop through email addresses saved in the file /home/maarten/emailaccounts.txt.

#!/bin/bash

for i in $(cat /home/maarten/emailaccounts.txt);

do zmmailbox -z -m $i getRestURL "//?fmt=tgz" > /backup/$i.$(date +%d-%m-%Y).tgz

done

For now the addresses have to be added manually to the file emailaccounts.txt, but with the zmprov command it’s possible to generate a list of accounts, which can also be used as a source for accounts that have to be exported.

Make sure you have a folder backup in the root of your server (mkdir /backup), and it is writable for the Zimbra user (chown zimbra:zimbra /backup).

Keep WordPress comment_agent and comment_user_IP empty with hooks

WordPress saves all kinds of information when someone leaves a comment on your blog/website. Two pieces of information I don’t need from someone who comments on an article are the IP-address of the author and the User Agent of the browser they used to place the comment.

pre_comment_* hooks

WordPress has pre_comment_* hooks which can be used to alter data before it’s put into the database.

I used the following two hooks:

pre_comment_user_ip

This hook filters the comment author’s IP before it is set, so this can be used to alter the IP-address before it’s saved in the database.

// Don't log IP addresses of comment authors.
add_filter( 'pre_comment_user_ip', '__return_zero' );

The filter uses the function __return_zero, which does exactly as it says: the comment_user_ip is set to 0.

Clean up already saved IP-addresses

To clean up the already saved IP-addresses, you execute the following SQL-query (after you made sure you have made a full backup of the database) via phpMyAdmin to your WordPress database:

update wp_comments set comment_author_IP ='' ;

pre_comment_user_agent

This hook filters the comment author’s browser user agent before it is set, so this can be used to alter the User Agent before it’s saved in the database.

// Don't log User Agents of comment authors.
add_filter( 'pre_comment_user_agent', '__return_empty_string' );

The filter uses the function __return_empty_string, which returns an empty string before the data is saved into the database, thus keeping the database clean from unneeded information.

Clean up already saved User Agents

To clean up the already saved User Agents, you execute the following SQL-query (after you made sure you have made a full backup of the database) via phpMyAdmin to your WordPress database:

update wp_comments set comment_agent ='' ;

Disable WordPress Twemoji and Emoji scripts

Add the following two lines in your functions.php file.

function remove_emoji_scripts() {
// Dequeue the Emoji script
wp_dequeue_script( 'emoji' );
// Dequeue the Twemoji script
wp_dequeue_script( 'twemoji' );
}
add_action( 'wp_enqueue_scripts', 'remove_emoji_scripts' );