ElmsPark Guides
PageMotor Setup Guide

Installing PageMotor on Bluehost

A plain-English walkthrough. About ten minutes, and you do not need to be technical.

โฑ ~10 minutes ๐Ÿงฐ No coding ๐Ÿ–ฅ Works on any cPanel host
Before you start, have these ready: a hosting account with cPanel (Bluehost in our examples), the PageMotor files (the .zip you downloaded), and the name of your website. That is everything.

Not on Bluehost? Everything in this guide is standard cPanel, so the steps are the same on any cPanel host. The screens may be laid out a little differently, but the names you need, like File Manager and MySQL Databases, are the same. We also have this guide for HostGator and GoDaddy, and a different one for SiteGround (which does not use cPanel).

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.

Download as LLM prompt

1Put PageMotor on your site

  1. In Bluehost, open cPanel and click File Manager.
  2. Open the folder for your site. It is usually public_html, or public_html/yourdomain.com if you have more than one site.
  3. Click Upload, choose your PageMotor .zip, and wait for it to finish.
  4. Back in File Manager, right-click the uploaded zip and choose Extract.
cPanel Tools page showing the Files and Databases sections
cPanel’s Tools page. File Manager is under Files; MySQL® Databases is under Databases. Captured on GoDaddy’s cPanel — apart from your host’s logo and colours, these screens are identical on Bluehost.
cPanel File Manager with public_html open, ready for upload
Navigate to public_html in File Manager, then click Upload to add your PageMotor .zip file.
When it is done you should see 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.

2Create your database

PageMotor keeps your content in a database. Make one in three quick stages.

  1. In cPanel, open MySQL Databases (under the Databases section).
  2. Under Create New Database, type a name like pagemotor and click Create Database.
  3. Scroll to MySQL Users โ†’ Add New User. Pick a username, let the password generator make a strong password, and click Create User. Write the password down now.
  4. Scroll to Add User To Database. Choose your new user and your new database, click Add, then tick ALL PRIVILEGES and Make Changes.
cPanel MySQL Databases page with the Create New Database form
The MySQL® Databases page. Create the database here, then scroll down for Add New User and Add User To Database. (This capture is from GoDaddy, which shows no prefix box — on Bluehost you will see your theaccount_ prefix in front of the name field.)
The one thing nearly everyone misses: cPanel adds your account name to the front of these, on Bluehost and nearly every other cPanel host. A database you typed as pagemotor is saved as something like theaccount_pagemotor, and the user the same way. Copy the full names exactly as cPanel shows them. You will need three things in the next step: the database name, the username, and the password.

3Fill in config.php

This is the file that connects PageMotor to the database you just made.

On current PageMotor releases there is an easier way. From 0.11 the Install Wizard does this step for you: skip straight to yoursite.com/admin/ in your browser and it asks for the three database values and writes config.php itself. If the wizard appears, use it and jump to step 4. The hand-edit below still works on every release.
  1. In File Manager, find config-sample.php next to pagemotor.php.
  2. Right-click it and choose Rename. Rename it to exactly config.php. This rename is the step that switches PageMotor on.
  3. Right-click config.php and choose Edit.
  4. Put your three values into DB_NAME, DB_USER and DB_PASSWORD, using the full prefixed names from step 2. 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', 'theaccount_pagemotor');   // exact name from cPanel
define('DB_USER', 'theaccount_pmuser');      // exact username from cPanel
define('DB_PASSWORD', 'your-strong-password');
define('DB_HOST', 'localhost');            // correct for Bluehost and most cPanel hosts
define('DB_CHARSET', '');
define('DB_COLLATE', '');
define('DB_TABLE_PREFIX', 'pm_');
define('DB_FLAGS', '');
define('PM_HTML_CHARSET', '');
Two things to double-check: the file must be named exactly config.php (not config-sample.php, and not config.php.txt), and it must sit in the same folder as pagemotor.php.

4Finish in your browser

  1. Go straight to yoursite.com/admin/ first. On this first visit PageMotor sets up its content and walks you into creating your admin user. Make the admin the first page you open on a brand-new install; current releases expect it, and it never hurts on older ones.
  2. Then visit your website to see the front of the site.
That is it. You are in, and you can start building pages.

Connecting Claude from this host

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).

You do not need to test any of that 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.

The usual offender on shared hosting is the first item: Apache running PHP as FastCGI drops the 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.

If something is not working

Open these only if you hit them. Each one is quick.

I see "HTTP ERROR 500" or a blank white page

most commonAlmost always a config.php problem. Check three things:

The log says "MySQLi Connection Error"

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 cPanel shows:

I changed my PHP version and nothing changed

The PHP version is rarely the cause. A missing or misnamed config.php fails the same way on every version, so changing it makes no difference. Sort the config.php first. PageMotor is happy on modern PHP 8.x.

I cannot find config-sample.php

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.

๐Ÿ“ง Will your site send email? Contact forms, sign-ups and password resets need a proper mail service or they land in spam. Follow the companion guide: Set up reliable email with Mailgun.