Blog

Blog

This is our blog

Controlling WordPress Admin Menu Access by User Role

Managing the WordPress admin interface for different user roles can significantly improve usability and security—especially in large organizations, multisite environments, or client-facing backends. While WordPress offers basic role capabilities, programmatic control over the admin menu gives you granular access control tailored to real-world workflows. In this article, we’ll walk through how to dynamically hide menu … Read more

Building a Dynamic Image Workflow API with Node.js and Sharp

In this guide, we’ll build a dynamic image processing API using Node.js and Sharp. This API will be capable of resizing, cropping, and adding custom branding elements (e.g., headers and footers) to images, ensuring they meet a consistent, standardized output format. Sharp, known for its speed and low memory usage, makes it an excellent choice … Read more

How to Programmatically Set SEO Titles and Descriptions for Archive Pages in WordPress

Managing SEO metadata like titles and descriptions is a critical part of optimizing your WordPress site for search engines. While plugins like Yoast SEO offer user-friendly interfaces for this, advanced implementations—especially in multisite or custom post type setups—can benefit significantly from programmatic control. In this article, we’ll walk through how to programmatically manage SEO titles … Read more

How we saved 90% on our monitoring bill by dropping New Relic for Signoz

For years, New Relic was our go-to tool for application monitoring and performance tracing. It delivered on functionality but started to fall short where it really mattered: cost control, ingestion flexibility, and long-term sustainability for a growing agency like ours. After carefully evaluating the alternatives, we made the switch to self-hosted SigNoz — and haven’t … Read more

How to Effortlessly Develop & Deploy Node.js with Docker

Developing Node.js applications can sometimes become tricky due to varying environments and dependencies. Docker simplifies this by containerizing your applications, ensuring consistent environments from development to deployment. In this guide, we’ll walk you through the effortless process of setting up a Node.js project with Docker. Step 1: Set Up Your Node.js Application Start by creating … Read more

Building a Documentation System in Notion Inspired by AWS and Google

Introduction Documentation is the backbone of knowledge-sharing in successful engineering organizations. Tech leaders like Amazon Web Services (AWS) and Google attribute much of their success to robust documentation practices – both for internal engineering use and for customer-facing guides. For example, AWS treats its official documentation as the “source of truth” for users, and takes rigorous steps … Read more

Scalable Conversion Tracking: A Strategic Approach to High-Quality Conversion Tracking and Unified Analytics

Introduction: The Scalable Conversion Tracking Problem in Digital Advertising Managing digital advertising for a business with multiple websites, locations, or franchises presents a unique set of challenges. How do you ensure consistent tracking across diverse online properties? How do you measure the true value of your ad spend when lead quality varies significantly? How do … Read more

How to run n8n with docker compose to use custom NPM modules

Introduction Docker Compose provides a powerful way to run n8n with custom configurations and additional NPM modules. This guide will walk you through setting up a production-ready n8n instance using Docker Compose, complete with custom modules and advanced configurations. For a more basic setup using Docker without custom NPM modules, see How to install n8n … Read more

How to install n8n on a Local Server and Access it Securely from Anywhere

What is n8n? n8n is an advanced, open-source workflow automation tool designed to facilitate rapid prototyping and streamlined automation of various development processes. Think of it as an open-source, self hosted alternative to Zapier. It’s intuitive, visual interface empowers developers to seamlessly connect APIs, services, and integrations without extensive coding, dramatically accelerating workflow creation and … Read more

What is an ADR and how we use it at The Website Engineer

At The Website Engineer, we recognise that informed architectural decisions are fundamental to delivering scalable and efficient web development solutions. To systematically document these decisions, we employ Architectural Decision Records (ADRs), ensuring clarity and consistency across our projects. Understanding Architectural Decision Records (ADRs) An Architectural Decision Record (ADR) is a document that captures a significant architectural … Read more