This project is not covered by Drupal’s security advisory policy.

Emits correct, reciprocal hreflang annotations across several independent,
path-prefixed Drupal backends that together form one international site, and
feeds those alternates into the module's own multilingual XML sitemap and a
crawlable country/language selector.

Features

hrefl_client: install on *every* backend. Collects page inventory and
signals, pulls resolved alternates from the hub on cron, stores them locally,
and emits `hreflang` head tags, sitemap alternates, and the selector. No
cross-backend call ever happens at request time.

hrefl_hub: install on the *Global* backend only. Holds the versioned
translation-group registry (source of truth), runs the tiered auto-mapping
engine (deterministic, embeddings, LLM adjudication + title/URL translation
via Copilot or Anthropic - both fully supported and selectable), the CSV
review loop, and the ingest/serve HTTP API.

Installation

Enable the sub-module(s):

drush en hrefl_client            # on every backend
drush en hrefl_hub               # on the Global backend only

Configuration

Then configure the hub URL and credentials at `/admin/config/search/hrefl`
(client). On the hub, `/admin/config/search/hrefl-hub` lets the admin pick the
AI matcher provider - Microsoft Copilot or Anthropic (both fully supported) -
and enter each one's endpoint, model and API key. The API key is referenced by
name from the key module (never stored in
config); for local development set `HREFL_COPILOT_KEY` / `HREFL_ANTHROPIC_KEY`
instead. Only the selected provider is called at run time; the other stays
configured as a ready alternative.

Additional Requirements

Supporting organizations: 

Project information

  • By jreashor on , updated
  • shield alertThis project is not covered by the security advisory policy.
    Use at your own risk! It may have publicly disclosed vulnerabilities.

Releases