Bright Rocket

Fly Smart!

A blog about design, business and life.

The ExpressionEngine Designers Website Checklist

Posted on June 12th 2012 to Design, ExpressionEngine

After attending the 2012 Engine Summit and hearing Emily Lewis talk about the value of having checklists to keep her work organized, I was inspired to pull together a checklist of my own which I've shared below. I set these up in my project management software ActiveCollab and copy them to each new project as needed.

I've organized the list by a few of the key project milestones I tend to plan around. My unique twist on this checklist is that as I develop websites in ExpressionEngine, point out where various EE addons can help make certain tasks easier, faster or better. You'll notice I list several alternatives for each item as each tends to do things a little differently and I like to make a case-by-case decision about which addon is right for each project. I also don't always use addons for each item, but I do take a moment to see if it makes sense. A good rule of thumb for me is to ask "Do I want to have to maintain/update this addon down the road?", which helps me to keep things on the conservative side.

A special thanks to Lea Alcantara for given this list a look and making some suggestions. Did I miss anything major? Please let me know in the comments.

Setup Phase

  • General

    • Buy Domain Name & Document

    • Setup Hosting & Document

    • Create MySQL databases & Document

    • Redirect to (or vice versa) for SEO

    • Create email addresses & Document

    • Setup staging server & Document

  • ExpressionEngine Specific

    • Remove unnecessary files from latest EE download

    • Zip files before upload and uncompress via server (Article)

    • Security: Install EE above public_html directory

    • Security: rename admin.php

Pre-Launch Phase (2 weeks before)

  • General

    • Create 404 Pages ( SS Friendly 404 )

    • Finalize Page Title scheme

    • Create Favicon

    • Create iOS icons

    • SEO Optimize all pages (SEO Lite / Crosslinking / NSM Better Meta )

    • Paginated content links rel=”next” and rel=”prev”

    • Use Google Webmaster to force crawl of new pages

    • Sign up for Google Webmaster Tools email forwarding (notes issues with crawling)

  • Per Page

    • Validate HTML

    • Ensure Alt attributes for images

    • Check design in various browsers

    • Check design at various sizes

  • ExpressionEngine Specific

Pre-Launch Phase (1-2 days before launch)

  • Spell check/Grammar Check all content

  • Test contact form

  • Test email addresses

  • Double check contact info

  • Clear out TEST data

  • Create robots.txt files

  • Send out Launch email to client

  • Create Google Site Map (NSM Better Meta / sitemap-module)

  • Add 301 redirects for old pages to new pages

  • Check for broken links (Xenu Link Sleuth)

  • ​Add Google analytics code

Post-Launch Phase

  • Register website on Google, Yahoo, Bing

  • Promote on various gallery sites

  • Promote on Facebook

  • Promote on Twitter

  • Update Portfolio

  • Write Case Study

3-6 Month Followup

  • Update EE ver (if needed)

  • Update plugins/addons (if needed)

  • Backup website / db

  • Check spam in members and freeform

  • Review site analytics

  • Review Search log

  • Check formatting of site results in SERPs


A Comparison of WYSIWYG Editors for ExpressionEngine at EE Insider

Posted on April 16th 2012 to Design, ExpressionEngine

I've been working several evenings and weekends to create the first (that I'm aware of) comparison of WYSWIG editors in ExpressionEngine and EE Insider was kind enough to publish it! If you've stuck to the same WYSWIG editor in EE for every project or have been using something else like Textile formatting, this is the article for you! I spent a lot of time trying three popular editors to see if I should switch from my default (Wygwam). Read and share!

Using Pages and Low-Reorder for Flexible Navigation and Site Structure

Posted on March 04th 2012 to Design, ExpressionEngine

EE Insider strangely enough just asked the question I recently had to ask myself. Namely, how do EE developers manage navigation and site structure in EE? A quick search of Devot:ee reveals several solutions to this age (ok years) old problem. You could go with the powerful and well regarded Structure ($65), the fairly new on the scene Navee ($35), toss in some Crumbly ($45) action for bread crumbs. All these solutions are awesome in their own right and well worth the money, but I was looking for something simpler and in Structure's case, less complex to initially implement and learn.

My Requirements were as follows.

  • Must work with the existing Pages module in ExpressionEngine
  • Allows me to generate a dynamic menu based on channel pages for each main section of the site.
  • Allows me to order the pages in the menu via drag and drop
  • Must work well in an existin site's dropdown shown below (In this case, I am working with Suckerfish dropdowns done several years ago by the last dev)

Enter Low Reorder ($16), an addon that I think is probably not the first that come to your mind when you are thinking about navigation and site structure. I've used Low Reorder before on a project to simply move the order of entries around on a listings page and to control the order of people on a staff page before, but what I totally missed what it's integration with EE's native category abilities. Hidden away under each channel reorder settings is the option to "Show entries per single category", which is where all the magic happens.

Low Reorder Category Settings

Turn that on, and you'll now be able to choose a category before being shown the list of entries to order. This is when I had my "aha!" moment.

So with my new found knowledge in hand, I created a category group that corresponded to the main navigation sections that required "static" page items. Next I assigned each Page entry to a specific category.

Next I edited the static navigation to include a few things. Each navigation category such as "About" had two entry tag sets. The first pulls in only the first item, as defined by my custom Low Reorder field called "cf_page_order". In the next set of tags, I removed the limit, and replaced it with an offset of 1. The code should look something like below.

<li class="menuItem">
			{exp:channel:entries channel="chan_pages" disable="member_data|pagination|trackbacks" dynamic="no" orderby="cf_page_order" sort="asc" category="7" limit="1"}
			<a href="{page_url}" class="first dir" id="page-{entry_id}">{title}</a>
			{exp:channel:entries channel="chan_pages" disable="member_data|pagination|trackbacks" dynamic="no" orderby="cf_page_order" sort="asc" category="7" offset="1"}
			<li><a href="{page_url}" class="last page" id="page-{entry_id}">{title}</a></li>

I wanted to make the page creation and order intuative for my clients so I utilized Zoo Flexible Admin to flesh out a nice simply navigation where they could create, edit or order pages without having to hunt around.

While this solution isn't as flexible as some of the other solutions out there, it worked well for this project and I have a feeling I'll be using it again. I'd like to reduce the number of Entry tags used, and find a good solution for including static items in the navigation in the next version.

I'd love to hear any feedback or improvements you might have.