WordPress Plugin: Contact Coldform

Published Tuesday, January 8, 2008 @ 11:27 am • 66 Responses

[ Image: Coldform Icon ] Welcome to the homepage for Contact Coldform, a free contact-form plugin for WordPress. Contact Coldform is designed with a sharp focus on clean code, solid performance, and ease of use. No frills, no gimmicks, only pure contact-form satisfaction. If you are looking for a solid, well-designed, user-friendly, fully customizable contact form, look no further: Coldform is perfect for any WordPress blogger. The comprehensive Options panel makes Coldform easy for beginners to take full control, while the consistent, logical PHP/(X)HTML code makes Coldform ideal for advanced users desiring customized functionality. The best of both worlds: a “clean-slate” contact form that provides everything you want and nothing you don’t! :)

Coldform Features:

  • Compatible with WordPress versions 1.5 - 2.5 and beyond.
  • Plug-n-play: add Coldform to any WordPress page or post.
  • Simple installation — upload, activate, and customize.
  • Complete WordPress Administrative Options panel for full control.
  • Ultra-clean code output: standards-compliant, valid (X)HTML.
  • Customizable anti-spam challenge question to protect against spam.
  • Secure form processing and protection against malicious attacks.
  • Same-page error messages to help users complete required fields.
  • No obtrusive markup or code added to your <head>.
  • Includes option to enable users to send carbon copies to themselves.
  • Coldform message includes IP, host, agent, and much more.
  • Customizable form-field captions, error messages, and success message.
  • Customizable drop-in CSS skins for easy styling.
  • Customizable CSS attributes.
  • Customizable everything!

Coldform is perfect for WordPress users who want full control over the markup, presentation, and functionality of their contact form. Coldform presents delicious code on every front:

  • Squeaky-clean PHP: every line like a fine wine.
  • Crispy-clean markup: source code presents with proper alignment and spacing.
  • Shiny-clean email formatting: Coldform-processed emails deliver complete information in a sharp, organized fashion.

Installation and Usage:

  1. Unzip the “contact-coldform” directory.
  2. Upload directory to your “plugins” folder and activate.
  3. Insert “<!--coldform-->” (without quotes) to any page or post.
  4. Customize your preferences in the Coldform Admin Options panel.
  5. Check out http://perishablepress.com/ for more info and updates.
  6. Enjoy Coldform!

Styling Coldform:

Contact Coldform features the following default CSS hooks:

  • The entire form is enclosed within <div id="coldform"> for easy, targeted styling.
  • Each form section is enclosed within a <fieldset> for usability and accessibility.
  • Each <fieldset> contains a <legend class="hide"> that may be hidden.
  • Each input field has a corresponding label: <label class="label">.
  • Each input label has a corresponding input: <input class="input" type="text">.
  • The form submit button includes its own submit class: <input class="submit">.
  • Coldform contains a <div class="clear">&nbsp;</div> to ensure proper layout.
  • Everything else is customizable via the Coldform Options panel.
  • Check out a few Coldform Coldskins for plug-n-play CSS styling.

Coldform Screenshots:

[ Thumbnail: Coldform Admin Options Panel ]
Coldform Admin Options Panel

[ Thumbnail: Coldform (X)HTML Source Code ]
Coldform (X)HTML Source Code (via Firefox)

[ Thumbnail: Coldform PHP Source Code ]
Coldform PHP Source Code (via Dreamweaver)

[ Thumbnail: Coldform User Interface - Input Screen ]
Coldform User Interface (as styled at Perishable Press)

[ Thumbnail: Coldform User Interface - Success Message ]
Coldform Success Message (as styled at Perishable Press)

[ Thumbnail: Coldform Email Formatting ]
Coldform Email Formatting (via Thunderbird)

Coldform Demonstration:

Check out the Coldform as styled here at Perishable Press. Feel free to send a test message to check out the formatting of the success message. Also check out the error functionality by omitting any required field. Note: please send links to your own, customized Coldforms so that I may include them as examples in this section. Thanks! :)

Live Examples:

Easy CSS Customization:

Looking for an easy way to style and customize your Coldform using CSS? Check out the growing archive of free Coldform Coldskins! Just grab a skin and place into your stylesheet for easy, plug-n-play CSS styling.

Coldform Download:

Download Contact Coldform

[ current version 0.888KB zip downloadworks with WordPress 1.5 - 2.5+ 1464 downloads ]

Alternate Versions


Dialogue

66 Responses Jump to comment form

1Louis

January 8, 2008 at 1:40 pm

I’m astonished, wow !

That plugin was my very dream not so long ago, and wow, now it’s real !

Your introduction with the bullets list was very appetizing, but the screenshots of the markup, OMG !

I’ve not seen a code so clean since the Mootools core maybe… it really recalls the WordPress slogan “Code is Poetry”.

But all this joy was broken by some unintended fact : the download link is broken :(

It leads to : http://perishablepress.com/mint/pepper/orderedlist/downloads/download.php..
?file=http%3A//perishablepress.com/press/wp-content/online/plugins/Contact-Co

I hope you find a fix quick as i sure ain’t the only one waiting to try it !

2Perishable

January 8, 2008 at 1:53 pm

Louis — thanks for pointing that out! In my rush to go eat lunch, I forgot to double-check the download link..

It should be working fine now! :)

3Louis

January 8, 2008 at 3:03 pm

Okay, my feedback after 10 minutes playing with the plugin:

  • index.php to prevent directory listing ? I think that should be .htaccess’ work. Maybe you’ve put this file for novice users, after all why not.
  • localization is not doesn’t cover every area : the <legend> elements and the submit button text can’t be translated.
  • a way to deactivate certain fields should be given in the admin configuration page (I’m thinking of a checkbox next to the “Name (required)” (for example) fields.

It’s a wonderful out-of-the-box plugin, with great information inside, and a clean presentation on the outside (the “footer” in the configuration page is very smart). Congratulations !

4Louis

January 8, 2008 at 3:09 pm

Oh, my comment is all broken ! I used a HTML list (ul tag) and a legend tag between “the” and “elements”.

Also, it would be very nice to have more space in the comment textarea on your blog, because it’s hard to write in such a tiny place. More width please :)

(and a button to preview the comment ? Noo I’m asking too much :p)

5Perishable

January 8, 2008 at 3:14 pm

Yes, the index.php file was thrown in as a “just in case, why not” measure.. better safe than sorry. I see that you have a keen eye for localization — that is definitely something I need to work on.. especially given the diverse WordPress user base ;) Also, optional field exclusion(s) is a great idea — something I will plan on working into the next release. Overall, I am very excited about this plugin and appreciate your insightful and useful feedback. Now, on to that 404 management plugin I was telling you about.. ;)

6Perishable

January 8, 2008 at 3:29 pm

I tried “rescuing” your comment — let me know if it is not what you had intended..

And, I totally agree about the need for more space in the comment textarea. As for the need for a comment preview feature.. well, I am still debating about that. For me, there is a fine line between performance and usability, however, I am thinking that I will go ahead and implement a live comment preview in the next redesign. As soon as I get to it — either during the next theme redesign, or even as a theme “update” — I will be slapping the comment area back into shape!

Thanks for the feedback :)

7Louis

January 9, 2008 at 3:54 am

Your rescued my comment well, he’s now as first intended.

Localization is a must have nowadays, but I think field exclusions is important too. I mean, a form with more than 3 fields often exhauste in advance the reader. He’s like “oh damn, too many fields, I’d better not write him.

Glad to heard we’ll have more space to write here soon ! About the preview idea, you seem to have chosen to go with something “live”, but my opinion on is that a classic static preview would be fine.

Or if you think live is better, I think a button would be nicer than a “letter by letter autoupdating live box”; a button that would create the preview dynamicaly on submit. It can be done really easily with Mootools (I prefer Mootools over the others libs, but they can do too).

What do you think ?

PS: damn, I want the 404 plugin !!

8Perishable

January 9, 2008 at 11:28 am

Good point about field the field exclusions.. I have done that very same thing myself, where I decided not make a purchase or send information because it seemed like too much work. I will definitely be implementing some field exclusivity options in the next release.

As for more comment space, I don’t know how exactly “soon” it will be — remember that 404 plugin I was telling you about? ;)

Let’s see, live versus static for comment previews.. I will have to think about that one. I recall using the live preview option on my old Jupiter theme, and it seemed to work quite well. Although a static preview could be keen as well. - Hmmm..

9Andreas

January 9, 2008 at 12:10 pm

Hi,

is there a way to use the Contact Coldform by puting the directly in the page template source instead of adding it to a post?

Thanks!

10Perishable

January 9, 2008 at 12:30 pm

Hi Andreas,

Currently, the plugin requires either page or post in order to work properly. However, I will certainly look into enabling such functionality for the next upgrade. Thanks for the idea :)

11Stephen Cronin

January 10, 2008 at 2:47 am

As I said elsewhere, this looks great! So clean - I wish my code looked like that!

Congratulations - I’ll be trying it out when I’ve got the time..

12weston

January 11, 2008 at 1:24 pm

Excellent job on the plugin.
May I suggest perhaps a simple improvement to address the field exclusion would be to provide css id for each of the respective fieldsets. Then the user could turn them off with just css.

13Louis

January 12, 2008 at 3:15 am

I disagree with weston. Why generate a content if it’s not of any use ?

If everything worked like that, imagine what search engines crawlers would see, or worse, imagine what pages would look like without CSS applied.

14Perishable

January 14, 2008 at 7:50 am

@Stephen: Thank you kindly! I look forward to hearing your thoughts on the functionality of plugin as well! ;)

@weston: Thanks for the idea.. I think adding unique field ids is a great idea. If anything it will give users a way to style each field individually.

@Louis: Good point about not using the ids primarily for hiding/showing unwanted fields, however, I do think ids are a good idea for reasons previously mentioned.

15Gail

January 15, 2008 at 11:00 am

Hi,
I really like the plugin, but my mail server requires smtp authentication, how/where (in the code) can I enter my smtp username and password so the plugin will actually send the email to the recipient?

16Perishable

January 15, 2008 at 12:03 pm

Hi Gail,

This initial release of Coldform does not support SMTP authentication, however, I am looking into adding that feature (along with a growing list of others) to the next upgrade.

176ft5

February 6, 2008 at 5:00 am

Hey, found your form today and implemented it on my site.
It´s excellent! Thanks for helping me postpone learning to code a while longer!
:-)

18Perishable

February 6, 2008 at 9:37 am

My pleasure, 6ft5 — happy to help postpone the learning process ;)
Thanks for the feedback!

19Rasheed

February 11, 2008 at 5:30 pm

That’s Plugin looks cool.

I am trying to use it my non English blog without success.

When i try to send a message without completing the required information the non English characters become gibberish as described in these links:

http://www.rasheed-b.com/tmp/cold.gif
http://www.rasheed-b.com/tmp/cold2.gif

I tried to find a solution but at last i gave up. May i find here helpful information.

Thanks.

20Perishable

February 11, 2008 at 6:16 pm

Rasheed,

I believe this is a language/translation-related issue, although I am far from knowledgeable in this area. Using methods described here, it is possible to add support for different languages. When writing the plugin, I did incorporate (nearly all) of the hooks needed for successful translation, but simply did not have time to actually translate any of the content. Although I am not 100% certain that this would resolve the issue, it certainly would help to find out. As you appear fluent in both English and Arabic, perhaps you would be willing to investigate further..?

( Also, thanks for the screenshots — I am going to combine them into your first post. )

Regards,
Jeff

21Rasheed

February 11, 2008 at 6:30 pm

Hello Perishable,

Thanks for your quick respond.

I still investigating it more and I don’t thinks it’s a translation issue. I am familiar with translating plugins and this case looks like something different.

I tried to check this similar plugin:
http://www.deliciousdays.com/contact

And here is the result:
http://www.rasheed-b.com/tmp/diff.gif

Arabic characters looks normal.

22Mustafa Saadi

February 12, 2008 at 3:10 am

Hello Jeff, rasheed,

The problem is that all _$POST variables are converted to HTML entities using the htmlentities php function. I don’t think you need that anyway — emails shound be sent in plain format. Anyway, we have uploaded the fix archive to rasheed’s server. Here is the link: http://www.rasheed-b.com/tmp/contact-coldform-fixed.zip

Regards,
Mustafa Saadi.

23Perishable

February 12, 2008 at 8:16 am

Hi Mustafa Saadi,

Thank you for swooping in and saving the day, Mustafa! It should have occurred to me that htmlentities may have been the culprit. Are you sure that removing it does not jeopardize security of the form? I have read almost everywhere about “how important htmlentities is” to prevent JavaScript exploits, XSS attacks, etc.

Thanks for your help!
Jeff

24Mustafa Saadi

February 12, 2008 at 12:57 pm

Jeff,

I completely agree with you. You can really use the following: htmlentities( $html, ENT_QUOTES, “UTF-8″ ); or maybe htmlentities ($s, ENT_NOQUOTES, “UTF-8″); — remember that you should use the “header(’Content-type: text/html; charset=utf-8′);” when posting the data. Best to probably use strip_tags() and mysql_escape_string(), the strip_tags() function simply looks for any markup elements in a given string and removes them.

Regards,
Mustafa Saadi.

25Perishable

February 13, 2008 at 10:51 am

Thanks again, Mustafa! You are a true wealth of information. Your shared insight and work with the plugin will help improve form security and language support in subsequent versions of the Contact Coldform. Thanks again for taking the time to help!

26Rasheed

March 4, 2008 at 7:01 am

Hello Jeff,

I found today a conflict between your plugin and absolute-comments plugin.

http://planetozh.com/blog/my-projects/absolute-comments-manager-instant-reply/

Try to activate this plugin in your blog and try to use absolute-comments plugin and see what’s happened.

After deactivating your plugin it worked.

Can you check this issue ?

Thanking you in advance.

27Perishable

March 4, 2008 at 11:42 am

Yes I have downloaded the plugin and will look into it as soon as possible. Thanks for the heads up!

28Chris

April 2, 2008 at 1:08 am

Is this plugin really not working with Wordpress 2.5 ??

29Rasheed

April 2, 2008 at 5:22 am

Chris,

Mine is 2.5 and the plugin works like a charm.

30Kathy

May 11, 2008 at 5:52 pm

Love this plugin, very easy, works right out of the box.
THANK YOU!
Of course, I have a tiny little question, the name and email input fields are run together, i there a way to get them to line up like the rest of the form?

31Perishable

May 11, 2008 at 6:09 pm

Hi Kathy,

I have just the ticket for you! Copy and paste this CSS code into your theme’s stylesheet. After uploading the file and refreshing your browser, everything should line up quite nicely :) For more information about this CSS “skin”, check out this article. Please let me know if I may be of any further assistance ;)

32Kathy

May 13, 2008 at 5:41 pm

That did it :)
I played around with the left margin & the width a bit. It looks VERY NICE now & it works too.
Thanks again.

33Perishable

May 13, 2008 at 8:37 pm

My pleasure — happy to help! :)

34Cormac

June 6, 2008 at 10:25 pm

Great plug-in! I’m still tinkering with styling options but I;m loving it already! Thanks so much.

35Stan

June 7, 2008 at 10:02 pm

This plugin looks great ! Wish I could use it. Sadly it doesn’t work for me. Everything seems to function properly…except it just doesn’t actually send the mail.

36Perishable

June 8, 2008 at 7:46 am

@Cormac: excellent — I am glad you are enjoying the Coldform plugin! Don’t forget to check out the freely available, Coldform-customized CSS skins designed to easily and beautifully transform your contact form into a virtual work of art ;)

37Perishable

June 8, 2008 at 7:50 am

@Stan: sounds like a possible issue with your web host? The mail delivery itself is very standard stuff, nothing more than PHP’s humble mail() function, which seems to be available on most servers.

38Stan

June 9, 2008 at 8:41 pm

Thanks Pershable

I’m trying to track down the problem, because I can put a simple mail function using a plain text editor in a static xhtml or html page and it works fine. So does other software that utilizes this function.

So, I am checking with my hosting service and thinking it’s something to do with my .htaccess and/or the fact that my Wordpress is on a sub.domain. Or perhaps it’s my Wordpress version itself (2.2..1)

I am determined to get this to work. It looks like too good and necessary of plugin for me to pass up.

I will find the solution then come back and let you know when I track down the problem, in case anyone else needs the info in the future..

39Perishable

June 10, 2008 at 10:41 am

Thanks for the update, Stan! Following up with the results of your investigation would be very helpful indeed, especially for others who may be experiencing the same issue. I look forward to hearing back from you.
Regards,
Jeff

40gg

June 10, 2008 at 11:18 pm

Thanks.

41Perishable

June 10, 2008 at 11:43 pm

My pleasure!

42Stan

June 12, 2008 at 12:03 am

Update

Ok, sometimes it’s the simple things that drive you crazy. I checked and double checked everything scoured through my php.ini…read almost every post at the large support forums of my webhost. Checked my error logs and never saw a thing relating to coldform. Saw some other errors but nothing to do with coldform

Turns out I had to de-activate my ‘Automatic Upgrade’ plugin. Wierd I know, but that seemed to release the coldform from whatever limbo it was in and it began working !

I had installed and activated the automatic upgrade plugin to try it out…it didn’t work…and I forgot to deactivate it.

Then later on when I installed coldform it (auto upgrade)) interfered with coldform somehow.

Then I decided to check my error logs immediately after attempting to use coldform and an error popped up about the auto upgrade plugin…that’s when I hit pay dirt.

Wish I’d have thought of that sooner…whew

Great plugin !
Thanks,
Stan

43Perishable

June 14, 2008 at 9:01 am

Excellent sleuthing, Stan! Glad to hear you worked it out. Also glad it wasn’t an issue with the Coldform plugin itself! So, I wonder what’s up with the Auto-Upgrade plugin? I personally have never used it, but know of several people who do.. Did you happen to notice any changes in the Coldform files themselves (or in the Coldform database options) after Auto-Upgrade interference? Either way, this is useful information that certainly helps others who may find themselves in a similar situation. Great work and thanks for the update!
Regards,
Jeff

44Stan

June 15, 2008 at 6:47 pm

I don’t know what’s up with the auto update plugin except it didn’t work. When I forgot to de-activate it, my blog still ran fine. So fine, that’s one reason I have not been in a hurry to upgrade. I’m still at WPv 2.2.1

But I’m thinking that when I’m ready I’ll probably do the upgrade manually. I will feel better having complete control and know every thing that has taken place…got to be better than not knowing what actually went on.

As far as any changes to the coldform files it doesn’t seem like their were. I wasn’t paying very close attention to detail when I glanced through the coldform files before installing. I could have missed something.

I would bet that nothing did change in the files since coldform is working flawlessly. (now that the auto update plugin released it from a headlock)

Thanks Jeff.
Regards,
Stan

45Perishable

June 17, 2008 at 9:53 am

Right on, Stan! Thanks for taking the time to share this information with everyone. And, I completely agree about performing manual upgrades. Having full control over a rather unpredictable process is always a wise approach. Also, glad to hear that the Coldform is working flawlessly. It is designed to do one thing and do it well, so I am grateful for the positive feedback. Thanks again for keeping us in the loop — best regards to you and your site! :)
Cheers,
Jeff

46derek

August 20, 2008 at 8:34 am

I am curious if your plugin can generate an automated response email thanking users for filling out the form?

Thanks.

47Jeff Starr

August 20, 2008 at 8:45 am

Hi Derek, that would be easy enough to integrate, but not currently included in this version. It’s a great idea though, and I will look into adding such functionality in the next update.

48Louis

August 20, 2008 at 10:56 am

I’m not sure if this is a great idea. Does anyone actually like receiving such mails?

I know I don’t.

49Jeff Starr

August 20, 2008 at 11:14 am

Good point, Louis. What about providing an option in the admin area?

50derek

August 20, 2008 at 11:37 am

I think providing an option would be wise. I agree not everyone always enjoys getting and then deleting these kinds of emails. However, I have worked with clients before where this is a feature they have demanded. Thanks for your feedback.

51Louis

August 20, 2008 at 11:40 am

My vision of things is: we should not encourage such bad practices, even if it makes us miss (stupid?) clients and therefore, money.

Of course, I understand that not everyone will go by my side :D

52Jon

August 21, 2008 at 8:11 pm

Wanted to say thanks for a great wordpress contact form plugin! I’ve been using a number of contact forms on my blog, moongrabber, and they’ve all had problems until now.

53Jeff Starr

August 26, 2008 at 9:28 am

My pleasure Jon — glad to be of service :)

54Juan PAblo

September 11, 2008 at 7:42 am

Hello! I’m trying your plugin in my site ebanking.cl

Gor the moment it’s working fine, although it would be nice to have an option to disable some fields, in ym case, I would prefer to disable the spam field.

My best regards,

55Jeff Starr

September 14, 2008 at 7:32 am

Hi Juan, thanks for the feedback — great to see you using the Coldform!

Although I don’t recommend disabling the spam field, I do think that options to show or hide each of the input fields would be useful. As it is, removing the spam field would take a fair amount of code-wrangling, and I don’t recommend it.

Regards,
Jeff

Subscribe to comments on this post


Share your thoughts..

TopRead official comment policy

Contact Perishable Press

  • Contact Jeff via form

Search Perishable Press

About Perishable Press

Perishable Press is the virtual playground of Jeff Starr — visionary, founder and lead developer of Monzilla Media, a small web and graphic design company in the lush desert oasis of Moses Lake, Washington. Perishable Press features articles and tutorials on many aspects of digital design..

Read more..

Perishable on Twitter

automation is great: i've got photoshop batch processing 300+ images while FTP is simultaneously uploading them to the server..

Perishable on Tumblr

Tons of Firewalls

Tuesday, 7 October 2008, 1:45 am

Recently overheard on conservative talk radio (instructing listeners how to obtain a free promotional video from their new website):

“This website has tons and tons of firewalls, so you have to use your real email address to download the video..”

The Quiet Search Revolution

Monday, 6 October 2008, 12:15 pm

Just a thought.. As awesome as Google is these days, it would suck if they ended up owning the entire search-engine business. When they get to the point where all competition is impossible (due to their sheer size, financial resources, media influence, etc.), how many alternate search engines will have the resources for continuous improvement and top-quality search results? When this happens, we will have no choice but to do exactly what Google tells us to do.

As deeply ingrained as it is for everyone to instinctively and unthinkingly turn to Google for their search activity, it is time to leave a few alternate search tabs open for as much use as possible. Instead of using Google just because that’s what you always do, try your search on MSN, Yahoo, Ask, or any of the other independent search engines instead. Sharing traffic with other search engines is a nice, quiet way to keep the competitive spirit alive and well in the search-engine business.

Disappearing WordPress Posts

Wednesday, 1 October 2008, 7:50 pm

Today I experienced difficulties while trying to publish or even save new posts in WordPress. I would compose the post as usual, add all of the keywords, tags, meta tags, and so on, but as soon as I clicked the “Publish” or “Save” button, the post would just disappear from existence.

The weird thing is that during the drafting process, WordPress’ default auto-save feature showed that the post had been saved at expected intervals. Unfortunately, after trying to publish several different posts, WordPress showed absolutely no record of the posts ever being created. They simply vanished into thin air.

Fortunately, a little investigation revealed the culprit. If you should find yourself dealing with this same issue, here are some different things that you should try. First, re-upload fresh copies of your entire WordPress installation. I don’t know why exactly, but apparently various files can either go stale or completely disappear from the server. Overwriting or writing fresh files may do the trick.

If that doesn’t work, check your WordPress database for errors. In my case, a little investigation revealed that something had caused a couple of fatal errors in the wp_posts table. Fortunately, checking and repairing the table solved the issue.

Tumblr Battles

Wednesday, 1 October 2008, 5:30 pm

Please excuse the duplicate Tumbr posts.. seems there is no way to ping Tumblr to refresh/rebuild the RSS feed according to changes in post content. So, to resolve the issue I have discussed now like two or three times regarding paragraph elements and proper feed formatting, I have no choice but to repost a majority of my text posts.

This is necessary for the proper import and display of my Tumblr feed into WordPress. Currently, there are five items displayed at once, each styled according to proper inclusion of paragraph tags. Thus, whenever the Tumblr feed “forgets” to enclose single-paragraph posts with the proper tags, the result is an unstyled post entry displayed on my site.

Assuming that makes sense, you will please excuse my dust while I repost a few older entries in an attempt to reconstruct (the hard way) a properly formatted Tumblr feed.

More Optimization Measures

Wednesday, 1 October 2008, 5:27 pm

Another important step in improving the performance of my recent redesign involves the optimization of both CSS and JavaScript content. During development there were around 15 server requests for these two types of files, 10 JavaScript files and 5 CSS files. This was okay for my own use, but would not work for production purposes.

Optimizing these file types involves consolidation, compression, and caching. Consolidation of 10 JavaScript files into three is huge improvement. Now I deliver one JS file for the functionality of the site, one for Mint, and another for Analytics. Likewise for the stylesheets; after consolidation, a single stylesheet is delivered to all modern browsers. There are two additional stylesheets as well, but they are targeted at IE6 and mobile browsers and will not load elsewhere.

Once the files were consolidated as much as possible, it was time to optimize or “crunch” them. Using the sexy Flumpcakes CSS optimizer, I was able to reduce my stylesheets by around 25%. Likewise for JavaScript, I used xtreeme.com’s optimizer to shave an additional 20% off the size of my JS content.

Finally, once I had consolidated and compressed my JS and CSS files as much as possible, I wanted to further my optimization efforts by ensuring that these files were cached by the browser. By setting far-future Expires headers for everything but the statistical files, my site gains an additional performance boost by eliminating the need to reload preexisting content.

Read more on Tumblr..

Subscribe to Comments Recent Dialogue

  • Adam Singer: Thanks for this. You're right, if it isn't broken, don't fix it. I was about to update my permalinks and install a plugin to redire...
  • Marilyn: It looks great on my browser! I wish I had that much creativity in my head! It's gorgeous!...
  • Randy: "Too girly?" It looks like a great design. Define "too girly!"...
  • Christopher Ross: .htaccess based redirects are wonderful. I'm always baffled by web professionals who don't take the time to learn more about them....
  • federico: Hi Jeff... tnx so much...it worked perfectly... c u Federico...
  • Cooltad: The skin seems (mostly) fine in my expert opinion. Your one of the few people able to make a design with a transparent table and a b...
  • Neal: The free Intro to Linux book is a great place to start http://www.ischool.utexas.edu/mirrors/LDP/LDP/intro-linux/html/index.html ...
  • Louis: @Jeff: Your “Archives” page is slick, although I would expect a cleaner implementation from such a vehement advoc...
  • Jeremy: Well I think that you may be over-critical, I don't see a darn thing wrong with it - I like it a lot!...
  • Jeff Starr: Alright, this is exactly the kind of information I was hoping to get. Lots of great ideas and recommendations here. I will be reading...

Read more recent comments..