Saturday, 16 July 2016 15:28

How to create webpages & setup website using the CMS

This is my experience about how to create webpages & setup my personal website using the CMS (Content Management System) software. My website is 4 years old now, during this time, I learn how to upgrade my website, improve the webpages loading speed, remove virus/malware from website, and a lot more.....SEO, Google Analytic, Google Adsense, Google Captcha, Google PageSpeed Insights, Google Search Console. 

Web Server

You need a local web server which is support PHP & MYSQL in order to test the CMS software & preview your work in your computer. WAMP, EasyPHP and Softaculous AMPPS are the free Web Server software which turns your computer into a ready-to-use personal web hosting server. For my case, I'm using WAMP.

 

PHP settings on WAMP web server
You may want to turn on or turn off some of the features such as "display errors' on the PHP settings. It is advise to turn on the "display errors" for debuging, error messages will appear on top of you webpage if error found on your webpage.

php settings



 

CMS software

I do not know what is CMS software before seting up my website. After many hours of internet surfing about how to develop webpages & setup website, I get an idea what is CMS software. It is very awesome that there have been so many free CMS software and most of them are very easy to setup and use. I have try out many CMS software to find out the right one for me, finally I choose Joomla and Wordpress. Today I'm using Joomla on my website.

 

 

 

Joomla Installation (Local website)

As mentioned above, I'm using Joomla for my website, hence I'm using Joomla for this tutorial as well. Your web server software must be running on your computer before you can install the Joomla CMS.

Installing Joomla is very straight forward, just download the Joomla (current version is V3.6.0) and extract all the files to the WAMP www folder as shown in figure below:

joomla 

installation folder

 

 

 

Setup Joomla

  • Open up a browser & navigate to http://localhost.
  • The Joomla setup page should appear on your screen.
  • Follow the on screen instructions to complete the setup, below is the field you must fill in correctly before you can proceed to next step:
Server: localhost
Database: anyName
User: root
Password: Blank (no password)

database 

configuration


WAMP have a very nice feature that you do not need to create a MYSQL database before Joomla setup, it just need to provide Database name & the user name (root) during Jooma setup that all. After completing Joomla setup, the last screen will prompt you to remove the Installation folder. Just select "Remove installation folder". Done! Your website is ready without writing any code. Now you have the choice to direct to Frontpage (http://localhost) or Administrator page (http://localhost/administrator)

 

 

 

Manage Joomla
You can manage Joomla from the administrator page

  • Open up a browser and navigate to http://localhost/administrator
  • Log in with your administrator user name and password
  • Here you can change your layout, manage extensions and write your new articles.
  • Make sure the FTP account is disable as shown in figure below, otherwise you will not able to manage Joomla on your computer (local site), instead, you are manage Joomla on the remote site.

Global Configuration Disable FTP

 

 

 

 

Joomla Extensions

Once again, Joomla is very awesome, there are many free and commercial extensions from the Joomla official website where you can download and installing on your Joomla website. Be honestly, do not install additional extensions on you Joomla website, more extensions will slow down your webpage loading time & make it difficult to upgrade your Joomla. Here are some extensions you might considered:

  1. Template: A basic foundation design for viewing your Joomla web site.
  2. Joomla Content Editor: Allows you to write artice as similar to Microsoft Word.
  3. Joomla CCK (Content Construction Kit): Extend the features of your Joomla core.
  4. SEO (Search Engine Optimization) Plugin: SEO is the process for a web page to be indexed by search engines.
  5. Google Analytics Plugin: Allows you to tracks and reports website traffic.
  6. Google AdSense Extension: Creates blocks to display advertisements on your website.
  7. Social Network Extension: Allows you to insert social icons on your website or in your article.
  8. Backup Extension: Create a site backup that can be restored on any Joomla!-capable server.

 

 

Template

I'm using the Neutrino template on my previous Joomla 2.5 website, after upgrading to Joomla 3, I'm chaning to a template which is support responsive (mobile & table). If you own a Google Analytic account, you may need a template which is  support additional fields for input script to be loaded at the top/bottom of your site. Additionally you must get a template which is support K2 if you are using K2 for your Joomla website. Finally a SEO ready template is preferable.

If you need a fast loading free template, here is an article written by Andrew Brett Watson.

 

 

Joomla Content Editor

JCE and JCK both are the free Joomla content editor which is similar to TinyMCE (default editor) but come with more features. After upgrading to Joomla 3, the new TinyMCE editor is now added many new features, therefore I would suggest to stick on TinyMCE.

 


Joomla CCK (Content Construction Kit)

I would suggest to use K2 if you needs CCK for your Joomla website. K2 have some nice features that Joomla core is not included, below list the K2 features using on my website.

  1. Tags & Sub Categories
  2. Click on image (same as click on "Read More" button) for full article
  3. K2 comments below/above articles
  4. Facebook like, Twitter, Google+ button below articles
  5. AddThis Social Network
  6. Google Captcha: Spam protection for comments

 

Note: Do not install any CCK such as K2 if you don't need it. Not all extensions are supported by CCK, it may slow down your webpage loading time and make it harder to upgrade your Joomla website.

 

 

SEO Plugin

SEO plugin automatically generates description meta tags by pulling text from the content to help with SEO, making your website easy for search engine robots to understand. My first Joomla website was using the SEOSimple plugin, but now I had abandoned SEOSimple plugin since my K2 template is built with SEO.

 

 

Google Analytics Plugin

Google Analytics is a freemium web analytics service offered by Google that tracks and reports website traffic, it has many ways to track your website traffic such as Language; Location; Browser; OS; etc. You need a Gmail account in order to sign-up Google Analytics, please visit here on how to Create a Google Analytics Account.

Google 

Analytics Report

 

 

You will get a Google Analytics tracking code upon sucessful creating the Google Analytics Account, you'll need this in your Joomla setup. 

Google 

Analytics Tracking Code

 

 

It is easy to setup Google Analytics tracking on my Joomla website since my K2 template support "additional fields for input script to be loaded at the top/bottom of my site". Just copy and paste the snippet of JavaScript into the additional field on my template settings as shown in figure below.

Google 

Analytics Javascript

 

 

You need to install Google Analytics plugin if your template does not support additional fields for input script to be loaded. I was using Asynchronous Google Analytics for my old Joomla 2.5 website,  it adds the required javascript for Google Analytics in my webpages.

To use the Asynchronous Google Analytics plugin, you need to enable the plugin and fill in the Google Analytics tracking ID as shown in figure below.

Asynchronous Google Analytics

 

 

Google AdSense Extension

Google AdSense is a free, simple way to earn money by placing advertisements on your website, you need a Gmail account in order to sign-up Google Adsense. Although it is free, but it is not easy to get approve from Google. Once you're successful, please login to Google AdSense and create your AD units as shown in figure below.

Google Adsense

 

You can create as many Ad units as you like, each AD unit you create is corresponds to an AD code, you can't delete the AD unit once it has been saved. After creating the new AD units, you must wait for one day before you can use it, otherwise it will show a blank AD block on your webpage.

AD code

 

There are free and commercial AD extensions for Joomla, eg. the free Phoca-GAE which can be configured as a module or a plugin. You must copy and paste the desired AD code (snippet of JavaScript) to the Phoca-GAE settings before you can use this module.

As a module, it shows AD according to the template module position

  1. Select a position from the list.
  2. select "On all pages" from "Menu Assignment" tab. 
  3. Enable the module.

 

As a plugin, it insert AD code in the article, allowing the AD appear inside the article

  1. Enter a new name (eg. GoogleAD) for the position (do not select the existing position).
  2. Enable the module.
  3. Write an article and switch to source code mode (text mode).
  4. Locate the position where you want to insert the AD and put the code {GoogleAD}.

 

Hints: You can add a custom button to the editor page which allows you insert code in the article without toggle the editor.

 

 

Social Network Extension

Here are some Social Network Extension tested on my website. 

Fast Social Share plugin

Fast Social Share plugin is able to display social share buttons below the article, this is a free extension but not support K2.

Nice Social Bookmark module
This free module shows icons from 12 most known social sites (delicious, digg, facebook, google bookmarks, linkedin, myspace, newsvine, reddit, stumbleupon, twitter, pinterest, and rss feed)

Responsive Social Share plugin

This free plugin is able to display social share buttons below the article, K2 may have problem.

K2 Addthis Social Network

K2 allows you to add social sharing buttons on your Joomla website without installing additional social network extension. K2 integrated the Addthis social network extension which display the social share buttons below the article automatically.

Social Share 

Buttons

 

Addthis Sharing Sidebar

You can create a Sharing Sidebar with Addthis social network extension, the Sharing Sidebar will display the sharing buttons that is floats on the side of your page.

  • Signup a new Addthis account.
  • Choose Tools and select Share Buttons.
  • You can only select Sharing Sidebar or Sharing Buttons for a free account.
  • Follow the on screen instructions to select your theme and get your Addthis code as shown in figure below.

Addthis code

 

  • Login in to your Joomla administrator page (http://localhost/administrator)
  • Choose Components>K2
  • Click on Parameters button on the top right screen.
  • Click on Social tab.
  • Copy and Paste the above snippet of JavaScript into the "Social button code" box as shown in figure below.

K2 Parameters 

Social

 

 

 

Comments Extension

The Comments Extension lets people comment on content on your site. I was using Jcomments for my old Joomla 2.5 website, due to some reasons it is not working in my Joomla 3 website, I give up on using Jcomments. K2 has integrated (built-in) comment system is easy to use and requires little configuration, now I'm using K2 comments.

K2 comments

 

 

 

Google Captcha (reCAPTCHA)

reCAPTCHA is a free service that protects your website from spam and abuse, to use reCAPTCHA, you need to sign up for an API key pair for your site. After you have your site registered with Google reCAPTCHA, you get a public and a private key in order for the code to function in your web pages. 

Google reCaptcha 

Key

 

 

You need to copy and paste the reCAPTCHA public key and private key to your K2 Anti-spam Settings as shown in figure below.

K2 Anti spam 

Settings

 

 

Now you can test your comment system. When you comment on the article, you must verify you are not a robot before you can submit the comment. As shown in figure below is the old reCAPTCHA (V1.0) style and new reCAPTCHA (V2.0) style appear on my old Joomla 2.5 and on my new Joomla 3 website respectively.

Google 

reCaptcha Style

 

 

 

 

Joomla Backup

It is suggested to backup a copy of your website to a compressed file before uploading to the remote site. Akeeba Backup is a backup extension which creates a full backup of your site in a single archive, allowing for site transfers or even deploying sites to your clients' servers.

The backup archive is a compressed jpa file, you must download the Akeeba eXtract Wizard and installing to your computer in order to extract (uncompressed) the jpa file.

Akeeba eXtract 

Wizard

 

 

 

Web Hosting

In order for your website to be available to anyone at anytime, you need to host your webpages with a web host. Additionally you need to register a domain name (eg. ediy.com.my) for your site that allows your visitors to easily access your site by name. The web hosting companies can provide these services for you.

There are basically two different hosting technology, the Linux hosting and the Windows hosting. I'm choosing Linux hosting for my Joomla website, the requirements for hosting Joomla 3 are as follows:

SoftwareRecommendedMinimumMore information
PHP
5.6 or 7.0 + 5.3.10 http://www.php.net
Supported Databases:
MySQL
5.5.3 + 5.1 http://www.mysql.com
SQL Server 10.50.1600.1 + 10.50.1600.1 https://www.microsoft.com/sql
PostgreSQL 9.1 + 8.3.18 http://www.postgresql.org/
Supported Web Servers:
Apache 2.4 + 2.0 http://www.apache.org
Nginx 1.8 + 1.0 https://www.nginx.com/resources/wiki/
Microsoft IIS
7 7 https://www.iis.net

After puchased a hosting plan from a web hosting company, you get a domain name and a login ID used to access the control panel. A control panel is a web-based interface provided by the hosting company that allows you to manage their various hosted services in a single place.

The image below shows an example of a control panel interface:

Control Panel 

interface

Your web hosting company should provide the following informations used to access your website:

  • A URL access to control panel (eg. https://yourDomain.com:2083)
  • Login userName and password used to access control panel
  • A URL access to FTP (eg. ftp.yourDomain.com)
  • Login userName and password used to access FTP
  • A URL access to webmail (http://webmail.yourDomain.com)
  • Login userName and password used to access webmail

 

 

 

Create a Database

You must logon to control panel and create a database for your site, after a database has been created, at least a user account must be assigned to that database with full control. Different hosting companies have their own ways to create database, please refer to your hosting company on how to create a new database.

 

 

 

Upload Web Files to Remote Site

Basically there are two ways to upload web files from your computer (local site) to the remote site (web hosting server), by using a FTP client software such as FileZilla or using the web-based control panel provided by your web hosting company.

You must upload the backup set (not the current working set on you computer) create by the backup software to the remote site, the current working set will not works for you since the "Installation" folder is missing and is unable to start the installation wizard.

As mentioned above, I'm using Akeeba Backup to backup my site, it is a single archive with the jpa file extension. If you upload the jpa to your site, it may not recognized by your web server since most of the software is not supported for jpa file format. Therefore you have two choices:

  1. Extract the jpa file to your local computer and then upload them one by one: I would not recommend this procedure since it will spend longer time to upload all your files from local site to remote site.
  2. Extract the jpa file to your local computer and then compressed them to a file format which is recognized by your web server: You upload a single compressed file such as ZIP to your remote site, the ZIP file is then extracted from your remote site using the web-based control panel.

 

You must transfer all you web files to your website root folder. For linux hosting like mine, I'm upload the files to public_html folder.

Joomla Installation

 

 

 

Installation Wizard

Once all the file has been transfered to web server, next step is to open a browser and navigate to your website (eg. http://yourDomain.com), the installation wizard should start upon installation files found in the installation folder as shown in figure above.

Follow the on screen instructions to complete the installation, you must fill up the following field correctly before you can proceed to next step.

Server: your website name (eg. yourDomain.com) or your website IP (eg. 14.102.103.104)
Database: the database name that you created previous (see here)
User: the user of the database
Password: the password of the user

 

After completing the setup, it will prompt you to remove the Installation folder. Just select "Remove installation folder". Done! Your website is ready. You can browser your website anywhere at anytime.

 

 

Google PageSpeed Insights

Page Speed Insights measures the performance of a page for mobile devices and desktop devices, just enter your website url and click on the ANALYZE button to start website analyzing. You’ll be presented with a grade and a list of recommendations from Google as shown in figure below.

Google Page Speed Insights

You should download the ZIP file which included the optimized image, JavaScript, and CSS resources for this webpage. I would like to highlight the optimized image, it is a folder which containts a list of images that is optimized (reduce file size without losing quality) by Goggle, you should replace your original images on this webpage by these optimized images in order to make your webpage load faster.

 

 

 

Google Search Console

Google Search Console is a free service offered by Google that helps you monitor and maintain your site's presence in Google Search results. I use Google Search Console to submit new content (sitemap) for crawling. You must sign in Search Console with your Google account in order to setup your site with Search Console. 

Google Search Console

 

You must setup and verify your sites (both www and without www) before you can use the Search Console. Here I'm using www.ediy.com.my and ediy.com.my as the examples, Search Console treat them as two domains and you have to decide which one is the preferred domain as shown in figure below.

Google Search Console Preferred Domain

 

After you have setup and verified your sites, it is time to generate your sitemap file using the sitemap generator software. The sitemap.xml file is then upload to the root folder of your website (eg. /public_html). Finally you submit your sitemap directly to Google via Console Search, this makes it easier for Google to crawl and categorize your site.

Google Search Console Sitemap

 

On the 18 Jun 2016, Google send me a email about my website was infected by malware and my website is blacklisted by Google. In order to remove the blacklist from Google, I have to clean my site and sign in to Search Console to request a Review, after few days Google removed the blacklist.

Google Search Console Request a Review

My website also blacklisted by McAfee SiteAdvisor on that day, I also request a review from McAfee, very disappointed they didn't remove the blacklist entry.

 

 

 

How to remove virus/malware from website

My website was infected by malwares twice, I manage to remove them with the help of my hosting company and myself. The first issue was happened on 2015, my hosting company send me a email that there were unusual activities on my website and need to take action as soon as possible. I know how to scan and clean virus/malware from my computer, but I have no idea how to clean it from my website. Fortunately my hosting company is able to help me with this issue, they list out the suspicious file names and inform me to replace them with the previous backup.

The second issue was happened on 18 Jun 2016 as mentioned above (Google Search Console), my hosting company is unable to find out the problem on this matter. Luckily the solution is simple, I downloaded all the files from my website and scan them on my computer. Result shows that an index.php file in the template folder is infected by JS/Redir malicious software.

 

 

 

CDN (Content Delivery Network)

CDN is a system of distributed servers (network) that distribute your content around the world so it’s closer to your visitors and hence speeding up your site. I'm using CloudFlare service for my website, it is free.

CloudFlare network map

You need to sign up a CloudFlare account for your site in order to use the CloudFlare service, and you must change the nameserver to Cloudflare by contacting your hosting company. After my website is activated on CloudFlare, the loading speed has increased tremendously. 

Read 121868 times Last modified on Friday, 16 September 2016 16:35
Back to Top