These are some basic steps which I feel every search engine optimizer must follow to optimize a website from scratch. If these issues are resolved at the start then you will not face any optimization issues later on.

Check for 404 pages/broken links on website
Broken links are poison for any website. If you have access to a crawler then the first thing to do is check for broken links on the website. This will give you a clear picture of the navigation structure of the website as well as links which are broken.  To save time you can also request the website owner to provide you access to their Google Webmaster account which will outline the complete crawl issues of the website. After you have the complete list of broken links on the website you should have them corrected as soon as possible. I have developed an online 404 checker for this purpose which is free 🙂 so please do use it.

Enable search engine friendly URLs on website
If the website URL structure is dynamic in nature i.e. have “?” and “&” in its URLs then you should try and have search engine friendly URLs enabled on the website. The benefit of these URLs is that they will be keyword rich and help optimize those pages on search engine results. Most websites nowadays already have these URLs enabled as support is available on both Linux and Windows hosting servers.

Check for duplicate pages on website and remove them
Try and check for duplicate content by using moz or plagspotter. Both are paid however Moz offers a 30 days trial period. You can cancel the trial period after the completion of 30 days. Both these websites let you know if there are more instances of web pages which have the same content as yours and it helps you take action. Most of the time the duplicate content may be due to minor navigational issues in your website which can be resolved with some tweaks however these need to be catered to otherwise the website may never come high on search engine results and may even get banned.

Implement the canonical tag on website

As per Google definition

“A canonical page is the preferred version of a set of pages with highly similar content”

Google provides this one stop easy solution for website owners to implement the canonical tag and inform Google and other search engines which is the main version of the page the search engines should give priority when giving results. You can read more about canonical tags here and here. The best part of this solution is that it can help resolve your duplicate page content issues very quickly.

Make sure that the meta tags are unique for each page on website
Most websites have nearly the same meta title, meta description and meta keywords on multiple pages which leads search engines to think of these pages as duplicates. Due to this search engines do not think highly of these pages and they do not come up on search results often. Try and create as unique meta content as possible related to the web page which will help your website in the long run.

Tagged with:

Company out of business

If you come to know some day that your company is closing due to change of business vision, heavy losses due to recession or some very bad business decisions and you may be out of a job in a couple of months or maybe even days then you should review the points below:

1. Firstly don’t lose hope and say thanks to Allah that you have come to know about this before the actual event happened. Just think what could you have done if you came to your office one day and you were just given your check and told that the company you worked for the past 2, 3, 5 or 10 years is no more or worse you may not even have gotten your check. Companies have closed overnight with people coming the next day and scratching their heads as to what in the world has happened so be thankful. Emotions such as anger, disappointment and sorrow are normal but you need to say it in your heart that you will get through it and get a job as soon as possible.

2. Start updating your resume as soon as possible. Put in all the projects you have worked on during this time and mention your professional qualities as well. Think very carefully regarding which companies you want to apply and the positions you want to apply in those companies.

3. If you didn’t read a paper newspaper before on Sundays then you should revisit that thought and ask the newspaper delivery boy to drop a copy of the most circulated newspapers at your home. Start making notes of the job postings in the paper and start applying. Remember that there may be others like you who are applying for the same job so its best to apply as quickly as possible. Even though some companies make an effort to go as many resumes as possible but you should make a mental note that they may not go through each resume and may randomly call candidates for interview.

4. If you don’t have an account on any job portal website then now is the chance to register and upload your resume to these websites. Most companies nowadays post job ads on these websites rather than posting it in the paper. You can also setup job alerts on these websites which will inform you whether a job related to your industry and skill set has been posted on the website.

Linked In

5. If you have an account on Linked In then you can set your status to inform others in your circle that you are looking for another job opportunity. Please beware of your boss being present in your contact list if you go down this route. The best option would be to send private message to the contacts in your list as well as others in your professional group and send them your resume so if they have any upcoming opportunity they can pass it onto you.

Finally pray as much as you can to Allah to give you a better job option as soon as possible.

Hope the above helped someone.

Islamic verse to help you find new job and ease financial constaints

The above is translation of an Islamic verse which would help you find a new job and ease your financial burden and constraints. It is said that you should recite this verse at Fajr prayers during the time between the Fajr sunnah and Fajr farz prayer though you can recite it at any time.

Hope the above helps everyone.

A million dollar question no doubt but you should know the answer or at least have some idea after reading below. If you answer them according to your website requirements then you can quickly arrive at what’s best for you and your website.

What is the nature of your website?

If you website is of a sensitive nature and you believe that you cannot take chances with respect to the code or the data then you should not outsource the project to a freelancer. The local company would be your best choice in this regard. The local company would be easily available and they would abide by the laws of your country as they would be based in the same country as you. As the freelancer would be based in a remote location and not a resident of your country he is not bound by the laws of your country so if any thing goes wrong you can’t do anything. The freelancer would be the best option for your website project if it is not of sensitive nature.

Do you have the budget?

The amount you have to invest on your website also dictates whether the website is to be given to a freelancer or not. If you are one of those clients who have a lot of money to invest then you can hire a local company at $60/hour or more and your budget can easily go over thousands of dollars. For example local companies may charge over $5000 for a small to medium e-commerce website. If the same website was to be designed and developed by a freelancer then the total cost may not go above $500 (depending upon the freelancer) so you can see the price difference and the savings that can be had. If you have a limited budget then the freelancer should be your best bet.

Looking for reliability?

Suppose you have outsourced your project and you want to know what is the progress. What would be suitable for you? Call your local company on their land line phone and talk to them about your project so you can see how much work has been done and what is left or email/Skype chat with your freelancer to see what has been done up till now. Again it depends on the nature of your website. If you are one of those control freaks (meant in a nice way :)) then you would most probably want to outsource your website to a local company where you could go and sit through a presentation to know what is happening with your website. However freelancers nowadays are available on phone, Skype, Google chat etc. Freelancers have even purchased local land line numbers and when you call those numbers you will be routed to their number. This is the day and age of the smart phone where you can call anyone located anywhere in the world at any time.

Are they available?

Freelancers are generally available 7 days a week where as local companies enjoy the same number of gazetted holidays which are available in your country. Moreover they will only be available during the 9-5 time and not before or after that where as you can contact freelancers at any time (except for night time of course). Do check where your freelancer is located and what are his work timings so you know when to contact him.

Hopefully the aforementioned points would help you to know who you should outsource your website. Comments?

Tagged with: ,

After seeing a couple of websites getting infected by malware I decided on creating a script  which would inform the owner and the concerned technical staff at the slightest change in the website file system structure.

The script does the following

1. Detects change in any script/file.
2. Notifies when a new script/file is added.
3. Creates a zip backup of the website so you can restore your website at any time.
4. Displays source of the script/file.

Following snap shot displays the file path, modified date/time and the row is highlighted if the modified date/time is less than 1 day.

File Scan Results

Following snap shot displays the source code for each file so that you know if any modifications have been made or not to the file.

File Scan Source

I have tested this script on both Linux and Windows and it has not given any issues. I have ran this on Zen Cart, WordPress, custom PHP websites and the results are promising. This should work equally well on other installations so if you would like access to this script then please let me know.

Tagged with: ,

If you are a store owner living in the UK and if you are not using postcode lookup on your website then it’s time you seriously considered it.


Postcode lookup will help your customers to complete their checkout process much quickly than writing their address details on your website. If you consider your registration form at the moment it will be most probably be like the following.

Standard e-commerce website registration form without postcode lookup

If you minus the email address, password, first name and last name fields then there are still 5-6 fields which your customer will need to enter to complete the registration.

Hey! Its just 5 fields. What harm will that do?

It may not do that much for an unsuspecting customer but these days customers are quite intelligent and they compare a lot of websites before placing an order on your website. Unless you are a huge brand name that people can’t think to live without you should try to make life as much easier as possible for your customers because that will help your website with more conversions and orders. People usually send out gifts to their loved ones and friends via websites and they can lookup their whole address if they just know the postcode.

What about the costs involved?

It would seem like that there would be huge costs in going this route but if you do a search for postcode lookup on Google UK and check the costs involved it would come down to some where around 1 pence – 1.35 pence for one lookup. Not only that, there are several other payment options available offered by these websites which would help you to put this up on your website and start using it from the word go.

How will this look on my website?

It’s upto you really on how you want  it to look on your website. You could get in touch with your web developer  and talk it over with him and give him your ideas. Standard look and feel for this type of lookup would be as follows.

Step 1: Customers sees a form asking him to enter the postcode

E-commerce website registration with post code lookup - Step 1

Step 2: Customer enters his postcode and the system searches for addresses on that postcode

E-commerce website registration form with postcode lookup - Step 2

Step 3: Customer selects an address from the list of addresses which is his desired address.


And that’s it.

The customer needed to enter the postcode and with 2 clicks he was able to pre-fill his address thus saving his time and giving you a chance to convert one more prospective to a sale.

If you have any comments/questions then please do let me know.

Tagged with: ,

I received a requirement to change the form layout on a web page. I was not using any decorators on the form so the form was coming up in default format generated by Zend Form.

This is the page which displays the form when some one clicks on Edit

Once you click on Edit the form appears like so

Zend Form default layout without decorators

I had to show the fields in 4 columns so that the layout remains consistent with what was shown to the member before clicking on the Edit link.

I opened the form file (in application/forms directory) and added the following code to the file at the bottom after all the elements had been added to the form.

			'left_fields' => array(
			'elements' => array($email, $firstname, $lastname, $company, $address1, $address2),
		        'right_fields' => array(
			'elements' => array($city, $state, $postcode, $country, $phonenumber),
			'bottom_field' => array(
			'elements' => array($cancel, $submit),

$this->setDisplayGroupDecorators(array('Description', 'FormElements', 'Fieldset'));

I used the Zend Form addDisplayGroups method to group the fields in three separate groups (left_fields, right_fields, bottom_field) so that Zend Form generates the HTML fieldset element which encloses the form elements.

After adding the above code and running the script you will find no difference except when you do a View Source of the page you will see that 3 HTML fieldsset elements have been generated. Now you can tweak your CSS to align the form elements as you want.

I added the following code in the CSS file.

form fieldset#fieldset-left_fields, form fieldset#fieldset-right_fields
    float: left;
    width: 50%;
    border: none;

Now when I ran the script I got the desired results and the form fields were formatted in the layout I wanted.

This is how the page looked after adding the above code.

Zend Form new layout using decorators

Hope the above helped!

Tagged with: ,

By default the following form fields are required when placing an order on WHMCS or registering on it for the first time.

first name
last name
email address
address (line 1)
phone number

If you would like to make any of the above fields optional then you can do it from your WHMCS panel easily. Check the checkbox against the field name which you would like to make optional and the customer can leave it empty and complete the checkout process.

Form Fields optional in the checkout process of WHMCS

Remove Notes from Checkout WHMCSThe Notes box is shown by default in the checkout process of WHMCS however you have the option to remove it by going into your WHMCS admin panel and uncheck the “Allow Notes on Checkout” checkbox.

Some times Google does not display the right title of the web page in its search listings. It does not mean that Google has not indexed your website. If you look at the Google cache of your web page you will see that it has indexed the page with the correct title.

This usually happens when Google feels that the page title is not descriptive enough of the content being presented on the web page. It also takes information from Dmoz however this depends whether your website is listed there or not. If it is listed on Dmoz then please add the following tag in the <head> section of your web page.

<meta name=”robots” content=”NOODP”>

This will tell Googlebot and other robots to ignore content from Dmoz and only use the title of the web page for display in it’s search listings.

You can read more on this on Google Site title and description

Hope the above helped!

Tagged with: ,