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 and control what it is they see first. This is key for establishing your personal brand and 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 yourself stand 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 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:
Here’s another great example – this is my friend Zach’s personal site, which he modeled after an actual resume:
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:
- Get a domain name and web hosting for your site
- Easily install WordPress and get all of your content up on the web with no coding knowledge needed
- Make your site look good with a kick-ass theme
- Optimize your site’s speed, security and more with plugins and widgets
- Find resources that can teach you how to take your site even further if you want
- How to use the internet
- How to follow directions
- HTML, PHP, CSS, Javascript, JQuery, XML, XSLT, Ruby, Zend, Python, Flash, MySQL, Nginx, Apache, or any other language
- 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 could just create a free blog at Weebly or WordPress.com, 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:
if you want to be taken seriously, then make sure you have a self hosted wordpress blog.#blogchat
— Srinivas Rao (@skooloflife) March 19, 2012
So while it’s up to you in the end, I would recommend self-hosting your site. Still, having a free site on WordPress.com 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 SailorMoonFreak94435.biz, 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 name.com. 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 get thomasfrank.com, so I had to go with thomasjfrank.com 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.com would 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), then .net, .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 used 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 I don’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.
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.
Use the coupon code collegeinfogeek to get 35% 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 15% 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.
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 “View Web Hosting Plans”. On the next page, you’ll see several choices. Choose the Hatchling Plan, ‘cuz it’s cheap and you seriously don’t need anything fancier.
On the next page, use the form on the left to enter the domain name you’ve chosen to use. If it’s not available, HostGator will let you know and ask you to try again. There’s also a field to enter a coupon code – don’t forget to use the code collegeinfogeek to get 35% off of your hosting cost.
Then on Step 2, you’ll do the following things:
- Choose the duration of your initial hosting purchase (more time = less $$$ per month)
- Create a username and security pin
- Important: By default, the Hosting Addons section will have Domain Privacy Protection and SiteLock checked. You should uncheck SiteLock – I’ll show you some plugins you can use to protect your site later. As for Domain Privacy Protection, only leave this checked if you want to hide your name and address from WHOIS searches.
- Enter in all your personal crap and finalize the payment
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 WordPress.com) 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: yourdomain.com/cpanel - 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:
- Click Continue.
- 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 left box blank so your installation isn’t put into a subdirectory.
- 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.
- Fill in the fields shown. Do not use “admin” as your Admin username. Using something unique will be more secure.
- Click Install Now! Once the installation finishes, you’ll see a confirmation with your login URL, the username you chose, and an assigned password.
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 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 yourdomain.com/contact. This is what you want.
However, by default WordPress doesn’t do this for blog posts. Instead, it creates these ugly numeric URLs like yourdomain.com/?p=123. 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:
- Hover over Settings and click Permalinks.
- Choose the option for Post Name.
- Save your changes.
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.
- Go to Settings -> General.
- In the Timezone field, choose your timezone. Don’t know it? Here’s a handy map.
- While you’re here, you can also go to the bottom and change week’s starting day if you want.
- 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:
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 Foursquare 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
- A 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)
- A Contact page that tells people how they can get in touch with you. It might have a contact form as well.
- A 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.
- A 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.
- A 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.
- A 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.
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:
As you can see, creating pages in WordPress is pretty easy. To get your About Me page 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.
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:
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:
- In the sidebar, hover over Settings and click Reading.
- In the Front Page Displays section, click the radio button that says A Static Page
- Choose your About Me page to be the home page.
- If you want to have a blog, create and publish a blank page called Blog and set it as the Posts Page.
- Save your changes.
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:
<a href="mailto:youremailhere">youremailhere</a>
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 a theme 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.
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 free 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.
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 a contact 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.
- On the WordPress Dashboard, hover over Appearance and click Themes.
- Click the tab at the top that says Install Themes.
- Find and click the link that says Upload.
- Choose your .zip file and and click Install Now.
- Make sure the theme was installed successfully, and click Activate.
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 Fiverr to 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:
- On the WordPress Dashboard, hover over Plugins and click Add New.
- 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.
- Click Details to read about the plugin or Install Now to install it.
- After you install, click Activate.
- 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.
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.
- LiveFyre – an awesome commenting plugin. I used to use it here, but switched away because I have certain needs for this blog. However, it’s great for a beginning blog and will cut out almost all spam comments.
- 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.
- WP-DBManager – an essential plugin that can back up your WordPress database and email you the backup file. If your site’s database ever gets screwed up, you’ll be able to restore it using the Import function in your Tools.
- 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.
These six 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:
- On the WordPress Dashboard, hover over Appearance and click on Widgets.
- On the right side of the screen, you’ll see all of the widget areas that have been created for your theme.
- Drag the widgets you want from the middle area into the correct boxes.
- 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. I make use of this here on College Info Geek; if you visit my author page, you’ll notice my “Meet the Geek” widget doesn’t display. This keeps things from getting redundant.
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.
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 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.
- Abduzeedo – 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 place to watch free video tutorials on PHP, the language the drives WordPress.
- WebdesignTuts – 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 Lynda.com. 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.
First, a few posts written by none other than yours truly:
- How to Beef Up Your WordPress Security – the plugins you installed in Step 4 go a long way to protect your site, but there are other things you can do to batten down the hatches as well.
- The Ultimate Guide to Implementing Facebook Comments on Your Blog – if you’re planning on really building out the blog portion of your site, you may want to add in Facebook Comments. In this tutorial, I show you how to add them in alongside the default WordPress comment system.
- Activating Ludicrous Speed: Combine CloudFlare with a CDN on Your Blog – this tutorial goes through the process of combining CloudFlare with MaxCDN to optimize your blog’s speed. Since you’re just starting out, I’d recommend just using the first half to get CloudFlare (free) up and running, and leave the CDN (not free) for later.
Enough with my own work. Here are some of my favorite WordPress-related blogs, which I read regularly to learn how to make my sites awesome:
- Enable Google Analytics to track visitor statistics (thanks to Shep McAllister for reminding me to add this)
- Use FeedBurner for your RSS feed
Fin.
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:
Good luck!
***********
Did you find this tutorial useful? Want to give back a little? I’d love it if you used one of the buttons in the sidebar to share this post! It only takes a couple seconds (heck, the Facebook button probably takes less than one second), and it helps other students find College Info Geek. Thanks!!!
If you want to get updates when I release more great content like this in the future, be sure to sign up for my email newsletter below!
***********































Thinking about building a site. Question on this thing on your left side though. Do you discuss how to get that bar on the left to get tweets, likes, and g+ in this guide? I like that static bar! Awesome guide.
Hi Jimmy,
The floating bar on my site is actually built right into my theme. Most themes don’t have one built right in, but luckily my friends over at Buffer have a WordPress plugin called Digg Digg that will put one there!
Pls, teach us possible buisness to do. to make money on our site. You post is inpiring
My guide is geared more towards those who want to build a personal brand and market their skills; I’m not really in the business of teaching people how to make money online, per-se. However, you may find some insight in my interview with Pat Flynn!
Great article…nice and detailed, and especially easy to follow.
Do you have any advice about picking a domain name for a personal website when you have a name that is hard to spell and pronounce?
If you can find an available name, it can be a good idea to abbreviate. Try going with patriciay.com or maybe just yasechko.com – the problem with names is that they’re sometimes hard to spell, so some explanation might be unavoidable. But make it as easy as you can!
Hi! Frank
I wish to be like you but situation will not give me the chance to do so. Am a student of finance a first year wish to have a wab sit if you could help me becouse i dont have a computer,am from poor family in Ghana.I am using my phone to do this contact,am moor happy today when i found out about this good information. So please help me to do this becouse i see you as my hiro.
Thank you
Muhammad-Sani Awudu
Excellent post, great information and directions!
Glad you found it useful!
This is a really helpful post, thank you! Everything worked as you said it would.
I have one question: my “about me” page is a static front page, but is labelled in the top menu as “home” rather than “about me.” How do I change that?
If you scroll up to the first video in the tutorial, it’ll show you how to create a custom menu. It’s probable that your theme was built so the default menu can be replaced with a custom menu, so follow the video and in that custom menu area, give your About Me page a custom label.
If you need help after trying that, post a link to your site and I’ll take a look at it
Did my comment not show up?
What comment? You commented on another post, and that one showed up
Really very informative and helpful tutorial. It made me happy because after getting this tutorial I created my personal website http://www.childlaborofbd.com/. But I’d like to change my menu’s and title’s font color. Can you help me? Last of all thanks for sharing this great tutorial.
You’ll probably need to edit the CSS. Use Web Platform Docs to learn the syntax, and then look through your theme’s main CSS file for the declarations that control the elements you’re looking to edit. If you need specific help, I’d recommend checking out the Sitepoint forums – they helped me a lot when I was learning!
muthu’s website
what?
Hey, really useful post!
I don’t mean to be picking, but I heppen to searched your website on “Whois” search from NameCheap.com and they showed your websites are actually registered from GoDaddy.com. Any reasons for that?
I actually didn’t know about NameCheap when I started out! When I launched CIG in 2010, I didn’t know much about domain registrars and just went with the most popular one at the time, which was GoDaddy. All my new domains are on NameCheap; the only reason I haven’t switched the rest of them over is because there might be some downtime involved, and I need to get some free time to research the best way to switch in order to avoid that as much as possible since over 1,000 people come to this site every day
Awesome one, it is extremely useful !
Keep the good work Thomas
Thanks, Abdullah! Glad you found it helpful
Wow, A very nice article indeed. I have just gone through the article and and bookmarked it so I can create my website this weekend. Will let you know the URL once done.
What I really like about you more than the article is the enthusiasm where I notice that you have actually replied to every comment with equal interest and passion.
All I can say is: Great Work.
Thanks for the kind words, Asif! I really do try to respond to every comment, as I really want to show my gratitude to anyone who takes the time to read all the way through my guide (it’s freakin’ huge!).
I can’t wait to see what you come up with for your website. Let me know if you need any help!
Thomas, I read this post with interest since it is very well laid out. It’s very much appreciated. I am considering buying a domain for my 17-year old who is in his junior year HS and now looking at several colleges. I personally feel that having a personal website would help him in this process and during subsequent job interviews in a few years. However, I anticipate his response to such a gift would be along the lines of, “What’s the point if I already use Facebook, Twitter, Instagram . . . this is just so much more unnecessary work!”
Since you’ve clearly given the value of personal websites a lot of thought, I would like to hear your opinion on the long-term value of a personal website in the growing dominance of social media.
Thanks in advance – Dan
Dan – I think buying your son a domain would be a great investment, no matter what he thinks. The first part of this posts lists most of the benefits of having a personal website; while he may not care too much about them now (though I hope he does), I’m sure he’ll eventually come to realize how important they are as he gets closer to stepping out into the real world.
Since he’s still in high school, you two could actually work to build a website that could help him get into his choice college and even get scholarships. A high schooler with a well-established personal brand would definitely stand out to college administrators, especially if he has other projects and cool things to show off as well.
Hey this has been really helpful so far. Thanks Mr. Frank.
Needing some help though – I installed the wordpress as you outlined in your instructions, but I am confused about where to go from there to editing my website. wordpress.org and login? Please help. THanks
Hi Rachel – to log into your WorpPress control panel, just go to whateveryourdomainis.com/wp-admin – replacing the domain with the one you chose, of course.
Thank you for the tutorial this post is awesome! I have been wanting to update my site to a wordpress theme for sometime but was too overwhelmed to start…and this guide really helped.
conradgrissom.com still in progress!
Glad to hear it, Conrad! You’re making great progress
Without your comprehensive guide it would have taken me a LOT longer to build my website. Thanks!
No problem – I’m glad you found it useful! Hope your site turns out awesome
I made my website with the help of your guide, let me know if there are any problems on it or suggestions.
adamkubizna.com
Adam – this is one of the best personal sites I’ve ever seen a student make. Great job! I may even feature it at some point when I get the chance.
Since you’ve got the basics covered so well, I’ll give you a few small pointers:
Overall, fantastic job dude.
Thanks! I implemented your suggestions already and I am currently looking for a way to make the “Site meter” invisible but the site is coming up with errors, so I have to play around with that whenever I am not bombarded with accounting problems. Let me know if you have any other suggestions!
Thanks for your guide! Just built my personal website. A little busy these days, so I just put up an ABOUT ME page for now. I will update other things slowly and have a whole new style of website. anyway, thank you for starting me up!
Awesome! I always love seeing another student get themselves an online base of operations. Good luck, and let me know if you have any questions!
Great article / tute! Thanks for sharing your time and your talent. One question: I have 3 blogs that I’m thinking of combining into my own page, any tips or pointers?
Cheers
Heather
Thanks – glad you found it helpful!
As for combining blogs – how are those blogs currently hosted? If they’re all on WordPress, you can check out this article on combining WordPress blogs. Even if they’re not on WordPress, you might be able to import them.
Great resource man ! Bookmarked it. I will share this with my friends, so that they can create a personal website.
Thanks Srivathsan – glad you liked it!
Hi Thomas, Just wanted to say thanks for writing this post. It totally helped me set up my website, which I had wanted to do for some time and was having some issues figuring things out.
Keep being awesome
Glad I could help point you in the right direction, Brandon!
Hi Thomas,
Are all/some of the resources mentioned by you available outside of US?
I’m pretty sure they all are! I know WordPress is totally open source, so you’ll have no worries there. HostGator and NameCheap are international as well, I believe. If not, just leave a comment and I’ll try to help you out!
Good Job!
But… this is a standard guide. I ‘would ask to you if you mind to create another post with advanced setting…
I do plan on doing some more advanced guides in the future. Is there anything in particular you’d like to see?
Nice.. i’m searchin’ for usefull guide online, but this post is a great post!! really!! This is a clear example of hw i can build a website.
For the future.. can i ask u something about any plugin?
For sure! However, don’t be afraid to check the plugin’s FAQ and the WordPress support forums as well. There are certainly a lot of plugins I don’t have experience with.
Thanks for the guide Thomas. Working on getting my domain set up now. What’s the easiest way to start using my site as an HTML playground outside of WordPress? I’d like to start experimenting with some javascript on-site. Can I do that through WordPress?
Indeed you can! All you need to do is place your Javascript in the correct theme file. Your theme has multiple PHP files that WordPress pulls together in order to spit out a finished HTML page. These are basically structured with the following files:
There are also other basic theme files that may be called in, such as comments.php on a blog post.
WordPress will take all the files – let’s say header.php, single.php, sidebar.php, and footer.php – and combine them to make a full HTML page. This works because the main file – single.php – has calls like this – < ?php get_header(); ?> – to bring in the supporting files.
So, basically, all you need to do is put your javascript in one of these files and you’re good to go! Once you learn how themes work, you can play with them like they’re any regular ‘ole HTML file. So let’s do an example.
Say you want a Javascript alert to pop up on all your blog posts that tells readers they should comment. So in header.php, you’d make yourself some room in between
and and insert:(bracket)script type=”text/javascript”(bracket)
function commentYouDamnKids()
{
alert(“Leave a comment on my blog post, you damn ungrateful kids! I work my fingers to the bone writing post nothing short of dog’s bollocks, and this is the thanks I get?!? On your bike!”);
}
(bracket)/script(bracket)
And then find the (bracket)body(bracket) and edit it to: (bracket)body onload=”commentYouDamnKids()”(bracket)
Note: I had to change < and > to (bracket) so my blog post wouldn’t actually render this
And there you have it! This is very simplified, so I highly recommend playing around with your theme and learning from sites like WPTuts+ and WPBeginner.
Great Site and great article
This has been one of the most useful guide I have ever seen in the internet. It’s just my first year in college and looking at what you did here, I’ll be sure to drop by every once in a while!
A really big thanks for this. I’m planning to make a successful website too in the future so I’ll never forget what I learned in here.
Thanks for stopping by, Paolo! Glad you’re finding the guide useful
Hi Thomas!
Could you share your W3 Total Chache Plugin Settings with me, beacuase the only thing it doeas with my website is to slow i down. My host is an VPS so it is not bad
I used the exact settings that are specified in the WPBeginner tutorial here: http://www.wpbeginner.com/plugins/how-to-install-and-setup-w3-total-cache-for-beginners/ – though I’m also using CloudFlare and MaxCDN.
Me too, but in which way are you using both Cloudflare and MaxCDN at the same time?
Regards from David in Sweden, we follow your blog in the nordic to
I actually wrote a complete tutorial on how to do it the way I do it! It’s at WPTuts+ here.
Awesome post, but y u no mention analytics!?
Ah dude, thanks for reminding me! I totally had analytics on my list of topics to add to the last part, and I think I just got so excited to finish that I forgot to include it. I’ll put it in now
Well done sir, making the web a more friendly place!
Thanks Brett!
This is extremely useful especially for someone like me who does not know much about html (even though i have great websites). I wish i can learn security as well.
Sheyi
Glad you found it useful, Sheyi! I’m really liking the recent redesign you did on your site. Good work!
Security is definitely a good thing to learn. Luckily, there’s a lot of good content out there dealing with WordPress security, so it’s not hard to learn. In Step 5 I linked to an article I wrote about that topic; you can start there if you like!