After WAY too long I have finally updated my WP version to the current one for the site. I’m also in a mode of revamping and kicking-off a new run with this site. Hang-on while I get the creative juices flowing.
Category Archives: Web and Tech Helps
Rule of Thumb: Three or More for Categories
Realizing I probably had too many categories for my posts, well over a hundred, I decided it was time to trim the number down a bit. But what would be the criteria? Certainly dropping-off the single post references made sense. How does one then quantify what constitutes enough for a category? I’ve landed on the number three.
Categories or tags are connect-the-dot labels that group content from multiple posts together. It stands to reason that if there are three or more related posts, a category could tie them together.
As I stripped away useless categories, I discovered redundant/like categories that I combined. There was also a couple categories such as "writing" for which I knew I had many posts but only one was tagged.
As I move forward with posts, I will for the most part categorize retrospectively after I have three or more like posts. It’s really a simple idea but one that helps solidify the concept in my mind.
Checklist for Setting Up a WordPress Website
Setting up WordPress websites has become a regular part of my work. Much more than just for blogs, the platform is ideal for rapidly launching sites. In fact, nine out of ten WP sites I launch are non-blogging sites. I thought for my sake and for others who are looking for a checklist for what needs to be done to setup a WordPress website, I’d punch out a basic checklist for the process. This may get quite lengthy, but hopefully it will be a helpful resource to make sure all the bases are covered.
Hosting
- Search for and select domain an open domain.
- Sign-up with host and document access information.
- Setup ftp access and document access information.
- Setup MySQL database and document access information.
- Create sub-folder on host with the same name as domain (This allows easy launching of additional sites on same host) and point domain to sub-folder.
WordPress Install
- Download and unzip latest version of WordPress.
- Save wp-config-sample.php as wp-config and edit database access information in the top of the document. The documented info from your host provider, i.e. database name, host, username and password should be entered.
- Upload WordPress and go to the domain address in the browser.
- Click to install and be sure to copy the temporary Admin password into notepad and log-in to instigate the installation.
- Immediately change the Admin password to something familiar so that you don’t lock yourself out of WordPress.
Basic WordPress Configuration
- During installation check the "I would like to block search engines, but allow normal visitors" during the configuration process. To change the setting later go to "Settings" under the Privacy link and change the option to "I would like my blog to be visible to everyone, including search engines…".
- Search for and upload a theme to modify. For CSS gurus who want to configure I highly customized site, I recommend using the Sandbox theme. Not a lot of bells and whistles, but it provides a strip-down template to build from scratch.
- Change the Permalink. Under settings in WP 2.5+ go to Permalinks and change the default. My favorite is the simple Custom Structure: /%postname%/.
- Write a Page called "Home" and set it as the default homepage. Under "Settings" click on "Reading" and for "Front page displays" click "A static page" and select "Home" for under the "Front page" drop-down.
- Setup the basic landing pages and sub-pages for the site. When a sub-page is created, under "Page Parent" select the parent page.
- Delete the site Description. In most cases I have no need for the "Tagline" that is used for blogs. I’ll add-in my own meta tags later. Go to "Settings" which brings-up "General Settings" and delete the "Tagline".
Install Plug-ins
- Download the FCKEditor for WordPress plugin. Unzip and upload folder to wp-content/plugins/. Then activate the plugin. This will instigate a much improved wysiwyg editor for pages and posts.
- Download and install the WordPress Database Backup plugin. This nifty plugin can schedule to email you a backup of the database on a weekly basis. You will still need to download your site periodically, but what an amazing function to capture the content from the site.
- Download and instlal cforms II an amazingly powerful forms configurator. This plugin is the most robust configurator I’ve found which both drops form submissions to a user-friendly database on the site as well as sends email submissions to the designated manager of the contacts.
- For sites requiring mobile access WordPress Mobile Edition plugin detects mobile users and serves-up the page in readable mobile format.
- The Search Pages plugin enables the search function to return results from both pages and posts.
- Install Google Analytics for web stats.
Design the Theme
- Create a back-up of the site before beginning to tweak the design.
- For a simple, straightforward site: replace the header image, modify color scheme, font treatment and spacing as needed.
- Tweak the navigation to display pages and ditch the other widgets except the search form. If hard-coded changes are needed in the navigation, start by inspecting the header.php, functions.php and possibly sidebar.php files. These will most likely contain the code for the menu.
- Populate the site with enough content including images to get a feel for how well the navigation and flow of the site works.
- Make adjustments to accomodate what is stipulated in the scope document. If you are working with a client, a scope document will save you grief as you will have the stipulated requirements for the site. This will help scope creep to get out of hand.
Before Going Live
- Create an account for content managers.
- Orient the user with the site with basic update training.
- Check for browser compatibility in major and current search engines. There’s much debate on this subject. Generally I ensure at least the current and previous versions of FireFox and IE work well.
- Go back to the Privacy setting and enable search engines to find the site.
- Spell check and surf the site looking for content or graphical errors. Ideally, it’s good to ask other folks to hit the site as well.
- Use the free online ad credits the host gives with a new account to help launch the site and emphasize to the client that ranking in the engines takes time.
There’s the initial run-down. This is by no means an exhaustive list. Depending on requirements the design phase could become quite lengthy. There are also a boat load of other plugins, but those are the most common ones I use for a typical configuration. I may continue to add items down the line as they come to mind. Any good suggestions will be added as well.
Google Analytics Report Generating
I’ve been called "Master of the Obvious" more than once in my life. In my drive to economize time at work I did a little research on the best way to automate reporting from Google Analytics. I found a way to loose myself of the woeful process of exporting data from Google Analytics and compiling reports into an Excel spreadsheet. While this provides a very customized view of information in one document for the executives, it’s a real time waster.
Yesterday I clicked on the "email" button next to export and whala, I’m scheduling a nifty pdf delivery of each report view on a monthly basis. Very nice graphical presentation, the same as online and it will drop right to my inbox. For the sake of not pilfering others with a montage of email, I’ll group the pdfs into one email or possibly aggregate them into one document with Acrobat.
Report generating for Adwords can be scheduled as well, but unlike Google Analytics it’s reporting mechanism is much more redumentary. Primarily Adwords offers different versions of spreadsheet reporting with no graphical charts. Seems like Google ought to kick-up the reporting features for Adwords.
A new feature Google has instituted is Benchmarking. It’s a voluntary metric where you allow Google to use your raw stats for comparison with other sites within a similar category. Pretty cool stuff for leveraging the value of your work if your site strikes way above the norm. It doesn’t seem to change much from month to month however, at least that’s what I’ve found in my categories. There are better tools out there for comparison, but interesting all the same. It’s the kind of stat to look at perhaps quarterly.
So there you have it, my "brilliant" find for the week.
Six Steps to Super-Charge Photoshop Selection with Quick Mask
While Photoshop is absolutely packed with bells and whistles, there are a few key tools to unlocking its full potential. The Quick Mask feature in Photoshop is one of them. Quick Mask is essentially a selection tool on steroids. It allows one to select down to the pixel a given area of a photo. While there are many uses for selection to alter color, sharpness and other effects, a very common use is to knock-out a background around an object.
Step 1. Select the background
WIth the shift key click areas of the background that you want to knock-out. The more contrast between the background and the subject the better. In some cases, such as this image the contrast is low so we’ll need to use Quick Mask to do the finer selection.
Step 2. Enter Quick Mask Mode
Notice the icon second from the bottom in the toolbar. This is the Quick Mask toggle button. When in Quick Mask the icon has a darker parameter. It is clear at this point that some of the guitar was selected with the background.
Step 3. Paint the object
To get a very precise selection, zoom-in to get a close-up of the area to be selected. Choose the paint brush to color every area not selected. In this case we want to knock-out the background so the guitar will be painted.
Zoom-out and review for any rough spots. I find using a larger brush tends to create a smoother line as I drag it along the edge of the object.
Step 4. Switch Back to Regular Mode and Inverse Selection
One can either delete the background or choose to inverse selection to the object.
Step 5. Copy and Paste into New Window
I often prefer to paste the object into a new window so as to leave the original image in tact.
Step 6. Delete Background Layer and Save as .PNG
Finished Image
If you prefer resize, rotate image or apply other affects, upload and enjoy. Let me know if you have any questions and if this tutorial was helpful.
Evolution of a Website
- Expandable side navigation
- Eloquent form submission
- Templates which allow for some nice multi-lingual options
- Custom fields which come in real handy for unique datasets
The site will continue to grow incrementally with new features such as a photo gallery and other bells and whistles. I think I will truly enjoy not doing a major redesign or redevelopment of the site next year (knock on wood).
Lest my PhP development skills get too rusty, I’m starting on another microsite for the IEEE EMC Symposium for 2009 that will be hosted in Austin. More about that one as the project moves along. One cool feature will be a dynamic schedule configurator for attendees to select their workshops to attend. Will be a hoot to develop for sure.
Putting a Project to Bed
- A dynamic course schedule that pulls data from a .csv file. This allows the content managers to edit in Excel and then upload replacing the current version. This custom application enables very little training for those who do the up-keep, while offering a flexible interface for the end-user.
- A browser-compatible drop-down menu (at least in FireFox and IE the baseline requirement).
- A dynamic side navigation that drills-down one level to the child menus and up one level to the parent page. I find that most plug-ins for WordPress navigation are overly complex for such basic functionality.
- A clean design. Yeah, it’s not the most eloquent layout, but the more classic design I think and hope will serve the audience well.
In the end the site was done on-time and under budget. That is always a nice ending to any project. As is quite often the case, the real "magic" in getting the project done in an efficient manner requires good project management. If you ask me, that’s the real challenge to most projects. What do you think?
How Well Does WordPress Measure Up?
After nearing completion on a mid-size WordPress site, it seems an appropriate time to ask some questions about the scalability of WordPress. How far can you push the puppy before it yelps. This post is a follow-up to the previous posts:
The site, which will be launched in the next couple of weeks, has several hundred pages going several levels deep. It is definitely a good example of how far one can extend WordPress as a content management platform.
My overall take on the platform is fairly positive. For anyone with a decent knowledge and sense for development, it offers some built-in components that allow for creative and flexible applications:
- Custom Fields. This powerful feature allows for populating either viewable data or variables for custom apps.
- In one case the name and address of a teacher was published to the page with a custom field.
- In another case custom fields were used to populate the variables needed to query and display rows from a spreadsheet. This enabled a very efficient application of a custom application.
- Page Templates. I have not found a really good plug-in yet that provides a rock-solid way of inserting code into a WordPress page. My biggest beef with WordPress is it’s inability to run PHP natively. Page Templates provide a good alternative for including a file or application to the page. They also work nicely for redundant information on multiple pages.
- Parent-Child Relationships. For the most part I’m very satisfied with parent-child relationships in WordPress. It handles multiple levels and I have not yet seen any indication of a ceiling for the number of possible pages one could publish. That said, the interface for parent-child assignment is through a single drop-down selector. You can imagine how unweildy this could get after a point. After a couple hundred pages WordPress also does not display all pages in the Manage section. It’s not a deal breaker per se as pages can be searched with a filter or edited by navigating through the site directly. Still, it reveals some limitations.
WordPress shines brightly for small scale sites. This specific client is looking towards expanding with a multiplicity of sites rather than scaling-up this one site. For that reason I believe the platform will serve them well.
Funny Ad: Don’t GIVE UP ON VISTA

I thought this was one of the most humorous and compelling ads I’ve seen in quite a while. I ran across it on CNN.com. Mr. Mac asks Mr. Windows what’s up with the sign to which Mr. Windows answers he is trying to fix the bad press Vista has been receiving. He then begins to punch the red button that lights up “GIVE UP” and then “ON VISTA”. He keeps pounding the button with a malfunctioning “GIVE UP ON VISTA.”
While I’ve not made the switch to Vista or Mac but just stuck with XP even when adding a machine to my home network I did contemplate the transition. Microsoft has failed to do a compelling job in the marketplace to wholesale convince users that it’s worth it or time to make the switch. Mac remains cool in the eyes of users and Microsoft a necessary evil.
Perhaps my next move will to install Linux on my home machines. I still think Macs are overpriced. More and more I find open source development platforms to be effective and inexpensive solutions for clients. I’m curious if anyone faced with the option of upgrading to Vista has actually gone Mac or Linux.
Powered by ScribeFire.
Powerful WordPress Include Hacks
Customizing WordPress to function as a full-blown Content Managed System is really not that difficult. If one takes a little time and does some research you can extend it in some pretty nifty directions.
One simple and powerful function is to use an if statement to test a condition for a specific page and then include a file if it is true. This enables you to post a graphic or have a block of text show-up in locations on the page that are not defined explicitly within a sidebar for instance.
First example, the simple conditional include file
If I wanted a button, block of text or any other feature to show-up just in the sidebar, header or any other part of the page, I could slip-in this short piece of code:
<?php if (is_page(‘portfolio’))
{include(‘wp-includes/includedfile.php’); } ?>
The first line "is_page" is followed by " ‘portfolio’ " which delineates the page on which it should show-up. If I wanted it to show on the home page, it should simply be "is_home()". The path "wp-includes" is where I decided to stick the included file and "includedfile.php" would be renamed to a relevant file name for its purpose. The file would be a standard php file format, which can be as simple as a text file. This example assumes that you are using a permalink structure such as simple /%postname%/ as apposed to a number ID.
Second example, include file for a section of your site
If we decide to get a little more estute and have a multi-tiered site with sub-pages, we can have the sub or child pages of the Portfolio page include a file. This could be a breadcrumb navigation or an image for instance.
<?php global $post;
if ($post->post_parent == 33 )
{include(‘wp-includes/includedfile.php’); } ?>
In this example the parent page is necessarily delineated by the page ID even if you are using a different permalink structure. The "==" asks a question in an integer format meaning it’s asking a mathematical question; is the parent’s ID 33? If the answer is yes, then include the file, if not then ignore. (The page parent is assigned to the page when writing or editing the page in the right-hand column).
These are just a few quick examples of how to extend a template a bit with some very basic php code. For those very new to coding, this may be a bit cryptic, but if you need some help or have any questions fire away as I’m always glad to help.