Fix “Fatal error: Uncaught Error: Call to undefined function mb_strtolower()” in All in One SEO (AIOSEO)

Seeing “Fatal error: Uncaught Error: Call to undefined function mb_strtolower()” on a page that uses All in One SEO? That message usually means one thing: the PHP extension that provides mb_strtolower() is not available to the PHP version that runs your site. Until that extension is installed and enabled, AIOSEO cannot run and PHP stops with a fatal error.

All in One SEO is crashing my site with "Fatal error: Uncaught Error: Call to undefined function mb_strtolower()". What does this mean, and how do I fix it?

If you are wondering what is broken: PHP is missing the mbstring extension that All in One SEO expects. WordPress calls mb_strtolower(), PHP cannot find that function, and the whole request dies with a fatal error.

Why this error shows up

mb_strtolower() is part of PHP’s mbstring extension. That extension adds multibyte string functions, so plugins can safely handle UTF 8 titles, slugs and content.

On your server, the PHP process that runs WordPress does not have mbstring loaded. When AIOSEO tries to call mb_strtolower() to normalize a string, PHP hits an undefined function and throws:

Fatal error: Uncaught Error: Call to undefined function mb_strtolower()

This almost always comes down to one of these:

  • The mbstring extension is not installed for your current PHP version.
  • mbstring is installed for a different PHP handler (for example CLI) but not for the one that serves your site (FPM, Apache module, FastCGI).
  • You upgraded PHP and the new version was installed without mbstring enabled.
  • On a managed host, mbstring was disabled at the server level and cannot be turned on from WordPress.

The good news: you do not need to edit AIOSEO or WordPress. You just need to enable mbstring on the PHP version that runs your site.

Fast way to get the site back online

If visitors are seeing the fatal error on the front end, focus on getting mbstring enabled first. Once that is done, AIOSEO will load normally again.

Step 1: Confirm mbstring is missing

If you have access to your dashboard and the error only appears in logs:

  1. Go to Tools → Site Health → Info.
  2. Open the Server section.
  3. Look for Loaded PHP Extensions and check if mbstring is listed.

If you cannot reach the dashboard at all, you can still safely assume mbstring is missing or not loaded if the fatal error points at an AIOSEO file and mentions mb_strtolower().

Step 2: Enable mbstring in your hosting control panel (if available)

On many shared hosts you can enable mbstring yourself:

cPanel style hosts

  1. Log in to cPanel.
  2. Go to Software → Select PHP Version or MultiPHP Manager / PHP Extensions.
  3. Select the PHP version that your site uses.
  4. Find and check the box for mbstring.
  5. Click Save or Apply.
  6. Wait a moment, then reload your site.

Plesk and similar panels

  1. Log in to your hosting panel.
  2. Open the domain or subscription for your WordPress site.
  3. Look for PHP Settings or PHP Extensions.
  4. Enable mbstring and save.
  5. Reload your site and the page that was triggering the error.

If your host hides extension settings or you do not see mbstring listed at all, move to the next step.

Step 3: Ask your host to enable mbstring for you

On managed WordPress hosts and many VPS setups, the fastest fix is to open a support ticket. You can send a message like this:

I am getting this error on my WordPress site:
Fatal error: Uncaught Error: Call to undefined function mb_strtolower()

All in One SEO uses the PHP mbstring extension. Can you please install and enable mbstring for the PHP version that runs my site?

Ask them to confirm once mbstring is enabled, then reload your site.

Step by step: if mbstring is “enabled” but the error remains

Sometimes hosts will say mbstring is installed, but you still see the fatal error. In those cases, PHP on the command line may have mbstring, but the PHP handler that serves the site does not.

Check which PHP your site is actually using

  1. In Tools → Site Health → Info → Server, note the PHP version.
  2. Compare it with the version shown in your hosting panel or in any phpinfo() page your host provides.
  3. Make sure mbstring is enabled for that exact version and handler, not just for another one.

On cPanel based servers with MultiPHP, you may need to enable mbstring under both Select PHP Version and MultiPHP INI Editor for the domain. If you are unsure, ask support to confirm that mbstring is loaded for the handler serving your site, not just for CLI PHP.

Remove overrides in php.ini or .user.ini

Custom configuration files can accidentally turn off extensions.

  1. Using FTP or your file manager, check your site root and public_html for:
    • php.ini
    • .user.ini
    • .htaccess rules that mention mbstring
  2. Open these files and search for mbstring.
  3. Remove any lines that explicitly disable mbstring, such as:
    • disable_functions = mb_strtolower
    • or custom directives that comment it out.
  4. Save the file and reload your site.

If you are not comfortable editing these files, have your host review them for mbstring related settings.

If you need to get into wp-admin right now

If the fatal error is blocking your dashboard and you need temporary access while the host fixes mbstring, you can disable AIOSEO without deleting it.

Disable AIOSEO via SFTP or file manager

  1. Connect to your site with FTP, SFTP, or your hosting file manager.
  2. Go to wp-content/plugins/.
  3. Find the all-in-one-seo-pack folder.
  4. Rename it to all-in-one-seo-pack-disabled.
  5. Reload your WordPress dashboard.

WordPress will see the plugin folder as missing and deactivate AIOSEO, so the fatal error stops and you can log in. Your settings stay in the database and will come back once the plugin is active again and mbstring is enabled.

Important: this is a temporary workaround. AIOSEO and other plugins that rely on mbstring will still need the extension enabled to work correctly.

Verification: how to know it is fully fixed

You are in good shape when:

  • Your site loads without any fatal error mentioning mb_strtolower().
  • In Tools → Site Health → Info → Server, mbstring appears in the list of loaded PHP extensions.
  • AIOSEO can be activated without crashing, and its settings pages open normally.
  • No new entries in your PHP error log mention Call to undefined function mb_strtolower().

Still stuck?

For AI help

Hit Continue Chat below and send me:

  • The full fatal error message, including the file path and line number.
  • Your PHP version and hosting control panel (for example cPanel, Plesk, custom dashboard).
  • Whether your host has confirmed that mbstring is installed and enabled.

I will help you work through your specific hosting setup and any remaining configuration issues.

For expert human help

Scroll down to the contact form below. Enter your name, email, and WordPress needs. Atiba will get back to you as soon as possible.

Need human WordPress help?

WP Assistant is a free tool created by Atiba Software, a WordPress design and development company located in Nashville, TN. If you need more personalized WordPress assistance let us know, and we’ll get back to you ASAP!