Antispam Bee: WordPress anti-spam plugin, free alternative to Akismet

Antispam Bee statistics WordPress DashboardThe Antispam Bee plugin has become my favorite free anti-spam plugin for WordPress. I’ve used it for a few months, and it works much better than my previous recommendation, Defensio Anti-Spam. I’ve only had a couple spam messages get past Antispam Bee, and I don’t remember getting any false positives. It integrates right into the default commenting system in WordPress.

Why not use Akismet? It’s excellent and free for personal sites, but according to the Akismet signup page, “If your site is for a business or if it promotes a product or service, you should pick from one of our paid account options.” So, most businesses and nonprofits need to pay for Akismet.

To prevent spam from cluttering your database, turn on automatic spam deletion in Antispam Bee: click Settings > Antispam Bee, and on the Advanced tab, check the box Spam will be automatically deleted after. I set it to 30 days. You can optionally display statistics and a spam counter on your dashboard; just check the boxes on the General tab.

Antispam Bee spam counter WordPress Dashboard

Share

Semisecure Login Reimagined plugin secures WordPress login without SSL

It’s dangerous to send your WordPress username and password over the Internet unencrypted. The best option is to secure your login page with SSL. If that’s not an option, use the Semisecure Login Reimagined plugin instead. I’ve used this plugin on several sites for years.

Below are screenshots of the login page before and during login. The plugin puts its messages just above the Remember Me checkbox. The red outline and asterisks in the 2nd screenshot are from LastPass.

Semisecure Login Reimagined WordPress login page

Semisecure Login Reimagined WordPress login page

Semisecure Login Reimagined encrypting login

Semisecure Login Reimagined encrypting login

Here’s more information about this plugin from the WordPress Plugin Directory (Description and FAQ):

Description

Semisecure Login Reimagined increases the security of the login process by using a combination of public and secret-key encryption to encrypt the password on the client-side when a user logs in. JavaScript is required to enable encryption. It is most useful for situations where SSL is not available, but the administrator wishes to have some additional security measures in place without sacrificing convenience.

How does this work?

A user attempts to log in via the login page. If JavaScript is enabled, a secret-key is generated and used to encrypt the password along with a nonce, the public-key encrypts the secret-key, and the original (unencrypted) password is not sent. The server decrypts the secret-key with the private-key which is used to decrypt the password+nonce. The nonce is verified before handing the password over to WordPress for verification.

If JavaScript is not enabled, the password is sent in cleartext just like normal. This is inherently insecure over plaintext channels, but it is the default behavior of WordPress.

Is this really secure?

Short answer: No, but it’s better than nothing.

Without SSL, you’re going to be susceptible to replay attacks/session hijacking no matter what. What this means is that if someone is able to guess or learn the session ID of a logged-in user (which would be trivial to do in an unprotected wireless network), then essentially they could do anything to your WordPress site by masquerading as that user.

So what’s the point?

The point of this is to prevent your password from being transmitted in the “clear.” If someone is in a position where they can learn your session ID, under normal circumstances, they’d also be able to learn your password. The proper use of this plugin removes that possibility.

How can I make my site REALLY secure?

Use SSL. This means you’ll have to have a dedicated IP (which usually costs additional money) and an SSL certificate (which is expensive for a “real” one, but if you’re just using this for your own administration purposes, a “self-signed” certificate would probably suffice). Any more detail on these two things is beyond the scope of this document.

Share

Review: Handcrafted CSS: More Bulletproof Web Design by Dan Cederholm

Handcrafted CSS: More Bulletproof Web DesignHandcrafted CSS: More Bulletproof Web Design by Dan Cederholm

My rating: 4 of 5 stars

In this visual book, Dan Cedarholm and Ethan Marcotte demonstrate 3 principles of “handcrafted CSS” through several specific examples. The examples feature border-radius, RGBA, modular floats, fluid grids, typography, and jQuery. The examples won’t age well, but the concepts certainly will.

I liked the advice that one should be an “80 percenter”, focusing on the details that matter rather than obsessing over complex solutions. I read this book because it was listed in .net Magazine’s The top 25 books for web designers and developers.

Aspects of handcrafted CSS

  • bulletproof design: designing with flexibility and adaptability
  • progressive enrichment: rewarding advanced browsers while allowing others to degrade acceptably
  • reevaluation of past methods and best practices: finding easier, more efficient ways to solve problems

Notes

  • Opacity affects the transparency of the element and anything contained in it. RGBA affects only the transparency of the element’s background or color.
  • Check your site’s stats and design for the browsers your users use.
  • Find free fonts at Jos Buivenga’s exljbris Font Foundry.
  • target / context = result
    • target font size in px / font size of container in px = desired font size in ems
    • can also be used to calculate em or percentage based widths

View all my reviews

Share

Review: Introducing HTML5 by Bruce Lawson

Introducing HTML5Introducing HTML5 by Bruce Lawson

My rating: 3 of 5 stars

An entertaining introduction to HTML5 with real-world examples. Bruce Lawson and Remy Sharp have a creatively funny writing style, and I laughed at many of their code samples. The book covers several topics: structure, text, forms, video and audio, canvas, data storage, offline, drag and drop, geolocation, and messages, workers, and sockets.

I liked the chapters on structure, text, forms, and video and audio. The remaining sections were good for me to read about, but I won’t likely be using them soon since I’m a web designer, not a developer. I definitely didn’t get as much out of this book as I would have if I knew more JavaScript. I’m currently (re-)learning JavaScript through Lynda.com.

SitePoint recommended this book. I enjoyed it much more than Sams Teach Yourself HTML5 in 10 Minutes.

Notes

  • Use Modernizr for backwards compatibility with older browsers.
  • The Internet Archive will convert and host audio and video for free.

View all my reviews

Share

Review: CSS: The Definitive Guide by Eric A. Meyer

CSS: The Definitive GuideCSS: The Definitive Guide by Eric A. Meyer

My rating: 4 of 5 stars

“Definitive Guide” is a fairly accurate title for this 3rd edition of Eric Meyer‘s CSS textbook; it’s a deep dive of sometimes eye-glazing detail. It’s quite technical in its explanations of the math and calculations that CSS performs. There are CSS snippets and screenshots of the results, but it’d be better if they were in color. The book was published in 2006 so it’s missing CSS3, but given the widespread use of CSS 2.1, the book is still relevant. My favorite topics were floating and positioning, generated content, pseudo-classes and pseudo-elements.

Types of positioning

  • Relative: element’s box is offset by some distance. Element retains its shape, and space it would have occupied is preserved.
  • Absolute: element’s box is removed from flow and positioned with respect to its containing block (nearest block-level ancestor box). The space it would have occupied is closed, as though the element didn’t exist. The positioned element generates a block-level box.
  • Fixed: element’s box behaves as though set to absolute, but its containing block is the viewport.

Display: none vs. Visibility: hidden

display: none renders the element invisible, and it doesn’t take up the space it would ordinarily. visibility: hidden renders the element invisible, but it takes up the space it would ordinarily.

View all my reviews

Share

How to change the WordPress permalink structure to postname

I’ve been changing the permalink structure for WordPress sites to simply postname, and you can do the same! I’ll show you how to generate the redirects you need.

WordPress permalink structure

In the past, I’ve configured WordPress to use the permalink structure Day and Name, which formats the URLs for posts as /%year%/%monthnum%/%day%/%postname%/. Although I knew that a simple %postname% would produce shorter, more memorable URLs, I avoided that structure because it had been shown to result in slower performance.

WordPress 3.3 fixed that issue. The 3.3 release notes in the WordPress Codex say, “Use
the postname permalink structure without a performance penalty.” WPCandy also covered this improvement in the articles Recent commit to 3.3 eliminates performance issues with postname permalink structure and Everything we know about the newly released WordPress 3.3.

So, how do you safely change the permalink structure of an existing site to postname, without breaking all the external links to your posts? You’ll probably need to generate redirects to add to your .htaccess file. Renowned WordPress developer Joost de Valk has a generator in his article How to Change WordPress Permalinks. The tool gives you the redirect you need to add to the top of your .htaccess file.

Share

Free WordPress training videos: WP101 from WPtuts+

WPtuts+ has many high-quality WordPress training videos in their WPtuts+ WP101 tutorial series. These videos used to be available only through a subscription to WP101.com, but you can now view most of them for free at WPtuts+.

WP101 videos

These are just a few of the topics covered:

  • The Dashboard
  • Creating a New Post
  • Using Categories and Tags
  • Creating and Editing Pages
  • Add Photos and Images
  • Managing Comments
  • Adding Widgets
Share

Review: The Web Design Business Kit by Brendon Sinclair (SitePoint)

The Web Design Business Kit 2.0The Web Design Business Kit 2.0 by Brendon Sinclair

My rating: 5 of 5 stars

This SitePoint kit is packed with actionable advice and recommendations for web design and development businesses. The author draws on 10 years of firsthand experience plus tips from other successful web professionals. It’s a well-organized, easy read with summaries and key points. There are plenty of anecdotes and case studies to illustrate the concepts. Overall, it’s both practical and incredibly motivational. I highly recommend it!

One thing that stands out is how much time Sinclair devotes to hobnobbing with prospects and clients. As the executive director of his web development and marketing firm, he has other people to do the actual design and development work, giving him time to spend on socializing and marketing. Since I’m running OptimWise as a freelancer, I need time to build websites as well as find prospects and keep in touch with clients. However, I fully acknowledge the importance of working on your business as well as in it.

My favorite topics were pitching, marketing, developing your unique advantage, sales and add-on sales, and client relations. A few topics weren’t relevant to me at this time, such as finding large clients, managing employees, finding an office, and expanding the business.

A second binder contains sample documents including a business plan, promotional letters, thank you letters, proposals, and contracts/service agreements. These weren’t as helpful as I thought they’d be, probably because I’ve already looked at so many examples when creating my own.

Major points

It’s never about the price. It’s about the perceived value for money.
Contact + care = profits. Communicate regularly with clients and provide superior service. Build a database of prospects and clients, including their birthdays, interests, etc., and use this to find reasons to contact them.
Rewarded behavior gets repeated. Send thank-yous and gifts to clients, business partners, contractors, and referrers.
View sales as creating long-term relationships, not making short-term transactions.
Pre-qualify clients by asking lots of questions to understand their true needs.
Most work will come via word-of-mouth, within a 50 mile radius from you.

Presentation and perception

Clients don’t care about your abilities. They only care about whether you’ll make them money. So, they judge you on dress, communication, and professionalism.
The client’s perception of you is reality, regardless of facts. Present yourself as skilled and successful.

Marketing

Ask clients how they found you or your competitors, then use those marketing channels.
Your marketing message: tell the prospect their problem (such as not making enough money), then offer the solution: a better website. Finally, ask them to contact you. Be professional but entertaining to stand out.
Don’t provide free work unless there’s an obvious and achievable benefit, such as referrals, publicity, making a good portfolio piece, etc.

Promotional options

  • write articles
  • hold seminars
  • ask for referrals, especially from local computer and Internet businesses
  • write reports and offer them free
  • speak at events
  • send newsletters
  • attend networking events
  • write press releases

Pitches, proposals, and quotes

Your business exists to help your clients prosper. For business clients, this means making them more money.
Clients care more about convenience and value for money than price.
Provide a proposal, not a quote. A proposal includes recommendations and quantifiable benefits (financial or otherwise) of the site.
Ask the client what their budget is, in order to provide an accurate proposal.
Overcoming budget objections: break the proposal down into pieces to show the value of each, and complete the project in phases. Don’t give anything for free!
When a client says no, they often just mean, “not now.”

How to pitch to prospects

Put on a show, demonstrate expertise, and charge accordingly.

  1. Demonstrate your expertise by mentioning your experience and results.
  2. Tell stories and anecdotes.
  3. Prove your credibility with testimonials or media appearances.
  4. Leave price until the end, once you’ve quantified benefits.

Pricing

Don’t charge hourly or match your competition’s pricing; those don’t scale. Charge based on the value you deliver to the client.
Charge clients up front a 50% deposit plus the cost of purchases made on behalf of the client.

Sales

Sales isn’t manipulating people to do something they don’t really want to do; it’s persuading people to do what they want to do.
Tell prospects and clients what their problems are, then offer the solution.
Show clients that you can make their business succeed and be better than their competition.

Offer superior service, not price, as your unique selling proposition.
Communicate regularly with prospects, clients, and even prospects who’ve rejected you. The more contact, the more sales.
The longer you spend with prospects, the more likely they are to buy.
Ask for the sale. Don’t just send a quote. Walk through the proposal, then ask, “Would you like us to work on this with you?”

Repeat and add-on sales

Offer add-on sales to existing clients. Educate them about new technology and trends and propose adding them to their sites. Recommend add-ons when nearing completion of the initial site, and also after launching the site.
Don’t offer add-ons as options; offer them as custom solutions you recommended. Clients want solutions, not a range of choices.
Don’t include maintenance in the initial proposal. Say that you’ll provide a proposal later, near the end of the initial design. Propose when about 75% complete. They’ll be more likely to agree because they’re financially and emotionally committed to the site.

Client relations

Service is more important than product or price.
Show clients you care by keeping them informed.
Satisfied clients won’t stay with you; only delighted ones will. Exceed their expectations, and make sure they know it by telling them what extras you’ve given them.
Stay in the minds of prospects and clients by using phone calls, handwritten thank-yous, occasion cards, and gifts.

When the client asks for something out of scope, say, “Good idea. I can do that for $x and it will delay the site y days. Would you like to proceed?”
Actively seek out complaints to learn how to improve and satisfy clients.
Don’t undervalue your skills by making your work sound easy.
When possible, buy from your clients’ businesses to show your support.

Legal

In your agreement letter, state that payment of invoice represents agreement to terms.

View all my reviews

Share

Zeeland Civic Chorus website design

zeeland civic chorus screenshot

Zeeland Civic Chorus: zeelandcivicchorus.com

The Zeeland Civic Chorus presents Handel’s Messiah each year near Christmas. The chorus needed a website to provide information about their performances. They had been relying on announcements in newspapers and church bulletins, but people would miss these and call chorus members for information.

The chorus also wanted to sell their CDs year-round, not only at live performances. I put a few sample tracks on the site, with a way to order the CDs via PayPal.

The site also features information, pictures, and a video of the chorus and soloists, a contact form, and a page for donations.

Visit the live site at zeelandcivicchorus.com.

Share

CCHS Retirees website design

CCHS Retirees screenshot

CCHS Retirees

Covenant Christian High School wanted a site to commemorate the careers of two retiring teachers. They wanted to provide information and pictures of the teachers, plus a way for people to leave public comments and send private congratulatory messages to the teachers.

I built a simple site with the teachers’ biographies and space for comments, as well as a photo gallery with vintage photos of each teacher. I also gave each teacher a contact page for people to send private messages directly to the teachers.

This site is now offline.

Share