This guide was originally published in March 2012. Since then, hundreds of students (and even non-students!) have created their own personal websites using it. As it is one of the most-viewed articles on College Info Geek, I keep this guide very up-to-date.

What’s the #1 networking tool you can have in your arsenal as a student? I’ll tell you this right now: it isn’t your resume. 

Resumes are boring. Career experts tell you to make your resume a one-page, size 11 Time New Roman document printed with black ink with no pictures. Seriously? How are you supposed to represent – and differentiate – yourself with that?

Plus, your resume becomes static and outdated the moment you hand it to someone. You can’t update resumes you’ve already given out – you have to make new copies.

That’s why you need a personal website.

A website is the complete opposite of a resume. Everything bad about resumes can be fixed simply by having a website. I’d go as far as to say that not having a website is like shooting yourself in the foot – it’s that useful.

4 Reasons Why You Need to Build Yourself a Website

1) A website isn’t static; it’s dynamic. It’s ever-changing. The moment you accomplish something, you can add it to your website. You don’t need to print new copies of it and send it out to your contacts over and over; you just update it. People can continually come back and see what you’re up to.

2) Having a website makes you more findable. If all you have is a resume, you have to go out and hand it to people to get your name out. If someone wanted to look you up on the internet and you didn’t have a website, all they might get is a Facebook or Twitter profile.

However, if you have a website, you can be found by a much wider audience andcontrol what it is they see first. This is key for establishing your personal brandand for highlighting your accomplishments.

I’ve been offered jobs, met clients for my web design work, and gotten interviews simply because I have a website. If I didn’t take the time to create one, I’m confident that I wouldn’t have been found.

Make sure you can be found!

3) Not many people have one. Succeeding today requires that you make yourselfstand out, and having a website can help you do that. It shows that you’ve taken the time to learn how to do something fairly technical, and it shows that you have some skills other people don’t have.

4) You gain some new skills that can be very useful in the future. Learning how to build a website involves a number of different skills, especially if you get into customizing and optimizing things. Even if you’re not looking for a job in a tech field, having these skills can give you a leg up.

Say you’re applying for a job in advertising. If you can tell the interviewer that you’re not only a great marketer, but that you also have knowledge of the web, you become a much more attractive candidate.

Convinced Yet?

I sure hope so, because this guide is going to teach you exactly how to build that awesome website! I spent over 15 hours writing this guide (as well as taking screenshots and editing them) with the intent of making it the ultimate resource for getting yourself online. When you’re done, you’ll have established a great online presence. This is what mine looks like:

My site

This is my personal site.

Here’s another great example – this is my girlfriend’s personal site, which she uses to showcase her graphic design work:

My girlfriend Anna’s site.

I’ve worked hard to make this guide as comprehensive, yet accessible as possible. It’s a bit of a long read, but that’s because it takes you from literally nothing to having a finished website.

In this tutorial, you’ll learn how to:

  1. Get a domain name and web hosting for your site
  2. Easily install WordPress and get all of your content up on the web with no coding knowledge needed
  3. Make your site look good with a kick-ass theme
  4. Optimize your site’s speed, security and more with plugins and widgets
  5. Find resources that can teach you how to take your site even further if you want

What you need to know beforehand:

  1. How to use the internet
  2. How to follow directions

What you don’t need to know/have beforehand:

  1. HTML, PHP, CSS, Javascript, JQuery, XML, XSLT, Ruby, Zend, Python, Flash, MySQL, Nginx, Apache, or any other language
  2. Photoshop, Dreamweaver, or any other program – these can be very useful for customizing things later down the road, but to get up and running all you’ll need is a web browser.

Seriously, building a website isn’t hard and you don’t need to know any code. Knowing code can be useful for tweaking and customizing things later, but you can get the basics down without knowing so much as a lick of HTML!

Estimated time to complete this tutorial: 1-2 hours (you’ll spend the most time on non-techy stuff like writing your content)

Alright, enough with the preliminary stuff. Let’s get started!

Note #1: If you get stuck at any point in this tutorial and need help, I’d be more than happy to assist you. You can get in touch with me on Twitter or via email. I’m serious – please ask me questions if you get stuck. I’d hate to see anyone go through a bunch of work and not end up with a great-looking site.

Note #2: I recommend some specific products and services in this tutorial. Be aware that these aren’t your only choice; they’re simply what I use personally and recommend.

Full Disclaimer: If you choose to use the domain and hosting option I recommend in this tutorial and click my links to get to it, I’ll earn a commission (though there is no extra cost to you – it will actually be cheaper since I’m able to offer a coupon code). I want to be very clear that there are definitely other good choices for your domain and hosting out there. This is simply the one I’ve been using since the beginning, and I’m very satisfied. If you do choose to use my link, thank you! 

Step 1: Get a Domain and Hosting

The first step to building your personal site is to choose how you’re going to have it hosted. There are a number of ways to put up a website. For instance, you couldjust create a free blog at Weebly or, or even Tumblr.

However, I believe it’s a lot more impressive to have a self-hosted site with an actual domain name (not a subdomain). This will look a lot more legitimate and will show that you’ve taken the time to learn how to actually build a website, which can differentiate you from the crowd.

I’m not the only one who thinks so. One of my favorite entrepreneurs, Srinivas Rao, gave this tip for aspiring bloggers:

So while it’s up to you in the end, I would recommend self-hosting your site. Still, having a free site on or another place if you’re on a tight budget is much better than not having a site at all!

Now, before we get into all the nitty gritty step-by-step stuff, there’s one thing I want you to think about first: your domain name. And the first rule of choosing a domain name is…

Don’t Register, Dummy.

I can’t stress this enough: you need a good domain name. (side note: I thought real hard about registering that domain as a joke, but eventually decided against it) Follow these criteria for the best results!

  • If it’s at all possible, make your domain name your first name + your last That’s seriously the best option for memorability and SEO (aka how high you show up in Google).
  • Your name will probably be taken, though. I certainly couldn’t, so I had to go with instead. If your name is taken, you can throw in a middle initial or maybe even your full middle name if it doesn’t make the domain too long.
  • You can also use a clever play on your name if none of the above works. I’d be totally cool if my Twitter name was my domain  name – tomfrankly.comwould be pretty memorable! In fact, that domain will direct you to my personal site as well.
  • Don’t use numbers in your domain name, and only use dashes if you absolutely have to.
  • If a .com domain isn’t available (this is the most preferred extension),, .org or .me are fine substitutes. A .us is alright, but I would stay away from things like .info and .biz.
  • Above all, make sure your domain’s spelling is very easy to get correct for someone just sounding it out. This way, you’ll be able to mention your domain easily in casual conversation, and the person you’re talking to will be able to find it without worrying about the spelling. This tip really applies to everything – for instance, it’s a lot easier to tell people my Twitter handle, @TomFrankly, than it is to tell them the username I used to use for everything in middle school, electrick_eye. The goal is to make it easy for people to find you.

So once you’ve thought of a good domain name, let’s kick off this whole website-building process by getting your domain and hosting.

Time to Get a Domain and Web Hosting.

It used to be that you had to buy your domain name separately from your web hosting. Now, however, you can get them from the same place, right at the same time. Buying them separately is still an option, but it’s so much easier to get them together (the convenience costs about $3 extra).

I’m going to use the combined method in this tutorial to keep things simple; however, you can always email me if you want help setting them up separately (or for anything else).

Note to your wallet: this is the only part of the process that will cost you any money. Hosting isn’t free. However, it doesn’t have to be that costly, either – and I believe the small cost is worth the boost having a website gives to your personal brand and credibility.

There are literally a zillion options for web hosting out there. You can go with a shared account, a VPS, or go crazy and pay for your own dedicated server.

You could even get geeky and host your site from your own computer – though Idon’t recommend this as you probably don’t want to deal with the security risks of running a web server, and any time your computer gets turned off (e.g. during power failures and when you have to move out of your dorm), your site will go down. Still, it’s an option.

Since you’re probably a college student and, like me, not swimming in a vault full of money, I’m going to assume you just want something cheap that works.

With that in mind, I recommend just getting the basic shared hosting plan from HostGator. There are plenty of good hosts out there, so HostGator certainly isn’t the only one you can use; however, I’ve been hosting all my sites through them for over three years and I’ve always been more than satisfied.


HostGator, my web host of choice.

Their plans are pretty cheap, there’s hardly ever any downtime, and I love the quick-install options I get for installing things like WordPress. Also, their customer support is just plain badass.

One time, I needed an obscure PHP server setting changed for a project, and it was something their level-1 techs couldn’t do for me. So within 20 minutes of me asking, one of their higher-up system admins not only changed the setting, but also sent me a screenshot of the directories and commands he used to do it just in case I needed to do it on another server in the future.

You can also get a pretty good discount.

Since I’ve been with them for several years and am directing this tutorial at budget-conscious students, I asked if I could partner with them to offer a discount. They said yes, which is why you’ll see my bearded mug on the page when you click through.

So, use the coupon code collegeinfogeek to get 54% off of your initial hosting purchase – whether it’s for 1 month, 12 months, or 3 years – the time doesn’t matter. This is actually 24% more savings than you’d get with the default coupon code they give you, so definitely make use of it if you choose to use HostGator. (It should be filled in when you sign up if you clicked the link above.)

So yeah. This tutorial assumes you are using HostGator; however, if you choose another host, these instructions should be pretty similar to what you need to do.

Head to HostGator and click the big button that says “Start Your Site Now.”

Start your journey through the order wizard by picking out a domain name. Assuming you don’t already own one, stick with default tab Register a new domain, and type the one you’d like to see if it’s available. If it is, you’ll see a screen like the one below! If not, tweak it a bit until you find one that hasn’t been taken.

Order Wizard pt 1

Registering a new domain.

Scroll down and complete the next few sections:

  • Confirm that the Hatchling package is selected, and choose how many months of hosting you’d like to get up front. I recommend at least one year.
  • Choose a username and security pin.
  • Enter your personal and billing junk.
Order Wizard pt. 2

Hatchling plan should be selected. I recommend getting at least a year.

Next, you’ll see a section for Hosting Add-ons. Honestly, I don’t think you need any of these, and I don’t use any myself. The possible exception is Domain Privacy Protection, which protects your name, address, and phone number from being seen in WHOIS searches. I don’t use it, but you can if you’d like.

In the section on Plugins, I’ll show you some ways you can keep your site secure, backed up regularly, and optimized for SEO – all for free.

Hosting Add-ons

Hosting add-ons. I don’t use any of these.

Next you’ll be asked if you have a coupon code. Check to make sure the codeCOLLEGEINFOGEEK is there to get 54% percent off – 24% more than their default code gives you :)

Order Wizard pt. 3

Use the coupon code COLLEGEINFOGEEK to get 54% off your whole order.

Finally, review your order to make sure everything’s copacetic, and then hit the big yellow button to create your account.

Order Wizard pt. 4

Review your order, then create your account.

Once you’ve paid, you’ll receive an email with all the information you’ll need to continue.

Step 2: Install WordPress and Set Up Your Site

Time to start actually building your site.

As I mentioned in the beginning, you’ll be using WordPress (self-hosted, not to set up your site. You may have heard that WordPress is mainly a blogging platform, which is completely true. However, in recent years WordPress has become so popular and well-supported that it makes a perfect platform for building non-blog sites as well.

WordPress is famous for only taking 5 minutes to install; I say that’s way too long. Let’s do it in 2, shall we?

One of the best things about HostGator is their quick-install options for almost every popular CMS (Content Management System). Of course, they have one for WordPress. Let’s get it set up.

Type this URL into your browser: – replace yourdomain with your domain name. If for some reason you can’t yet reach your domain yet (sometimes it can take a little while to set up), use the link you were given in your HostGator email listed Your Control Panel.

Log in with the username and password you were given in the email.

You’ll now be looking at your cPanel. To install WordPress, scroll down near the bottom of the page and find the link for QuickInstall.



On the QuickInstall page, look in the sidebar and find WordPress under the Blog Software section. Follow these steps to install WordPress in less than 2 minutes:

  1. Click Continue.
  2. In the content that pops up, the first thing you’ll see is “http://”, followed by a drop-down menu with your domain, followed by a blank box. Leave that right box blank so your installation isn’t put into a subdirectory.
  3. Uncheck Enable Auto-Upgrades. You should always keep your WordPress installation up-to-date, but it’s better to do it manually so you can make sure your theme and plugins are working right after you update.
  4. Fill in the fields shown. Do not use “admin” as your Admin username. Using something unique will be more secure.
  5. Click Install Now! Once the installation finishes, you’ll see a confirmation with your login URL, the username you chose, and an assigned password.
Installing WordPress

Installing WordPress using QuickInstall

You should now have a fully functioning WordPress installation! If you visit your site right now, you’ll see the title with the default WordPress theme.

Note: It can sometimes take an hour or two for the web host to set up your account. While you’ll be able to access your cPanel right away, your domain might not be accessible for 1-2 hours. You can read more about this here.

Before we get to creating pages and all that, let’s take a few minutes to get a feel for the WordPress Dashboard.

Getting to Know WordPress

WordPress is a system that’s pretty easy to use and navigate – especially since the creators implemented tutorial features in version 3.3. However, I’d still like to give you a quick overview of what’s available to you. Here’s a shot of what you should see when you log in:


The WordPress Dashboard

The big welcome message in the middle is there to help you while you’re first getting started, so it’s good to check it out. Beneath this message are a bunch of widgets, but you won’t need to do much with them right now.

What I’d like to go over are the links in the sidebar – these are all the core functions of WordPress. Note that hovering over each of these links will cause additional options to show up. Also, the one that’s active will show its additional options by default right underneath it.

  • Dashboard – the “home base” of WordPress. This is what you seen when you log in, and it contains whatever widgets you’ve chosen to show on it.
  • Posts – the heart and soul of WordPress. This is where you’ll go when you want to write a blog post or edit an existing one.
  • Media – a central repository for any pictures, sound files, video, and other pieces of media that you upload to your site. Here you can browse through and edit media you’ve uploaded to your posts and upload even more.
  • Pages – here you can create Pages, which is what you’ll be using for the main content on your site. Pages are different from Posts because they will show up in your site’s main navigation instead of going on your list of blog posts. This makes Pages good for “timeless” content like your biography, work history, and contact info.
  • Comments – here you can see the comments on your blog (if you decide to have one).
  • Appearance – this is where you’ll customize the look and feel of your site. There are options for your site’s theme, menus, and the widgets you want to display. There’s also a rudimentary code editor, but it’s not very good. If you’re getting to the point where you want to manually edit your site’s theme, I recommend ShiftEdit.
  • Plugins – this is where you can add and manage your plugins, which are like small apps that can give your site new functionality. There are a number of great plugins you should be using, but we’ll get to those a little later.
  • Users – here you can manage the user profiles on your site. Since this is a personal site, the only one that should be here is your own.
  • Tools – by default, the only things here are the Import/Export options, the Press This bookmarklet, and a Categories/Tags converter. Right now, you won’t need any of these.
  • Settings – this section houses all the general settings for your site. There’s a lot of stuff here.

Now that you know what does what, you should have an easier time navigating WordPress and creating your site.

Before you start making your pages, however, let’s take care of a couple important things!

Change Your Permalink Structure

When you create a page, WordPress makes the URL reflect the page title. For example, a page titled “Contact” would get a URL like is what you want.

However, by default WordPress doesn’t do this for blog posts. Instead, it creates these ugly numeric URLs like These URLs don’t mean anything – it’s much better to make your blog post title be the URL.

To do this, you need to change your permalink structure. This is pretty straightforward:

  1. Hover over Settings and click Permalinks.
  2. Choose the option for Post Name. (This may be the default setting with QuickInstall installations, but it’s good to check.)
  3. Save your changes.

Choose the Post Name permalink setting.

Now your blog post URLs will be much more memorable.

Set Your Timezone

This isn’t a ridiculously crucial thing to do, but I think it’s good to have your publishing time be accurate.

  1. Go to Settings -> General. 
  2. In the Timezone field, choose your timezone. Don’t know it? Here’s a handy map.
  3. While you’re here, you can also go to the bottom and change week’s starting day if you want.
  4. Save your changes.

Now that you’re done taking care of those little details, it’s time to create your pages and get your content up on the web!

Setting Up the Page Structure

If you recall from the section detailing each part of WordPress, Pages are used for timeless content such as your biography and contact information. These pages will appear in your site’s top-level navigation, or 2nd-level navigation if you decide to create child pages.

Take a look at my site’s navigation once more to get a feel for what you’re going for here:


My site’s main navigation.

Don’t worry if you don’t feel like you have content for every one of these pages; you’ll just be creating the pages that you need. For instance, I don’t expect that many of you will have a pin map that you can embed to make a “Where I’ve Been” page (though if you do, that’s awesome).

However, there are a few pages you should create no matter who you are. These include:

  • A brief About Me page, which you’ll set as your home page
  • A more detailed Biography page
  • Resume page where you can list your education, work, etc (remember how I said I hate resumes? Having your resume on your website fixes all those things I hate)
  • Contact page that tells people how they can get in touch with you. It might have a contact form as well.

Other pages you might think about adding, if they’re applicable to your life:

  • Portfolio to show off any kind of work you’ve done – graphic design, programming projects, writing – whatever. On my site, I’ve created a portfolio of my web work using a normal page template. You can make yours this way, or you can get a theme with a specific portfolio template.
  • Hire Me page. I strongly suggest you make this page, even if you aren’t currently looking for full-time work or freelance gigs. This page tells people what you’re looking to do, and can help them picture where you’d fit better.
  • Blog. WordPress is set up for blogging by default, but you’re going to set your homepage as a static About Me page. Therefore, you’ll need to set up your blog manually, which is still really easy. You can also choose to leave the blog out if you want, but I think having one is a great way to show off your knowledge and thoughts.
  • Press page, where you can list any interviews or mentions you’ve gotten in the media.
  • An Impossible List. I think creating a page like this is really fun, and can help you solidify your life goals.

If you’d like a more detailed explanation of the pages you should include, check out my post on essential personal website components – which also includes some great examples of other personal websites.

It’s really up to you to decide what pages you want to have on your site. I’m going to show you how to create your About Me page, and you can use the same steps to create the rest.

Before you do that, though, you should delete the sample page and post that WordPress automatically puts up on your site.

First, get rid of the sample post by going to Posts on the WordPress Dashboard. Find the post titled “Hello World!” and click Trash. 

Then go to Pages and do the same thing for the page titled Sample Page.

Creating the “About Me” Page

Your About Me page will be the landing page of your site – the place visitors will see first. Here you’ll want to have a short summary of who you are, what you’re studying, and the what work you do. It’s also good to have a picture of yourself, and maybe even some quotes about your work from other people.

Let’s create it!

You should already be at the Pages section of the WordPress Dashboard. Find the button near the top that says Add New. You’ll see this screen when you do:

Add New Page

Adding your first page.

As you can see, creating pages in WordPress is pretty easy. To get your About Mepage started, first enter a title in the Title Bar. It would probably make sense to title this page “About Me” or “About <your name>”. 

Next, you’ll use the body area to enter all your content. Take a look at the different tools available for formatting the content; as you’ll find out, using WordPress isn’t all that different from using Microsoft Word.

WordPress Editing Tools

WordPress content editing tools

So once you’ve familiarized yourself with the tools, you can start typing your content. You can also use the Add Media button to upload a photo and add it into your post.

To do this, place your cursor at the point in your content where you want the photo to appear. Click the Add Media button upload a photo. Once it uploads, you’ll see this:

Uploading media

Adding a photo.

Bam boom zippity bop – you’ve got a photo on your page.

So once you’ve got your photo and some text, go ahead and hit Publish. This will make your page go live.

Set Your “About Me” Page as Your Home Page

Since this is a personal site rather than a blog, you’ll want this page to be the first page visitors see when they get to your site. Let’s set it as the home page:

  1. In the sidebar, hover over Settings and click Reading.
  2. In the Front Page Displays section, click the radio button that says A Static Page
  3. Choose your About Me page to be the home page.
  4. If you want to have a blog, create and publish a blank page called Blog and set it as the Posts Page.
  5. Save your changes.
Reading Settings

Setting your home page.

Now, go back the the Pages section of WordPress and create the rest of your pages. This process should be relatively straightforward; the only one that may be more complicated is your Contact page.

This page can be really easy to create if all you want to do is link to your social media profiles. However, you may also want to link your email address or add in a contact form.

Making your email address clickable is really easy – it just requires a tiny snippet of code. In the WordPress content editor, look up near the top-right and change the tab from Visual to HTML. Then find the section where you want to list your email and paste in this code:

&lt;a href="mailto:youremailhere"&gt;youremailhere&lt;/a&gt;

Make sure to replace both of the “youremailhere” blocks in that snippet with your own email.

If you want to add in a contact form, you have two options. You can either find atheme that has a built-in contact page template, or you can use whatever theme you want and add a contact form using a plugin. Either way, it’s really easy. I’ll cover the first option in Step 3 and the second in Step 4.

[Optional] Adding a Blog Page

If you’d like to add a blog page to your site, it’s ridiculously easy.

Simply make another new page on site called “Blog” (or whatever you want, it doesn’t matter). Then on your Dashboard go back to Settings -> Reading and set your Posts page as that page you just created.

From there, all you have to do is go to Posts and start writing. All your published blog posts should show up on that Blog page.

If you’d like to learn more about creating a successful blog, then be sure to check out my comprehensive blog-building guide.

It’s All Coming Together Now.

At this point, you should have all your pages up and all your content put in each of them. Right now, someone could come to your site and learn all about you.

Now it’s time to make sure visitors are impressed when they hit your site. Let’s look as customizing your site’s look and feel.

Step 3: Customize the Look with a Theme

One of the best things about WordPress is the stupidly large amount of themes available for your to use. Using a theme, you can change the look of your site without needing to know any CSS or have any graphic design skills.

A theme is basically a skin for your site. It changes the look while retaining all the content you created.

The first step in customizing your site’s look is to simply find a theme you like. This can be easier said than done, due to the huge amount of themes out there. I’m going to try and help you pick one out.

Note that not all themes are created equal. Some themes are simple, offering just the basics, while others are monstrous creations with dozens of post types, animations, and extra bells and whistles. Some themes are made for specific types of sites, like magazines or restaurants.

Likewise, some themes are free and some are not – AKA “premium“.

On both my personal site and here on College Info Geek, I’m using premium themes that I got for about $35 each. However, there are plenty of great free themes out there you can use, so don’t think you absolutely need a premium theme.

Theme Recommendations

I’ve gone out and found three themes that I think work well for personal sites. Keep in mind that there are literally thousands of themes out there, so this is just a starting point.


zeeBizzCard Theme

zeeBizzCard Theme


Cascade Theme

Cascade Theme


Self Theme

Self Theme

Want more? Here are some great places to get themes:

Like I said, the theme options you have are literally endless. Explore and find something you like! Also, see if the theme you’ve chosen has a template for acontact page. If it does, you’ll be able to put up a contact form without using a plugin.

Once you’ve found something that you like well enough, let’s get it installed.

Install Your Theme

Wherever you found your theme, download it to your computer. The theme will probably come in a .zip file. Look inside this zip file.

If you see files like index.php, header.php, and footer.php in that very first folder, you’re good. If you find that those files are buried in sub folders, you’ll need extract everything and create a zip folder of whatever folder contains those files.

Most themes will come with documentation that tells you how or even if you need to do this, so consult that for help if you need it.

Once you have the final .zip file, it’s time to install it.

  1. On the WordPress Dashboard, hover over Appearance and click Themes.
  2. Click the tab at the top that says Install Themes.
  3. Find and click the link that says Upload.
  4. Choose your .zip file and and click Install Now.
  5. Make sure the theme was installed successfully, and click Activate.

Uploading a theme.

From this point forward, I can’t really cover theme setup in this tutorial. Themes are so diverse that it’d just be impossible for me to cover everything. Luckily, most good themes come with documentation that will walk you through setting them up.

Set Up Your Menu

One thing I’ll go over before we head into the next section: WordPress’Custom Menu functionality.

Since I published this tutorial, a lot of people have asked me how to create custom menus on their sites. Specifically, they wanted to do things like:

  • Change the order of the pages in their menu
  • Create menu items that would drop down to display more pages related to a main page

Ask, and ye shall receive. I’ve created a short video that will guide you through the whole process of creating a custom menu for your site.



Oh, and one more thing before we move on…

I bet you’re wondering how to get a cool logo for your personal website like I have on mine. Well, you could design yourself on using Photoshop or another program if you have the graphic design chops.

I certainly didn’t have those chops, though. I actually used a service called Fiverrto have mine done. Fiverr is a website that lets people pay $5 to other people in exchange for… well, almost anything. I just went there, searched for “logo”, and picked the option with the most gigs and highest satisfaction rate. $5 for a logo ain’t bad!

Now that you’ve got your theme, it’s time to tweak things a little bit further by adding plugins and widgets.

Step 4: Optimize with Plugins and Widgets

Alone, WordPress is a great system with a lot of functionality. However, the true beauty of WordPress lies in its ability to work with plugins – small (or large) pieces of packaged code that add functionality to your site.

There are several plugins that I believe are absolutely essential to any WordPress site, and more still that you may want to install as well.

Installing plugins is pretty straightforward. Unlike themes, almost every plugin you’ll ever need is kept in the official WordPress plugin repository. Therefore, you don’t need to upload .zip files – you can actually just search for plugins right from your Dashboard and install them! To do this:

  1. On the WordPress Dashboard, hover over Plugins and click Add New.
  2. Search for the plugin you want. The search function isn’t amazing, so you’ll usually get the best results by typing in the exact name of the plugin you’re searching for.
  3. Click Details to read about the plugin or Install Now to install it.
  4. After you install, click Activate.
  5. If there’s any setup required for the plugin, take care of it.

Important Note: Plugins work directly with the guts of your WordPress installation. It’s important that you be discerning on what plugins you choose to install on your blog; make sure you trust what you’re installing.


Installing plugins

I recommend looking up plugins at the WordPress Plugin Directory before installing them. If a plugin has a low star rating, it might be broken – or even worse, it could have security vulnerabilities that can open up your blog to attacks. Be careful out there, trooper.

Essential Plugins

There are several plugins that I wouldn’t be caught dead without on these high seas of the Internet. I recommend you use them as well. I’ll link to each one’s repository page, but remember that you can install them directly from your Dashboard.

  • Limit Login Attempts – quite possibly the most important plugin your could ever install. It limits the amount of time an IP address can try to log in. This is really important, because every day more and more malicious scripts are trying to hack WordPress blogs buy guessing the password over and over. With this plugin, you can stop them in their tracks.
  • Disqus – a great commenting plugin that replaces the default WordPress comments system. I highly recommend using this if you’re going to allow comments on  your site, as it’ll prevent spam much better than other solutions. The only reason I don’t use it is because I have thousands of old comments that won’t import well.
  • WordPress SEO by Yoast – a great plugin that optimized your site’s SEO (search engine optimization) potential. This makes you more findable by search engines. It’s also pretty complex, so follow this tutorial to set it up.
  • UpdraftPlus – probably the best free site backup plugin I’ve seen. Lets you manually back up your database or your entire site. You can also set regular, scheduled backups, and send them off to remote destinations like Dropbox, Amazon S3, email, etc. Replaces WP-DBManager, which I used to use.
  • Social Media Widget – lets you add a widget to your sidebar with icons that link to your social media profile. You’ll need this plugin if you want to add these icons to your site in the next part.
  • Contact Form 7 – the best and easiest-to-use contact form plugin there is. Just use the plugin’s setting to create the fields you want (the default is probably sufficient), and then input the supplied code it gives you into your Contact page.
  • Google Authenticator – another essential security plugin. It adds another form to your login page that requires you to use the Google Authenticator app to log in. This increases your blog’s security by a large margin. Make sure you have this set up correctly before logging out of your blog!
  • Custom Favicon – See that little logo in the corner of this website’s tab in your browser? That’s called a favicon. If you’d like to set a custom one after building your site, this plugin will let you easily do it.

These plugins are just the tip of the iceberg. If there’s something you want to do with your site, there’s probably a plugin that can help you do it.

Alright, now that you’ve got your plugins installed, let’s move on to the final bit – widgets.

Let’s Widgetize!

Widgets are elements that you can place on any part of your theme that has been “widgetized” – that is, set up for widgets to display. There are already a few widgets displaying on your site by default, like Category, Recent Posts, and Meta.

To edit the widgets that are displayed on your site, follow these steps:

  1. On the WordPress Dashboard, hover over Appearance and click on Widgets.
  2. On the right side of the screen, you’ll see all of the widget areas that have been created for your theme.
  3. Drag the widgets you want from the middle area into the correct boxes.
  4. Change any specific widget settings you need to change.

Widgets are automatically saved when you drag them in or out of a box. By the way, you can use the Widget Context plugin if you want to specify certain pages that a widget will or won’t be displayed on. This keeps things from getting redundant.


All these widgets

Since this is a personal site, there are some specific widgets you might want to show:

  • Social Media Widget – this widget becomes available when you install the plugin for it that I listed in the last step. It’s hands down the easiest way to put icons in your side bar that link to your social media profiles, so definitely make use of it.
  • Links – if you have friends who also have personal sites, it can be cool to link to them. I do this on my personal site’s sidebar; it’s a cool way to build a visual network of student entrepreneurs.
  • Text – as it says, this is a widget for “arbitrary text or HTML”. You can put anything in this list, granted that you know a smidgen of code. For instance, you could add a picture of yourself and a super-short bio like I’ve done on this site. Or you can embed your tweets using Twitter’s Profile Widget. There are a lot of possibilities here.

You’re Done!

You should now have a fully functional website! You’ve got all your pages created, your menus set, a kick-ass theme, some great plugins, and a few widgets in your sidebar.

Congratulations! You’ve just upped your internet cred +1000 and simultaneously  made yourself a much more attractive candidate for any job you might want to go for.

Great Success!

Very nice! (Image by rhodes on Flickr)

Here’s a quick to-do list to make sure you get the most out of your site:

  • Make yourself some kick-ass business cards and be sure to include your URL on them
  • Put your URL in your Twitter bio
  • Add your URL to your other social networks – Facebook, Pinterest, LinkedIn, Google+, etc.
  • Add your URL to the top of your resume
  • Start thinking of your site as your online “base of operations”

At this point, you can consider your site “done”. In the next step, I’ll outline some ways you can take your site to the next level. Whether you decide to do that or not, I’d like to ask you to do one thing…

Leave a comment with your new site’s URL! I’d love to check it out and see what you were able to come up with.

If you decided to skim through this tutorial first and still aren’t sure if you’re up for this process, here’s one last thing that will show you how easy it is. In this video, I go through the entire process of building a site in less than 10 minutes (plus a couple minutes explaining things).



Alright, so for those of you who want to go above and beyond, let’s take the final step.

Step 5 (Optional): Make Your Site Even Better

The purpose of this tutorial was to get you from zero to having a working website as easily as possible. However, you can do so much more to optimize your site’s design, speed, SEO, security, navigation, typography… your options are endless.

That’s why I want to show you some of the things you can do to take your site to the next level. I’ll also point you to some resources you can use to get started!

Upgrading Your Brain

I started building websites when I was 12. At first, I was just using the super-old school Geocities site building tool to drag and drop elements. It was fun, but it wasn’t enough. Eventually I found that I needed to learn some code, and I began teaching myself HTML.

Luckily, the web has come really far in recent years. With content management systems like WordPress, anyone can make a beautiful website (as you just did) without knowing any code whatsoever.

Still, clicking around WordPress can only get you so far. There comes a point where you want to take your site to the next level, and you’ll need some web development knowledge to do it. With that in mind, here are some resources you can use to kickstart your web development education.

To keep things free, stick with these online resources:

  • Web Platform Docs – an amazing wiki chock-full of tutorials and references. If you’re a a reading-based learner, this is a great place to start.
  • Mozilla Doc Center – another awesome place to learn the basics. I prefer the WPD wiki, but this is a great alternative.
  • Codecademy – a site that offers interactive courses on HTML, CSS, programming, and more. Definitely a good choice for those who learn by doing.
  • Code Combat – a super-fun, video game-style site that can teach you either Javascript or Python.
  • Design Tuts – the place to go if you’re looking to brush up your graphic design skills. They’ve got lots and lots of great tutorials.
  • PHPAcademy – an amazing channel to watch free video tutorials on PHP, the language the drives WordPress.
  • Web Design Tuts – part of the very large Tuts+ network ran by Envato. I’ve linked to one of their great beginners’ series.
  • WordPress Codex – the official documentation of WordPress. There are a lot of great tutorials here, as well as a complete function reference for when you start getting really geeky.
  • Smashing Magazine – an amazing online magazine with articles about every aspect of web development.

One additional resource I recommend, but that isn’t free, is This is an amazing site to hit up if you’re looking for video courses on literally any web development topic. In fact, many universities offer their students free subscriptions to this site. Ask your school’s IT department to find out if yours is one of them.

Another great video-based learning library is Treehouse. Their library isn’t as extensive as Lynda’s, but they still have a lot to offer – especially in the area of web development. I actually prefer Treehouse over Lynda, as they include code challenges and quizzes with their video-based projects. In fact, I learned to build an iPhone app in just two days by using Treehouse. Unfortunately, I have yet to see any schools offering free subscriptions to their students – but that doesn’t stop your from asking!

Of course, another great way to learn web development is to simply look at code. If you’re using Google Chrome, you can hit CTRL+U (or if you’re on a Mac, just go to View -> Developer -> Source) to see the HTML for the page you’re on. You can also use the Web Developer extension to dig in even deeper. This method won’t work for viewing server-side code like PHP, but it’s great for digging into HTML, CSS, and Javascript.

If you’re a book learner, I have a few recommendations for your library:

  • HTML and CSS: Design and Build Websites by Jon Duckett – a beautiful book that provides a great introduction to the basics of web development. This is a great starting point to any web development education.
  • WordPress 24-Hour Trainer by George Plumley – if you’re looking for a book for beginning WordPress. Honestly, I think you can learn well enough by using the Codex and just playing with things. If you really want a book, though, this is it.
  • Professional WordPress by Hal Stern – for the serious geek only. This book digs deep into WordPress. Only buy this if you’re interested in learning how the Core and Loop work or how to start building themes and plugins.
  • Don’t Make Me Think by Steve Krug – the kickstart guide to web usability. A great way to learn how to make websites usable and accessible.

Web development education is a huge field, and I’m not going to pretend I can cover it all in one post. These resources will get you started, but know that there are lots of other great ones out there. One of the best ways to learn is simply talking to other developers!

Upgrade Your Site

Now that I’ve gone through ways you can learn web development, I’ll round out this post with some links that will teach you specific things you can do to make your site even better.

Here are some of my favorite WordPress-related blogs, which I read regularly to learn how to make my sites awesome:

And to get you started, one thing you may want to do is enable Google Analyticsto track visitor statistics (thanks to Shep McAllister for reminding me to add this)


You might not feel the weight of that word, especially if you just browsed through this article first before getting started. For me, though, it’s amazing to look at after spending over 15 hours writing this tutorial.

Hopefully, you now have a completely functional website and a budding knowledge and interest in web development. If you’ve gained either of those things, I’ve done my job!

Remember, if you need any help, you can contact me. I’ll either help you directly or point you to people or resources that can be of assistance. You can also just connect with me without a need for help – I’d love to meet you! Follow me on Twitter:

sannminwin's picture

Posted by sannminwin

Quisque sollicitudin ante vel nulla bibendum varius. Praesent lobortis felis erat, id sagittis quam mollis ac. Aliquam erat volutpat. Integer at tellus bibendum, consequat turpis ultricies, facilisis lectus. Mauris iaculis quam dolor, id commodo lacus viverra eget. Nulla porttitor est placerat lacinia placerat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

Latest Blog Posts

Recent comments