How do I generate aliases for existing Drupal content?

The Citead team, updated

In short. Use Pathauto’s Bulk generate form with a matching pattern, automatic aliasing enabled, and an Update action policy suited to existing aliases.

Definition: A URL alias is a readable alternative path to Drupal content. As of 17 October 2026, Pathauto's bulk generation applies configured patterns to existing content, including items with missing aliases and items whose aliases need regeneration.

Key facts

  • Pathauto's bundled help describes bulk generation for existing content and for aliases affected by a pattern change. The instructions below follow release 8.x-1.15.
  • The bulk form defaults to generating aliases only for paths without an alias.
  • The settings form provides an Update action policy for retaining or replacing existing aliases.
  • The batch implementation processes the content's default language and its translations.

How is bulk generation run?

A pattern is a template that supplies the text used to generate an alias. Pathauto's pattern help places configuration on the Patterns tab and states that the first applicable pattern supplies the alias. A matching pattern must therefore exist before generation.

The route definitions identify these administration paths:

/admin/config/search/path/patterns
/admin/config/search/path/update_bulk
/admin/config/search/path/settings

On Bulk generate, the administrator selects the types of paths to process, chooses the operation, and submits Update. The form implementation starts a batch and reports the number of generated aliases or a message that there are no new aliases to generate. For filling gaps in an existing site, the default operation leaves already aliased paths outside the selection.

How do the bulk operation and Update action interact?

The bulk form's selection logic offers these scopes when the update policy permits changes:

OperationPaths selected
Generate missing aliasesPaths without an alias.
Update existing aliasesPaths that already have an alias.
Regenerate allBoth groups of paths.

The separate Update action setting determines what happens when an item already has an alias. Its choices retain the current alias unchanged, create another alias while keeping the previous one functioning, or create a replacement and remove the old alias.

When the policy retains the current alias unchanged, the bulk form exposes only generation for missing aliases. Updating a pattern therefore requires checking both the selected bulk scope and the Update action policy before regeneration.

Why can some content remain unchanged?

Pathauto's bulk help limits processing to items configured for automatic aliasing and excludes manually assigned aliases. Selecting all paths still leaves that requirement in place.

The generator implementation also skips items without a matching pattern and revisions other than the default revision. For an unchanged item, its automatic alias setting, applicable pattern, and revision are therefore relevant checks.

The alias storage helper skips creating an alias identical to the current one. Consequently, the generated-alias total can be lower than the number of processed items.

FAQ

Which operation should I use for content without aliases?

Use the default missing-alias operation on Bulk generate. The bulk form labels it “Generate a URL alias for un-aliased paths only”.

Can I regenerate aliases after changing a pattern?

Yes. Pathauto's bundled help explicitly describes this use. Check the Update action policy and choose a bulk scope that includes existing aliases.

Does regenerating all paths overwrite manual aliases?

The same bundled help says manually assigned aliases remain unaffected. You need automatic aliasing enabled for the item to participate.

Sources

  1. Pathauto project, "PathautoHooks.php: bundled help", release 8.x-1.15, accessed 17 October 2026

  2. Pathauto project, "PathautoBulkUpdateForm.php", release 8.x-1.15, accessed 17 October 2026

  3. Pathauto project, "PathautoSettingsForm.php", release 8.x-1.15, accessed 17 October 2026

  4. Pathauto project, "EntityAliasTypeBase.php", release 8.x-1.15, accessed 17 October 2026

  5. Pathauto project, "pathauto.routing.yml", release 8.x-1.15, accessed 17 October 2026

  6. Pathauto project, "PathautoGenerator.php", release 8.x-1.15, accessed 17 October 2026

  7. Pathauto project, "AliasStorageHelper.php", release 8.x-1.15, accessed 17 October 2026

  8. Pathauto project, "README.md: Pathauto documentation", release 8.x-1.15, accessed 17 October 2026


Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark