Skip to main content
GrN.dk

Main navigation

  • Articles
  • Cases
  • Contact
  • Your Digital Project Manager
  • About Greg Nowak
  • Services
  • Portfolio
  • Container
    • Excel Freelancer
    • Kubuntu - tips and tricks
    • Linux Apache MySQL and PHP
    • News
    • Image Gallery
User account menu
  • Log in

Join my community / free newsletter — sign up here

Breadcrumb

  1. Home

All articles

Every article on GrN.dk, newest first.
  • EU OpenAI Residency Is a Migration Project, Not a Dashboard Toggle
  • AI Images Need a Chain of Custody, Not Just a Disclosure Label
  • MCP Just Went Stateless: Audit the Integrations Behind Your AI Tools
  • SEO Trends for 2026: What Actually Changed Since 2024
  • INP and Green SEO Share a Backlog: Cut the Work Every Visit Repeats
  • AI crawler policy now has verbs: separate search, RAG, and training
  • WordPress Supports Old PHP; Your Production Server Shouldn’t
  • The AI-built tool your team relies on needs an owner
  • Your AI model has an expiry date: build the migration lane now
  • Copilot Has Repo-Level Metrics Now. What Should Teams Measure?
  • Not Every AI Job Needs an Instant Answer: Batch the Backlog
  • A stray Set-Cookie can waste your CDN: audit the cache at the edge
  • Shorter TLS certificates expose every renewal you never automated
  • One Timeout, Two Orders: Make AI Actions Safe to Retry
  • Your AI Visibility Dashboard Needs a Methodology, Not More Charts
  • AI Admin APIs Are Here—But Your Directory Is Still the Source of Truth
  • OpenAI Presence Arrived—But Is Your Workflow Ready for an Agent?
  • Chatbot Transcripts Quietly Became a Retention and Redaction Problem
  • Cloudflare Service Keys Stop in September: Find Every Caller
  • Your AI Workflow Needs an Acceptance Test Before It Meets Customers
  • The Goats Were Load-Bearing: a fantasy where the bill always comes due
  • Vegan Power: The Little Game About Eating Fruit, Not Friends
  • KotobaMon: Shipping a 3D Browser Game With No Build Step and Self-Hosted Voice
  • WordPress Forced an Emergency Update. Did Every Site Take It?
  • IndexNow: Wire corrections and deletions into the CMS
  • The EU’s August AI Deadline Reaches Bots and Synthetic Content
  • A Voice Agent Is Only Ready When the Human Handoff Works
  • If the Facts Need JavaScript, AI Search May Miss the Full Page
  • Search Console Can See Social Posts—Your Reports Need a New Map
  • WordPress 7.0 Has an AI Client. Plugins Need Their Own Guardrails
  • Google’s AI Search toggle needs a test plan, not a gut decision
  • OpenAI Is Retiring Agent Builder: Save the Workflow, Not Just Prompts
  • AI agents need a browser policy before they start clicking around
  • When AI writes JSON, one bad field can break the workflow
  • AI search is eating the click: measure the queries before rewriting pages
  • AI shopping visibility now depends on boring product-data plumbing
  • Drupal AI Demos Need a Permissions Rehearsal Before Launch
  • Support bots need a deletion test before they learn the old help center
  • Before OpenAI agents touch the CRM, map the boring boundaries
  • Cloudflare Workers can become shadow IT without an integration register
  • AI automations need a spend dashboard before the first runaway bill
  • ChatGPT apps need a permissions map before they touch company data
  • llms.txt Is a CMS File, Not a Magic AI Visibility Button
  • Background AI Tasks Need Queues, Not Just Longer API Calls
  • Agent-ready APIs need a contract audit before MCP rollout
  • WordPress headless menus need an exposure check before launch
  • AI crawler permissions now belong in a licensing register
  • The risky part of AI workflow pilots is often the OAuth screen
  • AI disclosure rules belong in the CMS, not a spreadsheet
  • AI images need a media-library audit before they reach clients
  • ChatGPT Is Becoming Office Software: Put Admin Hygiene First
  • WordPress Speculative Loading Needs a Cart, Analytics, and Cache Test
  • Model Retirements Are Quietly Breaking AI Integrations
  • Drupal's June security bundle exposes fragile Composer update habits
  • Vibe-coded features need a production handoff before launch
  • Shorter TLS Certificates Make Renewal Monitoring a Server Job
  • The latest WordPress supply-chain attack was a CDN problem too
  • Agentic AI: what it is, how it works, and why it matters now
  • PHP 8.2 Has Six Months Left, and CMS Hosts Need a Plan
  • Cloudflare BYOIP customers need a rollback plan, not just trust
  • When Google can call the business, your local data stops being cosmetic
  • Your OpenAI and Cloudflare Keys Need an Expiry Date
  • Apache 2.4.68 Is a Reminder That Old Proxy Rules Need a Real Audit
  • AI bot traffic just beat humans, and crawler rules are no longer optional
  • WordPress 7.1's Media Pipeline Needs a Real Plugin and CDN Test Pass
  • June 2026 WordPress Plugin Exploits Put Inventory to the Test
  • AI Overviews, Legal Risk, and the Messy Work of Brand Truth
  • Drupal CMS 2.0: quick starts, harder rebuild choices
  • Cloudflare Turnstile for Lead Forms: Beyond the Widget
  • OpenAI Evals Bring Acceptance Tests to AI Workflow Releases
  • WordPress 7.0 AI features now live or die on connector governance
  • OpenAI's Guardrails and Run State Make Internal Agent Rollouts a Paid Approval-and-Audit Job
  • AI Research Assistants Need a Source Trail, Not Just Citations
  • Cloudflare AI Search namespaces make scoping a governance choice
  • WordPress 7.1 Unicode Emails Put Old Validation Rules on Notice
  • OpenAI Computer Use: Browser Agents Need Credentials, Not Demos
  • Bing AI Search Puts Fresh Sitemaps and IndexNow on the Clock
  • WordPress 7.0's React 19 Upgrade Makes Custom Block QA a Paid Compatibility Job
  • AI Voice Agents Need More Than a Number and a Realtime Model
  • OpenAI File Search: Internal Docs Need Governance Before Trust
  • WordPress.org's 24-Hour Plugin Cooldown Calls for Real Review
  • AI Shopping Makes Product Data Integrity a Technical Ops Job
  • Cloudflare AI Gateway Puts LLM Budgets in the Request Path
  • Before Your Website AI Bot Goes Live: Prompt-Injection Controls for Chat and Lead Capture
  • Structured Outputs Make Intake Automation a Schema Design Job
  • Cache, background, batch: a cleaner map for AI workload design
  • ChatGPT Visibility Without Open Access: robots.txt Is Only the Start
  • ChatGPT Apps with Full MCP Access: Governance Comes First
  • OpenAI Responses API and the old assistant migration clock
  • Google’s 2026 AI Search Guidance: SEO Still Counts, Reporting Changes
  • WooCommerce Checkout Blocks: When to Migrate or Roll Back
  • Cloudflare Resource Tagging: Small Labels, Real Governance Consequences
  • WooCommerce Scheduled-Action Backlogs: The Store Operations Risk to Fix First
  • MariaDB 10.6 EOL: quiet CMS hosting debt needs a real upgrade plan before July 2026
  • OpenSSH 10 Crypto Changes: Why Old SFTP Integrations Need a Cleanup Plan
  • Google’s August 18, 2026 Content API Cutoff: Feed Cleanup Before Merchant API Migration
  • Drupal 10's December 2026 Deadline: Start With the Upgrade Inventory
  • NGINX 1.30 changed upstream connection reuse: what to check before you upgrade
  • Cloudflare Zombie API Endpoints: A Practical Cleanup Plan
  • HubSpot OAuth v1 Is Going Away: A Practical Plan for Older CRM Integrations
  • Let's Encrypt Profiles Put Renewal Assumptions Under the Microscope
  • Ubuntu 26.04 LTS Raises the TLS Floor: How to Test Legacy Integrations
  • Cloudflare’s Enforce DNS-Only Switch: Test Your Origin Before an Incident
  • Drupal Automatic Updates After the Legacy API Shutdown: What to Fix Now
  • Apache 2.4.67 Put Legacy Reverse Proxies Back on the Risk List
  • Cloudflare Tunnel in 2026: Better Visibility, Harder Questions
  • Cloudflare Cache Response Rules: Safer Header Fixes at the Edge
  • Cloudflare Service Keys: Audit Old Automation Before September 30
  • WordPress 6.9.2 and Unsupported Theme Code: A Safer Update Playbook
  • WordPress Playground Makes Bug Reproduction Faster—Until the Host Matters
  • Drupal CMS 2.0 Speeds Marketing Site Rebuilds, but It Is Not Autopilot
  • Cloudflare Access: Lock Down Forgotten Staging Sites and Admin Panels
  • WordPress 6.8 Password Hashing: The Hidden Risk in Legacy Login Bridges
  • WooCommerce HPOS: The Migration Behind the Settings Toggle
  • Search Console’s Hourly Data Changes the Post-Launch SEO Checklist
  • WordPress Autoloaded Options: What the Site Health Warning Misses
  • WordPress Security Updates Need an Ops Runbook
  • WordPress 7.0 Upgrade Planning: What Old Meta Boxes Still Mean
  • JavaScript-Heavy Service Pages Still Lose Leads: What to Audit in 2026
  • URL Parameter Sprawl: Where SEO, Caching, and Analytics Collide
  • Cloudflare Page Rules Debt: How Quiet Configuration Drift Breaks Business Websites
  • Website Email Deliverability in 2026: A Practical Fix-It Checklist
  • Speculative Loading Without Surprises: A CMS Operations Checklist
  • Logistics Optimization in 2026: Fix the Flow Before You Buy More Tech
  • Why Your Website’s Third-Party Stack Needs a Real Owner
  • Form Spam Is a Lead-Quality Problem: How to Harden Your Intake Flow
  • CMS Upgrades in 2026: Choosing PHP for WordPress and Drupal
  • AI Crawler Control for Business Websites: Protect Content Without Vanishing from Search
  • Youtube Subtitles in Any Language
  • h2, h2c, and HTTP/1.1: Practical Choices for Real-World Stacks
  • Delete Files and Folders Older Than X days
  • SSH Tips and Tricks
  • Cloudflare API for Safer DNS Automation
  • Signing PDF documents
  • Canon 2010 Printer Tips and Tricks
  • How to Check Whether a PHP Constant Is Defined (Without Breaking Production)
  • Bash Tip and Tricks
  • Ubuntu Logs Journalctl and Dmesg
  • WordPress Cron: When It’s Time to Replace WP-Cron with Server Cron
  • Bash Find and Delete Files Older Than X Days
  • Nagios HTTPS monitoring: practical check_http and check_curl checks
  • How to Flush the DNS Cache on Ubuntu Linux
  • Remove whoopsie-upload
  • SystemD Notes Tips and Tricks
  • Skype For Linux Fix High CPU Consumption
  • Linux Browser Tweaks
  • Mysqldump Encoding: How to Prevent Broken Characters in Database Exports
  • KDE contextual menu shortcut (mouse right click wannabe)
  • Ubuntu Select Touch Device
  • KDE 5 Plasma Fix After Upgrade
  • Handling Multibyte Characters And Strings In R Project
  • PHP Only on the Front Page: Safer Checks for Live Sites
  • Nagios
  • Nano Text Editor
  • HTTRACK and wayback machine
  • Honda Click 125i DIY Notes
  • Run process in the background Linux
  • Wget The Non-Interactive Network Downloader Tips and Tricks
  • WordPress PageSpeed: What to Fix First for Better Core Web Vitals
  • SoapUI
  • R XML2
  • PDF to Word Conversion
  • Get Current Working Directory In Any Window Linux Bash
  • Adjust power management settings for Ryzen Processors
  • Trello Tips and Tricks
  • WP-CLI for Faster, Safer WordPress Operations
  • MySQL Zero-Date Import Errors: Fix Them Safely
  • OLCPT installation on Windows
  • Reinstalling and Updating All Current R-Packages To New Version of R
  • Enable SMART on Old External Seagate SSD Ubuntu 20.10
  • Cockpit, Monit, ISPConfig, or Landscape: Which Fits Your Ubuntu Servers?
  • How to Bulk Delete Cloudflare DNS Records Without Browser Console JavaScript
  • Scraping and Browser Automation: Choosing the Right Tool for the Job
  • Drupal Commerce: A Practical Setup and Scoping Guide
  • Drupal 9: A Practical Upgrade Path for Legacy Sites
  • Vegan Power Game Privacy Policy
  • USB headphone detection reintroduced in Ubuntu 20.10
  • Sending Mail from a Linux Server with Postfix: A Reliable, Relay-First Setup
  • Tonsil Fix
  • Drush Symfony PHP Errors in Drupal: A Safe, Practical Fix
  • Drupal 7 on MySQL 8: Fixing the NO_AUTO_CREATE_USER Error
  • Tidy Up composer.json with Composer Normalize
  • Linux Show Final URL Programatically
  • PHP Front-Page Detection: Safer Checks for Real-World Sites
  • Strip Metadata
  • Grub settings and options
  • Gregs Thai Notes
  • Boric Acid and Borax Recipe For Preservation
  • Online Store Links Thailand: Practical Supplier Shortlist
  • WordPress Admin Lockout: A Safe Recovery Guide
  • Tesseract Thai Language
  • CodeIgniter Login and Password Resets: Practical Security for Live Projects
  • Prestashop Modules And Info
  • JavaFX
  • Excel Baht To Text and English Version
  • TTFB Tips And Tricks
  • LibreOffice Calc Separate Cells Into Comma Separated Values
  • Drupal 8: Change Existing Content Language Safely
  • Drupal Taxonomy Hierarchy in Views: Practical Ways to Show Nested Terms
  • Drupal 8 Taxonomy Terms In Node URLs
  • Tar Notes
  • Squirrel SQL With MS SQL
  • Unable to Post in WordPress? Fix the Invalid JSON Response Without Guesswork
  • Recently Installed Packages Ubuntu
  • Critical CSS for Faster Pages: When It’s Worth the Work
  • Lenovo G580 Notes
  • Converting PNG to SVG
  • Recaptcha Above Send Message Button Webfrom Drupal 8
  • Certbot notes
  • VPS Setup Notes
  • Keyboard Mapping Kubuntu 20.04
  • Suspend Issue AMD Graphics Driver Kubuntu 20.04
  • Grub Notes
  • Kubuntu 20.04 USB Audio Devices Not Found Fix
  • Android Flutter Notes
  • Unzip with PHP on Shared Hosting: A Safer Way to Extract ZIP Files
  • PHP CSV Parsers: Practical Choices for Real-World Imports
  • Snedige Regneark!
  • Find and replace string in files recursively
  • Graphical Disk Usage Analytics
  • R CVXR linear programming
  • Payment Gateways Denmark
  • Webshop systems
  • Chrome Tweaks
  • Latest Version of Skype For Linux in Ubuntu 19.10 Eoan
  • VPS Options and Considerations
  • Debugging PHP: A Practical Workflow for Faster Fixes
  • Best Video Editor kdenlive
  • Git Tips And Tricks
  • SSH and Cpanel
  • WordPress Custom Fields: A Practical Guide to Structured Content
  • DIY Irrigation Timer and Valve System in Thailand: Build It for Flow and Service
  • Adjust Screen Brightness Ubuntu 19.10 - 22.04
  • Importing CSV data
  • Update Snaps Ubuntu
  • Redirect And Rewrite Notes
  • Reading Samsung Exfat K-Ubuntu 19.10
  • Detect Date Format In R Project
  • Encoding detection in R project
  • Libreoffice
  • Secret Mushroom Marinade
  • Use a VPS as a Proxy Server with SSH Tunneling
  • Prestashop Notes
  • Magento Installation Notes
  • Moving Drupal Blocks on Mobile: CSS, Regions, and Safer Tradeoffs
  • HTML 5 Games
  • Composer for Drupal Teams: Safer Installs, Cleaner Updates
  • Cloudflare SSL on a VPS: A Practical Setup Without the Gotchas
  • Drupal 8 Advanced Aggregation: Better PageSpeed Without Guesswork
  • Drupal 8 Inline Responsive Images: A Practical Legacy Setup
  • Install a Specific MySQL Version on Ubuntu Without Creating Upgrade Debt
  • Youtube over 1 billion views
  • Debugging WordPress on a Live Site: A Safer Workflow
  • Air Quality in Northern Thailand: A Practical Smoke-Season Plan
  • GDPR
  • Sending Mail with Drupal: Reliable Email Setup for Business Sites
  • Enable TLS on a Linux Mail Server Without Breaking Delivery
  • Xero Shoes Promotion
  • Web Browser Automation for Operations and Agency Teams: What to Automate and Which Tool to Use
  • Lenovo T450s Thinkpad Screen Connectivity Issues
  • Google Adwords For Small Companies
  • M Tuberculosis MTB
  • Drupal 8 Development in 2026: Safe Legacy Work and Upgrade Planning
  • Restful Services
  • Recommended WordPress Plugins for Business Websites: Keep the Stack Lean
  • Svar angĂĄende htaccess-fil til adgangskodebeskyttelse af mappe
  • Inline Image Pasting in Drupal: Faster Editing, Cleaner Media
  • Canonical Apache Redirects: Remove index.html and index.php Cleanly
  • Marriage Visa Extension Thailand
  • Cool Vegan Recipes
  • Youtube Backup
  • Drupal 7 HTTPRL Network Errors: A Practical Fix and Triage Guide
  • Image conversion and compression
  • Webshop software
  • Remote Desktop Alternatives
  • Mounting External USB Drive Attached To Router
  • Drupal Wiki: Build a Knowledge Base People Can Actually Use
  • Machine Learning
  • Greenfoot
  • Teaching Subjects
  • Python OpenCV
  • Backup In The Cloud
  • Open Social
  • Underhyleren.dk Til Salg
  • WordPress Backup Solutions: A Recovery Plan for Real Sites
  • Adding Functionality To Libre Office
  • Microsoft Access Database Resources: When to Fix, Split, or Replace Your System
  • Dynamic Images Excel Resources
  • R Project Resources
  • Big Data
  • VBA for Outlook And Onenote
  • Bali
  • Dashboard Example
  • Business intelligence tools
  • Free Virtual Lightroom For Raw Images
  • Mobile App Development Notes
  • Woocommerce 3.1x Built In CSV Importer
  • Upgrading PHP 5: Use PHP 7 as a Bridge, Not the Destination
  • Fix mailR and rJava Errors on Ubuntu Servers
  • Currently running cronjobs (crontab cron)
  • Pandora Stock Data
  • Directory Statistics Linux Terminal
  • Fingerprint No Refresh
  • Fingerprint Stock 5 Second Graph With Anonymous Sales
  • Pasting Images into Drupal: A Practical CKEditor 5 Setup
  • React Native
  • Excel VBA Utility Collection
  • Thailand To-Do: A Practical Route for Food, Farms, Islands and Focus
  • Vegan Restaurants in Chiang Mai: A Practical Field Guide
  • Google Review Link Generators: What Small Teams Actually Need
  • CSV Kit Notes Tips and Examples
  • Cycling Routes
  • Essential Drupal 8 Modules: What Still Matters on a Legacy Site
  • Check version of pip installed python package CSVkit
  • Shutdown Linux Machine At Specific Time
  • Time Stamp in R
  • SEO Audit Checklist: What to Check and Fix First
  • Optimizing Drupal: A Practical Performance Checklist
  • Plant Based Resources
  • Travel Hacks
  • Chiang Mai Secret Notes
  • SMF and PHP 7: The Safer Upgrade Path
  • Drupal 8 Bootstrap 3 sub theme setup
  • Lækker luksusvilla Engelundsvej 73 Viby J.
  • Glxgears No Vertical Synchronization
  • Downloading Facebook Videos
  • She Feels
  • Shrink PDF In Linux
  • Nordic Stocks
  • Running Linux on T450s T495s T14, Thinkpads and Others
  • Design Colors Palette
  • Bootable ISO Without Burning Anything
  • Screen Capture In Linux With Audio From Microphone and System Sounds
  • Linux Laptop Power Management TLP
  • Drush: A Practical Operations Layer for Drupal Sites
  • Importing External Data into Drupal: A Practical Migration Plan
  • Free Music For Your Videos
  • Append Multiple MOV Files and Edit Video
  • Mounting Your Android Phone In Linux
  • Free Drupal Themes in 2026: A Practical Shortlist
  • Forerunner 910XT In Linux - Garmin Connect
  • Drupal 7 Content Type Export and Import: A Practical Legacy Guide

Review Greg on Google

Greg Nowak Google Reviews

 

Illustrated infographic summarizing: EU OpenAI Residency Is a Migration Project, Not a Dashboard Toggle
EU OpenAI Residency Is a Migration Project, Not a Dashboard Toggle
2026-08-05

An EU-resident OpenAI API setup needs a new project, regional routing, dependency and state migration, compatibility testing, and clear governance evidence.

Illustrated infographic summarizing: AI Images Need a Chain of Custody, Not Just a Disclosure Label
AI Images Need a Chain of Custody, Not Just a Disclosure Label
2026-08-04

AI image labels are only the endpoint. Learn how to test C2PA credentials through editing, CMS, CDN and agency handoffs while preserving evidence.

Illustrated infographic summarizing: MCP Just Went Stateless: Audit the Integrations Behind Your AI Tools
MCP Just Went Stateless: Audit the Integrations Behind Your AI Tools
2026-08-03

The 28 July 2026 MCP release removes protocol sessions and changes discovery, tasks, caching, OAuth and tracing. A practical guide to auditing the move.

Illustrated infographic summarizing: SEO Trends for 2026: What Actually Changed Since 2024
SEO Trends for 2026: What Actually Changed Since 2024
2026-08-03

A practical guide to what changed in SEO between 2024 and 2026, from AI and multimodal search to Core Web Vitals, privacy and local visibility.

Illustrated infographic summarizing: INP and Green SEO Share a Backlog: Cut the Work Every Visit Repeats
INP and Green SEO Share a Backlog: Cut the Work Every Visit Repeats
2026-08-03

INP and sustainable web work often expose the same waste. Use field data, profiling, caching and performance budgets to build one practical backlog.

Illustrated infographic summarizing: AI crawler policy now has verbs: separate search, RAG, and training
AI crawler policy now has verbs: separate search, RAG, and training
2026-08-02

AI crawler rules now need separate decisions for search, RAG, and training, backed by practical testing across robots.txt, CDNs, WAFs, and CMS controls.

Illustrated infographic summarizing: WordPress Supports Old PHP; Your Production Server Shouldn’t
WordPress Supports Old PHP; Your Production Server Shouldn’t
2026-08-01

WordPress still runs on legacy PHP, but compatibility is not a security policy. Build and test your upgrade path before PHP 8.2 support ends.

Illustrated infographic summarizing: The AI-built tool your team relies on needs an owner
The AI-built tool your team relies on needs an owner
2026-07-31

AI-built internal tools can become business-critical before anyone owns them. Here is how to secure, review, monitor, and retire them without blocking useful work.

Illustrated infographic summarizing: Your AI model has an expiry date: build the migration lane now
Your AI model has an expiry date: build the migration lane now
2026-07-30

AI models retire on a schedule. Learn how to map dependencies, test replacements, release safely and preserve a working rollback route.

Illustrated infographic summarizing: Copilot Has Repo-Level Metrics Now. What Should Teams Measure?
Copilot Has Repo-Level Metrics Now. What Should Teams Measure?
2026-07-29

GitHub’s repo-level Copilot metrics show where AI is active, but not whether it adds value. This scorecard connects usage with delivery, quality, and cost.

More articles
RSS feed

Footer

  • All articles
  • Contact

GrN.dk web platforms, web optimization, data analysis, data handling and logistics.