Static HTML to WordPress

Structuring a hand-coded HTML site for a 1:1 WordPress theme

HTML / CSS / JavaScript

Hand-written or exported static sites take the shortest path: a one-to-one conversion into WordPress PHP templates with the original markup preserved.

Quick answer

Zip your HTML, CSS, JS and image folders with index.html in the root — static HTML is the highest-fidelity input we accept.

Fidelity score 94–100Success rate 98%HTML / CSS / JavaScript

Where do I find the ZIP?

  1. Collect the site folder containing index.html
  2. Keep the folder structure intact (css/, js/, images/)
  3. Zip the folder contents so index.html sits in the ZIP root
  4. Upload the ZIP

What your upload should contain

  • index.html
  • Additional page HTML files
  • css/ and js/ folders
  • images/ and fonts/

Static HTML troubleshooting

Only the homepage is converted

Every other HTML file must be linked from the navigation or present in the ZIP with a clean file name.

Styles missing

Use relative paths (css/style.css), not absolute paths tied to your old domain.

Header and footer duplicated

The engine detects repeated blocks by frequency; keep the markup identical across pages so it can be extracted into header.php and footer.php.

Static HTML export steps illustration

Best practices before exporting

  • Keep index.html at the root of the ZIP
  • Use relative asset paths, not absolute local paths
  • Give every page a unique title and meta description
  • Cross-link the pages so the whole site is discovered

How to export

Method 1 — Zip the site folder (best result)

  1. Place index.html at the root with css/, js/ and images/ alongside it
  2. Zip the folder contents, not a folder inside a folder
  3. Upload the ZIP
  4. The static pipeline preserves your HTML exactly

Method 2 — Live website URL

  1. Enter the public URL of the site
  2. The crawler follows navigation and sitemap.xml
  3. Pages and assets are downloaded and converted

Method 3 — GitHub Pages repository

  1. Copy the repository URL of your GitHub Pages site
  2. Paste it into the converter
  3. The published folder is detected automatically

Accepted input

  • ZIP archive
  • GitHub repository
  • Static export
  • Source project
  • Build output

Not recommended

  • Old build folders from a previous version of the project
  • Incomplete exports that are missing package.json or index.html
  • Screenshots, Figma files, PSD files or design mockups
  • node_modules — always exclude it, it makes uploads slow and adds nothing

Supported features

  • All HTML pages
  • CSS and JavaScript
  • Images, fonts and icons
  • Forms
  • SEO meta and structured data

Unsupported features

  • PHP includes
  • Server-side scripts
  • External APIs requiring keys

Common mistakes

  • Absolute file:// paths in src attributes
  • index.html buried three folders deep
  • Missing CSS or font files in the ZIP

Conversion tips

  • Add a sitemap.xml — it guarantees full page discovery
  • Keep class names as-is; they are preserved in the WordPress theme

Readiness checklist

  • NavigationUse real anchor links with readable labels. Menus built purely from JavaScript state are harder to map to WordPress menu locations.
  • ImagesReference images from your project folder (imports or /public). Images loaded from a temporary preview host may not be reachable at conversion time.
  • AssetsFonts, icons and CSS should live inside the project. Locally hosted assets are copied into the theme automatically.
  • FormsStandard form markup is converted to Contact Form 7 or WPForms. Custom JavaScript submit handlers are replaced by the WordPress form handler.
  • RoutingEvery route you want as a WordPress page must be reachable from the navigation, a sitemap or a route manifest.
  • AnimationsCSS animations and common libraries survive. Heavy scroll-timeline or canvas effects may render differently in WordPress.
  • SEOTitles, meta descriptions and canonical tags are extracted per page and mapped into the theme and your SEO plugin.
  • ResponsiveBreakpoints are preserved as-is. Check mobile before exporting — the converter never fixes a layout that was already broken.

Static HTML FAQ

What should not be uploaded?

Skip node_modules, .git, design source files and old build folders. Only ship the site itself.

Is my HTML preserved?

Yes. The static pipeline keeps your original markup and class names inside the PHP templates.

Is static HTML the best input?

Yes. What you upload is exactly what the theme renders, so fidelity is typically 99–100%.

Do jQuery plugins keep working?

Yes, as long as the scripts are inside the ZIP and loaded with relative paths.

Can I upload a single HTML file?

Yes. It becomes a one-page WordPress theme.

Do I need to install anything to convert a static HTML project?

No. Everything runs server-side. You upload a ZIP or paste a repository URL and receive a WordPress theme ZIP plus a live preview in the browser.

Should I remove node_modules before uploading?

Yes, always. node_modules is reinstalled during conversion, so including it only makes the upload slow and can push you over the size limit.

Can I preview the result before paying?

Yes. The WordPress preview is free for every conversion. Payment is only required when you download the theme ZIP.

What happens to my forms?

Standard HTML form markup is mapped to Contact Form 7 or WPForms shortcodes. Custom JavaScript submit handlers are replaced by the WordPress form handler.

Will my SEO titles and meta descriptions survive?

Yes. Titles, meta descriptions and canonical tags are extracted per page and written into the theme templates so your SEO plugin can take over.

Related guides