Blog

How to handle: Mollie payments in a checkout process on your e-commerce website

Published 01 November 2023

In the vast e-commerce landscape, offering a seamless payment experience is a critical aspect that can make or break the user's journey.

Laravel eloquent scope: Efficient geographic queries in MySQL

Published 21 September 2023

Searching a table in MySQL based on latitude and longitude columns. But how do you make this as efficient as possible?

Reload a webpage when it's loaded from the back/forward cache in the browser (Safari)

Published 18 July 2023

Sometimes, your page will stay in the previous state in the Safari browser. A simple fix is to reload the page when your visitors enter the page.

Reduce payment chargebacks: use a credit card statement descriptor

Published 28 June 2023

Use a short & custom URL customers can visit to cancel or request a refund for their subscription: A micro trick I learned from Uber's credit card statement descriptor.

Review: Joan 6 Pro - The Ultimate Meeting Room Solution

Published 25 May 2023

The Joan 6 Pro is a revolutionary meeting room booking device that excels in energy efficiency, seamless integration with Google Workspace, and Microsoft 365. Its easy installation and configuration make it a standout choice for efficient room management.

Google Meet Conference Room: hardware & software for different room sizes

Published 17 April 2023

In today's digital landscape, seamless remote collaboration and virtual meetings have become essential for businesses across various industries. To cater to this growing demand, Google Meet Conference Room offers a comprehensive solution that empowers teams to connect and collaborate effectively, regardless of location.

How to get approval on files in Google Drive

Published 21 March 2023

Google Drive is a powerful tool that can help you collaborate with others, share files, and keep everything organized. However, getting approval on files in Google Drive can be tricky if you are unfamiliar with the process. In this blog post, we will look at how to get approval on files in Google Drive.

Where do I get Google Drive Folder, Shared Drive, or File ID?

Published 24 May 2022

Google Drive uses an ID-based storage system to identify the folders and files. This unique identifier for objects in Google Drive can be found in the URL when you open the needed object.

How to upgrade to Laravel 9

Published 11 January 2022

Every year, there is a new Laravel version. This year, it's Laravel 9. In this post, I describe how you can upgrade your Laravel 8 (or lower) application to Laravel 9.

Laravel: test if your database migrations files contain a down-method

Published 11 January 2022

Here is a quick tip on how to test if your database migrations do not contain any down methods.

Convert images to HEIC/JPG/PNG on MacOS Monterey

Published 10 January 2022

When you take a photo on your iPhone, and send it via AirDrop to your mac, the can be a .heic image (or another format). But how do you convert the image to another format on your mac?

Laravel Mix: versioning of copied files & directories

Published 02 August 2021

Have you ever wanted to copy a directory using Laravel Mix, but you needed to version those copied files? This can be easily done by using this simple Laravel Mix task.

Laravel Forge server with a huge /var/spool/mqueue-client folder size

Published 15 March 2021

When you have provisioned your server using Laravel Forge (or Ploi) and are running cronjobs on it, it could be that your /var/spool/mqueue-client folder contains a lot of files. In my case, the server had around 4GB of files in that folder.

Disable access to mix-manifest.json for Laravel Mix

Published 01 March 2021

Some developers store internal scripts in their build process that couldn't do any harm (because of authentication/authorization checks) but want to make it more difficult to reverse engineer the solution. But when you use Laravel Mix with versioning, it exposes the secret script in mix-manifest.json. Don't you want this file to be public?

Move a domain from NL to COM TLD for SEO

Published 16 February 2021

I noticed that I got a lot of visitors from countries that are the closest to my origin. My domain is with a .nl-TLD, and now I want to see if there could be a positive ranking impact for worldwide reach when I change it to the .com-TLD. Let's dive into it!

Migrate servers from Forge to Ploi

Published 28 January 2021

After using Laravel Forge for years, it is time to look for something different. I came across Ploi, which offered more features that I wanted to use. But, how did I migrate my servers to Ploi?

That's Why for WordPress: how to install Real User Monitoring

Published 12 January 2021

We made a plugin for WordPress that lets you add the That's Why Real User Monitoring snippet to your website. Want to know how you can install Real User Monitoring on your WordPress website. Then this post is for you!

The 2020 year in review

Published 21 December 2020

2020, the year I started sharing more and more tips/tricks, used techniques, and other information. Most posts are more technical, but this one will be a personal post. Also, it's the first time I look back at last year. It was a strange year, so let's start!

What to do: "Page actions are temporarily disabled" in Google Search Console

Published 09 December 2020

Since 14 October 2020, Google disabled its page actions feature in Search Console. This means that it's not possible to request (re)indexing anymore until future notice. But what can you do to speed up the indexing process of your website or webpages?

Core Web Vitals will become part of Ranking Factor (in May 2021)

Published 11 November 2020

Yes, it's true. The Core Web Vitals will become part of the ranking factors for Google's Search Result. Google is announcing Core Web Vitals will become ranking signals in May 2021 in an update that will also combine existing UX-related signals.

Inertia.js: Track Google Analytics

Published 04 November 2020

Since Inertia.js is working on the client-side and making "inertia"-request it doesn't trigger a new page load. That's why Jonathan, the creator of Inertia.js, made the event system.

Tips to prepare your webshop for Holiday Season 2020 (technically)

Published 28 October 2020

The time of the year has come, the holiday season. It is a few months where a lot of traffic comes to your site, but how do you convert visitors into customers? In this post, I'll give you some technical opportunities to prepare your webshop for the Black Friday sale.

21 tools for Real User Monitoring (2022 version)

Published 24 October 2020

When you search online for Real User Monitoring you'll see a lot of companies that offer the RUM service. But where do you start when searching for the solution you need. In this post, I'll list the different solutions there are on the market.

How to use Google Drive storage as filesystem in Laravel

Published 20 September 2020

For some projects, we use Google Drive (in combination with a personal @gmail.com account or G Suite account) as a storage provider in Laravel projects. In this post, I'll show how you can set up Google Drive as a storage disk via the Laravel filesystem.

Moving 27K unique images from Spatie medialibrary local to s3 storage using Laravel Queue

Published 17 September 2020

We didn't expect that the project ever reached this milestone, so we stored all the images on the server itself. After around 2 years the monitoring service told us we had around 180GB of images stored in the project. But why are we now moving the images to s3 instead of local storage?

Laravel Jetstream with Inertia.js not recognizing changes

Published 11 September 2020

When developing your project using Laravel Jetstream and are using Inertia.js, you have to version your HTTP requests. This will force the front-end to refresh the page and all static assets like javascript/css.

One line boilerplate for Laravel SaaS project

Published 09 September 2020

Want to know how to set up a Laravel SaaS boilerplate with one command?

How to upgrade to Laravel 8

Published 08 September 2020

Every 6 months, there is an upgrade to the Laravel framework. To keep up to date with the latest version, I've created a flow for our projects to upgrade to the latest Laravel release.

Create terminal art using figlet

Published 08 September 2020

Some projects have nice terminal art, for example the name of the project. So how can you make this yourself?

HTML autocomplete "one-time-code"

Published 07 September 2020

Apps and websites on iOS can autocomplete one time codes sent via SMS. But how can you implement this on your website?

What is Real User Monitoring (RUM)?

Published 03 September 2020

Since the latest Google update about Web Vitals, search trends show an interest in optimizing real user experience. In this post, I'll explain what Real User Monitoring is and how you can use it.

Mollie gebruiken voor Moneybird facturen online te betalen [Dutch]

Published 17 August 2020

De laatste jaren maak ik veelal gebruik van verschillende oplossingen, om op een eenvoudige manier je klanten de facturen uit Moneybird te laten betalen maak ik gebruik van Mollie.

Facebook Messenger embed: chat as a guest

Published 05 August 2020

For a few days, Facebook Messenger let guests chat with your embedded chat window. This also enables users without a Facebook account to chat with you on your website.

Google Featured snippet links directly to content, how does this work? (Scroll to Text Fragment)

Published 27 July 2020

Since last week (22 July 2020) there is a featured snippet linking to my blog when people search on Google. Since then I've seen url's that contain "#~:text=" in the URL. What's this about?

Split a file into smaller chunks

Published 23 July 2020

To limit the size of files being between our servers we chunk them before sending over the internet. The servers will make more requests but the it's easier to retry the smaller chunks than a full 50GB file.

Custom error page for Laravel Signed Route

Published 11 July 2020

Every wanted to make a custom error page for Laravel Signed Route?

Moneybird herkent geen UBL facturen [Dutch]

Published 03 July 2020

De laatste tijd hebben wij veel automatisering doorgevoerd voor de klanten, waaronder verwerken van UBL facturen. Maar hoe weet je nu of Moneybird de facturen kan herkennen?

Setup Google Indexing API in Wordpress with Rank Math

Published 28 June 2020

Some projects are made with Wordpress and contain information about Job Posting. To get these pages sooner in the Google index I use Rank Math with the "Wordpress Instant Indexing Plugin". Want to know how you can set up this plugin? I explain more about it in this post!

How to set up a Laravel application that can handle a lot of visitors [+ useful tools]

Published 03 June 2020

This is a topic that's a bit difficult to explain and what is "a lot of visitors". In this post I tried to explain how we (in the projects I've been working on) setup our applications to handle millions of visitors every month.

Optimize SSL on Laravel Forge [Extra security headers for nginx]

Published 13 May 2020

This list contains some extra (security) headers for sites/servers you deploy using Laravel Forge.

"Inline static caching" or "memoization"

Published 11 May 2020

Little inline caches for when a method is called multiple times within a request and don't want to "re-compute" that value.

HTML form input "enterkeyhint"

Published 15 April 2020

User agents can support the "enterkeyhint" attribute on form controls.

Laravel Schema Dump: how to speed up your migrations?

Published 08 April 2020

Large or long-lived applications can have this issue, a huge list of migration files that were created more than a few years ago. These will never change again and are slowing down your tests. How can you improve this?

Whoops, I made a typo in my commit message

Published 02 April 2020

Just a reminder for myself. Fix your commit messages if they contain misspelled words...

Google Indexing API for Laravel

Published 20 March 2020

Almost all the projects I work on are built on Laravel. For those projects, I needed a simple way to index pages inside Google. Let's make this with Google Indexing API.

Enable xdebug only for PHPUnit command line

Published 18 March 2020

I don't want to enable xdebug for my normal PHPUnit test but only for the coverage report. Therefor I made a shortcut.

How I managed to get a complete 100 score on Lighthouse

Published 07 January 2020

By the end of September 2019, I challenged myself to get a website to a 100 score in Lighthouse. But why is this important?

Moneybird facturen versturen na een succesvolle betaling [Dutch]

Published 17 December 2019

Voor een aantal webshops, welke facturen versturen via Moneybird nadat er een succesvolle betaling is gedaan, had ik een probleem waarbij de eindklanten vragen stelde over een ontvangen factuur. "Waarom krijg ik een factuur met een te betalen bedrag erop terwijl ik net heb betaald via iDEAL?".

Check known security issues with your composer packages

Published 04 December 2019

As mentioned in my previous blogpost, "Composer dependencies up-to-date?", I continue with the automated composer checks. This time I took a look at Sensiolabs security checker.

How to automatically update Laravel composer dependencies?

Published 03 December 2019

As you all know, it's really important to keep all your composer dependencies up-to-date. Laravel has a weekly release, so here are a few ways to check how you can do this!

Cache static pages in Laravel by Cloudflare CDN

Published 02 December 2019

Some of the websites I made don't need to be updated very often, but they receive in some periods a lot of traffic within minutes. To make the website faster and reduce the number of database queries executed I want my CDN (in this case, Cloudflare) to cache those static pages for 5 minutes.

Redirect www to non-www URLs in Laravel

Published 28 November 2019

I want my site to show as robindirksen.com and not www.robindirksen.com in the search results or any other place, but how do you handle the removal of www in your application so you don't lose your visitors?

Disable HTTP sessions in your Laravel API endpoints

Published 25 November 2019

The most important and used endpoints on most of the application I work on is the API. These are both public as internal API's. After we disabled the HTTP sessions for the API endpoints we saw a stability improvement.

How to force HTTPS in a Laravel project?

Published 23 November 2019

Sometimes people don't link to the secure (https) version of your site, this can be an old link or the user who placed the link is just lazy to add the extra character.

Remove index.php from the URL in Laravel

Published 23 November 2019

I've discovered an unwanted behaviour in one of my projects. This was not used to be so, Google indexed a url with index.php in it and gave a duplicate canonical notification.

Laravel Valet not starting with "kdc" running on port 88

Published 23 November 2019

When you have Laravel Valet installed on your Mac and uses the Sharing feature from MacOS there will be a program running on port 88. It's an authentication method connected to AFP (Apple Filing Protocol) or SMB (Samba) file sharing. To disable it, you have to disable the sharing features on your mac.

Legal