Leave a reply Quick & Dirty Checklist for a New WordPress Site + Learning With Texts

I’ve recently been given the opportunity to create a couple of new WordPress sites that include Learning With Texts for extensive English reading programs in Korean schools. So, I found myself needing a “quick & dirty” checklist for getting everything done well (as well as something my clients can look at to better understand what I’m doing for them).

  • Blue text indicates where I’ll need input from the site owner
  • Green text indicates what the site owner CAN personally do
  • Red text indicates the estimated time required to that point

I don’t expect that this list is completely comprehensive, but it is the most complete list I have at the time. I expect to be updating, correcting, and changing this list as I continue building these websites.

I’ve also got some more “complete” step-by-step instruction posts in the works for each of these sections for anyone who wishes to learn how to do this kind of thing completely on their own. Expect those posts to go live in the coming weeks.

WordPress Setup

  1. Install WordPress (One-Click Install)
  2. Create a first admin user (but don’t use “admin” as the username)
    1. Or delete your “admin” user (if you forgot and made one anyway)
  3. Dismiss “Welcome” message and configure your Dashboard (“Screen Options”)
  4. Install any available Updates
  5. Delete the Defaults (“Hello World, Hello Dolly, Sample Page, Links, default Plugins”)
  6. Install a “Parked” Theme (if necessary – if you intend to work on the site for a long time before “launching” – you can begin building an email list this way)
  7. Customize your Theme (don’t worry about Widgets yet)
    1. Fill in the “Site Title” and “Tagline”
      —– ( 1 hour ) —–
  8. Install necessary Plugins and Activate them
    1. Akismet ($5/month commercially – spam catcher)
    2. Jetpack (need WordPress.com account)
    3. Backups
    4. Google stuff (Analytics)
    5. XML Sitemap
    6. Webmaster Tools
    7. Theme Test Drive
    8. Add Multiple Users
    9. Erident Custom Login (need brand assets like logos, & color specifications)
    10. Yoast SEO (Search Engine Optimization)
    11. Enhanced Media Library
    12. Pretty Link Lite
      —– ( 2-3 hours ) —–
  9. Add necessary Users
    1. Update your User Profile
  10. Import content if applicable
  11. Change your Time Zone and turn off user registration and email notification
  12. Search Engine Stuff
    1. Make sure the site is visible to search engines
    2. Update Ping services (to alert search engines when there’s a new post)
    3. Configure any further SEO tools
  13. Change your Commenting System and Avatars (custom default Avatars)
  14. DON’T Organize your Media Library by months and years (Enhanced Media Library Plugin)
  15. Make your Permalinks pretty
  16. Change the Default Category
  17. Setup Social Media & Email Subscriptions
    —– ( 1.5 hours ) —–

WordPress Setup Time: 5-6 hours

Building the WordPress Site

  1. Find (1-2 hours), install, and customize your “Official” Theme
    1. Use Theme Test Drive Plugin (if currently using a “Parked” Theme)
    2. Add Widgets
    3. Add a Favicon
    4. Determine your basic Categories and Menu structure
      —– ( 1.5 hours ) —–
  2. Customize the Homepage (slider, etc) (1 hour)
  3. Add Content the RIGHT Way (i.e. why use “alt” and “title” tags?)
    1. Create (at least) a rough Sitemap
    2. Create “About” and “Contact” and other necessary Pages (“Colophon” or “Brand Guidelines” page at least for admin use)
      —– ( 1-2 hours ) —– 

Building the Basic Site Time: 5-8 hours

Adding Learning With Texts (LWT)

  1. Create a new database for LWT on your webhost
  2. Download LWT
    1. Modify connection settings
    2. Modify folder location (if applicable)
    3. Modify logo and/or other CSS styles
    4. Add username identification at the top of the page (if applicable)
  3. Upload to FTP in the location of your choice
  4. Login
    —– ( 1 hour ) —–
  5. Add chosen language to “My Languages”
  6. Add Texts for first user only
  7. Create ALL IDs and Passwords in WordPress (Add Multiple Users Plugin)
  8. Export and Import Texts Database for each user
    —– ( 1 hour ) —–

Learning With Texts Setup: 2 hours


<< Additional >> LWT Data entry: 1-8 hours
(For 120 students, I spent 4 hours on texts for one user, and 2-3 hours exporting/importing texts for each subsequent user. There must be a faster way to do this using phpMyAdmin, or some additional lines of PHP code, but to figure it out would take longer than simply doing it the long way. However, it would be a good investment of time if I intend to continue doing this in the future.)

Leave a reply First Steps to Setting up a Website: Choosing the Right Domain Name

So you’ve got a great concept for a website and you want to get it online ASAP? First things first, let’s choose your website name and URL address. What kind of name do you want to represent your brand online?

For example, if you are creating a personal website, most first-name-only domains are already taken – like aaron.com and most other variations as the image below shows. Sometimes adding your last name’s initial can produce more available domains, but you can see from the image that AaronT.com is selling for $1,895! So that’s also not always a viable option.

First and Last name domains are easier to come by, but First + Middle + Last name domains are even easier to come by because the more unique a name is, the less likely someone else has already snatched it up.


This is where you might have to get a little creative and do some domain name searching. Most domain name search engines will give you additional various “Available” options if your first choice domain name isn’t available:

  1. Sometimes the .org, .net, .tv, or a lesser known variant is still available. The search engines usually list everything that’s possible and its availability status.
  2. Also try searching for brand keywords or adjectives that you could include in a URL.
  3. If you want to know who owns the address you want, you can do a WHOIS lookup.
  4. Sometimes you can “Make An Offer” or Hire an Agent to try to negotiate a deal with the owner of a domain name you really want. But this kind of thing is more likely to happen if you represent an already well-established company – like if nike.com was owned by a third-party and not the Nike company itself.
  5. Some domain name search engines like Nameboy.com allow you to fill in your two primary keywords for your brand and they rearrange those to try to find something that’s available.
  6. Website Hosting Providers (like Dreamhost) <affiliate link> also provide Domain name search tools to enable them to register your new Domain name through them. If you’ve found a host you like, feel free to search for a Domain name there. If not, check out this article on “Choosing the Right Website Host”

Recommended Domain Name search engines

  1. Nameboy.com (takes two keywords, rearranges them, can include hyphens)
  2. Namecheap.com (the screenshot above is from this site, its well designed and has loads of options)
  3. Dreamhost.com (my personal web host since 2009) <affiliate link>

Once you’ve found a good name, register that thing already! If it’s REALLY great, it might not be too long before someone else comes along and registers it first~

Leave a reply Build WordPress Themes: Set Up a Developer Environment

After you’ve created a localhost installation of WordPress on your computer, the next step is to set up a Developer environment to get all the tools and content ready for you to use as you develop and test this new Theme.

(By the way, if you haven’t yet created a localhost installation of WordPress on your computer, then I highly recommend Bitnami. It’s a simple double-click installer that puts all the relevant applications – MySQL, PHP, Apache, and WordPress – on your machine in no time. Give it a shot: Bitnami WordPress.)

There are 5 basic steps to setting up a good Developer environment:

  1. Install a “Starter” or blank Theme
  2. Import WordPress Theme Unit Test Data
  3. Add the Developer Plugin(s)
  4. Install an appropriate IDE (Integrated Development Environment)
  5. Create your WordPress Theme Project in your IDE

1. Install a “Starter” or blank Theme

You have a number of decent “Starter” Themes you can choose from including:

  1. Underscores (from the WordPress Theme guys)
  2. Toolbox (the Theme that preceded Underscores)
  3. Handcrafted (based on Toolbox, created by a WordPress developer)
  4. Roots (including Bootstrap, Grunt, and HTML5 Boilerplate)
  5. Bones (including Sass, Custom Post Types & Custom Dashboard)
  6. Quark (based on Underscores)

But the most recent blank-style Theme from the WordPress Theme Team themselves is Underscores. They assert that it’ll give you a “1,000-Hour Head Start” on Theme Development. And one extra nice thing about Underscores is that it lets you customize the name of the Theme template and .ZIP file you download directly from their website. It’ll help you get started that much sooner.

Once you decide on a Starter theme to install, head to your WordPress Dashboard >> Appearance >> Themes >> Add New to upload the .ZIP file, “Activate” it, and begin.
WordPress Add New Theme

2. Import WordPress Theme Unit Test Data

The next thing you want to do is be sure that you have an adequate amount of Test Data to test for all possible usage scenarios in your Theme (things like Stickies, Tags, Categories, nested drop-down menus, multiple authors, different image sizes, lists, blockquotes, tables, and so on). Rather than trying to figure this all out on your own, the WordPress team has made it quite handy to download and install all possible test data on your own.

(For a quick look at what all this test data will look like, you can head over to wptest.io’s Demo page.)

To download the WordPress Test Data, go to the Theme Unit Test page on the WordPress Codex website and right-click to Save the .XML file linked to as the first instruction under “Setup”:

Theme Unit Test

Once saved to your computer, you’ll need to Import the data using the WordPress Importer plugin. You can install this easily by going to your Dashboard >> Tools >> Import.
WordPress Import data

Click “WordPress” to be prompted to install the Importer plugin.

WordPress Importer plugin

Then “Activate” the plugin and “Upload” your previously downloaded .XML file with the Test Data in in. When WordPress asks you to assign authors, be sure that you also click “Download and import file attachments” beneath that (next picture).

WordPress import file attachments

Be PATIENT. This will take a while.

After receiving a “Success” message, go ahead and navigate to your homepage to see what your blank Theme looks like with all the new content. (My screenshot below shows what Underscores looks like with the Test Data imported.)

WordPress Underscores with Unit Test Data

3. Add the Developer Plugin(s)

When you begin developing WordPress themes, you’ll also want to be sure that the backend Development environment is properly set up to allow for you to do things like Debug your code, find and fix errors, test various sidebar widgets, permalinks, authors, themes, or other situations your future users might work with after you release the Theme to the public.

To get the Developer plugin, simply go to your Dashboard >> Plugins >> Add New and search for “Developer” – it should be the first plugin to appear:
WordPress Install Developer plugin

Install and “Activate” the plugin and the first thing it will ask you is what type of website you are developing:

  • Plugin for a self-hosted WordPress installation
  • Theme for a self-hosted WordPress installation
  • Theme for a WordPress VIP site

Select the second option and continue (you can always change this later if you’re worried about it).

WordPress Developer self-hosted site

Next, you will be given the option to install various other plugins that come bundled with the Developer plugin. These include:

  1. Debug Bar
  2. Debug Bar Console
  3. Debug Bar Cron
  4. Debug Bar Extender
  5. Rewrite Rules Inspector
  6. Log Deprecated Notices
  7. Log Viewer
  8. Monster Widget
  9. User Switching
  10. Pig Latin
  11. RTL Tester
  12. Regenerate Thumbnails
  13. Simply Show IDs
  14. Theme Test Drive
  15. Theme Check
  16. Beta Tester
The bolded plugins above are probably most useful for you starting out, but you can add whatever seems relevant or that you’re curious about. Remember, you can always Add or Deactivate any of these later. In order to do so, simply go to your Dashboard >> Tools >> Developer and you’ll see a screen like the one below where you can modify anything you like:
WordPress Developer Helper Plugin

4. Install an appropriate IDE (Integrated Development Environment)

Fourth, you need to install a good IDE for development. What an IDE does is “provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editorbuild automation tools and a debugger. Most modern IDEs offer Intelligent code completion features.” (Wikipedia)

Basically, an IDE:

  1. allows you to store your entire project in an easy to access location (from the sidebar)
  2. highlights certain code keywords and conventions (like comments)
  3. gives you smart-completion features if you forget the exact function keyword you want
  4. gives you direct and instant access to the exact locations a function is found in other parts of your code (CMD or Control + mouse click in NetBeans)
  5. includes a code compiler to run your code on the fly
  6. includes a code debugger to find errors and fix things by “stepping through” the code one line at a time

I’ve used both Eclipse and NetBeans before in my undergraduate courses (back in 2005). I feel that Eclipse is best for Java development and it is a bit large (probably a bit overwhelming at first). NetBeans comes highly recommended by my peers and is a little simpler. Or, alternatively, there is also PhpStorm, a premium IDE that is loved and used widely in the WordPress development world.

So again, here are the three primary IDEs you might try:

  1. Eclipse
  2. NetBeans
  3. PhpStorm

If you do decide to go with NetBeans (which I recommend), you need to be sure that you have the Java SDK installed on your computer first in order for the IDE (which runs in Java) to work properly. NetBeans (and likely Eclipse as well) offers an IDE + Java SKD bundle installer on their website (see pic below).

NetBeans download

NetBeans + Java SDK Installer

5. Create your WordPress Theme Project in your IDE

Finally, the last thing to do before beginning your WordPress development is to Create a new Project in your IDE that contains your entire WordPress installation (themes, plugins and all). You’ll have to find the folder that contains:

  1. wp-admin
  2. wp-content
  3. wp-includes
  4. All the other wp- files

Then set that whole folder as your Project folder in your IDE.

  • In MAMP, the folder will probably be called “htdocs”
  • In WAMP, it will be “www”
  • In Bitnami, it will be in “apps >> wordpress”

To set up your Developer’s environment in Bitnami, follow the steps (as shown in the slideshow) below:

  1. Open the application.
  2. Click the “New Project” folder icon (don’t confuse it with the “New File” icon to its left)
  3. Choose “PHP Application” (Note: After initially installed JDK + NetBeans, I had no PHP option – it only gave me Java Projects as an option. So I navigated back to the NetBeans downloads page, downloaded the “All” version of the app, and reinstalled it. This gave me all the possible development options.)
  4. Rename your Project and click “Browse…” to choose your local WordPress installation folder. (On my Mac, the Bitnami WordPress installation is located in /Applications/Bitnami/apps/wordpress/)
  5. Click “Finish” to finish the setup and start coding!~

This slideshow requires JavaScript.

So were you able to successfully setup your Developer environment? Ready to get coding? Well, first things first: we need to be sure we know WHAT we’re coding. Have you created a good design yet?

1 Comment Build WordPress Themes: Setting up a Local Installation

If you want to build WordPress themes, the first thing you need to do is set up a local installation of WordPress on your local machine from which to run and test what you’re working on. You really have 3 basic options for TYPE of installation. Which do you prefer?

  1. An operating-system-specific installation
  2. A cross-platform system
  3. An App auto-installer

There are 3 basic options for OS-specific installations depending on which operating system you’re running:

  1. WAMP (Windows, Apache, MySQL, PHP)
  2. MAMP (MacOS, Apache, MySQL, PHP)
  3. LAMP (Linux, Apache, MySQL, PHP)

There are also (at least) 3 basic options for cross-platform installations and 2 of these include App auto-installers:

  1. XAMPP (Cross-platform, Apache, MySQL, PHP, Perl)
  2. AMPPS (Apache, MySQL, PHP, Perl, Phython, Softaculous App auto-installer)
  3. Bitnami (Cross-platform, AMP, App auto-installer, + allows installations in the Cloud)

There are plenty of other options as well (as this Wikipedia list of AMP bundles proves), and each one has its own strengths. It’s worth checking out a few of them to see which you prefer. And in order to help you decide which of these you might like to try out, I’ve taken screenshots of each homepage and running service for you to compare:

#1. WAMP

#2. MAMP

#3. LAMP

As the above picture indicates, if you want a straight up LAMP installation, you’ll likely be doing it all piece-by-piece – or through your Linux distribution’s get or yum installers. But if you’re a Linux user, you’re probably already comfortable with that kind of thing. Here are instructions for installing LAMP on various Linux distributions (source: Wikipedia):



#6. Bitnami

I’ve personally used WAMP, MAMP, and XAMPP and none has really been disappointing.

  • XAMPP is slightly more complicated and has more features (but that’s to be expected because it’s a Linux program as well).
  • WAMP is a good and simple option for Windows – I’ve used it with my high school students.
  • MAMP is a clean and simple option for Mac and I’ve used it exclusively on Mac before.
  • MAMP PRO is also a good option if you’re willing to pay a little bit because it allows multiple WordPress installations on the same localhost.

However, the App auto-installers also look rather intriguing and I’ve never used them before. Plus, Bitnami comes pretty highly recommended from Morten Rand-Hendriksen, a staff author at Lynda.com, so I’m looking to give it a shot next.

Which installations are you familiar with or do you recommend? Leave me a comment with your thoughts.

Leave a reply Quick Tip: DESTROY the VBS Virus that Creates Folder Shortcuts and Hides Files


When I was working at a winter camp this year, my computer contracted a virus that creates folder shortcuts and hides every file. It makes using the USB impossible, and if you try to delete the .vbs file that does it, it will just come back again anyway. (Here’s a detailed post from Security on Steroids that describes the virus and removal procedure.)

The following are steps I took to fix my USB after contracting the virus:

1. Show Hidden Files

  1. Open the Start menu.
  2. Type “cmd” in the Run (or Search) area to open the command line.
  3. Type “ATTRIB -H -R -S /S /D G:\*.*” without quotes and substitute the letter of your drive for G.

This page from Technology Next has a good overview (with images) about how to do that.

2. Perform a Full Virus Scan

Make sure you have an up-to-date Anti-virus program on your computer and to a full scan of the infected drive and computer. Try to get rid of as much garbage as possible from both.

One good option I’ve used previously is Trend Micro Housecall – but you need an Internet connection to do it.

3. More tools to Clean up and Protect your USB

Sometimes a virus scan doesn’t fully take care of the problem, so here are some more references to the steps I took to clean it up.



4. Quick Tip: Set up your computer to vaccinate ALL USBs

Definitely remember to install Panda USB Vaccine on all your computers. You can set it up to automatically vaccinate any USB that is inserted. This should hopefully help prevent the further spread of viruses. (I did so at the high school I work at – on all 23 of their 2 labs of computers.)

BONUS: Here is a list of 10 more tools to help protect USBs.

Further Protection: Disable Writing on your USB

You could further protect your USB by disabling the computer’s ability to write to it. The main reason that USBs get infected is because a virus on your computer waits until a USB is inserted and then immediately tries to Save itself to the USB. If you disable USB writing, the virus can’t Save itself on there, and you won’t get infected. (Of course, this also means that you can’t Save your own files on the USB until you allow writing again…)

I haven’t personally looked into this much, but here is a link to get you started:

  1. HowToGeek: Download simple programs to instantly modify your registry

Leave a reply Quick Tip: Avoid spreading “shocking” blog posts


This is an article that one of my friends recently shared on Facebook titled:

There Is No Hell Fire; Adam & Eve Not Real – Pope Francis Exposes

This is an article that shows it’s a hoax:

Don’t fall for this Pope Francis hoax: 5 things to know and share

And this is my advice in this kind of situation:

Whenever I see a “shocking” story that seems absolutely out of character or contrary to a certain person’s beliefs, I always:

  1. Read the entire context of the article, looking for errors.
  2. Double-check the article for REFERENCE links that point to the original quote.
  3. Read the blog’s “About” page to see if it is satirical (MANY sites these days are doing this – just to draw in traffic and therefore revenue).
  4. Scan the headlines of most of the rest of the blog (many of these read like tabloid magazines in the grocery store).
  5. Google it.
  6. Check Snopes.

I’ve done that with everything suspicious in recent years, since Obama’s first election campaign (that just shows how long hoaxes like this have been around for).

Sharing these kinds of articles (without truth-checking them) merely drives up that site’s traffic and revenue while simultaneously spreading rumors and falsities.

Quick Tip: Quickly truth-check blog posts before passing them on.

Leave a reply 2014 GPA Computer Lab Updates

Work Yet to Do

2.18.2014 (All Windows Updates)

  • Completed ALL Windows updates (300+)
  • Installed: ALL Nvidia Drivers for graphics card
  • Installed: Windows Live Essentials on Computers 1-4
  • Reinstalled: Alice3 on Computer 4
  • Set up Family Filter on Computers 1-4
  • Reset “Run…”
  • Downstairs Lab: Reset ALL admin passwords to the office preference


  • Started Windows Updates after the reformat (300+)
  • Installed: new Nvidia Drivers for Computers 4-12
  • Then found a NEW Nvidia Driver at the last minute – updating again tomorrow…
  • Installed: Alice3 (2,3,5-12)
  • Installed: Java
  • Installed: iTunes
  • Installed: MuseScore
  • Installed: Notepad++
  • Installed: Lightshot
  • Installed: Spybot : Vaccinated against 110,000 items
  • Installed: USB Vaccine
  • Installed: Windows Live Essentials (5-12)
  • Created Admin passwords
  • Created new Users for student use
  • Set up Parental Filtering for student accounts
  • Blocked Facebook and Comic sites with HOSTS
  • Disabled Recycle Bin to prevent “Recycling” of HOSTS
  • Set student accounts to auto-login upon Restart
  • Downstairs Lab: Installed: USB Vaccine
  • Downstairs Lab: Installed: Spybot (8-11) : Vaccinated against 140,000 items
  • Downstairs Lab: Installed: Chrome (8-11)
  • Downstairs Lab: Installed: Windows Live Essentials (8-11)
  • Downstairs Lab: Set up Parental filtering (8-11)
  • Downstairs Lab: Set up a Blank screensaver and no login required when students come back


  • Downstairs: Created admin passwords for all computers
  • Downstairs: Created Student accounts for all computers
  • Downstairs: Blocked Facebook and Comics sites with HOSTS
  • Downstairs: Disabled the Recycle bin to prevent “Recycling” of HOSTS
  • Downstairs: Set student accounts to auto-login on restart
  • Upstairs: Disabled the Recycle bin to prevent “Recycling” of HOSTS