A self-motivating engineer with strong teamwork, resource management, and communication skills. A highly-focused puzzle-solver proficient in top-down design, code maintenance, and group leadership. A future-oriented software developer and strategist concerned with long-term viable solutions.

Building this Site

It’s unlikely anyone reading this would be aware, but there’s been a largely defunct site on this domain for about two years. I built it when I first bought the domain two years ago, but I just never had any good ideas of what to do with it. Frankly, I bought it just to service my subdomains like Fort Collins Program, but what could I do with this, or should I do with this?

Being on the job hunt, I decided there was little reason not to repurpose the site to serve as a sort of digital CV or resume. After all, I’ve built a couple of sites at this point and developed some small skill working with php and css. With that in mind, I set out to turn a defunct and somewhat broken site into something new.

From start to finish, I spent about four hours on site functionality, with the remainder dedicated to content.

Rewriting the Source

When I first started working with this particular design, I noticed some major flaws. On any page where certain design elements were omitted, such as a blog feed or the friendly responsive buttons, elements would start to overlap and just look wrong. You can still see traces of this problem on Fort Collins Program, which I think I’ll leave as-is for a while just as a point of comparison. In order to address this particular problem, I had to go into the php itself and determine what wasn’t working properly.

In the end, it turns out that the offset values were poorly-implemented. Despite the option to turn these things off, I assume that functionality was never fully tested, so I had to tweak it manually. With the addition of a bit of CSS to prettify everything as simply as possible, the result is much more appealing and professional than the original.

I also started testing some other features that, as the author, I’d likely have less reason to use than the average reader. While working on this, I discovered that running a search produced only errors. Tracing it back (by the way, it’s much faster to download all your sources and maintain them with vi than to use the standard WordPress editor), I learned that the source template was designed with its own substitutes for standard WordPress calls, which are poorly maintained and frankly unworkable. By replacing these calls, I was able to make the search work more effectively, though at time of writing I’ve still not fully determined why it won’t post metadata and excerpts in the results. This is something I’ll have to correct as time goes on, but at least search works.

Finally, having studied SEO to some degree, I determined that the default for hyperlinks was simply not visually distinct from standard text. I also noticed it with Fort Collins Program and modified each link’s aesthetics by hand, but having built more sites since launching that blog I knew I could track the source down and fix it. CSS proved ineffective, as it would only change the defaults for the top navigation menu (which, I think, looks fine as-is), so I once again dug into the php sources. Through this, I was able to isolate the hyperlink settings and modify them to create more visually-appealing and distinct hyperlinks.

Adding Plugins

I never much cared about this site when I built it, but if it’s going to be a meaningful site it will need more than the standard functionality. Returning after several years of absence, I noticed a lot of spam that had to be prevented and eliminated. That meant that step one was installing a security plugin, the best of which is (in my experince) the All-In-One WordPress Security plugin. Realistically, the plugin is an aggregator and interface for many security options that would otherwise have to be handled manually, and it saves a great deal of time in the process. Among the most useful functions I’ve found are:

  • Ensuring the administration username is non-default, and informing when display names are identical to login names (which is inherently insecure)
  • A slough of options for locking down failed login attempts
  • White- and blacklisting for ip’s and user names
  • Built-in captchas and honeypots to reduce spam and bot activity
  • Database protection features to prevent simple trolling for the standard databases
  • File permissions and alteration protection
  • Several Firewalls, including the 6G firewall which is becoming standard for website security

I toyed with several other plugin options for the site before settling on a simple suite. The most valuable of these is Table of Contents Plus, which creates a visually-appealing table of contents for posts and pages automatically from the headings. The plugin is simple and easy to use, but it also provides enough customization features to allow you to easily tailor these tables of contents to your site design.

Lessons Learned

  1. The WordPress code editor lacks line numbering, code highlighting, and the navigation features I’ve come to expect and rely on.
  2. When working with a constantly-updating system like WordPress, it’s more reliable to use their libraries than to fabricate your own functions.
  3. There is a hierarchy to php files in websites that isn’t immediately apparent. WordPress, in particular, relies on some standardized files to operate, and there are standard ways to append further files and functionalities to these files.
  4. CSS is only truly useful for smaller, stylistic changes. Whenever core functionality is lacking, php is the only way to go.
  5. Security is everyone’s concern. Even on a simple site with little content or reason to exist, bots and spam will appear.

Leave a Reply

Your email address will not be published. Required fields are marked *

19 − 19 =