Overview

MetaGen (pkg_metagen, listed on the Joomla Extensions Directory as Automatic Meta Description) is a free SEO tune-up for Joomla. It fixes the problems that site audit tools such as Ahrefs and Semrush report on Joomla sites: missing and badly sized meta descriptions, over-long titles, heading problems, missing canonical and social share tags, broken images and broken outbound links.

Each problem appears on the MetaGen dashboard with a count of the affected articles and an action beside it. Most can be fixed in one click, and every change MetaGen makes to an article is recorded so you can review it.

MetaGen is completely free: no subscription, no key, no usage limits and no external services. Everything runs on your own server. It is released under the GNU General Public License v3 (GPL-3.0-or-later).

Meta descriptions on save

A meta description is written from the article title and intro text every time you save an article, at a length search engines display in full.

SEO tune-up

Fourteen checks modelled on the issues audit tools report, each with a live count and a fix, a report or a setting.

One-click fixes

Fill missing meta descriptions, bring long and short ones within limits, shorten long titles and demote extra H1s across the whole site.

Canonical and share tags

Canonical links, Open Graph tags and X (Twitter) cards on every article page, all naming the same host.

Site scan

Checks each article page as visitors see it for an H1, and every image and outbound link for errors, on demand or in the background.

Every change logged

Title, meta description and heading changes are listed with the original title kept, so any change can be reviewed and put back by hand.


The SEO tune-up

The SEO tune-up list on the dashboard is the heart of MetaGen. Each row names an issue, shows how many articles it affects (or a tick when there are none), and offers an action: Fix opens a pane that makes the change, View lists the affected articles, Open starts a tool, and Settings goes to the switch that controls a tag.

Fixes change articles through Joomla’s own article model, so versions, finder indexing and other plugins behave exactly as they do when you edit by hand. Article URLs are never changed.

Meta descriptions and titles

CheckWhat MetaGen does
Meta description missing Generates a description for every article that has none, from the title and intro text. Descriptions you have written are left alone.
Meta description too long Regenerates descriptions over the maximum length (160 characters by default) to a length that fits, trailing ellipsis included, so strict 160-character checks pass.
Meta description too short Regenerates descriptions under 70 characters from the article content, and only replaces one when the new description is longer.
Title too long Shortens titles over 60 characters at a word boundary. This is a separate, explicit choice because it changes the headline; the URL is kept and the original title is recorded.

Headings

CheckWhat MetaGen does
Multiple H1 tags Finds articles whose body has more than one H1 and demotes the extras to H2, keeping the first.
Heading structure A tool that changes one heading level to another across articles, for example promoting an orphaned H3 to H2, optionally within one category. The pane shows a live count of the articles it will change.
H1 missing Found by the site scan, which checks the page as visitors see it. The template usually prints the article title as the H1, so the article body alone can’t answer this.

Canonical and share tags

The MetaGen content plugin adds these tags to article pages as they are displayed. Nothing is stored in your articles, and each can be switched off in the plugin settings. If a page already has a canonical link, MetaGen leaves it in place.

CheckWhat MetaGen does
Duplicate pages without canonical Adds a canonical link pointing at the article’s SEF URL, so the same article reached through non-SEF links, other menu paths or ?start= isn’t treated as several duplicate pages. It works alongside Joomla’s Redirect plugin: canonicals cover live duplicate URLs, redirects cover moved or missing ones.
Open Graph tags Adds og: tags so a shared article gets a title, description and image. og:url always equals the canonical URL, which clears the audit warning “Open Graph URL not matching canonical”.
X (Twitter) card Adds X card tags for a rich preview when an article is shared on X.
Canonical host agreement Shows which host your pages name (for example with or without www.) and warns when the System – SEF plugin’s Domain field and the site URL disagree, or when neither is set. Settings opens the SEF plugin so you can set the address you want indexed.

Images and links

CheckWhat MetaGen does
Missing image alt text Lists the articles with images that have no alt text, with a link to edit each. Good alt text describes the image, so MetaGen leaves the writing to you.
Broken images Found by the site scan: images in articles that fail to load, with the articles that use each one.
External links 4XX Found by the site scan: outbound links that return a 4XX error such as 404 Not Found, with the articles that contain each one.

Site scan

Some problems can only be found by requesting a URL: whether an article page reaches the visitor with an H1, whether an image loads, whether an outbound link still works. The site scan does this for every published, public article:

  • Pages: each article page is fetched as a visitor sees it and checked for an H1.
  • Images: every image the articles use, in the body and as intro or full-text images. Images on your own site are checked on disk, without a web request.
  • Outbound links: every link to another site, in the body and in the article’s Links A, B and C.

Results appear in the Site scan pane: each broken image and each outbound link returning a 4XX error, with the articles that use it and a link to edit them. The three tune-up rows (H1 missing, Broken images, External links 4XX) show the counts from the latest scan, and say Not scanned until the first one.

Running a scan

  • On demand: press Scan site in the dashboard toolbar. The Site scan pane opens and a progress bar shows pages and links checked, straight from the server. The scan works through the site in short slices, so it never runs into your server’s time limit, and the page reloads onto the results when it finishes. If you leave the dashboard mid-scan, it carries on the next time you open it.
  • In the background: the package installs a scheduled task, MetaGen – site scan, switched off. Turn it on under System > Scheduled Tasks. It runs every 15 minutes, continues any scan in progress, and starts a new scan when the last one is older than the rescan interval (7 days by default). Pressing Run on the task starts a new scan straight away.

Reading the results

  • Pages that can’t be fetched (for example a page your own site answers with a 404) are listed, never counted as having an H1. The H1 row then shows how many pages went unchecked instead of a tick.
  • Links answering 429 Too Many Requests are rate-limiting the scan, not broken. They are listed as not checked and never counted as problems.
  • Links answering 401, 403 or 429 carry a note that the site may refuse automated checks. Open the link to confirm before you edit the article.
  • The scan counts as one view of each article, the same as any visitor.

The dashboard

Open Components > MetaGen. Four headline cards sit at the top:

CardShows
SEO issues Open issues across all the tune-up checks, and how many checks they fall under. Green when there is nothing to fix.
Meta descriptions The share of articles that have a meta description, with a progress bar.
Improved this month Articles MetaGen has fixed or regenerated since the start of the month, each counted once.
Site scan When the last scan finished and how many broken images or links it found, with a link to the results.

Below the SEO tune-up list, the Analytics section shows where to start:

  • Priority issues — your ten most-visited published articles that have an issue, one line each: badges naming the issues (for example Meta too short, Broken link, No H1), the title, its hits and an Edit article button. Fixing these first helps the pages most people see.
  • Issues by category — categories ranked by how many of their published articles have issues, shown as “13 of 33” with a bar and the total number of issues. Each category opens its article list, so you can hand a section to whoever looks after it.
  • Articles changed — every title, meta description and heading change MetaGen has made, with the original title kept beside the new one.
  • Regeneration errors — any article a bulk regeneration couldn’t update, with the reason and a link to open it (shown only when there are some).

Priority issues and Issues by category use the same rules as the SEO tune-up, plus the latest site scan for H1s, broken images and broken links. Site-wide checks such as canonical host agreement aren’t tied to one article, so they don’t appear in these lists.


Installation

Step 1: Install the package

  1. Download the latest pkg_metagen package from the Multizone extensions directory
  2. Log into your Joomla Administrator
  3. Navigate to System > Install > Extensions
  4. Upload the pkg_metagen_vx.x.x.zip file

Step 2: Check what was installed

The package installs three extensions. The two plugins are enabled for you.

  • MetaGen component — the dashboard, SEO tune-up and site scan
  • Content – MetaGen — writes meta descriptions on save and adds the canonical, Open Graph and X card tags
  • Task – MetaGen — provides the background site scan task (the task itself starts switched off)
Zero configuration: MetaGen works as soon as it is installed. Meta descriptions are written on save, and the canonical and share tags appear on article pages straight away. The settings below are optional.

Updates arrive through Joomla’s own update system under System > Update > Extensions.


Getting started

Step 1
Open the dashboard

Go to Components > MetaGen. The headline cards and the SEO tune-up list show where your site stands.

Step 2
Fix the counts

Work down the tune-up list. Start with Meta description missing, then the length checks and Multiple H1 tags. Each Fix pane explains what will change and asks you to confirm.

Step 3
Check the canonical host

Look at Canonical host agreement. If it warns, set the System – SEF plugin’s Domain field to the address you want search engines to index.

Step 4
Scan the site

Press Scan site for H1s, broken images and broken outbound links. Turn on the MetaGen – site scan scheduled task to keep the results fresh.


Configuration

Content plugin

Under System > Plugins, search for “MetaGen” and open Content – MetaGen, or use the Plugin settings link under the SEO tune-up list.

SettingDefaultDescription
Maximum Length 160 characters Longest meta description MetaGen writes. Text is cut at a word boundary.
Separator - Joins the title and the content summary when both are included.
Overwrite Existing No Replace meta descriptions that already exist when an article is saved. Leave off to keep descriptions you have written.
Include Title Yes Start the meta description with the article title.
Include Content Yes Include text from the article’s intro.
Open Graph tags Yes Add og: tags to article pages.
X (Twitter) card tags Yes Add X card tags to article pages.
Canonical link Yes Add a canonical link to article pages when none is present.
Debug Mode No Show a message when a meta description is generated on save.

Site scan task

Under System > Scheduled Tasks, open MetaGen – site scan.

SettingDefaultDescription
Rescan every (days) 7 Start a new scan when the last finished scan is older than this.
Seconds per run 20 How long each run spends checking before it stops until the next run. Keep it below your server’s PHP time limit.

Component options

Under Components > MetaGen > Options:

  • Data Retention Period (days) (default: 365) — how long regeneration history is kept. Article statistics are kept indefinitely.
Using Cassiopeia Themer? MetaGen is the one place for canonical, Open Graph and X card tags. Themer’s own SEO options moved here, so the two never emit competing tags.

Troubleshooting

Check that Content – MetaGen is enabled under System > Plugins. If the article already has a meta description and Overwrite Existing is off, the plugin leaves it alone. Turn on Debug Mode to see a message each time a description is generated.

Check the Canonical host agreement row. When the SEF plugin’s Domain field and the site URL name different hosts (for example one with www. and one without), set the Domain field to the address you want indexed. Re-crawl after the change; audit tools report what they saw on their last crawl.

If your page source shows the tags as name="og:…" rather than property="og:…", a Joomla core file is out of date. Reinstall the core files from System > Update > Joomla.

Only one extension should add each tag. Either switch off Open Graph tags, X (Twitter) card tags or Canonical link in the MetaGen plugin, or switch off the same output in the other extension. MetaGen never adds a canonical link when the page already has one.

The scan requests each article page from your own site. A listed page with an HTTP error, such as 404, gives the same answer to visitors: usually the article has no menu route. Open the link to see it. If every page fails, your server may block requests to itself; ask your host to allow them.

Some sites refuse automated requests. An answer of 429 Too Many Requests is listed as not checked and never counted as a problem. A 401 or 403 is reported, with a note to confirm it: open the link in your browser, and if it works, the site is refusing the scan rather than the link being broken.

Scheduled runs wait for the rescan interval (7 days by default) after the last finished scan, and the log says when the next scan is due. To scan now, press Scan site on the dashboard or Run on the task.

Articles are processed in batches of 100, entirely on your server with no external calls, so the time depends on your database. A progress indicator shows while it runs. Any article that can’t be updated is listed under Analytics with the reason.

MetaGen uses the standard Joomla update system. Check for updates via System > Update > Extensions.

If updates are not appearing, verify your server can reach the Multizone update server. If the update site is missing, reinstall the package to restore it.


Get support

Contact us

Questions, bug reports, feature requests — get in touch.

  • Website: multizone.co.uk
  • Email: This email address is being protected from spambots. You need JavaScript enabled to view it.
  • In-app help: Each Multizone component has a setup checklist on its dashboard and contextual descriptions on every form field.

What support covers

All Multizone extensions are freely downloadable as trials.

  • Trial — community support via the documentation and changelog.
  • Standard / Premium / Enterprise — direct email support; response priority and depth scale with tier.

Licences, trademarks, source code licences and attributions

928uk® is a trademark of Multizone Limited, registered in the UK. Multizone and this site is not affiliated with or endorsed by The Joomla! Project™. Any products and services provided through this site are not supported or warrantied by The Joomla! Project or Open Source Matters, Inc. Use of the Joomla!® name, symbol, logo and related trademarks is permitted under a limited licence granted by Open Source Matters, Inc. AdMob™, AdSense™, AdWords™, Android™, Chrome OS™, Chromebook™, Chrome™, DART™, Flutter™, Firebase™, Firestore™, Fuchsia™, Gmail™, Google Maps™, Google Pixel™, Google Play™, Pixelbook Go™, and Pixel™ and other trademarks listed at the Google Brand Resource center are trademarks of Google LLC and this site is not endorsed by or affiliated with Google in any way. Apple and the Apple logo are trademarks of Apple Inc., registered in the U.S. and other countries. App Store is a service mark of Apple Inc. The OSI logo trademark is the trademark of Open Source Initiative. Any other product or company names may be trademarks™ or registered® trademarks of their respective holders. Use of these trademarks in articles here does not apply affiliation or endorsement by any of them.

Where the source code is published here on multizone.co.uk or on our GitHub by Angus Fox, Multizone Limited it is licenced according to the open source practice for the project concerned.

BSD 3-Clause "New" or "Revised" Licence
Original source code for mobile apps are licenced using the same licence as the one used by "The Flutter Authors". This Licence, the BSD 3-Clause "New" or "Revised" Licence (bsd-3-clause) is a permissive licence with a clause that prohibits others from using the name of the project or its contributors to promote derived products without written consent.
GNU General Public Licence v3.0 or later
Original source code for Joomla! published here on multizone.co.uk by Angus Fox, Multizone Limited is licenced using the GNU General Public Licence. This Licence, the GNU General Public Licence Version 3 or later (gpl-3.0+) is the most widely used free software licence and has a strong copyleft requirement. When distributing derived works, the source code of the work must be made available under the same licence.

Please respect the licences and dont use the name of this site or our company to promote derived products without written consent. I mean, why would you? You're not us!

Amazon Associate
As an Amazon Associate we earn from qualifying purchases.
Logo
Our Logo Image is by Magnific. We chose it because its an M and also the letter A twice - and that represents us.
Graphics
Our images representing user experience and interface design are from Magnific here and here and here and here and here.