
21 Aug 2026
Drupal.org aggregator
Replatform Radar: Drupal to Headless: The Node IDs That Break the Move
When you move a Drupal site to a headless CMS, the thing most likely to break silently is not your content. It is the invisible wiring between pieces of it. Drupal stores relationships as numeric IDs (node 4127, term 88, media 903), and almost every headless platform mints brand-new IDs the moment you import. So every taxonomy tag, every embedded image, every "related articles" block that pointed at an old number now points at nothing, or worse, at whatever content happened to inherit that number. The pages still render. The links inside them just quietly go nowhere. Here is the scene that keeps happening. The migration "succeeds." Every article is present, the word counts match, everyone high-fives. Then two weeks later someone notices the related-content sidebar is empty on 8,000 pages, half the article hero images resolve to a 404, and the tag pages that used to rank now list either…
Read the rest at Replatform Radar
21 Aug 2026 2:00pm GMT
20 Aug 2026
Drupal.org aggregator
Talking Drupal: Talking Drupal #566 - DrupalEasy: Responsible Drupal AI
Today we are talking about Drupal, AI, and learning to use it responsibly with guest Mike Anello. We'll also cover Entity Mesh as our module of the week.
For show notes visit: https://www.talkingDrupal.com/566
Topics
- Course overview
- Fast moving modules
- Inside vs outside AI
- No code approach
- Keeping curriculum current
- Essentials vs add ons
- Chat Claude Code setup
- Inside vs Outside AI
- Rules and Provider Calls
- Guardrails in Drupal UI
- Model QA and Testing
- Local Models and Costs
- Token Budgets and Logging
- Course Use Cases Overview
- RAG and Vector Basics
- Class Schedule and Pricing
- AI Predictions and Wrap
Resources
- New DrupalEasy class: Responsible Drupal AI Basics
- Training at orlando
- amazee ai
- Jrockowitz losing my skill
- AI module ecosystem
- AI browser provider (LLM in Google Chrome)
- amazee.ai Private AI Provider
- Derecho
Guests
Mike Anello - drupaleasy.com ultimike
Hosts
Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi JD Flynn - dorficus
MOTW Correspondent
Martin Anderson-Clutz - mandclu.com mandclu
- Brief description:
- Have you ever wanted a way to analyze and visualize the ways in which the content on your Drupal site is interlinked? There's a module for that.
- Module name/project name:
- Brief history
- How old: created in Jan 2025 by Jorge Tutor (gedur) of Metadrop
- Versions available: 2.1.0 and 2.0.3, both of which work with Drupal 11
- Maintainership
- Actively maintained, latest release last month, and a commit just yesterday
- Security coverage
- Test coverage
- Documentation? Project page is pretty descriptive
- Number of open issues: 13 open issues, 4 of which are bugs, but 2 of those were marked fixed in the past week
- Usage stats:
- 437 sites
- Module features and usage
- With Entity Mesh installed, the module will analyze the rendered output of your nodes using a chosen account, looking for links to other content
- That means it will find not just links in entity relationship fields, but also links within formatted text, menus, and more
- The results can be visualized in a D3.js 3D visualization, displayed as a table, or exported as a CSV
- The report also exposes a set of Views-style filters, to help you narrow down to the specific set of information you want to understand
- Entity Mesh analyzes the DOM of your rendered nodes, looking for links, iframes, and images. Internal paths are further analyzed and categorized, for example based on whether the specified path redirects, is broken, points to something that is access-denied, and so on
- From a marketing perspective, that allows you to understand the paths available to navigate from a source page to a target page, the content linked to or from a specific page, and will also augment the content deletion confirmation form to advise the user of any existing links to the content being deleted
- There are obvious SEO advantages to being able to find redirect chain, broken or access denied links, and there are GDPR compliance implications for being able to identify iframes that might load third-party cookies
- The project page also mentions that this module could be very useful to run after a content migration, for QA
- The actual analysis of your site content be triggered by drush, an admin form, or by cron, and you can set limits on the size of the batch to run, because of the weight it puts on your site by rendering every node it analyzes
- The current versions Entity Mesh also depend on the Entity Registry and Entity Render Context modules, that have essentially the same maintainers, so if there's only part of Entity Mesh that you really need, you could also give those a look
- Back in episode #321 we covered Entity Usage, and there are some definite similarities, but also some differences. While they both provide reporting on content relationships, Entity Usage does so by examining structured field values at save time. So, the information gathered is different, and collects data that can be displayed in views or custom code.
20 Aug 2026 6:00pm GMT
Mike Herchel's Blog: I’m Joining Acquia!
I'm Joining Acquia! mherchel
20 Aug 2026 3:10pm GMT
A Drupal Couple: A conversation in Cartagena

Add new comment
20 Aug 2026 2:59pm GMT
Specbee: Why and how to migrate your DotNetNuke (DNN) site to Drupal
Running on DotNetNuke (DNN)? We highly recommend a CMS migration to the latest release of Drupal. It is packed with all the features you have been wishing for! Learn why you should make that move and how you can do it.
20 Aug 2026 9:31am GMT
DrupalCon News & Updates: Submissions are closed. Nominations coming soon!
The International Splash Awards 2026 have reached a new milestone, with 40% more submissions compared to last year.

A huge thank you to everyone who submitted a project and helped make this year's edition even bigger.
The jury is now reviewing the submissions, with nominations set to be announced in early September.
We look forward to celebrating the projects and teams behind them during DrupalCon Rotterdam 2026.
Stay tuned. The nominations are coming soon.
20 Aug 2026 9:30am GMT
DrupalCon News & Updates: DrupalCon Rotterdam 2026 T-Shirt Design Contest
Thank you to everyone who submitted a design and shared their creativity with the community, and to everyone who took part in the voting. The five finalist designs showed the imagination and community spirit that make DrupalCon so special.
Meet the winning design

The Drupal community has spoken!
After an open public vote, Juliane Vöske's design has been selected as the official DrupalCon Rotterdam 2026 T-shirt.
Her winning design will be worn by attendees from across the global Drupal community. This is the T-shirt that will bring us together in Rotterdam.
See you there!
20 Aug 2026 8:09am GMT
The Drop Times: TDT August Town Hall Tracks Editorial Shift and Wider Community Outreach
The Drop Times is reducing routine summaries while putting more effort into original reporting, technical coverage, media partnerships, and community participation.
20 Aug 2026 6:44am GMT
19 Aug 2026
Drupal.org aggregator
Très Bien Blog: Drupal code query MCP Server
Drupal code query MCP Server
A few months ago I put an api online to search and query the whole Drupal code ecosystem. With the release of some more capable local AI models I thought it could be good to release a MCP server with that same data optimized for LLM use. Same data, different packaging. The address for the MCP server is:
Add the server to your setup of choice and you'll be able to ask things like:
theodore
19 Aug 2026 11:25pm GMT
DrupalEasy: New functionality and an updated look for academy.drupaleasy.com
We recently spent some quality time with Claude Code to (finally!) update academy.drupaleasy.com, the training home for DrupalEasy's workshops and courses. We had several goals for the update, all of which we have achieved: A consistent, modern look Improved accessibility Verified class completion pages Office hours attendance statistics Prepare for the Drupal 11 upgrade If you've never taken a DrupalEasy course, then (sadly) there won't be too much for you to see. But, for our hundreds of alumni, this upgrade hopefully provides a big improvement and some fun aspects as well. New look We admit it, design isn't our thing - it's always something that we contract out. In this case, we used Claude Design and Claude Code to update the site with a modern, flat design (really original, we know!) Accessibility While building out the new theme, we used the Drupal AI best practices' drupal-accessibility skill to continually ensure that changes we were making met the WCAG 2.2 AA standard
19 Aug 2026 3:16pm GMT
Omega8.cc: Artificial Stupidity, Revisited
For 30 years we write all our code by hand in BBEdit, the BOA Drupal hosting stack included, and until recently the smartest chatbot money could buy couldn't produce three bash scripts aware of each other, so our verdict was simple: a modern Stack Overflow, and not much else. Then 2026 arrived, and the documentation BOA was owed for 16 years finally got done - after one model fabricated most of it behind our backs, and a better one caught it red-handed and fixed it all, section by section, in four voices for four different audiences. Add a security review of the codebase, end-to-end test suites our old Jenkins could never run, and hosted Drupal and Backdrop sites defended against machine-made attacks, and you will see why we finally stopped joking about Artificial Stupidity.
19 Aug 2026 1:35pm GMT
DrupalCon News & Updates: Migrating to Drupal CMS: From Classic Drupal & Other Platforms
Technical Blog Series
Introduction
The conversation at DrupalCon Rotterdam 2026 won't just be about what Drupal CMS 2.x can do - it will be about how teams are actually getting there. Migration is the real-world bridge between the platform you have today and the Recipe-driven, Canvas-powered experience covered in Post #1 of this series.
This post is a hands-on guide covering the three migration paths developers are navigating in 2026, the tools that power each one, and the common pitfalls that derail projects weeks or months into execution. We'll go deep on the Migrate API, look at real YAML definitions, and document the failure modes you're most likely to hit - along with their fixes.
Understanding What You're Actually Migrating
"Migrating to Drupal CMS" covers three structurally different problems. The tools, timeline, and risk profile are different for each:
|
Your Current Platform |
Migration Type |
Primary Tooling |
|
Drupal 7 |
Data + platform upgrade |
Migrate API + Migrate Drupal |
|
Drupal 9 / 10 / 11 (classic) |
Layer adoption, no data move |
Recipes + Canvas adoption |
|
WordPress / Joomla / AEM / Sitecore |
Full platform replacement |
Migrate API + custom source plugins |
Knowing which one you're doing early - before scoping or quoting - is the single biggest factor in accurate estimation.
The Migrate API: Your Foundation
Regardless of source platform, Drupal's Migrate API is the ETL (Extract-Transform-Load) engine underneath every non-trivial migration. It lives in Drupal core and is composed of three module layers:
- migrate - the core framework: source plugins, process plugins, destination plugins
- migrate_plus (contrib) - adds source types (JSON, XML, SOAP, HTTP), process plugin extras, and migration groups
- migrate_tools (contrib) - adds the Drush commands you'll use day-to-day
Install the contrib layer before anything else:

A source plugin reads rows from legacy data. Process plugins transform field values one by one. The destination plugin writes to Drupal entities. Understanding this pipeline is what separates developers who debug migrations quickly from those who spend days chasing phantom errors.
Path 1: Drupal 7 → Drupal CMS 2.x
Drupal 7's end-of-community-life has passed, and commercial extended support windows are closing. If you're still running D7 in 2026, this migration is urgent - not optional.
Setup: Point the Migrate API at Your D7 Database
Add the legacy database as a second connection in settings.php:


Inspecting the Generated Migrations
The upgrade command generates a full set of migration YAML definitions tailored to your D7 module footprint. Before running anything, inspect what was created:

Writing a Custom Content Type Migration
Auto-generated migrations handle standard field types well. Custom CCK fields, computed values, or non-standard formatters need explicit YAML definitions. Here's a realistic example - a D7 Event content type with a date range field:


Path 2: Classic Drupal 9/10/11 → Drupal CMS 2.x
This is the most common scenario at agencies right now: modern Drupal running well, but built before Recipes and Canvas existed. There is no data migration here - your content stays exactly where it is. What you're adopting is a new site-building layer.
Step 1: Inventory Your Current Setup

Step 2: Add Drupal CMS Packages to Composer

Step 3: Apply Recipes Selectively

Because recipe config actions use createIfNotExists, this is safe on a live codebase - it will not overwrite your existing SEO or media configuration; it only fills in missing pieces.
Step 4: Making the Canvas Decision
This is where teams stall. If your current site uses Layout Builder or Paragraphs for page composition, official tooling to migrate into Drupal Canvas does not yet exist as of mid-2026. Your real options today:
- Option A - Hybrid adoption (most common): Keep existing Layout Builder/Paragraphs pages untouched. Use Canvas only for new pages, landing pages, and templates going forward.
- Option B - Manual high-value rebuild: Identify your top 10-20 highest-traffic pages. Rebuild those in Canvas using Mercury components. Leave the rest.
-
Option C - Wait: If your site has thousands of Paragraphs-based pages, holding for official migration tooling may be the most pragmatic decision - a visible discussion at DrupalCon Rotterdam.
Path 3: WordPress / Other CMS → Drupal CMS 2.x
This is the highest-complexity path but increasingly common as organizations exit proprietary platforms for digital sovereignty and cost reasons.
The Contrib Stack

A Real WordPress-to-Drupal Migration YAML
This example extracts WordPress posts from a side-by-side MySQL database and loads them into Drupal CMS article nodes:


Handling Media: The Hardest Part
Media is where CMS migrations to Drupal quietly break - broken image paths and dead embedded media are among the most common post-launch complaints.
The problem: body content migrated as raw HTML still contains <img src="/wp-content/uploads/..."> paths referencing the old platform. Two strategies fix this:
Strategy A - Migrate files first, rewrite src attributes after

Strategy B - Use the file_import process plugin

Always run a dedicated media migration pass before your content migration, so file entities exist before nodes try to reference them.
The Six Most Common Migration Pitfalls (and How to Fix Them)
⚠ Pitfall 1 Migration is busy with another operation: Importing
The most frequently encountered Migrate API error. It happens when a migration process is killed mid-run (Ctrl+C, server timeout, PHP fatal) and the status lock isn't cleared.
The fix:

⚠ Pitfall 2 Skipping the Content Audit Phase
A reliable migration follows six stages: audit, content mapping, environment setup, content migration, media migration, and SEO preservation. Skipping a stage tends to resurface later as a launch-day fire drill.
A full pre-migration audit must cover:
- Total row counts per content type and per file type
- Fields with data in fewer than 5% of records (candidates for dropping)
- Taxonomy terms with zero content references (clean up before migrating)
- Broken internal links in body content (fix at source before migrating, not after)
- User accounts with no content (migrate only active users)
⚠ Pitfall 3 Not Planning for Delta Migrations
Initial migration runs are never the final run. Between your first migration pass and go-live, editors will keep publishing on the old platform. You need a delta migration strategy - re-running migrations to pick up records created or updated after the initial pass.

⚠ Pitfall 4 Incorrect URL Alias Handling
After migration, old URLs may lead to 404 errors if not redirected correctly. Set up 301 redirects for old URLs to preserve SEO and user experience.
The pathauto module will regenerate URL aliases on save - which is exactly what you don't want post-migration if your old URLs had a different pattern. Disable Pathauto auto-generation on migrated content by setting path/pathauto to 0 in your migration YAML (as shown in the WordPress example above).

⚠ Pitfall 5 Migrating Roles and Permissions Too Early
If you migrate users before your Drupal CMS roles and permissions are fully configured, user role assignments land in the system referencing role IDs that either don't exist or have different permission sets than intended.
The correct order:
1. Configure roles and permissions on the destination site first
2. Export config with drush cex
3. Then run upgrade_d7_user or equivalent user migration
4. Verify a sample of migrated users have the expected roles before migrating content
⚠ Pitfall 6 Not Rolling Back Cleanly Between Test Runs
During development and testing, you'll run migrations many times. Not rolling back cleanly between runs leads to duplicate content, inconsistent map tables, and cascading lookup failures.

Migration Strategy: Choosing Your Cutover Approach
Beyond the technical tooling, the cutover strategy matters as much as the code. Three patterns dominate real-world projects:
|
Strategy |
Best For |
Key Characteristic |
|
Big Bang |
Smaller sites (<300 pages) |
Single cutover, maintenance window required |
|
Progressive |
Large content libraries |
Reverse-proxy routing, sections migrate gradually |
|
Hybrid (API Gateway) |
Regulated industries, complex integrations |
Drupal CMS as content hub, legacy systems via API |
Realistic timelines from field experience: small projects 6-12 weeks, medium-complexity 3-6 months, large enterprise migrations 6-12 months or more. These aren't conservative padding - they reflect what competent, well-resourced teams actually take when they don't skip the audit and planning phases.
After the Data Lands: Apply Recipes
This is the step migration guides most often omit. Migrate moves your content - it does not configure Drupal CMS's site-building layer. After your data migration validates cleanly, apply the relevant recipes:

What to Watch at DrupalCon Rotterdam 2026
- Layout Builder & Paragraphs → Canvas migration tooling - the single most-requested missing piece; community proposals are expected in the Drupal CMS track
- The Migrate Drupal deprecation path - what officially replaces D6/D7 upgrade tooling in Drupal 12.x and beyond
- Delta migration patterns for headless and API-sourced content - increasingly relevant as organizations move off SaaS headless platforms
-
Case studies from the Digital Sovereignty track - real migration stories from organizations exiting proprietary CMSs, with full technical detail
Summary
-
Migration to Drupal CMS 2.x is three different problems depending on where you start:
- Drupal 7 sites use the core Migrate API + Migrate Drupal, with urgent deadline pressure and the 11.4+ deprecation on the horizon
- Classic Drupal 9/10/11 sites need no data migration - selective Recipe adoption and a deliberate Canvas strategy is the whole project
- Other CMS platforms need custom Migrate API source plugins, a full content audit, delta migration planning, and a clear cutover strategy
-
In every case, the six pitfalls covered in this post - stuck migration locks, skipped audits, missing delta runs, broken URL aliases, wrong sequencing of users and roles, and unclean rollbacks - account for the majority of timeline blowouts. Most of them are avoidable with upfront discipline.
-
-
← Post #1: Getting Started with Drupal CMS 2.x: Site Building with Recipes
-
→ Post #3: AI-Powered Drupal: Integrating LLMs and Agentic Architecture
References
- Migrate API Overview - drupal.org/docs/drupal-apis/migrate-api/migrate-api-overview
- Debugging Migrations - drupal.org/docs/drupal-apis/migrate-api/debugging-migrations
- Migrate Drupal Module (Deprecated 11.4) - drupal.org/docs/.../migrate-drupal-module
- Drupal Migration: Tools & Strategies 2026 - o8.agency
- Drupal Migration Guide for WordPress & Legacy CMS - innoraft.ai
- Migration to Drupal CMS: Complete Guide - sparkfabrik.com
- DrupalCon Rotterdam 2026 - events.drupal.org/rotterdam2026
🎟️ Join Us at DrupalCon Rotterdam 2026
Migration paths, Canvas tooling gaps, and the future of Migrate Drupal will all be live conversations in Rotterdam, 28 September - 1 October 2026.
19 Aug 2026 9:02am GMT
Drupal Association blog: A First Look at the DrupalCon Orlando Venue
This is cross-posted from Mike Herchel's blog
A few weeks ago, I met up with some of the DrupalCon Orlando local planning committee at the Hyatt Regency Grand Cypress Resort to check out the venue and finalize a bunch of plans.
We toured the resort, planned events, sampled food and drinks (strictly for quality assurance, of course), floated around the pools, and spent way too much time talking about all the fun stuff we're putting together.
After seeing everything in person, I'm convinced this is going to be the best DrupalCon ever!

This DrupalCon is going to feel different (and I think that's a good thing)
If you've been to previous DrupalCons, one thing you'll notice right away is that this one is going to have a different vibe. Normally we're in a downtown convention center where you can walk to bars, restaurants, coffee shops, and whatever else you stumble across.
This isn't that. The Grand Cypress sits in the middle of Orlando's resort area near Disney. If you want to leave the property, you'll probably grab an Uber or Lyft. Disney Springs is only about 10 minutes away, and the parks are just beyond that.
But honestly... I don't think most people are going to want to leave. This resort is awesome.
Instead of everyone scattering around downtown after the sessions end, I think we're going to end up hanging out together around the resort having poolside cocktails, or smores by the fire pits. And after spending the weekend there, I think that's going to make for an even better conference.
The pools are ridiculous
Seriously. The pool area is unlike anything we've ever had at a DrupalCon.
The pools wind around faux limestone cliffs with waterfalls pouring down into them. There's a cave that connects two sections of the pool, a grotto, a waterslide, two hot tubs, and tons of places to spread out.
Then you've got a poolside bar serving frozen drinks, beer, and food just a few steps away. I can already picture dozens of Drupal people hanging out there after sessions.
Florida in March is basically cheating
If you're coming from somewhere that's still cold in late March... congratulations. This is probably the nicest time of year to be in Florida.
Expect highs around 80°F (27°C), cool evenings, blue skies, and weather that's pretty much perfect for sitting outside all day. It's warm enough to swim without feeling like you're melting.
One of the nicest surprises is the hotel rate that we have. The Drupal Association was able to lock in an incredible rate of just $259/night, and that includes no resort fee. Considering this is one of the best times of year to visit Florida (and a resort like this!) it's an amazing deal. If you're planning to attend, book sooner rather than later:https://www.hyatt.com/events/en-US/group-booking/VISTA/G-DC27.
Everything is actually close together
This might sound boring compared to waterfalls and waterslides, but trust me, it matters. One thing I loved about the venue is how compact the conference space is. No hiking across giant hotel lobbies or speed-walking half a mile to your next session. No wondering which section your talk is actually in.
Everything is clustered together, which means less walking and more time talking to people in the hallways, which is the best part of every DrupalCon anyway.
Drupal's Got Talent is finally happening!
I've been trying to make this happen for years. Every DrupalCon I'd pitch the idea of a talent show, and every year something got in the way. Well... this is the year! It's happening!
We'll be looking for pretty much anything entertaining:
- Musicians
- Bands
- Stand-up comedy
- Magic
- Singing
- Dancing
- Juggling
- Puppet shows
- Weird talents you didn't think anyone wanted to see (we do)
We're not taking sign-ups just yet, but keep an eye out!
What should you pack?
Besides your laptop?
- 👙 A swimsuit (trust me)
- 🩴 Flip-flops or sandals
- 😎 Sunglasses
- 🧴 Sunscreen
- 👕 Clothes for warm afternoons and cooler evenings
- 🎤 Your hidden talent
This venue is a little different than what we're used to, but after spending the weekend there, I know it's going to create a totally different kind, and super memorable, DrupalCon.
Instead of everyone disappearing into the city after the sessions end, I think people are going to stick around. Hanging out by the pool. Sitting around the fire pits. Grabbing a drink. Talking Drupal late into the night.
And honestly? I can't wait!
19 Aug 2026 6:05am GMT
18 Aug 2026
Drupal.org aggregator
The Drop Times: Kristen Pol Explains How Drupal’s Context Control Center Governs AI Context
Drupal teams can govern the context supplied to AI agents, but they cannot make model behaviour deterministic. Kristen Pol explains why that distinction matters when evaluating CCC for policy-sensitive and production-facing workflows.
18 Aug 2026 2:24pm GMT
Specbee: How to use AI for Drupal SEO: Internal Linking explained
AI-powered internal linking in Drupal uses vector search and LLMs to surface relevant links as you write. Read this blog to learn how it works and which modules to use.
18 Aug 2026 10:39am GMT
The Drop Times: Agent Skills Share a Format but Not a Distribution Model
A portable SKILL.md file does not guarantee portable installation. Drupal now has Composer-aware skill aggregation, while its maintainers are debating how much distribution logic belongs in Drupal rather than the wider Agent Skills ecosystem.
18 Aug 2026 8:11am GMT