Question: I don't know whether I am missing a trick in HTML. I have one simple HTML website which has over 100 HTML pages. For each page the header, sidebar & footer section are the same but the content is different. Can I simply make this site like Wordpress where the page is formed by header.php, footer.php, page.php & sidebar.php. I know I will still have to work on page.php kind of files. 

This will simplify the file structure of the site. Also I want to know whether this solution is good in SEO perspective or not.

Answer: 
Just create your own tiny framework
-----------------------------------

A very simple version of your request would be something like this:

```
<?php
$templateLocation = $_SERVER['DOCUMENT_ROOT'].'/templates';
$defaultPage = 'home';
// Open your page with the frame, the footer , header etc
$template = file_get_contents($templateLocation.'/main_template.html');

// Get the page from the url, or use a default
$page = isset($_GET['page']) ? $_GET['page'] : $defaultPage;

// Check if the page exists:
if( !file_exists($templateLocation.'/pages/'.$page.'.html') ){
    // if it doest exist, go to the homepage (and tell bots 404, page not existing):
    header("Location: /".$defaultPage, true, 404); 
    exit;
}
else{
    // Get the content of the requested page
    $pageContent = file_get_contents($templateLocation.'/pages/'.$page.'.html');
    // Place it in our main page
    $template = str_replace("<!-- CONTENT -->", $pageContent, $template);
    // Put it on the screen:
    echo $template;
}

```

Matching html example for `main_template.html`:

```
<html>
<body>
    <header> <img src="my-logo.jpg" alt="Logo"/> </header>
    <div id="PageContent"><!-- CONTENT --></div>
    <footer> Some neat information right here</footer>
</body>
</html>

```

You can now link to your pages with `?page=example` or `?page=puppies` and the code above will check if the page exists, is so -> load it.

---

Now we have a simple framework for switching pages, but SEO-wise it's terrible. No titles, no meta's. Let's fix that!

### Let's add a little SEO to the mix

At this point it's a bit more difficult to help you with an answer. I'm going to base my answer on the fact that you have or can learn basic mysql functionallity. This could be done with more templates, but you want to save time, let's do it right the first time.

Just create a database table with the columns `id,url,title,description`

```
<?php
$sPageInfo = mysqli_query("SELECT * FROM pages WHERE url='".$page."' LIMIT 1");
$fPageInfo = $sPageInfo->fetch_assoc(); // fetch the selected values
$template = str_replace("<!-- SEO_TITLE -->", $fPageInfo['title'], $template);
$template = str_replace("<!-- SEO_DESCRIPTION -->", $fPageInfo['description'], $template);

```

Just place that piece of code above your `echo $template;` and add the corresponding comments to your template.  

**Note:** The query is MEGA unsafe, read up on mysql injections to improve this. That is a must! My example is easier to read like this, but you REALLY should implement it.  

**Note 2:** If you're feeling brave, expand your database with a column called 'content' and load that instead of a template ;)
Step 1:- Create a index.php in your Website folder and remove index.html.(index.html has preference over index.php)  

Step 2:- Create a header.php and footer.php and place all your code in header and footer.
Step 3:- Now include header.php and footer.php in index.php :- in place of the top header stuff, do the same for footer, head section, etc.
Step 4:- You will need to change extensions of all files to .php from .html.

```
<html> 
<head> 
<title>Page title</title> 
<?php include('header.php'); ?> 
</head> 
<body> 
enter content here
<?php include('footer.php'); ?> 
</body>
</html>

```

Another Approach :-
Step 1 :- Download Twenty Thirteen WordPress Theme and just change header.php and footer.php and sidebar.php.
Step 2 :- Publish pages and copy all html content (excluding header and footer) in the source section of every page.