Category Archive Hosting Article

Windows ASP.NET Hosting Comparison - VS Accu Web Hosting VS WinHost

How to Use ‘Views’ Module in Drupal

Drupal is an incredibly flexible Content Management System (CMS) with a vast library of modules that extend its functionality. One such module is the ‘Views’ module.

Views had the highest number of downloads in Drupal 7, and it prompted Drupal developers to add it to the core functionality of Drupal 8.

Let’s look at what makes ‘Views’ so great and how to use it in Drupal 7.

One of the most crucial factors of a website’s success is how it is displayed to the user. Drupal 7 includes some useful content types by default such as articles and basic pages – each with their own default types of display layout. But, what if you wish to add more types of display layouts such as ‘lists’? This is where the Drupal 7 views module comes into play. It has a number of configurations and can be integrated with more than 300 Drupal 7 modules.

The possibilities of views module are practically endless.

Here are some possible scenarios where ‘Views’ module will be helpful:

  • You like the default front page view, but you find you want to sort it differently.
  • You like the default taxonomy/term view, but you find you want to sort it differently; for example, alphabetically.
  • You use ‘/tracker,’ but you want to restrict it to posts of a certain type.
  • You like the idea of the ‘article’ module, but it doesn’t display articles the way you like.
  • You want a way to display a block with the five most recent posts of some particular type.
  • You want to provide ‘unread forum posts’.
  • You want a monthly archive similar to the typical ‘Movable Type/Wordpress’ archives that display a link to the ‘in the form of “Month,’ YYYY (X)”,’ where X is the number of posts that month, and displays them in a block. The links lead to a simple list of posts for that month.

Don’t just think of the ‘Drupal 7 views’ module as just a display option or a layout builder. Yes, it does allow for custom display types, but it’s a lot more than that. It can even filter content from a database, which allows the user to format and display in his required format.

To demonstrate the power of ‘Views,’ I’ll be making a simple blog index.

Install and Enable Drupal Views Module

First, you need to download, install and enable the ‘Views’ module if you haven’t done so already.

‘Views’ Content Type

Next, navigate to structure. Here you should see the ‘Views’ content type. Click on it to access the main ‘Views’ configuration page.

Add a New View

Once here, click the ‘add new view’ link at the top.

Name your view, then select the content type of ‘Article.

Next, in the ‘Create a page’ section, change the formatting if you wish and check the box beside ‘Create a menu link’ to link the ‘View’ in the main menu.

Once done, click ‘save and exit’ button at the bottom.

Check the New View

Now, navigate to the main menu and click the link for the view you created. You should be able to see the page in accordance with the parameters you set for the view.


As you could have guessed just from the simple example shown in this post, ‘Drupal Views’ is an incredibly powerful module and its popularity is a testament to that fact. ‘Views’ can seem to be confusing at the start, but the best way to get familiar with it would be to play around and find what its different settings can do for you. I hope this post proved useful to you.

Cheap ASP.NET 5 Hosting Recommendation

How to Fix Internal Server Error in WordPress

We’ve all been there — a site that was functioning perfectly well just seconds ago suddenly decides to throw a fit and spits out an internal server error. If you’re lucky, the WordPress admin still works, but, in some cases, even that may refuse to cooperate. In this article, we’ll explain what an internal server error is, and, more importantly, how to fix it.

Important: Always make a complete backup of your site (even if it’s not working as it should be) before making any changes — better safe than sorry!

Let’s get cracking.

What Is an Internal Server Error?

Internal server errors are annoying to users and developers alike because they don’t provide any information about the root of the problem — they just tell you there is one. Imagine if you went to the doctor and said you felt pain, but refused to reveal where that pain was — it’d make it very hard for the doctor to treat it! That’s the difficulty with an internal server error — there’s no indication of where the problem’s coming from.

Internal Server Error

What’s more, the name ‘internal server error’ can be misleading, because, in almost all cases, your host (and/or server) isn’t to blame. If you take a look at the HTTP specifications, you can see that an internal server error means the following:

The server encountered an unexpected condition that prevented it from fulfilling the request.

There’s nothing wrong with the server itself — it’s simply encountered something it can’t figure out.

To figure out what’s going on, you’ll need to do a little troubleshooting and trial and error. By systematically going through the things that could be going wrong, you’ll be able to figure out what’s causing the problem and, more importantly, how to fix it.

How to Fix WordPress 500 Internal Server Error

We recommend you perform these steps in order. That is, start at Step #1 and work your way through the list. In a few situations, we’ll tell you to skip ahead based on the results of one of the steps. But, in general, go from top to bottom!

Beyond that, just a reminder that we always recommend backing up your site before making any of the changes on this list. If you can’t access your WordPress dashboard to use a backup plugin, you should still be able to create a backup through your hosting dashboard — ask your host’s support for help if you’re not sure how.

Now, let’s get to fixing…


The first step should be to at least try to make sense of the error — you could get lucky! Depending on how your server handles errors, what you’re seeing may not actually be a server error at all. Instead, it could be an error in your site’s code (typically the code of a plugin or theme).

To see whether this is the case, you’ll need to edit the wp-config.php file in your website’s root directory:

  1. Download the file (via FTP).
  2. Open it (using a text editor).
  3. Search for WP_DEBUG.

If the line already exists, change false to true and re-upload the file to the server.

If this line isn’t in your config file, create it by adding the following line of code somewhere above the line that says /* That's all, stop editing! Happy blogging. */:

define( "WP_DEBUG", true );

Reload your website and see if the error changes. If it does, and you now see a ‘fatal error’ message that points to a specific line of code in a specific file, then you’re looking at a relatively simple code error. Assuming said error originates from a plugin or theme, you’ll need to disable the offending product and/or work on fixing the issue yourself (or have someone else take a look at it if you’re not able to work out what’s happening on your own).

Note: Once you’ve finished with this step, make sure to change the WP_DEBUG value back to false, so you don’t accidentally leave debug mode enabled. By default, it will display debug messages on your entire site, which is confusing for your visitors and a potential security risk.


The next step is to test whether or not you’re able to access your backend WordPress dashboard.

Visit your website admin at If this page loads properly and allows you to log in, you can be reasonably sure the issue is with a plugin or with your theme. If your admin loads, continue to step two. If it doesn’t, skip to step four.


Next, it’s time to test if the issue is coming from a plugin. There’s almost no way a plugin can cause issues if it’s disabled, so the easiest way to test this is to disable all of your plugins at once. This won’t delete your plugins, nor will it make you lose any of your data (that’s still safely stored in your database). What it will do is disable their code from running, which will fix the problem if a plugin’s code is triggering the internal server error.

If your WordPress dashboard is working fine, you can disable plugins by following these steps:

  1. Go to the Plugins area in your WordPress dashboard.
  2. Use the checkbox to select all plugins.
  3. Use the Bulk actions drop-down to Deactivate them.
  4. Click Apply.

Deactivate all WordPress plugins via the dashboard

If you’re unable to deactivate plugins via your dashboard for some reason, you can also deactivate them via FTP by following these instructions:

  1. Connect to your WordPress site’s server via FTP.
  2. Navigate to the wp-content folder.
  3. Rename the plugins folder to plugins-deactivated.

How to bulk deactivate plugins via FTP

If you’ve disabled all of your plugins and your site still won’t load, go to step three.

If your site’s up and running, the next step is to figure out which specific plugin is causing issues.

To do this, you’ll need to reactivate your plugins one by one. Keep checking for that internal server error after activating each plugin. When you’ve found the culprit, you can decide what to do with it. The best course of action is to keep the plugin disabled and notify the author immediately. If it’s a mission-critical plugin, you should probably look for a better, more stable alternative.

Note: If you deactivated your plugins via FTP, you’ll need to rename the folder back to the original plugins name before you can start reactivating plugins.

In some very rare cases, running old software such as PHP 5.3 may cause issues. Before replacing a plugin that’s proved to be trustworthy so far, take a look at step seven.


If deactivating your plugins didn’t solve the issue, your theme could also be the culprit. You can verify this by switching to a default WordPress theme. We recommend using Twenty Twenty, which is the latest default theme.

If you’re still able to manage themes from your WordPress dashboard, you can do this by going to Appearance -> Themes. If you already deleted the default theme, you can reinstall it from

If you can’t switch themes from your WordPress dashboard, you can also perform this via FTP by following these instructions:

  1. Connect to your WordPress site’s server via FTP.
  2. Navigate to the wp-content/themes folder.
  3. [Optional] If you don’t have the Twenty Twenty theme installed, you can install it by uploading the theme folder that you download from (make sure to extract the ZIP file before uploading the folder).
  4. Rename the folder of your current theme to [theme-name]-deactivated.

When you rename the folder of your active theme, WordPress will automatically fall back to the default theme (as long as the default theme is installed).

If switching to Twenty Twenty solves the problem, you can re-enable all plugins and get to work finding the issue in your theme’s code.

If your theme is from either the official theme repository or an independent theme shop, you should let the author know as soon as possible. If, on the other hand, it’s your own theme, you’ll need to get a developer to help you out, because these bugs can often be very difficult to find — even for seasoned coders.

In some very rare cases, running old software such as PHP 5.3 may cause issues. Before spending hours trying to find a bug, or paying hundreds of dollars to a developer, take a look at step seven.


If your website is using too much memory, it’ll definitely throw a fit — quite possibly resulting in a 500 internal server error. In many cases, this is a sign of a badly coded theme or plugin. It can be remedied quickly by increasing the memory limit, but this isn’t a sure-fire way of solving the problem, and won’t get to the root of it.

You can try to manually increase your memory limit. However, keep in mind that your server or your account may have a set amount of memory allocated to it and you won’t be able to increase your memory limit beyond that.

There are a few ways you can go about increasing your limit:

  • wp-config.php file
  • PHP.ini file (if you have access — you may not)
  • .htaccess file

For all of these files, you’ll need to edit them by connecting to your server via FTP and adding a code snippet (or changing the value of an existing code snippet if the snippet already exists). Here’s what to add:

wp-config.php file

Add the following code snippet above the line that says /* That's all, stop editing! Happy blogging. */:

define('WP_MEMORY_LIMIT', '256M');


Find the line that says memory_limit = [number]M and change the number to 256. For example, memory_limit = 256M.

.htaccess file

Add the following line:

php_value memory_limit 256M

Alternatively, speak to your host for more specific instructions — some will be more than happy to increase your memory limit with almost no fuss on your part.


If your host uses the Apache Server (which most WordPress hosts do, especially on the budget end), the .htaccess file is a configuration file that enables some relatively advanced functionality. Using it, you can enable gzip compression, change the maximum upload size, set up redirects, and do all sorts of other handy things. WordPress also uses this file to manage your site’s permalinks, among other features.

A typo, a forgotten space or an unclosed quote, for example, could easily cause a 500 internal server error, grinding your website — including your admin — to a halt.

There’s a simple way to check if this file has errors:

  1. Connect to your server via FTP and find the .htaccess file, which is located in the root folder.
  2. Back up the existing file by downloading it to your computer.
  3. Once you’ve backed up the original file, delete the copy of .htaccess that’s on your server.

If your website comes back online, then the issue is with your .htaccess file. If you don’t have any custom .htaccess rules (e.g. custom redirects), you can force WordPress to generate a new .htaccess file by going to Settings -> Permalinks and clicking Save (you don’t need to change any settings — just click the save button with your existing settings).

If you do have custom rules, you can go through the .htaccess file line by line to see when your site goes down. Once you’ve found the offending line, make sure it doesn’t have any unnecessary text (perhaps an unclosed quote or something similar). If you can’t find the problem, you’ll probably just want to delete the line. Your website being completely down is far worse than a missing .htaccess line — ask around on forums if you need more help.


It’s extremely rare, but you may have some corrupted files in the WordPress core. This isn’t anything to worry about — something may have gone wrong when your server was copying the required files, for example. Re-uploading the WordPress Core files may solve your problem.

Here’s how to reinstall the core WordPress files:

  1. Download a fresh copy of WordPress from
  2. Extract the ZIP file.
  3. Delete the wp-content folder and the wp-config-sample.php file. Also, make sure there isn’t a wp-config.php file (and delete one if there is). This file shouldn’t be there, but it’s always good to double-check!
  4. Connect to your server via FTP.
  5. Upload the remaining files and folders to the root folder.
  6. When prompted by your FTP program, tell it to overwrite all files.

How to properly re-upload core WordPress files


While old PHP versions usually don’t cause the internal server error, it may be worth talking to your host and asking them to give you a newer version before spending valuable time and money. PHP 7 has deprecated some previous features — for example, a plugin may use a function that’s not available in older versions of PHP, and so on.

Ask your host what version of PHP you’re running. As of September 2020, PHP 5.6 no longer receives any updates (not even basic security support) — don’t accept it if your host is running your site on such an old version. You should at least have some variant of PHP 7 running. Ideally, you’ll want to be on PHP 7.3+ as PHP 7.0 also no longer receives updates and even PHP 7.2 will stop receiving security fixes at the end of 2020.


While it’s unlikely you’ll have two problems at once, it can happen. You may have a plugin that’s causing an issue, as well as an .htaccess problem. In this case, the problem won’t be resolved when you disable all plugins and it won’t be resolved if you remove your .htaccess file — only if you do both.

If you’ve followed these steps and you’re still getting a 500 internal server error, you should start again and make sure to not undo any changes. Keep your plugins disabled, keep your theme switched to Twenty Twenty, and so on.

Through trial and error, you’ll be able to discover the combination of issues that are causing problems.

Frustrated By Dealing With Errors? Try Managed WordPress Hosting

As you can see, a lot of work goes into troubleshooting common WordPress errors such as the 500 internal server error. If you don’t want to have to deal with these issues yourself (and you’re willing to pay a little more for the convenience), moving your site to managed WordPress hosting could be a good decision. A high-quality managed WordPress host will proactively monitor for these types of errors and fix them for you to keep your site working.

Final Thoughts

Because of the vagueness of the internal server error message, resolving it can be difficult, but, by following the steps above, you should be able to eventually figure out what’s going wrong.

If you still can’t solve the problem, contact your host.

Best ASP.NET Hosting – ASPHostPortal VS WinHost

How to Fix Cloudflare Error 527

Cloudflare error 527 triggers due to an interrupt in the connection between Cloudflare and the origin’s Railgun server(rg-listener). This happens due to a firewall block or network issues like packet loss in the connection between Cloudflare and the origin server.

Let us today discuss the possible causes and fixes for this error.

What causes Cloudflare error 527?

The interrupt in the connection between Cloudflare and origin server happens due to a variety of reasons. Some of them to list out are:

  • Connection timeouts
  • LAN timeout exceeded
  • Connection refusals
  • TLS/SSL related errors

It then results in the Cloudflare error 527 as shown below.

Let us now look at each of them one by one.

Connection timeouts

One of the main reasons for the 527 error is a timeout in the connection between Cloudflare and the railgun server. If the Railgun Listener is unable to establish or complete a TCP handshake with the origin server, it records a time out error as shown below in the Railgun logs:

connection failed dial tcp i/o timeout
no response from origin (timeout)

The first step in fixing this issue would be to verify if the Railgun Listener and the origin server are able to connect directly. For example, the netcat command tests connectivity when it is run from the Railgun Listener to the origin web server’s SERVERIP and PORT.


It can be done by using commands like cURL, ping, or running traceroute/mtr against the web server’s source IP. Ping or nc is helpful to confirm that the web server’s ports are open and accepts traffic from the Listener. This will help to determine if the connection is being accepted from the site’s origin server, or if an issue is present that is impacting the webserver from accepting requests.

Once we confirm the cause for the issue, we could then move on to fix it by editing the required settings.

LAN timeout exceeded

By default, the timeout limit for a server to send an HTTP response to the Listener is thirty seconds. The lan.timeout parameter in the railgun.conf file determines this value. If the origin server does not respond within the specified timeout limit, then the following error would be seen in the Listener logs:

connection failed dial tcp i/o timeout

The lan.timeout parameter of the railgun.conf file determines this time. Also, it would be a good idea to review the webserver configuration as to why the origin is taking a long time to respond to requests from the Listener. In most scenarios, it is also helpful to check the current load/bandwidth on the webserver to confirm if the server is unable to respond efficiently for requests due to overload.

Connection refusals

The Railgun logs will show the following errors on the refusal of the requests from the Railgun Listener.

Error getting page: dial tcp refused

Whitelisting the Listener’s server IP from the origin server’s firewall settings will help to fix this error.

TLS/SSL related errors

The failure of the TLS requests to connect to the origin server from the Railgun Listener, results in the connection failed error. A typical error message in the Railgun Logs would look like:

connection failed remote error: handshake failure
connection failed dial tcp refused
connection failed x509: certificate is valid for, not

This can happen due to a variety of reasons. The points to be cross-checked here include:

  • Port 443 is open.
  • The origin web server has an SSL certificate.
  • The SAN or Common Name of the origin web server’s SSL certificate contains the requested hostname.
  • SSL is set to Full or Full (Strict) in the Overview tab of the Cloudflare SSL/TLS app

If the origin web server is using a self-signed SSL certificate, we need to set validate.cert=0 in railgun.conf.


In short, Cloudflare error 526 occurs due to an interrupt in the connection between Cloudflare and the origin’s Railgun server(rg-listener).

Cheap Moodle 3.0.3 Hosting Recommendation

How to Set Up a WordPress Error Log

From conflicts between WordPress plugins to poorly coded themes and mistakes in custom coding, several problems sound the alarm with website error codes and warnings. Even if you’re not sure what the warnings mean, you must fix them. The first step is learning how to set up a WordPress error log.

As a short explanation, a WordPress error log is exactly what it sounds like: a list of error codes and times that occur on your website.

In this post, we’ll show you how to set up and work with WordPress error logs using the built-in WordPress debug mode.

How to set up a WordPress error log

As is often the case with WordPress, you have two routes to enable error logging with WordPress debug mode:

  1. Manually
  2. With a plugin

We’ll start by showing you the manual method, which just involves adding a few code snippets to your site’s wp-config.php file.

Then, if you want an even simpler option for error logging, we’ll share a free plugin that can get the job done.

Here’s how to do it manually…

Step 1: Access and edit the wp-config.php file

If you’re not familiar with your wp-config.php file, it’s one of the core files for holding important configuration details, like the credentials for your site’s database.

To access the wp-config.php file, either download and use an FTP client or a file manager tool in your host’s cPanel.

For this tutorial, we’ll cover the steps to access and edit your wp-config.php file with an FTP client.

In your FTP client, locate the wp-config.php file. This is normally in the root site directory.

access wp-config.php to enable WordPress error log

Upon finding the file, right-click on it and select to edit or view the file. You’ll want to open the file in a text editor.

Step 2: Add a line of code in the wp-config.php file to turn on debug mode

Inside your text editor, search for a line of text that reads Stop editing! Happy blogging.

Place your cursor on the empty line above that line of text.

Paste in the following code:

define( 'WP_DEBUG', true );

If you already notice this line of code in the file, it may currently be set to false. If that’s the case, switch it to true.

Afterward, save the file to your computer and upload the wp-config.php file as an update to your website. This is done through the FTP client.

Great! Now debugging mode is activated for your WordPress site.

Step 3: But wait! I don’t want the errors to show on the frontend of my website

If you took a moment to check your dashboard or the frontend of your site, you may have already seen WordPress errors listed for everyone to see. This may not seem like a big deal if they show up on the WordPress dashboard, but you definitely don’t want the warnings on the frontend.

Not only is publicly displaying errors confusing for your visitors, but it can also be a security risk because it gives them detailed information about your site.

In short, debugging mode is messy when activated by itself.

Therefore, we need to log the errors in WordPress so they are recorded but not publicly displayed.

To log your errors, go back to that exact same wp-config.php file in the text editor.

Look at the debug code you recently pasted into the file. Paste the following new code on the empty line below the debug code:

// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );

// Disable display of errors and warnings
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

Again, in some situations you might discover that the debug log code is already included. For that, simply make sure that the false at the end of the code is changed to true.

The first line tells WordPress to save error messages to a file called debug.log. The second snippet tells WordPress not to publicly display error messages.

Now, your error messages will be safely saved in the log file, but neither you nor your visitors will have to see error messages while browsing your site.

For a second time, save the wp-config.php file in your file editor and upload it back to your WordPress website.

How to use a WordPress error log plugin

If you don’t feel comfortable working directly with your site’s configuration file, you can also use the free WP Debugging plugin.

As soon as you activate the plugin, it instantly activates WordPress debug mode and enables error logging. It also lets you control whether or not to display debug messages on your site by visiting Tools -> WP Debugging.

Checking your WordPress error logs

We’re assuming you already know the website pages that are alerting you of errors.

You must visit these pages now that the debugging log is configured and ready to store the errors.

Reconnect to your website files using the FTP client. You can also connect via your host’s cPanel.

Go to the /wp-content/ folder.

the wp-content folder contains the WordPress error log file

Open that folder and look for a file called debug.log.

This is the file you created from the previous steps.

What should I do with this debug log file?

The debug.log file is accessible by editing, viewing, or downloading the file. It’s similar to the previous steps, where you might either just preview the file to look at it or open it in a file editor to make changes and save it for later.

Overall, a debug log file is for reference, not for editing. Therefore, you have to sift through the list of errors and warnings to identify what’s wrong with your site, theme, plugins, or code.

error log

For most people, the error log codes mean nothing. If anything, it’s closer to gibberish than English. However, you don’t want to forget about those errors.

Your resolution steps should go like this:

  • You identify an error with the debug log.
  • You find the error code.
  • You look up what that error code means.
  • You utilize a separate guide to fix that error.
Cheap Classic ASP Hosting Recommendation

How to Convert HTML to WordPress

The road from sites built with pure HTML to WordPress was not a short one. From an all-text experience, web design has moved on to a highly interactive web presence. In addition to that, we no longer have to write markup ourselves but can let content management systems do the heavy lifting.

However, that doesn’t mean that static HTML websites don’t exist anymore. In fact, HTML5, the latest iteration of the markup language, is very powerful and allows you to build quality websites without a CMS behind them.

Yet, the growing market share of WordPress shows that more and more people are switching to the platform.

For some of them, it means moving from static HTML to WordPress. This can be a daunting task, but this post will attempt to explain how to do it in a few simple ways.

Below, we will show you several ways how to convert from HTML to WordPress. First, you will learn what the different options are as well as their pros and cons. After that, we will show you how to execute each of them step by step.

Let’s get going.

The 3 Ways to Move from Static HTML to WordPress

To move from HTML to WordPress, you need to turn your HTML design into a WordPress theme. A theme controls the look and the feeling of a WordPress website, while the functionality is provided by the CMS itself as well as additional plugins.

To make the switch, you have several options. Which one is the right for you depends on factors like the time and money you are able and willing to invest, your coding skills, and personal preferences. The following are the main options.

A) Manually Convert HTML to a WordPress Theme

The first option is also the most technical. If you go this route, you will take your existing code and use it as a starting point to create the WordPress theme files.

It’s not too complicated, especially if you have coding experience. You can pull it off with a bit of HTML, CSS, and some PHP knowledge. A lot of it is copy and paste.

The downside: while you will end up with a working WordPress theme, it won’t have all of the capabilities WordPress has to offer. For example, unless you build it in after the fact, your site will be without widget areas or the ability to change your menu from the WordPress backend.

While your site will do its job, you won’t be able to manage it completely via WordPress. For that reason, we personally prefer the next option.

B) HTML to WordPress via WordPress Child Theme

In our opinion, this is probably the easiest and most reasonable road in terms of effort and monetary investment. Instead of using your existing site as the jumping-off point, you use a ready-made WordPress theme instead. You then adjust only its design so that it resembles your old website.

Doing so lets you take advantage of WordPress fully while still retaining your old site’s look. You also won’t have to add WordPress features afterward. Instead, you can build on an existing theme – something that the WordPress platform is explicitly made for.

C)  Import Content from HTML to WordPress Using Plugin

Obviously, if you don’t insist on using your current design and are open to changing it, things get even easier. In that case, all you need to do is set up a site, install the theme, and import your HTML content. As you will see below, this is a very quick and painless process.

A) How to Manually Convert HTML to a WordPress Theme

If your goal is to start from scratch and create your own WordPress theme that resembles your existing HTML website, start from here.

Don’t worry if it sounds intimidating, you’ll see that it is anything but. Just a few files and folders, as well as some copy and paste, is all it takes.

1. Create a Theme Folder and Basic Files

The first thing you need to do is create a new theme folder. You can do that on your desktop as you would for a directory on your computer. Name it whatever you want your theme to be called.

After that, go to the code editor and create a number of text files. Name them the following:

  • style.css
  • index.php
  • header.php
  • sidebar.php
  • footer.php

Don’t do anything with them yet, keep the files open in the editor. You will need them soon.

2. Copy Existing CSS to the WordPress Style Sheet

Now it’s time to prepare the WordPress style sheet (the filestyle.css you just created) to copy your old site’s CSS into it. For that, open the file and paste the following:

Theme Name: Twenty Thirteen
Theme URI:
Author: the WordPress team
Author URI:
Description: The 2013 theme for WordPress takes us back to the blog, featuring a full range of post formats, each displayed beautifully in their own unique way. Design details abound, starting with a vibrant color scheme and matching header images, beautiful typography and icons, and a flexible layout that looks great on any device, big or small.
Version: 1.0
License: GNU General Public License v2 or later
License URI:
Tags: black, brown, orange, tan, white, yellow, light, one-column, two-columns, right-sidebar, flexible-width, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready
Text Domain: twentythirteen

This is the so-called style sheet header (Important: don’t leave the comment/*...*/ tags out!). Fill in each part like this:

  • Theme Name — Here goes the name of your theme. It can be anything you want but it’s usually the same as the name of your theme folder.
  • Theme URI —  You would usually post the theme’s homepage here but you may use your own site address.
  • Author — That’s you. Put your own name here or whatever you want to be called.
  • Author URI — A link to your homepage. It can be the one you are building or whatever makes sense.
  • Description — An optional description of your theme. This will show up in the WordPress backend.
  • Version — The version of your theme. Since you are not publishing it, it doesn’t really matter. We usually put 1.0 here.
  • License, License URI, Tags — These things are only important if you are planning to submit your theme to the WordPress theme directory. You can leave them out in this case, we just included them for the sake of completion.

After the header, copy and paste the existing CSS from your static HTML website. Then, save the file in your new theme folder and close it. Time to move to the rest.

3. Separate Your Existing HTML

For the next part, you need to understand that WordPress usually uses PHP to pull information from its database. For that reason, you need to chop up your existing HTML into different pieces so that the CMS can put them together properly.

While this sounds complicated, all it means is that you copy and paste parts of your HTML document into several PHP files. To demonstrate this better, we have put together a simple example page that you can see below.

html to wordpress example page

As you can see it’s very much a standard HTML template that includes a header, content area, a sidebar, and a footer. The accompanying code is this:

<!doctype html>
<meta charset=“utf-8”>
<title>Website Title</title>
<meta name=“description” content=“Website description”>
<meta name=“viewport” content=“width=device-width, initial-scale=1”>
<link rel=“stylesheet” href=“style.css”>
<div class=“header-container”>
<header class=“wrapper clearfix”>
<h1 class=“title”>Website Title</h1>
<li><a href=“#”>nav item #1</a></li>
<li><a href=“#”>nav item #2</a></li>
<li><a href=“#”>nav item #3</a></li>
<div class=“main-container”>
<main class=“main wrapper clearfix”>
<header class=“entry-header”>
<h2 class=“entry-title”>Article Title</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam sodales urna non odio egestas tempor. Nunc vel vehicula ante. Etiam bibendum iaculis libero, eget molestie nisl pharetra in. In semper consequat est, eu porta velit mollis nec.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam sodales urna non odio egestas tempor. Nunc vel vehicula ante. Etiam bibendum iaculis libero, eget molestie nisl pharetra in. In semper consequat est, eu porta velit mollis nec. Curabitur posuere enim eget turpis feugiat tempor. Etiam ullamcorper lorem dapibus velit suscipit ultrices. Proin in est sed erat facilisis pharetra.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam sodales urna non odio egestas tempor. Nunc vel vehicula ante. Etiam bibendum iaculis libero, eget molestie nisl pharetra in. In semper consequat est, eu porta velit mollis nec. Curabitur posuere enim eget turpis feugiat tempor. Etiam ullamcorper lorem dapibus velit suscipit ultrices. Proin in est sed erat facilisis pharetra.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam sodales urna non odio egestas tempor. Nunc vel vehicula ante. Etiam bibendum iaculis libero, eget molestie nisl pharetra in. In semper consequat est, eu porta velit mollis nec. Curabitur posuere enim eget turpis feugiat tempor. Etiam ullamcorper lorem dapibus velit suscipit ultrices.</p>
</main> <!– #main –>
</div> <!– #main-container –>
<div class=“footer-container”>
<footer class=“wrapper”>
<p class=“footer-credits”>© 2019 My Imaginary Website</p>

If your design is different, you might have to somewhat adjust the steps below. However, the overall process stays the same.

First, open your current index.html (your HTML site’s main file). After that, go through your newly created WordPress files and copy the following into them (the examples below are my markup):


Everything from the beginning of your HTML file to the main content area (usually signified with <main> or <div class="main">) goes into this file. In addition to that, right before where it says,</head> copy and paste <?php wp_head();?>. This is crucial for many WordPress plugins to work properly.

<!doctype html>
<meta charset=“utf-8”>
<title>Website Title</title>
<meta name=“description” content=“Website description”>
<meta name=“viewport” content=“width=device-width, initial-scale=1”>
<link rel=“stylesheet” href=“style.css”>
<?php wp_head();?>
<div class=“header-container”>
<header class=“wrapper clearfix”>
<h1 class=“title”>Website Title</h1>
<li><a href=“#”>nav item #1</a></li>
<li><a href=“#”>nav item #2</a></li>
<li><a href=“#”>nav item #3</a></li>
<div class=“main-container”>
<main class=“main wrapper clearfix”>


Everything belonging to the section<aside> goes into this WordPress file.

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam sodales urna non odio egestas tempor. Nunc vel vehicula ante. Etiam bibendum iaculis libero, eget molestie nisl pharetra in. In semper consequat est, eu porta velit mollis nec. Curabitur posuere enim eget turpis feugiat tempor. Etiam ullamcorper lorem dapibus velit suscipit ultrices.</p>


Now, all that’s left from the end of the sidebar to the end of the file should be the footer information, which goes here. After that, add a call for <?php wp_footer();?> just before the closing bracket</body> for the same reason as you added wp_head in the header.

</main> <!– #main –>
</div> <!– #main-container –>
<div class=“footer-container”>
<footer class=“wrapper”>
<p class=“footer-credits”>© 2019 My Imaginary Website</p>
<?php wp_footer();?>

After that, you are done with index.html and can close it. Save all other files to your theme folder and close them except for header.php and index.php. You have some more work to do with them.

4. “WordPressify” Header.php and Index.php

For the header, all that’s left is to change the call for the style sheet from HTML to WordPress format. To do so, look for an existing link in the <head> section. It might look something like this:

<link rel=“stylesheet” href=“style.css”>

Replace it with this:

<link rel=“stylesheet” href=“<?php echo get_template_directory_uri(); ?>/style.css” type=“text/css” media=“all” />

Cool, now you can save and close header.php. Then turn to index.php. It should be empty at the moment. So, first, copy and paste these lines of code:

<?php get_header(); ?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

These are the calls for the other files that contain the rest of your site. You might notice the space between the call for the header and the sidebar. That’s where you will add The Loop.

The latter is the part of WordPress where the CMS outputs content created in the backend. It’s crucial if you want to have WordPress adding content dynamically to your pages which you will import later. To that end, paste this here 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>
<?php endif; ?>
<section class=“entry-content”>
<?php the_content(); ?>
<section class=“entry-meta”><?php if ( count( get_the_category() ) ) : ?>
<span class=“category-links”>
Posted under: <?php echo get_the_category_list( ‘, ‘ ); ?>
<?php endif; ?></section>
<?php endwhile; ?>

Now, save index.php file and close it. Well done! Your basic theme is ready. Now you can add it to your new WordPress site.

5. Create a Screenshot and Upload Theme

Now you will add a theme screenshot that, together with the information from your style sheet header, will serve as a preview of your website in the WordPress backend.

To do that, open your existing site in a browser and take a screenshot with your preferred method. After that, open the image editing software of your choice and crop it to 880×660 pixels. Save it as screenshot.png and add it to your theme folder. Now you are ready to upload your theme.

To get the new theme onto your WordPress site, you have several options. However, the prerequisite is that all files reside inside your theme folder.

The first option is to create a zip file out of it. After that, go to your WordPress site and then to Appearance > Themes. Here, click Add New at the top and then Upload Theme.

upload converted theme

In the upcoming menu use the button to browse to the location of your zip file. Mark it and click Open, then Install Now. When it’s done, activate the theme.

Alternatively, you can connect to your server via FTP (or just go to the local directory on your hard drive) and navigate to wp-content/themes. Then, upload your (unzipped) theme folder there. After that, activate the theme from the same place as before.

Nice! Your new site’s front end should now look like your old site. All that’s left to complete the move from HTML to WordPress is to import your existing content. We will cover this further below when talking about using an existing WordPress theme.

Be aware, however, that while the basic theme works now, there are more things you can do to integrate your HTML better with WordPress. This includes making your blog title and description editable, adding widget areas, comments, and much more. You might also have to add CSS markup because the content is not part of your original design like images.

As it is a lot of work, we personally like to use a solution that already has all that functionality and only needs a design change. That’s what we will show you next.

B) HTML to WordPress via WordPress Child Theme

If the above seems too intense for you, the next method might be more manageable. It allows you to take advantage of thousands of existing WordPress themes while still retaining your original design.

That’s by using a so-called child theme. These themes are built on top of another theme (the parent) that don’t stand on their own but merely modify the parent theme to fit your needs. Easy enough to do though it takes a bit of detective work.

1. Pick a Suitable Theme

The first step is to pick a suitable theme to base your design on. For that, it helps to find a theme that is close to your existing design or use a theme framework or a starter theme, which both are made to work as a base for custom themes.

Check the WordPress theme directory, our list of awesome themes, or look into premium themes to find a suitable candidate. After some searching, we decided that the Twenty Twelve theme would make a good starting point for my move from HTML to WordPress. Usually, we would pick something more up to date, but it goes well with the simple design we’re working with.

Once you have taken your pick, install the theme on your WordPress website like you would install any theme. No need to activate it. As mentioned, it’s just there to provide a base for you to work with. The rest happens in the child theme.

2. Create a New Folder

Similar to the earlier method, for the child theme, you need to create a theme folder. Here’s where you will put all the files belonging to it.

When creating child themes, it’s common to call the folder the same name as the parent theme plus -child. So, since our child theme is based on the Twenty Twelve theme, we call its directory twentytwelve-child.

Whatever name you choose, just be sure not to include any spaces as it won’t work that way.

3. Set Up the Style Sheet

The child theme also needs a style sheet. This one will work almost the same as the style sheet created above. However, it has a slightly different header and will contain less code.

We will get to the second part later. For now, create the usual style.css and place it in the theme folder. Then, add the following:

Theme Name: Twenty Fifteen Child
Theme URI:
Description: Twenty Fifteen Child Theme
Author: John Doe
Author URI:
Template: twentyfifteen
Version: 1.0.0
License: GNU General Public License v2 or later
License URI:
Tags: light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
Text Domain: twenty-fifteen-child

As you can see, it’s very similar to the style sheet header you used before with one exception: it contains the Template tag.

In that section, you should put the name of the theme that will function as the parent. Without it, the child theme won’t work. To avoid this, input the folder name of the parent. So, for Twenty Twelve, that would be Template: twentytwelve.

4. Create Functions.php and Inherit Parent Styles

With just the style sheet and the folder, it’s already possible to activate the child theme. However, that wouldn’t do much good since right now your site would look like an HTML page without any styling.

To change that, you first need to inherit the parent’s styles and for that, you need functions.php. This file is an important part of any WordPress installation and allows you to make sweeping changes to your website.

However, in this case, you will only use it to call the parent’s styling. For that, create a new file and call it functions.php. The first thing you will add at the very beginning is this:


With an opening PHP tag, the file is theoretically ready but it doesn’t do anything yet. So, additionally, you will have to input this:

function child_theme_enqueue_styles() {
$parent_style = ‘parent-style’;
wp_enqueue_style( $parent_style, get_template_directory_uri() . ‘/style.css’ );
wp_enqueue_style( ‘child-style’,
get_stylesheet_directory_uri() . ‘/style.css’,
array( $parent_style ),
add_action( ‘wp_enqueue_scripts’, ‘child_theme_enqueue_styles’ );

This piece of code tells WordPress to go to the template directory (aka parent theme) and use the styles included there. It also makes it possible to modify the theme via your child theme (more on that later).

5. Activate the Child Theme

At this point, the child theme is ready to be activated.

You can add a screenshot to it as in the instructions above if you want. Aside from that, you can either zip it up and add it to WordPress via Appearance > Themes > Add New > Upload Theme or by simply adding the folder as is to wp-content/themes.

In both cases, when you activate the theme, your site should now look exactly like its parent.

6. Adjust the Design

Here’s where the aforementioned detective work begins. It’s now time to change the design of the existing theme so that it resembles your original HTML site.

For example, one of the first things that stand out is that our WordPress theme adds space above the header and below the footer that our HTML site doesn’t have.

html to wordpress via child theme example page

To remedy this, we can look at the HTML site with our browser developer tools to find the markup responsible. When we do so, we encounter this:

body {
margin: 0;

Then, we do the same with my new WordPress theme where we find these styles:

body .site {
margin-top: 48px;
margin-top: 3.428571429rem;
margin-bottom: 48px;
margin-bottom: 3.428571429rem;

My objective is now to apply the styling from the HTML site to the WordPress theme. In this case, we can achieve this simply by adding the following to my child theme’s style.css:

body .site {
margin: 0 auto;

After saving, the WordPress theme has the new styles applied to it:

html to wordpress via child theme edited example page

That’s because anything you add to the child theme’s style sheet overrides the styles in its parent. However, the rest of the markup stays intact, so you are only able to change the things that are relevant.

Plus, if you are using an HTML5 template as a starter and a modern WordPress theme as your parent, a lot of the basic markup will correspond, making your life much easier.

Once you are done adjusting the design, it’s time to import your content. Let’s get to that now.

C) Import Content from HTML to WordPress Using Plugin

Finally, on the list of moving from HTML to WordPress is using an existing theme as is and simply migrating your content from your HTML site into it. This is the simplest way – all you need to do is install and activate the theme of your choice (we assume you know how to do that by now) and then follow the steps below.

By the way, though this process isn’t super hard, there are things that can go wrong. For that reason, make sure you back up your WordPress site before going through with it.

1. Install the Import Plugin

The first thing you need to do is install the plugin HTML Import 2. The easiest way to achieve this is to go to Plugins > Add New and search for it by name. When you find it on the list (it might be further to the bottom), click on Install Now. Activate it when it’s done.

html to wordpress import plugin

2. Prepare the Import

To import several pages at once, you need to upload them to the same server as your WordPress installation. The plugin will propose something like html-files-to-import  the folder name but you can choose whatever you want. Just make sure to remember the pathname.

As you will see in the following, you can also import single pages one by one. For either method, go to WordPress and Settings > HTML Import. We will go over the most basic settings now. If you need additional information or if anything is unclear, refer to the official user guide.


html to wordpress import files

Configure this screen as follows:

  • Directory to Import — Enter the path that you just copied your existing files to.
  • Old site URL — Used for redirects. Enter your old URL. We will deal with this again later in this article.
  • Default file —The default file for directories on the old site, usually index.html.
  • File extensions to include — The extensions of files you want to import.
  • Directories to exclude — If you have any directories in the old site that you don’t want to import, enter them here.
  • Preserve file names — To have the plugin automatically using your file names as the new URL, check this box. This makes sense if your titles are very long because usually, the importer will use them to create the slug.


Under content, you need to configure the HTML tag that contains your site content.

html to wordpress import content

To do that, choose the option HTML tag at the top. Then configure the tag in the following three fields. For example, if your content is contained in a tag called <div id="main">, the information you input would be divid and main.

The other settings on this page should be self-explanatory and enable you to import images, documents, update internal links, and more.

Title & Metadata

html to wordpress import title and metadata

This part is similar to the content part before. However, it’s dealing with page titles. In the beginning, you need to tell the plugin how titles are marked in your HTML template so it can import them into the right place.

In addition, you are able to filter out redundant things like the site title as that’s often displayed by WordPress themes by default. If your titles reside inside the content, you can also tell the importer to delete them so they are not included twice.

What’s important is that you decide whether to import your old content like posts or pages. The rest is rather self-explanatory and lets you configure WordPress settings for new pages.

Custom Fields

html to wordpress import custom fields

If you have any data that needs importing into custom fields, you can configure this here.

Categories & Tags

html to wordpress import categories and tags

Here you can assign categories, tags, and post formats to your imported content. The plugin will show the existing taxonomy on your site to make this step easier.


html to wordpress import tools

This screen lists a number of useful tools for successfully importing from HTML to WordPress.

3. Start Importing

Once you are done, save the settings. This will enable the Import Files button. Click it to get started.

html to wordpress import

(Note: you can also get here via Tools > Import and then picking Run Importer under the HTML option.)

Next, choose whether to import a directory of files or a single file (you need to browse to it), then hit Submit. The plugin will then go to work.

Once done, you should have all existing content on your WordPress site and formatted by the new theme. Or, if you went one of the other routes, your site should look basically the same as your former HTML website. Nicely done!

Additional Steps

If you plan on deploying the WordPress site in the same place where the static HTML website used to be, there a few more things to do before you finish.

The first one is to check the URLs of your newly imported posts and pages to make sure they are search engine friendly (i.e. include the keywords you want to rank for). It’s very simple – just go to a page or post and look at the URL below the title.

check permalinks after html to wordpress import

To change it, click Edit on the right, change to the URL to your choice, and hit Ok.

A second thing is to implement redirects from the old URLs to the new ones. That way, you won’t lose out on existing SEO value.

If you have filled in the old site address in the HTML plugin, it will create the redirect code for you. You can copy and paste this into the file.htaccess that resides on your server (usually in the root directory).

You access it via FTP, however, you might have to enable seeing hidden files as it isn’t visible by default. Then edit .htaccess and input the rules.

Be aware that it only works if you have left the URLs unchanged. If you haven’t and need to set custom redirects, use the Redirection plugin. It’s a very comfortable solution that also tracks whenever somebody lands on a non-existent URL on your site. That way you can implement redirects for those links as well.

Did You Successfully Move from HTML to WordPress?

And that’s it. You just learned how to convert a static HTML site to WordPress. As a consequence, you have become part of one of the largest communities on the web and gained access to thousands of resources to make your site even better.

Depending on which solution you picked above, you have already gotten an impression of how WordPress works. From here on, it’s quite easy to branch out and dive deeper into creating websites with the WordPress platform. If you need additional help in this area, this site has loads of it. You can learn how to:

  • Customize WordPress step by step
  • Move your site from HTTP to HTTPS
  • Add custom fonts to WordPress
  • Speed up your WordPress website
  • Add a contact form to your WordPress site

Aside from that, we wish you good luck with your newly minted WordPress website. We hope you enjoy working with WordPress as much as we do.

Best ASP.NET Hosting – ASPHostPortal VS WinHost

The Fastest Way to Overcome 500 Internal Server Errors

Have you ever experienced 500 Internal Server Error on your WordPress blog or have you encountered 500 Internal Server Error while visiting other people’s blogs? Take it easy, this 500 error is one of the most common errors, especially on WordPress. To overcome this is not difficult, it can be done quickly.

The most common cause of this 500 Internal Server Error problem is due to damaged htaccess files, script timeouts, unsupported PHP versions, incorrect file permissions, themes, plugins and the cause of incompatible WordPress versions.

In order for you to quickly find the cause of the problem with the 500 Internal Server Error, you need to recall what you changed last time.

Types of HTTP Errors

Each error has a different number code, usually consisting of 3 digits. So you need to know the types based on the following categories:

  • 100 – 199: Status information
  • 200 – 299: Success status
  • 300 – 399 : Status redirect
  • 400 – 499 : Clients error
  • 500 – 599 : Server error
500 Internal Server Error

So the 500 error we are discussing is mainly related to the server. To display this code will usually be displayed in the browser directly. Each browser or server displays a different 500 error message, here’s an example:

  • 500 Internal Server Error
  • HTTP 500 – Internal Server Error
  • Temporary Error (500)
  • HTTP 500 Internal Error
  • 500 Error
  • Internal Server Error
  • HTTP Error 500
  • That’s an Error
  • The website cannot display the page – HTTP 500
  • A Blank white screen

How to Overcome 500 Internal Server Error

To solve 500 internal server errors so that they are resolved quickly, as explained above, you have to remember what you changed last. If you have found it, you just have to look at some of the ways to solve it below:

1. Clear Browser Cache

Clearing the browser cache is one of the ways you can do it before trying other methods. For Google Chrome users the method is quite easy, please point to the top right corner at 3 points (Customize and Control)> Select Settings> Then scroll down select Advanced> On Privacy and Security then select Clear Browsing Data> Select Cached Images and Files> And the last one is Clear Data.

Clear Cache Browser

Please try to open again whether the blog is normal or not.

2. Reload Website Pages

The second way to solve this 500 error is quite easy, try to reload or refresh the page in the browser with the error by giving it a pause of about 30 seconds then reloading it again.

It could be that the 500 Internal Server Error is due to the server being overloaded, so you have trouble accessing it. Apart from that you can also try opening with another browser while waiting.

3. Check Plugins and Themes


Plugins and themes that exist in WordPress also often cause 500 error problems. Usually errors occur after updating or installing new plugins and themes. When installing or updating, try one by one, so that if a problem occurs, you can see which one is the main cause.

In addition, it is not recommended to use a beta version of the plugin or theme or the development stage, because this version usually has many problems.

If you still can’t find it, it is recommended that you deactivate the plugin by first logging into your cPanel hosting account. The method can be seen below:

  • Login to your cPanel hosting account, usually the user and password are included when purchasing hosting.
  • After entering, please find File> File Manager
  • Select your root domain then look for the public_html file> look for the domain name / subdomain that you installed> wp content> Themes / Plugin
Folder WP Content
  • Rename it by adding –disabled for easy checking
Deactivate the wordpress plugin
  • Do it alternately one by one until you see.

4. Check htaccess File

Just like discussing 403 errors and 404 errors, htaccess is one of the files that must be checked whether htaccess is the main problem or not.

To test it, please rename the htaccess file to .htaccess1 or whatever. Next try to open your blog whether it is normal or not.


If you have, please login to the WordPress dashboard then set the permalink then save.

5. Add PHP Limits

There may be a 500 error because the hosting is too heavy to load plugins, themes, scripts and content. For that, for those of you who use WordPress, don’t just install plugins and themes that are burdensome for hosting, just install as needed.

In addition, there are other ways, namely by adding memory and php values ​​to the .htaccess file. Please enter the following coding script line:

php_value upload_ax_filesize 128M
php_value post_max_size 128M
php_value max_execution_time 300
php_value max_input_time 300
php_value memory_limit 256M

After that, don’t forget to save and try whether it can return to normal or not.

6. Change the PHP Version

The latest WordPress plugins currently require the latest version of PHP, so if the 500 Internal Server Error appears it could be because the plugin has a problem because it is not compatible with the PHP version.

Please enter your cPanel account and look for the PHP Version, which is in the Software> Select PHP Version section.

php version cPanel

If you have tried your blog, is it normal or not.

7. Update The WordPress Version

WordPress Update

Apart from plugins, themes and php, it turns out that the WordPress version can also be the cause of the WordPress 505 error. If there is a notification of the latest WordPress version update, immediately do the update which will usually appear on the dashboard menu in the top corner.

Cheap and Reliable Magento 2.0.4 Hosting

Display Your Image in Joomla Menu

A large number of templates contains image menus as icon menu, for example JM Services.
I’m going to show you how to configure it.

First of all, you have to copy your icon images to images folder in root directory of your Joomla installation.

In your Joomla back-end navigate to Menus -> Main Menu (your menu) and edit a menu item. On the Link Type tab you will find an option to select an image for the menu item:

How to display image in a Joomla menu?

Remember to Save your settings after assgning menu icons.

If you are using DJ-Menu or DJ-MegaMenu module to display your menu, then the menu icon should appear on your site automatically. Here is an example of DJ-Menu with menu icons:

How to display image in a Joomla menu?

Cheap and Reliable WordPress 4.4.2 Hosting

How to Install Magento 2.0 on Localhost

I. Overview

To help Magento developers get to know the latest Magento CE 2, today, we would like to walk you through the steps needed when installing the latest version of this leading eCommerce platform.

This Installation Guide helps you install the Magento software on your localhost. Firstly, you must choose the installation that’s right for you.

Magento 2.0 - Installtion guide

Magento Community Edition 2.0 Installation

1. Easy installation with a compressed software archive

This way has an advantage: easy installation, no command line, have your own server. In this blog post, we will describe the details of this installation with Magento 2.0 fresh and Magento 2.0 with sample data.
This guide is used for window environment only, using wizard to install.

2. Download Magento 2.0

Depend on your demand to choose the package to download via Magento Community Edition 2.0 download

Magento 2.0 - Installtion guide

Download Package

Before you install Magento 2, make sure your system meets or exceeds the following requirements:

  • Operating systems : Linux distributions such as RedHat Enterprise Linux (RHEL), CentOS, Ubuntu, Debian, and so on
  • Apache 2.2 or later
  • PHP 5.5.x or PHP 5.6.x
    Note: Magento 2 does not support PHP 5.4.
  • Required PHP extensions:
    • PDO/MySQL
    • mbstring
    • mcrypt
    • mhash
    • simplexml
    • curl
    • gd2, ImageMagick 6.3.7 (or later) or both
    • soap
    • intl
    • bc-math
    • openssl
  • MySQL 5.6.x
  • Mail Transfer Agent (MTA) or an SMTP server
  • Optional but recommended:
    • php_xdebug2.2.0 or later (development environments only; can have an adverse effect on performance)
    • PHPUnit (as a command-line tool) 4.1 or later

When you are done with verifying your prerequisites, follow the steps below to install Magento 2.

1. Upload package to your web root

Magento 2.0 - Installtion guide

Upload package to your web root

2. Create DataBase

Open PHPmyadmin, then create Database for Magento 2.0

Magento 2.0 - Installtion guide

Create Database on PHPmyAdmin

3. Magento installation

Follow the 7 steps below to start your Magento installation

From your browser, navigate to the location of the Magento downloader on your server.

Step 1 : Agree and Setup

The Magento Downloader welcome page appears.

Magento 2.0 - Installtion guide

Start setup

Step 2 : Verify System requirements

To validate your server environment, click the Continue button. If error warnings appear, you must correct the errors and validate your environment again

Magento 2.0 - Installtion guide

Verify Requirement

Step 3 : Setup the database

Magento 2.0 - Installtion guide

Verify Requirement

  • Database Server Host: Enter the server qualified host name or IP address. If your server is on the same host as your web server, enter localhost
  • Database Server Username
  • Database Server Password
  • Database Name: input the database name you have just created at section Create Database
  • Table prefix: this field could left blank

Step 4 : Web Configuration

Magento 2.0 - Installtion guide

Configure Web

  • Your Store Address: enter the base URL for your store
  • Magento Admin Access: Enter the base URL for the store’s Admin Panel. The default value is admin

Step 5 : Configure Language, Time Zone and Currency

Magento 2.0 - Installtion guide

Configure Timezone and Currency

Step 6 : Create Admin Account

Magento 2.0 - Installtion guide

Configure Admin

  • New Username: enter the Admin account of the owner of your store
  • New Email: enter the Email of the owner of your store
  • New Username: enter the Password of the owner of your store
  • New Email: Confirm the password

Step 7 : Install & Finish

Magento 2.0 - Installtion guide


Cheap and Reliable Magento 2.0.4 Hosting

Know This Before You Enter Web Development

Every beginner starts their journey in web development learning frontend part, backend part, and some tools which are important to build the web project. Building your first project on your own after so many struggles is an exciting feeling for the beginners. You start having a lot of expectations from your job but when you enter the industry you find that your expectations are not even close to the real situation.

You learn a lot of new things in your job such as how to debug the code, how to work on someone else code, how to write clean code, how to refactor your code and how to search the things on your own and build the feature. Well learning these things help grow as a developer. Here we are going to discuss these things which are good to know before you start your career in web development. It will help you to manage your expectations and it will set you on the right path.

1. A Degree is not Just the Option to Enter in Programming

If you want to make a career in programming or web development college degree is not just the only option to enter this field. There are so many resources available on the internet that can teach you coding from the basics. You can take the help of youtube videos, StackOverflow, learning websites to teach yourself programming. Even kids are learning to code and building their websites and apps taking the help of these resources. So you can also become a self-taught developer taking advantage of these resources.

2. You will Google Things a Lot

Working on real-world projects in industries will teach you the most important skills in programming i.e. Googling. You can save a lot of time if you know how and what to google to find a solution for a creatin problem and to fix some specific issue. Also, remember that it’s totally fine if you are taking the help of Google to find out the solution. It’s a sign of being a smart developer and not a bad developer.

3. You Can’t Learn Everything

A lot of newbie developers get attracted to shiny tools, technology, and frameworks. They listen from here and there that this language or that framework is popular and then they try to learn everything which is a wrong decision. Understand that you can’t learn everything. Companies (domain-specific) are looking for the people who know the tech stack company is working with. Every company works in different languages and different frameworks so decide which company you want to work with and focus on learning that specific language. Another option is to choose a specific language or framework to learn and find the companies that are working on the same language or tech stack.

4. Writing an Easy Code is More Important than Writing Fancy Code

A lot of developers try to write fancy or complex code just for the show off how well they can code. Understand that it’s important to keep your code simple. A simple and clean code is always easy to understand and easy to modify. When other developers have to work on someone else code they always expect to work on simple and easy to understand code.

5. Developers are Lazy in Doing Proper Testing

A lot of developers are lazy and don’t enjoy the proper testing of the module in their job. It also happens that if there is a deadline mentioned for developers then they try to build the module first and sacrifice a few testing in their project.

6. A Specific Time Estimation Not Always Works

In development when sometimes you need to build a feature or module you think that it will take just 3-4 hours because it looks simple but in some cases when you start working on that feature you realize that your project flow doesn’t allow you to get this little feature work. In that case either you need to make some modifications in another part or you need to restructure a big part of the application to get this little feature to work.

7. You will Laugh Looking at Your Own Old Code

When beginners enter into development or programming they write a lot of messy code. They just really want to fix the things and if the code works, it’s fine. They consider that working software is good software so they first give priority to making things work. After a couple of years as an experienced developer, they laugh and they feel ashamed looking at their spaghetti code. They start thinking that “how can I write such a messy code?” but later they smile and realize how far they have come as a developer. Now they also understand that good software is not just about making things work.

8. Fixing the Bug is a Time-Consuming Process

It’s easy to spot a beginner in development the way they try to fix the bug and build an application. In development writing, bug-free code is impossible for newbie developers. They take a lot of time to fix the bugs and the reason why it happens is “they don’t know where to look and what to look for?”. Slowly once they start understanding the flow of a project and some debugging technique they get better at fixing the bug.

9. You Will Face Imposter Syndrome

Your coworkers are talking about some cool and new technology but you don’t get it. You agree with their conversation but the reality is you didn’t understand what they are talking about. You also find that writing a new feature is difficult in your code because you don’t know half of the technology. You think that you don’t fit in your job role, you start having self-doubt and you feel like an imposter. Well, not only beginners get these feelings but also experienced developers have to deal with it. Initially, imposter syndrome makes someone very uncomfortable but later with experience, you become habitual of it and you become comfortable with getting this uncomfortable feeling all the time.

10. You Can’t Memorize Everything

Memorizing each tag of HTML or syntax of your programming language is not a good idea in development. Beginners make this mistake a lot and their progress becomes slow. Understand that you don’t need to memorize everything. If you don’t know something then google it and use it. Syntax eventually gets clicked in your brain after some experience in working on the same language and writing the same code multiple times.

11. You Need to Be a Good Problem Solver

This is one of the most important things every newbie programmer should consider in development. Your problem-solving technique is much more important and valuable for a company. You will be paid to solve the problems not to write a thousand lines of code. A good developer needs to be creative and they need to find out the best solution to build a feature or to fix a certain problem. You will find multiple solutions for a single problem so now you need to use your creativity to solve problems easily and effectively.

12. You will Be Reading a Lot

You will be spending a lot of time reading about new technology, tools, and best practices. You will be spending time staying up to date with the things happening in the industry. What technologies or frameworks are popular in the industry, how to use that and for what kind of application it is suitable for. It will also help you in getting the other job opportunities and upgrading your skills.

13. Responsiveness Can be Frustrating

It’s not easy for developers to make the application look good and awesome for all screen size devices. Making an application responsive to all kinds of devices is really a pain for developers. There are so many different devices and browsers, there is always a combination of a browser and device that doesn’t look great. You will be fixing these issues a lot using media queries and other techniques.

Cheap Drupal 8.0.4 Hosting Recommendation

How to Manually Clearing Your Magento Cache

Sometimes when moving, migrating or changing domain names for your Magento installation you may run in to issues with the cache redirecting users to the old domain.

What Are the Benefits of Clearing the Cache?

Cache (/kæʃ/ kash, or /ˈkeɪʃ/ kaysh) is a hardware or software component that stores data so that future requests for that data can be served faster.

So it’s all about storing the requested data for easier access later. Both the browser and the server make a cache for faster performance.

There are two caching techniques: full-page caching and object (fragment) caching. The names speak for themselves: you can both cache the entire page or only separate objects in it, like heavy images.

You can’t even imagine how much your website speed impacts your traffic and conversions.

If you’re using cache correctly, then your cached website will perform faster, and with higher speed come high conversion rates.

Let’s see what are the two types of cache that you should know about.

Types of Web Caching

There are two main types of website caching.

1. Browser caching

The browser cache is a temporary storage space in the hard drive of the user’s computer. The storage contains files like HTML, JavaScript, CSS, images and all kinds of media.

Once a user visits your website, the browser saves some of the data to display it later without reaching out to your server again. Thus, browser cache speeds up your website for returning visitors.

Now you must wonder what happens with cache when you update your website. Do the visitors keep seeing the older version? The answer is no; not if you’re doing it right.

To avoid this situation, most websites use ETag and Expire Tag.

The first one — ETag — is a token that compares the cached version of the website with the one on the actual server. When they vary, the browser requests the updated version of the website.

The second one — Expire Tag — is there to set up the period after which the cached version is removed from the browser.

Website owners/administrators manage this tag and pick the average time they are having between updates.

2. Server caching

Server caching speeds up websites for anyone, not just the returning visitors. This is how it works: when browsers request a webpage, the server takes time to process those requests.

After the first request (from any user) is fulfilled, the server “remembers” it and next time it delivers the same data to anyone faster.

Lower server loads are one of the biggest benefits of caching: millions of users can open the website at the same time, and it won’t blow up.

On top of the hosting servers, there’s a caching system for DNS (domain name system).

See, DNS is often called the phonebook of the Internet. It connects web addresses like to hosting servers’ IP addresses like

The system operates through tons of servers called nameservers holding records about these addresses. Caching nameservers (also called DNS cache) store information about DNS queries for as long as the administrator decides. That period is called TTL (time to live) and is essential when you are changing your domain name or hosting.

Caching & CDN

The physical distance between a user and a server they request used to be a real issue for website load speed for a long time. Content delivery (distribution) network — CDN is the solution.

These networks consist of several servers located in different part of the world. They cache the commonly requested files of a web page (static content) and when a user enters a query, the nearest server responds with the ready-to-display content.

The servers are smart enough to recognize the device type, cookie settings, and other information about the user to cache and display the exact required pages.

CDN is also useful to deliver dynamic content — which is unique and not cached — faster.

Why should you clear the cache?

  • To get the newest version of a site. One common reason why you might want to clear your cache is if a website or application has made updates but they don’t show up on your browser because of the old cached website version.
  • To be more secure. If you’re sharing a computer with other people, clearing website cache will help you protect your privacy.
  • To improve performance. Even though caching is meant to improve website performance, if you don’t clear them a while, a lot of data accumulates and has the opposite effect.
  • To fix browser errors. If you see certain sites lagging or errors popping up, better clear the cache just to be sure.

This can make it difficult to login to the administration section to clear the cache, to make the site work. Often you will see that your site gets stuck in a redirect loop that won’t complete. In this quick and easy guide, we will show you how to clear your Magento Cache.

Steps to take

There are three simple steps that can be taken to solve this issue.

  1. Login to your FTP account. This can be done through your FTP Client or Webshell.
  2. Find the Magento installation located in your domain
  3. Remove the content of the following two folder’s
    • /var/cache
    • /var/session

As always we strongly recommend you take a backup of these files before removing them, even though they are only cache files.

How to Clear Cache Programmatically

In case of development, a developer or a request from merchant, he/she needs to clear / flush cache programmically. So today we will show you how to Clear Cache Programmically. Implement these lines of codes in Helper:

use Magento\Framework\App\PageCache\Version;
use Magento\Framework\App\Cache\TypeListInterface;
use Magento\Framework\App\Cache\Frontend\Pool;
protected $cacheTypeList;
protected $cacheFrontendPool;
public function __construct(
    TypeListInterface $cacheTypeList, 
    Pool $cacheFrontendPool
    $this->cacheTypeList = $cacheTypeList;
    $this->cacheFrontendPool = $cacheFrontendPool;
public function flushCache(Version $subject)
  $_types = [
    foreach ($_types as $type) {
    foreach ($this->cacheFrontendPool as $cacheFrontend) {

Now call flushCache() function in a controller or model.

error: Content is protected !!