A plain-English walkthrough for A2 Hosting's cPanel. About ten minutes, and you do not need to be technical.
Use this guide with any AI assistant
Download it as a prompt file, paste it into Claude, ChatGPT, Gemini or any LLM, and it will walk you through every step interactively.
▶ The whole install in 3 minutes 24 seconds, narrated, with captions — the A2 route throughout, including its one-pass Database Wizard and the LiteSpeed cache warm-up that reads as a broken install.
The shape of it. Standard cPanel, about ten minutes, and you do not need to be technical.
Getting to cPanel takes one extra hop here. Sign in at my.a2hosting.com, go to My Accounts, click Manage next to your hosting package, and then click Login to Control Panel on the hosting dashboard. That opens cPanel, and everything after this is the standard set of screens.
Upload and extract. In cPanel, open File Manager and go to the folder for your site, which for your main domain is public_html. Click Upload, choose the PageMotor zip, and let it finish. Then right-click the zip, choose Extract, and delete the zip afterwards to keep things tidy. You should end up with pagemotor.php, a lib folder, and config-sample.php.
The database is where A2 is a little kinder than most cPanel hosts. Rather than three separate stages on one page, it gives you the MySQL Database Wizard, which walks the whole job in one pass: name the database, create the user with a generated password, and on the last screen tick ALL PRIVILEGES.
Watch the prefix. A2 prefixes the database with your account name automatically, so what you type as pagemotor is saved as something like accountname_pagemotor, and the user the same way. The full name shown at the end of the wizard is the one to copy. Take the username and the password with it.
The rename. config-sample.php becomes exactly config.php, which is what switches PageMotor on. Put your three values in, exactly as the wizard showed them, including the prefix. DB_HOST stays localhost, which is correct for every A2 Hosting cPanel account.
Finish. Go straight to /admin/. On that first visit PageMotor sets itself up and walks you into creating your admin user. Open the admin before you open the front of the site.
Looks like a fault, is not one. If your plan is one of the Turbo tiers, it runs LiteSpeed with heavy caching, and on the very first visits after installation LiteSpeed needs a moment to warm its cache. The site will feel slow. That is normal, and it passes. If it is still slow after the first few minutes, check that the cache is enabled under LiteSpeed Web Cache Manager.
If it goes wrong. A 500 or a blank page is almost always config.php: wrong name, wrong folder, or never renamed. There are two places to read the real reason on A2: cPanel › Metrics › Errors, and an error_log file that A2 writes into public_html itself, which you can open straight from File Manager.
“MySQLi Connection Error” is actually good news. It means config.php is working and PageMotor reached the database. Re-check the prefixed names, the password, and that the user has all privileges.
pm-preflight.php,
upload it into the same folder you are about to install into, then open
yourdomain.com/pm-preflight.php in your browser. It tells you in plain English
whether this host can run PageMotor: the PHP version, any missing extensions, whether PHP can
write config.php for you, and whether the files landed in the right folder. It is
read-only, it never asks for a password, and it is deliberately written to run even on very old
PHP, so it reports an out-of-date PHP version instead of failing silently on it. Delete the file
once you have read the report.
my.a2hosting.com, then go to My Accounts. Click Manage next to your hosting package, then click Login to Control Panel on the hosting dashboard to open cPanel.
public_html. (Installing on a second, addon domain? Use the folder shown as that domain's Document Root under cPanel โ Domains instead.).zip, and wait for it to finish.
pagemotor.php, a lib folder, and a file called config-sample.php sitting in your site folder. (If extracting gave you a single folder called pagemotor instead, open it, select everything inside, choose Move and move it all into your site folder, then delete the empty folder and the zip.) Good. We use that sample file in step 3.PageMotor keeps your content in a database. A2 Hosting's cPanel has a wizard that does the whole job in one pass.
pagemotor: A2 Hosting prefixes it automatically with your account name, so the full name shown at the end (e.g. accountname_pagemotor) is the one to copy.This is the file that connects PageMotor to the database you just made.
config-sample.php next to pagemotor.php.config.php. This rename is the step that switches PageMotor on.config.php and choose Edit.DB_NAME, DB_USER and DB_PASSWORD, exactly as the wizard showed them. Leave the rest as they are, then Save.Here is what the database section of your config.php should look like once filled in. Edit the existing lines to match; you are changing three values, not pasting this block in:
// Database connection info:
define('DB_NAME', 'accountname_pagemotor'); // exact name from the wizard
define('DB_USER', 'accountname_pmuser'); // exact username from the wizard
define('DB_PASSWORD', 'your-strong-password');
define('DB_HOST', 'localhost'); // correct for A2 Hosting cPanel
define('DB_CHARSET', '');
define('DB_COLLATE', '');
define('DB_TABLE_PREFIX', 'pm_');
define('DB_FLAGS', '');
define('PM_HTML_CHARSET', '');
config.php (not config-sample.php, and not config.php.txt), and it must sit in the same folder as pagemotor.php.yoursite.com/admin/ and create your admin user.PageMotor speaks MCP natively, so once your site is up you can connect Claude Code or Claude.ai to it and let Claude build pages, manage content and run plugins for you. The connection asks a little more of a host than serving pages does. Four things must be true: the Authorization header must reach PHP intact, PageMotor must be allowed to answer its dynamic /.well-known/ routes itself, PHP's clock must be on UTC, and nothing may redirect Claude's POST to /mcp (the trailing-slash trap).
In practice, connecting takes about a minute. In a browser at claude.ai:
https://your-site.com/mcp/, all lower case, trailing slash included.Then simply talk to it: “what pages do I have”, or “create a contact page”. A free Claude account is enough and allows one custom connector; Pro, Max, Team and Enterprise allow more.
You do not need to test any of those requirements by hand. Install EP Host Check and read its MCP / Claude connection rows: since v1.2.0 its five checks cover all of this from your admin panel, no working Claude connection required, each with a plain fix. If a row fails, or the connection misbehaves anyway, the MCP troubleshooting guide has the exact diagnostic and fix for every verified cause.
Authorization header before PHP ever sees it. The fix is one line in your .htaccess, ready to paste in section 6 of the troubleshooting guide.Open these only if you hit them. Each one is quick.
most commonAlmost always a config.php problem. Check three things:
config.php (not still config-sample.php, and not config.php.txt).pagemotor.php.config.php "No such file or directory", this is your fix. A2 Hosting also creates a per-site error_log file inside your public_html, which you can read directly in File Manager.Good news, that means config.php is now working and PageMotor reached the database step. It just could not log in. Re-check, against the exact names the wizard showed:
accountname_pagemotor, not just pagemotor).localhost. That is correct for all A2 Hosting cPanel accounts.A2 Hosting's Turbo plans use LiteSpeed with heavy caching. On the very first visit after installation, LiteSpeed may need a moment to warm its cache. This is normal, and subsequent loads are fast. If the site feels slow beyond the first few minutes, check that your plan's LiteSpeed cache is enabled in cPanel under LiteSpeed Web Cache Manager.
It ships inside the PageMotor download, right next to pagemotor.php. Two things to check: the files may have landed in a pagemotor subfolder when the zip extracted, in which case move everything in it up into your site folder (see the note in step 1); and if the folder is genuinely empty, the zip did not extract completely, so repeat step 1.