8. Create a sidebar.php file in the new theme folder and copy the HTML code from the section of your existing website into it.
9. Create a page.php file in the new theme folder and copy the HTML code from the
section of your existing website into it.
10. Activate the new theme in the WordPress admin panel.
11. Create a new page in WordPress for each page on your existing website.
12. Copy the HTML code from each page on your existing website into the corresponding page in WordPress.
13. Replace any hard-coded links in the HTML code with WordPress functions such as get_permalink() and get_home_url().
14. Replace any hard-coded images in the HTML code with WordPress functions such as the_post_thumbnail() and wp_get_attachment_image().
15. Replace any hard-coded CSS classes in the HTML code with WordPress functions such as post_class() and body_class().
16. Replace any hard-coded JavaScript in the HTML code with WordPress functions such as wp_enqueue_script().
17. Test the new WordPress website to make sure everything is working correctly.
So, you’ve been looking at recent statistics , saying that WordPress currently powers 33% of websites on the internet. As a website owner, you might consider converting your static HTML site to WordPress.
While it’s still okay to have an HTML-based website as HTML5 is quite powerful, especially for a showcase site. But for everything else, WordPress provides more comfortable solutions. WordPress offers plenty of themes, plugins, and widgets to improve the website and add useful features.
It’s also easy to manage. You can add and remove content without coding. With an HTML site, it’s a different story. Unless you know how to code, updating content with HTML can be difficult.
In this article, you will learn how to convert static HTML to WordPress, and different methods to do it. Let’s get started.
Things to Look Out for When Moving
Before moving out, you need to consider a few things.
Hosting service. You need to have a hosting plan before starting, as the requirements can be different from an HTML site. You’ll need hosting for your WordPress site. Alternatively, you can host your website locally, and make it live at a later point.
Code editor. You’ll need a code editor such as Notepad++, Atom, Sublime, etc., to tweak your website HTML code.
Time and money. You need to consider the time and money you are willing to invest. If you’re ready and committed to learning, this tutorial is perfect for you. Alternatively, you can also hire developers or use WordPress migration apps to help convert. Hiring someone is much easier, but you’ll lose the opportunity to learn, and the process might be expensive.
The Different Ways To Convert HTML To WordPress
There are several methods of converting HTML to WordPress, and they come with different difficulty levels. They are as follow:
Creating a WordPress Theme from a static HTML site. If you prefer your old HTML website’s design intact, this option is for you. It’s also the most challenging route and requires coding. But, don’t get intimidated. All you need to do is copy/paste the old HTML code into several PHP files.
Losing the design and keeping the content only. If you’re okay with leaving behind your old website design and find a WordPress theme for a fresh start, this option is for you. You only need to transfer the content to its new home.
Using a child theme adapted from an existing theme. This is probably the easiest route if you want to retain the old website’s design. With this method, you’ll use a pre-existing WordPress theme and build upon it. As a bonus, you can use WordPress’ powerful features right away.
Creating a WordPress Theme From a Static HTML Site
If your goal is to create a WordPress website that resembles your old HTML site from scratch, you can start here. In this tutorial, we use a static HTML template by Rachel McCollin.
1. Create A Theme Folder And Basic Files
Create a new theme folder on your desktop and name it. We’re naming our folder as my-theme . After that, open your code editor and create the following files:
style.css
index.php
header.php
sidebar.php
footer.php
Leave the editor open. We’re going to come back to it later.
2. Change Old Website CSS to WordPress Style Sheet
Now, we’re going to create a WordPress style sheet by copying your old CSS code into it. Go to style.css file, and paste this code:
/*
Theme Name: My Theme
Author: LakiGarang
Author URI: https://hostinger.com/tutorials/author/luqman
Description: A development theme, from static HTML to WordPress
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
This code provides information to WordPress that it’s a theme stylesheet header. You can edit the details like the theme name, author and URL, description, etc.
Right after the header, copy and paste your old CSS code into the file. Save and close it.
3. Split Up Your Old Website HTML
WordPress uses PHP to pull information from its database. So, you need to split up your old website’s HTML into different pieces to make sure it can put them together correctly.
If this seems complicated, don’t worry too much, the process is quite straightforward. First, let’s see how our static website and its code looks.
<!DOCTYPE html>
<!--[if lt IE 7]><html lang="en-US" class="ie6"><![endif]-->
<!--[if IE 7]><html lang="en-US" class="ie7"><![endif]-->
<!--[if IE 8]><html lang="en-US" class="ie8"><![endif]-->
<!--[if IE 9]><html lang="en-US" class="ie9"><![endif]-->
<!--[if gt IE 9]><html lang="en-US"><![endif]-->
<!--[if !IE]><html lang="en-US"><![endif]-->
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" />
<title>WordPress Writer and Instructor | RACHEL McCOLLIN</title>
<link rel="stylesheet" type="text/css" media="all" href="https://www.hostinger.in/tutorials/style.css" />
<link href="https://fonts.googleapis.com/css?family=Assistant|Oswald" rel="stylesheet">
</head>
<body>
<div class="header-bg">
<header role="banner">
<hgroup class="site-name three-quarters left">
<!-- site name and description - site name is inside a div element on all pages execpt the front page and/or main blog page, where it is in a h1 element -->
<h1 id="site-title" class="one-half-left">
<a href="https://rachelmccollin.com/" title="RACHEL McCOLLIN" rel="home">RACHEL McCOLLIN</a>
</h1>
<h2 id="site-description">Fiction and Technical Writer</h2>
</hgroup>
<div class="right quarter">
<a class="toggle-nav" href="#">☰</a>
</div> <!-- .right quarter -->
</header><!-- header -->
</div><!-- header-bg-->
<!-- full width navigation menu -->
<nav class="menu main">
<div class="skip-link screen-reader-text"><a href="#content" title="Skip to content">Skip to content</a></div>
<div class="main-nav">
<ul class="menu">
<li class="menu-item"><a href="https://rachelmccollin.com/">Home</a></li>
<li class="menu-item"><a href="https://rachelmccollin.com/about-me/">About Me</a></li>
<li class="menu-item"><a href="https://rachelmccollin.com/books/">Books</a></li>
<li class="menu-item"><a href="https://rachelmccollin.com/bookclub/">Book Club</a></li>
<li class="menu-item"><a href="https://rachelmccollin.com/blog/">Blog</a></li>
<li class="menu-item"><a href="https://rachelmccollin.com/contact/">Contact</a></li>
</ul>
</div>
</nav><!-- .main -->
<div class="main">
<div id="content" class="two-thirds left">
<article class="post">
<h2 class="entry-title">Welcome to This Website</h2>
<section class="entry-content">
<p>This site is comprised of one static HTML file.</p>
<p>You will be able to add more content later via the WordPress admin screens.
<h3>Here's a heading so you can check how it's styled</h3>
<p>And another paragraph underneath.</p>
<p>And a list:</p>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>And so on...</li>
</ul>
</section><!-- .entry-content -->
</article><!-- #post-## -->
</div><!-- #content -->
<aside class="sidebar one-third right">
<aside class="widget-area">
<div class="widget-container">
<h3 class="widget-title">Buy My Book</h3>
<img width="242" height="300" src="https://premium.wpmudev.org/wp-content/themes/wpmudev-2015-1/assets/img/projects/[email protected] ?v=1" alt="WordPress: Pushing the Limits by Rachel McCollin" style="max-width: 100%; height: auto;" />
<p><em>WordPress: Pushing the Limits</em> will help you become a professional WordPress developer.</p>
</div>
</aside>
</aside>
</div><!-- .main -->
<footer>
<div class="fatfooter">
<p>Add footer content here with <a href="#">widget areas</a> - the tutorials will show you how.</p>
</div>
</footer>
</body>
</html>
Now, open your old static website index.html file, we’re going to split that into the newly created WordPress files. (The examples below are our markup).
header.php
Everything from the beginning of your old HTML code up to the main content area goes into this file. The main content area usually expressed with <main> or <div class=”main”> .
Additionally, right before the </head> element, copy and paste this code <?php wp_head();?>. This ensures WordPress plugins work properly. When you finish, save the file.
<!DOCTYPE html>
<!--[if lt IE 7]><html lang="en-US" class="ie6"><![endif]-->
<!--[if IE 7]><html lang="en-US" class="ie7"><![endif]-->
<!--[if IE 8]><html lang="en-US" class="ie8"><![endif]-->
<!--[if IE 9]><html lang="en-US" class="ie9"><![endif]-->
<!--[if gt IE 9]><html lang="en-US"><![endif]-->
<!--[if !IE]><html lang="en-US"><![endif]-->
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" />
<title>WordPress Writer and Instructor | RACHEL McCOLLIN</title>
<link rel="stylesheet" type="text/css" media="all" href="https://www.hostinger.in/tutorials/style.css" />
<link href="https://fonts.googleapis.com/css?family=Assistant|Oswald" rel="stylesheet">
<?php wp_head();?>
</head>
<body>
<div class="header-bg">
<header role="banner">
<hgroup class="site-name three-quarters left">
<!-- site name and description - site name is inside a div element on all pages execpt the front page and/or main blog page, where it is in a h1 element -->
<h1 id="site-title" class="one-half-left">
<a href="https://rachelmccollin.com/" title="RACHEL McCOLLIN" rel="home">RACHEL McCOLLIN</a>
</h1>
<h2 id="site-description">Fiction and Technical Writer</h2>
</hgroup>
<div class="right quarter">
<a class="toggle-nav" href="#">☰</a>
</div> <!-- .right quarter -->
</header><!-- header -->
</div><!-- header-bg-->
<!-- full width navigation menu -->
<nav class="menu main">
<div class="skip-link screen-reader-text"><a href="#content" title="Skip to content">Skip to content</a></div>
<div class="main-nav">
<ul class="menu">
<li class="menu-item"><a href="https://rachelmccollin.com/">Home</a></li>
<li class="menu-item"><a href="https://rachelmccollin.com/about-me/">About Me</a></li>
<li class="menu-item"><a href="https://rachelmccollin.com/books/">Books</a></li>
<li class="menu-item"><a href="https://rachelmccollin.com/bookclub/">Book Club</a></li>
<li class="menu-item"><a href="https://rachelmccollin.com/blog/">Blog</a></li>
<li class="menu-item"><a href="https://rachelmccollin.com/contact/">Contact</a></li>
</ul>
</div>
</nav><!-- .main -->
sidebar.php
Everything belonging to the section <aside … </aside> in your old HTML code, goes into this file. When you finish, save the file.
<aside class="sidebar one-third right">
<aside class="widget-area">
<div class="widget-container">
<h3 class="widget-title">Buy My Book</h3>
<img width="242" height="300" src="https://premium.wpmudev.org/wp-content/themes/wpmudev-2015-1/assets/img/projects/[email protected] ?v=1" alt="WordPress: Pushing the Limits by Rachel McCollin" style="max-width: 100%; height: auto;" />
<p><em>WordPress: Pushing the Limits</em> will help you become a professional WordPress developer.</p>
</div>
</aside>
</aside>
footer.php
Now, everything up to the end of the file should be the footer information, which goes into this file.
Just before the closing bracket </body> , add this code <?php wp_footer();?> for the same reason as in header.php . When you finish, save it.
</div><!-- .main -->
<footer>
<div class="fatfooter">
<p>Add footer content here with <a href="#">widget areas</a> - the tutorials will show you how.</p>
</div>
</footer>
<?php wp_footer();?>
</body>
</html>
Now you’re done with the old index.html file. You can close it along with other files in your theme folder except for header.php and index.php . They still have some work to do.
In the header, all you need to do is change the style sheet from HTML to WordPress format. Look for an existing link in the <head> section. In my case, it’s something like this:
<link rel="stylesheet" type="text/css" media="all" href="https://www.hostinger.in/tutorials/style.css" />
Replace it with this line:
<link rel="stylesheet" href="https://www.hostinger.in/tutorials/<?php echo get_template_directory_uri(); ?>/style.css" type="text/css" media="all" />
Now, you can save and close the header.php file.
Let’s turn to the index.php file. It should be blank at the moment, so copy and paste these lines of code:
<?php get_header(); ?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
This code will call for the rest of your WordPress files. You should notice the space between the header and the sidebar. It’s where you’ll add The Loop .
The Loop will process each post for display, and format it according to how the content matches the criteria within The Loop tags. It’s an important aspect to add dynamic content to your WordPress site.
To do so, paste the following code right after <?php get_header(); ?> :
<?php while ( have_posts() ) : the_post(); ?>
<article class="<?php post_class(); ?>" id="post-<?php the_ID(); ?>">
<h2 class="entry-title"><?php the_title(); ?></h2>
<?php if ( !is_page() ):?>
<section class="entry-meta">
<p>Posted on <?php the_date();?> by <?php the_author();?></p>
</section>
<?php endif; ?>
<section class="entry-content">
<?php the_content(); ?>
</section>
<section class="entry-meta"><?php if ( count( get_the_category() ) ) : ?>
<span class="category-links">
Posted under: <?php echo get_the_category_list( ', ' ); ?>
</span>
<?php endif; ?></section>
</article>
<?php endwhile; ?>
After you finish, save your index.php file and close it. You successfully created a WordPress theme. Now, you can add it to your WordPress site.
5. Upload Your Theme to WordPress
After you finish creating the basic theme, you can upload it to WordPress. All files inside your theme folder must be in the same place. To do that, you can zip them.
Go to your WordPress Admin Dashboard. Head over to Appearances -> Themes . Click Add New -> Upload Themes .
In the menu, locate your theme’s zip file, upload, and click Install Now . After that, don’t forget to activate the theme.
Now your front end should look like the old site. You should be aware that while the basic design looks the same, there are more things you should do to make the integration better.
For example, you can’t use WordPress features like the widget area. You also need to adjust CSS markup to make it a part of WordPress’ original design.
Forgoing Design And Keeping Only The Content
If you’re okay with leaving behind the old HTML website design and want to use a new theme instead, this is your option. This method will also make importing content much easier.
All you have to do is to install the theme you prefer and activate it, then follow the steps below.
Important! Always backup your WordPress site before making any change.
1. Install the Import Plugin 2
You need to install the Import Plugin 2 . Go to Plugins -> Add New and search it by name. You’ll find it a little bit further down as it’s quite an old plugin but still does a great job. Click install and activate it.
2. Preparing the Import
Now, go to WordPress Settings -> HTML Import . You can import several pages at once or one at a time.
You’ll notice that the plugin points to a specific path like html-files-to-import . It means that you need to upload the HTML file to the same server as your WordPress installation. In case you need more details, you can refer to the official user guide .
In this tutorial, we’re going to import the content. To do that, choose the HTML tag at the top and select its configuration in the following three fields.
Once you’re done, click save settings .
3. Start Importing Your Content
The Import Files button will be available once you save the settings. If you missed it, you can also access it from Tools -> Import and click Run Importer under the HTML options.
Choose if you want to import a directory of files or a single file, then click Submit . Once done, all of your existing content will be available on your new WordPress site.
Using a Child Theme Adapted From an Existing Theme
If you want to retain some of your old website’s design but feel the first method is a bit overwhelming, then using a child theme can be a simple alternative.
Child themes allow you to take advantage of thousands of existing themes (which are called parent themes) on WordPress and build your new site on top of them.
You can also make changes to the appearance of your site without disturbing the parent theme’s core. You won’t lose any modifications made when updating your theme.
We’ve written a more advanced article on how to create a WordPress child theme. In this tutorial, we’ll use Childify Me to simplify the process for beginners.
Important! Always backup your WordPress site before making any change.
1. Pick a Suitable Theme
You need to find a suitable theme as a base for you to build on. It will be great if you can find a theme that’s close to your old website design, so you don’t have to change too many things later.
Browse the WordPress theme directory to find a suitable candidate. In this tutorial, we’ll use the Twenty Seventeen theme as our starting point.
2. Install Childify Me
Go to Plugins -> Add New and search it by name. Install and activate it.
Pro Tip
The Childify Me plugin creates style.css and function.php files. If you want to add custom functions in a functions.php file, new folders/files, you can upload them by using an FTP client. If you use Hostinger, our File Manager will help manage your files right from the control panel.
3. Customize the Parent Theme
Now go to Appearance -> Themes . Make sure that the parent theme is activated. Click Customize , and navigate to the customization panel of your active theme.
4. Childify the Parent Theme
Click the Childify Me button, and give your child theme a name. We suggest you name it similar to the parent theme. Click create . Once you’re done, click activate and preview .
5. Start Importing Your Content
Now that your new WordPress site looks like the old static HTML version, all that’s left is to import the content. Here, you can use the previous method.
You’ve successfully moved your static HTML website to WordPress. Congratulations!
Conclusion
We’ve covered what needs to be done before converting a static HTML site to WordPress and the different methods of completing the process.
A quick recap – you can create a WordPress theme from scratch. It’s a difficult method but a great option if you know how to code and have some spare time to invest.
Alternatively, you can also use plugins to make the conversion a lot easier, and import all of your content to its new home.
We hope that this article helps ease the process. See you in the next one!
WordPress is a powerful content management system (CMS) that allows you to create and manage websites with ease. It is a popular choice for many web developers and designers, as it is easy to use and customize. However, if you have an existing website built with HTML, you may be wondering how to convert it to WordPress.
The process of converting HTML to WordPress is not as difficult as it may seem. In fact, it can be done in just a few simple steps. Here’s how to get started:
The first step in converting your HTML website to WordPress is to export your existing HTML code. This can be done by using a tool such as Dreamweaver or a text editor. Once you have exported your HTML code, you will need to save it as a .html file.
Once you have exported your HTML code, you will need to create a WordPress theme. This can be done by using a theme generator such as Underscores or by creating a custom theme from scratch. Once you have created your theme, you will need to upload it to your WordPress installation.
Once you have uploaded your theme to your WordPress installation, you will need to import your HTML code. This can be done by using a plugin such as HTML Import 2. Once you have imported your HTML code, you will need to make sure that all of your links and images are working correctly.
Once you have imported your HTML code, you will need to customize your theme to match the look and feel of your HTML website. This can be done by using the WordPress Customizer or by editing the theme’s code directly. Once you have customized your theme, you will need to save your changes and upload them to your WordPress installation.
Once you have uploaded your theme and customized it to match your HTML website, you will need to test your website to make sure that everything is working correctly. This can be done by using a tool such as Google Chrome’s Developer Tools or by manually testing each page of your website.
Converting HTML to WordPress is not as difficult as it may seem. By following the steps outlined above, you can easily convert your HTML website to WordPress in just a few simple steps. Once you have completed the conversion process, you will be able to enjoy the benefits of using WordPress to manage your website.