21+ years in hosting · Jaipur, India · INR billing with 18% GST · 24/7 email support
Blog · WebJi® India

How to Convert an HTML Site to WordPress

Quick answer

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.

✓ In business since 2005
✓ INR + GST billing
✓ 24/7 Email Support — avg reply < 60 min
GuideWebJi®
knowledge
Read time
5 min
Sections
7
Updated
14 Nov 2026
Written by
WebJi® team

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.

Three ways to convert an HTML site to WordPress
PathBest forStill done by hand
Rebuild in the WordPress editorUnder about 30 pages, or a design due for refreshMenus, forms, layout
Custom theme from your HTMLA layout that must stay pixel-closeMenus, the Loop, page bodies
Bulk import the HTML filesHundreds of similar, simple pagesInline 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.

  1. Install WordPress on PHP and MySQL hosting; leave “discourage search engines” on until launch.
  2. Choose a theme close to the old design, or a blank canvas theme if each section will be rebuilt.
  3. Create one page per HTML file; paste the body copy and upload images — never leave <img> tags pointing at the old server.
  4. Rebuild the navigation under Appearance › Menus; recreate each form in a form plugin instead of the old mailto: or form-mail script.
  5. Place the old page beside the editor and match section by section — uploading index.html into 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:

  1. Split the shared header and footer into header.php and footer.php; call <?php wp_head(); ?> just before </head> and <?php wp_footer(); ?> just before </body>, or plugins and scripts silently break.
  2. Save the homepage shell as index.php; replace the hard-coded menu with wp_nav_menu() so links are editable under Appearance › Menus.
  3. On templates editors should manage, replace the static content block with the Loop — the_title() and the_content() — so the page's words come from the database.
  4. Load the old stylesheet and scripts from functions.php using wp_enqueue_style() and wp_enqueue_script().
  5. 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 create in 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.

  1. 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.
  2. Request three old URLs: a changed path should answer 301 then 200 with no extra hop.
  3. Confirm https on the final hostname and submit every form once, checking the inbox.
  4. 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.

FAQ

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.

WebJi® since 2005

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.