-
Step 1 · Buy a server and point the domain at it
Pick a plan, order it, point the domain at the IP
This step does two things: get a server, and resolve your domain onto it.
Any entry-level cloud VPS will do — 2 vCPU and 2 GB of RAM is enough, for roughly US$10–15 a year on a promotional plan. Don't take 1 core and 1 GB: a hosting panel wants around 500 MB by itself, and anything else on top will thrash.
Once you have the IP, add A records at your registrar:
- Host
@, pointing at the server IP - Host
www, pointing at the same IP
Propagation takes 5 minutes to 2 hours. Usually it's done before your coffee is.
Checklist
- ping yourdomain resolves and replies
- You can SSH into the server
- Host
-
Step 2 · Install a hosting panel
One command, then wait 5–10 minutes
After you SSH in, run the installer for your distribution.
CentOS:
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.shUbuntu / Debian:
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.shPress Y through the prompts. When it finishes you get a panel URL, a username and a password.
Do these three immediately:
- Open the panel URL in a browser and log in
- When the recommended-install dialog appears, pick LNMP or LAMP with PHP 7.4 — you won't use PHP, but having it costs nothing
- Change the username and password in the panel settings
The panel's default port is 8888. If it won't open, allow port 8888 in the server's firewall.
Checklist
- The panel URL opens in a browser
- You can log into the panel
- You see the recommended-install dialog or the software store
-
Step 3 · Create the site and upload the files
Add a site in the panel, then upload the HTML and JSON
In the panel:
- Sites → Add site
- Domain:
yourdomainandwww.yourdomain - Leave the root at
/www/wwwroot/yourdomain - Don't enable FTP or a database — a static site needs neither
- Submit
Then open the site's root directory in the file manager and upload everything you wrote locally:
index.htmlwizard.htmldata/— every JSON fileassets/scripts/
Open the domain when it's done. If you see the home page, you're on track.
Checklist
- Opening yourdomain shows the home page
- JSON files under data/ are reachable in a browser, e.g. yourdomain/data/config.json
-
Step 4 · Fill in the JSON data sources
Content, promo links and the FAQ all go into JSON
The site opens now, but it's empty. The content lives in JSON.
Edit these one by one in the panel's file manager:
data/config.json→ site name, description, feedback channeldata/scenarios.json→ the scenario list; delete anything you don't wantdata/steps.json→ the core file. Every step's title, body and checklist lives here, and copy like what you're reading drops straight indata/faq.json→ common questionsdata/links.json→ global promo links, i.e. your affiliate URLs
Save and reload. JSON is strict: no missing quotes, no trailing commas, brackets balanced. One mistake and the whole site renders blank.
Checklist
- yourdomain/data/steps.json shows content in a browser
- Scenario cards render on the home page
- The wizard page renders when you click through
-
Step 5 · The AI helper module + the automation scripts
FAQ keyword matching, plus the copy-paste scripts, both in place
The AI helper is local keyword matching. You write questions and answers into
faq.json; someone types into the box on the wizard page, and the JS matches keywords and returns the answer.faq.jsonshape:{ "keyword-id": { "keywords": ["dns", "not resolving", "ping fails"], "answer": "1. Check the A record points at the right IP; 2. wait ten minutes; 3. flush DNS locally" } }Write several variants per concept or the hit rate stays low: "can't open", "can't connect" and "won't load" should all reach the same answer.
The scripts live in
scripts/as plain shell text. Someone clicks copy on the wizard page and runs it on their own machine. You never execute anything in the browser — that's a server-side action.Checklist
- The AI input on the wizard page accepts text
- Typing "dns" returns the matching answer
- Script files are reachable and downloadable in a browser
-
Step 6 · Configure the monetisation links
Join affiliate programmes and turn traffic into money
This is the point of the whole exercise.
Common channels:
- Cloud provider affiliate programmes — apply through each vendor's partner programme and put your referral links into the
globalarray inlinks.json - AI tool invite programmes — sign up for the affiliate or invite scheme and place the link in the relevant step's promo slot
- Placement rules
- At most one promo slot per step, and it must not push the content aside
- Keep it restrained, and state the promotional nature once in the footer
- Give promo links
rel="sponsored noopener"
- Compliance
- The
disclaimerfield inconfig.jsonalready carries the wording - It renders automatically at the bottom of the page
Don't open with a wall of ads. Readers aren't stupid. Give away the substance first, and put the promo where it reads as "by the way, this is what I use".
Checklist
- links.json has at least 3 working promo links
- Promo slots show on the home page and the wizard page
- Clicking a promo link goes where it should
- Cloud provider affiliate programmes — apply through each vendor's partner programme and put your referral links into the
-
Step 7 · Launch + SEO + monitoring
HTTPS, submit for indexing, analytics, routine backups
Last step: make it actually run.
HTTPS: panel → site → SSL → Let's Encrypt → request, then tick force HTTPS. Free, a year at a time, renewed for you by the panel.
SEO:
- Write
sitemap.xmland upload it to the root - Write
robots.txtallowing all crawlers - Verify the site and submit the sitemap in the search platforms
- Give every page a meta description
Analytics: put the snippet in
<head>inindex.html.Monitoring: the panel has its own, or point a free uptime monitor at the site and have it notify you by email or a chat webhook when it goes down.
Backups: panel → scheduled tasks → package
/www/wwwroot/yourdomainto object storage weekly. Don't wait until you've been hacked to wish you had.Day to day:
- Update steps → edit
steps.json - Add a FAQ → edit
faq.json - Swap a promo link → edit
links.json
Checklist
- https://yourdomain loads with no certificate warning
- The search platform shows the site as verified
- The analytics backend is receiving visits
- Write