How to Convert an HTML Site to WordPress
Convert an HTML site to WordPress by choosing one of three paths — rebuild pages in the editor for small sites, wrap the HTML as a custom theme to keep the design, or bulk-import files — then add a 301 redirect for every changed URL and test on staging before the DNS cutover.
Three paths by page count and design fidelity, plus the redirect map that protects rankings.
knowledge
- Read time
- 5 min
- Sections
- 7
- Updated
- 14 Nov 2026
- Written by
- WebJi® team
Last editorial update: 15 November 2026.
Which of the three conversion paths fits your HTML site?
Choose the path from two facts — how many pages the HTML site has, and whether the current design must survive the move — because each path trades effort against fidelity differently. A small brochure site is usually a rebuild; a layout you must keep pixel-close becomes a theme; a large folder of similar pages is an import.
| Path | Best for | Still done by hand |
|---|---|---|
| Rebuild in the WordPress editor | Under about 30 pages, or a design due for refresh | Menus, forms, layout |
| Custom theme from your HTML | A layout that must stay pixel-close | Menus, the Loop, page bodies |
| Bulk import the HTML files | Hundreds of similar, simple pages | Inline styles, broken links, media |
Rehearse whichever path you pick on a copy — staging or a spare subdomain — before the live domain moves anywhere. The install itself starts on how to install WordPress, and WebJi® WordPress hosting (Unlimited ₹400 a month before 18% GST, read from billing on 15 November 2026) carries the result.
Path A: how do you rebuild HTML pages inside WordPress?
Install a fresh WordPress site, pick a theme near the old layout, and recreate each HTML file as a WordPress page — paste the text, upload the images to the media library, and rebuild navigation as a menu. The cleanest results come from this path precisely because nothing is carried over by accident.
- Install WordPress on PHP and MySQL hosting; leave “discourage search engines” on until launch.
- Choose a theme close to the old design, or a blank canvas theme if each section will be rebuilt.
- Create one page per HTML file; paste the body copy and upload images — never leave
<img>tags pointing at the old server. - Rebuild the navigation under Appearance › Menus; recreate each form in a form plugin instead of the old
mailto:or form-mail script. - Place the old page beside the editor and match section by section — uploading
index.htmlinto a page is not a conversion.
A rebuild stays reasonable under about 30 pages and turns slow past 100; that threshold is where paths B and C start earning their setup cost. The payoff afterwards is real: editors change text in wp-admin instead of editing a folder of HTML files. For a done-for-you quote, email support@webji.services — the quote arrives before you pay.
Path B: how do you turn HTML into a WordPress theme?
Keep your HTML and CSS, add the PHP files WordPress needs to load that design — header.php, footer.php, index.php — and swap the hard-coded parts for WordPress function calls. Choose this when the layout must stay; if you wanted a redesign, path A is cheaper.
The minimum theme is small. style.css starts with a comment header WordPress reads:
/*
Theme Name: My Converted Site
*/
Then the structural swaps, in order:
- Split the shared header and footer into
header.phpandfooter.php; call<?php wp_head(); ?>just before</head>and<?php wp_footer(); ?>just before</body>, or plugins and scripts silently break. - Save the homepage shell as
index.php; replace the hard-coded menu withwp_nav_menu()so links are editable under Appearance › Menus. - On templates editors should manage, replace the static content block with the Loop —
the_title()andthe_content()— so the page's words come from the database. - Load the old stylesheet and scripts from
functions.phpusingwp_enqueue_style()andwp_enqueue_script(). - Zip the folder, upload under Appearance › Themes › Add New › Upload Theme, activate, then create a WordPress page for each old HTML file and paste its copy. The theme is the frame; the pages are the words.
Two clarifications that save a wasted weekend: a child theme is for later CSS tweaks on top of a working parent — it converts nothing by itself. And an online “HTML to WordPress converter” that returns a theme zip only wraps the design; the WordPress install, the page copy, the URL map and the forms remain yours to do either way.
Path C: how do you import many HTML files at once?
For hundreds of similar pages, an importer plugin or a short script creates one WordPress page per HTML file, and you budget as much time for the cleanup as for the import itself. This path is volume handling, not magic.
- Importer plugins in the HTML-import family crawl a folder or URL list and turn each file into a post or page; folders can map to categories.
- Scripts do the same through the REST API or WP-CLI —
wp post createin a loop over the file list — where a plugin's heuristics guess wrong. - The cleanup pass: inline styles, broken relative links and old font tags all arrive with the files; confirm every image actually landed in the media library.
- Test on a copy: run the import on staging and open twenty random pages before anyone else sees them.
Fewer than, say, fifty pages? Paste them by hand — an import's cleanup will cost more than the manual work it saves.
How do you keep rankings: the old-URL to WordPress map?
Before launch, list every old path; where the WordPress permalink matches, leave it, and where it differs, add one 301 redirect from the exact old path to the new page — never send every old URL to the homepage. The homepage dump is the classic way a migration erases its own rankings.
- Build the list completely: crawl the HTML site or export its sitemap.
- Set permalinks once: Settings › Permalinks, usually “Post name”, and do not change the structure after launch.
- Two-column map: old path → new path, marked “same” or “301”.
- Implement and spot-check: one normal page, one trailing-slash variant, one URL that should 404.
- Keep the old host answering until those checks pass.
Carry the content signals across too: the same title and meta description, one H1 near the old heading, the same body facts, alt text on media-library images, and a canonical on the new URL only after its 301 is live. If the whole site is changing hosts as well as engine, WebJi®'s website migration service is the request path — free migration, where offered, is subject to terms and approval.
What do you check on staging before the DNS cutover?
The conversion is finished when menus, forms and sample URLs behave on staging — not when the theme activates — and the discipline is a checklist run on a copy with search engines still discouraged.
- Open every menu item on a phone and a desktop; fix missing images and overlapping headers there. Keeping the copy private is covered in the WordPress staging guide.
- Request three old URLs: a changed path should answer 301 then 200 with no extra hop.
- Confirm https on the final hostname and submit every form once, checking the inbox.
- Switch off “discourage search engines” only on the live site, then point DNS; leave the old host online until the 301s answer.
After launch, the usual next step is making the media lighter — old HTML sites ship heavy JPEGs — which is covered in converting WordPress images to WebP.
Frequently asked questions
Can I paste my HTML straight into a WordPress page?
A single page, yes — the code editor accepts your markup as-is. A whole site, no: pasting index.html does not recreate navigation, forms or the other pages. The paste is one step of path A, not the conversion itself.
Will my URLs change when I move from HTML to WordPress?
Only where the new permalink differs from the old file path. Keep matching paths, and 301 each changed one. Plain .html file names rarely match WordPress permalinks, so most conversions need a redirect map — which is why the map is built before launch, not after traffic drops.
Is a free HTML-to-WordPress converter enough?
Some tools preview free and charge for a theme zip or hosted copy, and even a working theme zip leaves the install, the copy, the URL map and the forms to you. Budget for hosting plus your time either way. WebJi® does not sell such a converter; it quotes conversions done for you.
How much does an HTML to WordPress conversion cost?
WebJi® quotes the work by email before payment, in INR, with 18% GST on the invoice; hosting is separate (WordPress Unlimited ₹400 a month before GST). For market context, on 30 October 2026 htmltowordpressconverter.com listed typical freelance jobs at $500–$1,500+ and htmltowp.com at $500–$2,000+ — third-party figures, not WebJi® prices.
Do I have to rebuild the design to use WordPress?
No — that is exactly what path B avoids: the HTML and CSS become a custom theme, and the design stays as it is. Rebuild only makes sense when the layout was due for a change anyway. The decision is fidelity versus effort, made page count and design in hand.
Last editorial update: 15 November 2026. Prices follow the dated sources on this page; checkout confirms current charges.
Ready to get started with WebJi®?
Join 12,000+ businesses across India and overseas. INR pricing, 18% GST shown before payment and 24/7 email support in Hindi and English — average first reply under 60 minutes.