About Sallie Goetsch

Sallie Goetsch (rhymes with 'sketch') has been using WordPress since 2005, and co-organizing the East Bay WordPress Meetup since May 2009. You can find her podcast consulting persona at http://www.podcastasylum.com.

Find and Replace

I don’t know why this feature isn’t built into WordPress. It’s one we’ve desperately needed since the beginning, so when I first discovered the Find and Replace plugin, I just about threw a party. (And when I installed it I noticed that one of the developers is someone I know from the WordPress LinkedIn group.)

The plugin lets you search through posts, pages, and trash, and replace one string with another. It’s very handy for those occasions when you’ve relocated a blog and need to change a URL everywhere it appears, or your database import has left you with gibberish for all your curly quotes. Yes, you can go in and fix these things with phpMyAdmin, if you know something about database management—ugh. Or you can go in and make the fixes manually. Double ugh. I’ve done it. This is much, much easier.

For instance, I just noticed that I had a wildly outdated wp-config.php file for the Reports from the Asylum blog/podcast. When I switched over to the latest version of that file, my special characters all went to hell. I installed this plugin and fixed them.

Step 1: Copy gibberish code and paste into the “search string” box.

Step 2: Put appropriate HTML code for the special character (e.g. “ for “ or — for —) into the “replace string” box

Step 3: Select the appropriate choice (post, page, trash, post page and trash) from the drop-down menu

Step 4: Click the “search and replace” button.

Find-and-replace

You’ll get a message saying that the replacements will be made when resources are available, but in my experience, it was immediate.

Because there’s no option to confirm each replacement (the way there is in, say, Microsoft Word), you want to be very sure that the string you’re replacing is unique. URLs and gibberish code are good candidates. So is HTML, if, for instance, you wanted to switch all your <i> to <em>.

Not everyone will need this, but if you do need it, it will save you hours.

Building a WordPress Blog People Want to Read

Building a WordPress Blog book cover Building a WordPress Blog People Want to Read by Scott McNulty

Paperback: 272 pages
Publisher: Peachpit Press; 1 edition (November 21, 2008; copyright 2009)
Language: English
ISBN-10: 0321591933
ISBN-13: 978-0321591937
Product Dimensions: 8.8 x 6 x 0.6 inches

MSRP: $29.99
Amazon.com price (affiliate link): $19.79

I checked this book out of the library last week because I hadn’t had a chance to read it when it first came out. The screenshots of WordPress 2.6 are a reminder of how much, and how fast, WordPress has changed, yet much of the content remains relevant.

The book is beautifully designed and typeset—kudos to WolfsonDesign—and entertainingly written, a combination that makes for rapid readability. And while it doesn’t go into immense detail, it covers pretty much everything. (“Oh,” I found myself thinking. “Is that how you were supposed to use the original gallery feature? I never could get it to work.) It even provides tips on what to do if your blog has been hacked.

One thing I found a bit peculiar was the order of the subjects: McNulty leads readers through all the details of creating content and adding media before tackling themes and plugins. I almost always choose a theme and install the most critical plugins before I start working on the content, and I think most people paint their houses before they furnish them. On the other hand, many people really do just use the Kubrick theme for their blogs.

Peachpit seems to be producing other WordPress books rather than asking McNulty to update this one, which I think is too bad. It would be worth bringing out a new version covering WordPress 3.0. Meanwhile, read this one for what’s still relevant.

Meetup Members’ Plugin Picks (June 2009 and Feb 2010)

Somehow the June Meetup notes with favorite plugins never got posted. There was another request for plugin recommendations in February. Here are two lists with some plugin suggestions from the two events.

June 2009

  • Google Analyticator for inserting your Google Analytics tracking code. It knows not to count your own visits if you’re logged in as administrator. (Still compatible with 2.9.2)
  • Calendar lets you insert a calendar for appointments using a shortcode. (Compatible up to 2.8; may or may not work with 2.9)
  • Bad Behavior helps keep out the spambots (and other malicious bots). (Compatible up to 2.9.2)
  • Contact Form 7 lets you build contact forms easily and insert them into posts and pages with a shortcode. Includes Akismet integration and captcha to keep you from getting overloaded with spam forms. (Compatible up to 2.9.2)
  • FormBuilder is the plugin you want when you need forms beyond what Contact Form 7 can create. (Compatible up to 2.9.2)
  • YSlow is a plugin for Firefox, not WordPress, and it’s actually an addition to the Firebug plugin, but you’re going to want both of them if you do any site development. They’ll help you figure out why your site (or someone else’s) is running slowly, and how to fix it.
  • All in One SEO Pack is still a favorite, though our SEO expert prefers Headspace 2 (see below). (Compatible up to 2.9.2)
  • Google XML Sitemaps makes it easier for Google to index your site. (Compatible up to 2.9.2)
  • Shopp is a commercial (meaning you have to pay for it) e-commerce plugin to integrate a shopping cart and payment gateways into your WordPress installation. Many people prefer it to the free WP e-Commerce, which nevertheless has lots of features. (Both compatible up to 2.9.2)
  • WP Super Cache can help speed up your site and protect it from a sudden rush of visitors. (Compatible up to 2.9.2.)
  • WP Widget Cache does the same thing for your widgets. (Compatible up to 2.8.1)
  • WP Limit Posts Automatically gives you more control over where to use excerpts and how long they should be. (Compatible up to 2.3; I’d be surprised if it worked with 2.9, but you can always try.)
  • WordPress Mobile Edition automatically creates a mobile-friendly version of your site for smartphones. Last updated in June 2009 and largely superseded by other plugins; see my post on mobile plugins.

February 2010

  • Akismet. This goes without saying, or should, and comes installed with WordPress. Just don’t forget to activate it. (Compatible up to 2.9.2)
  • Broken Link Checker monitors your blog for broken links. (Compatible up to 3.0 alpha.)
  • Headspace2 SEO has even more features than All in One. (Officially compatible up to 2.8.1, but works with later versions.)
  • Redirection is a lifesaver when 404 errors pop up or when you have to send someone from an old blog installation to a new one. (Compatible up to 2.9.2)
  • Search Unleashed. Everyone knows the search engine is the worst feature of WordPress. This plugin helps. (Compatible up to 2.9.2)
  • WordPress Database Backup is the first backup plugin I ever used and a good, solid, reliable one. I actually made a donation to the developer. On the other hand, it only backs up the database.
  • pageMash lets you arrange your static pages easily by dragging and dropping them. You can even hide pages. The new menu system in WP 3.0 might make it obsolete. (Officially compatible up to 2.7.1, but I’ve been using it on 2.9.2 with no troubles.)
  • Display Widgets lets you create custom sidebars for each page without having to create multiple sidebar.php files and multiple page templates. Amazing! (Compatible up to 2.9.2)
  • AnyFont lets you upload fonts and use them for headers. (It converts the text to images.) Not suitable for long blocks of text, but nice for those with typographic leanings, at least until CSS 3 is widely supported. (Compatible up to 2.9.2)
  • BackupBuddy is a new commercial plugin. It doesn’t yet work on all web hosts, but when it works, it’s amazing. Read my review here. (Compatible up to 2.9.2; requires PHP5; new builds at least once a week.)

Pete Mall, a WordPress core developer, has volunteered to speak to the Meetup about plugin development. Stay tuned for details.

Postscript 3/27/10

Two things I forgot to mention. One is the new Plugin Picks series from the WordCast Network, where Dave and Kym discuss a different plugin each Monday and Wednesday. Another is the Find Replace plugin, which sounds like a candidate for the Most Valuable list, though I haven’t tried it yet.

WordPress in Depth

WPinDepth WordPress in Depth
Bud Smith & Michael McCallister
First Edition: Pearson Education (Que), 2010
Softcover, 432 pages
Dimensions: 7” x 9 1/8”
MSRP: $26.99
Amazon.com price (affiliate link): $19.79

  • Book
  • ISBN-10: 0-7897-4275-6
  • ISBN-13: 978-0-7897-4275-9
  • eBook (Watermarked)
  • ISBN-10: 0-7897-4431-7
  • ISBN-13: 978-0-7897-4431-9

A representative of Pearson Education spotted me on the LinkedIn WordPress group and offered me a review copy of this book, and a second one to give away at the East Bay WordPress Meetup. That was more than a month ago, but I wanted to do justice to all 432 pages and actually read the book in as much depth as it had been written.

Not surprisingly, my fine-toothed comb revealed a handful of typos and printing errors, which I’ve pointed out to Pearson so they can be corrected in the next edition. They’re all fairly minor and I won’t mention them here.

There was only one omission really worth the name, and it made me wonder how many other experienced WordPress users might have overlooked this feature when it came out, because I’m pretty sure the authors aren’t the only ones. More on that in a minute.

The book is detailed but not excessively technical. I wouldn’t give it to my mom, but anyone who is computer-literate should find it accessible. The style is clear, the directions easy to follow, and the decisions about what to put in sidebars and callout boxes logical. There are plenty of illustrations and some impressively detailed tables. The book design, like the writing style, is workmanlike: it gets the job done effectively, without being especially beautiful or inspiring. (You want a WordPress book that’s beautiful, go take a look at Digging into WordPress.)

The most important thing to know about WordPress in Depth is that the first 226 pages are dedicated to WordPress.com. As the authors point out, there are very few resources, online or off, devoted specifically to WordPress.com users. When I first began using WordPress in 2005, WordPress.com didn’t even exist, so I never learned anything about it. But with a meetup to run, I thought it would behoove me to learn. After reading this book, I feel much more confident answering questions about the differences between WordPress.com and self-hosted WordPress (often referred to as WordPress.org).

I’m sure that any WordPress.com user will be able to get the most out of that service with the help of WordPress in Depth. Though, really, the more I learned, the happier I was that I’d always installed WordPress on my own site and had the full range of themes and plugins to draw on. Hosted services (I used Blogger before converting to WordPress) are incredibly limiting.

In moving from WordPress.com to installing the WordPress software on your own site, the authors take us right off the deep end: setting up a web development server on your own computer with XAMPP. It’s great to have this tutorial here, though by no means everyone who uses the .org version of WordPress is going to need a development server. It’s also good to show the steps of a manual WordPress installation. On the other hand, most popular web hosting companies offer a “one-click” installation process for WordPress through Fantastico or whatever their control panel software is, and it wouldn’t have hurt to see a screenshot or description of that process, too, though of course it differs somewhat from host to host.

The next two chapters cover themes and plugins, and here is where that omission comes into play. Every time Smith and McCallister talk about installing a theme or plugin from somewhere other than the WordPress.org/extend/ repository, they tell you to download, unzip, and upload via FTP. It seems that neither of them ever noticed the “Upload” option under “Add New” in the Themes and Plugins sections of the WordPress dashboard, which lets you browse for a .zip file, upload it, and install it.

Upload Theme

I use this all the time, and it works extremely well, except in those few cases where the real theme folder is actually a subfolder, in which case you have to go back and move things around with FTP. Everyone who manages a self-hosted WordPress site should know how to use FTP, but why make things harder on yourself than they have to be? This feature came in with WordPress 2.8, and it’s a handy one.

screen options

Another feature the book never mentions—and which I only noticed myself a few weeks ago—is the ability to set the number of columns for your edit window. So you don’t actually have to switch to full-screen mode (a thing I didn’t know existed until they recommended it on page 86) in order to get a wider window for your content: just choose 1 column under Screen Layout. (I don’t actually like this very much, because I have to scroll down in order to do anything, but then, I normally work on a 17” laptop, and I normally write my posts in Windows Live Writer. On my netbook, it might make a lot more sense to use the single-column layout.)s

The brief overviews of CSS, XHTML, and PHP are certainly not enough to make you expert in any of those things, but they’re surprisingly helpful. (And Pearson publishes titles on all those subjects, if you want to learn more about them. Just search on their website.) You’re not going to become a ninja-class theme developer just by reading what’s here, but having it would have saved me a bit of trial and error in my earliest days of tweaking themes. And since I really knew nothing of PHP beyond what I’d cribbed from the Codex, I found the description in Chapter 15 illuminating.

The book concludes with some handy appendices: a comparison of WordPress.com and WordPress.org, an examination of the existing WordPress documentation, some examples of famous WordPress.org and WordPress.com blogs, a map of the official WordPress sites, and finally a guide to importing your content from other systems into WordPress.

I would recommend this book without reservation to WordPress.com users and to anyone who is about to make or has just made the transition from WordPress.com to self-hosted WordPress. If your main interested is in WordPress.org, however, you may find the first half of the book frustrating. While there are many things that work just the same for the two versions of WordPress, there are also quite a few differences, of the kind particularly likely to trip up beginners who are unfamiliar with the WordPress dashboard.

While not the best book for everyone, WordPress in Depth is a very good book for at least one segment of WordPress users.

Feb 2010 Meetup Notes: WP Q & A

Main Presentation Topic: Learning About WordPress

The presentation PDF is available on the WordPress Asylum website.

Questions

Q: Can WordPress read from a FileMaker database?

A: Anca says WordPress can only talk to MySQL; you can write script that would handle the import. (Well, Anca could.)

Q: When we’re talking about blogs are we using blogs and websites interchangeably?

A: When you install WordPress, it gives you a blog by default, and also inserts one static page, “About.” But you can build an extensive website in WordPress and hide the blog. When Sallie works with WordPress, she’s usually building whole websites, so she says “sites.” It’s the same WordPress software, though.

Q: We’re trying to have static pages for Margopedia that all newcomers will see and also show new posts for repeat visitors. Is that possible?

A: There are ways to do that, but your theme is currently set up to use categories to create pages from the top navigation menu. Doing what you want means tweaking the theme. (Follow-up note: after some back-and-forth, this was resolved by leaving the category pages as they were and creating a new “featured” section on the home page that showed excerpts of the posts with the introductory information.)

Q: I just learned about the concept of CSS. Does WordPress interoperate with CSS? Is there a menu of skills I need to know?

  • WordPress is built in PHP, it relies on CSS and HTML, you sometimes have to deal with MySQL, and Rocky kindly brought his favorite book on CSS. Almost everything about your design is contained in your CSS stylesheet, which is named style.css.
  • Donna Peck explains that CSS is like specifying typography for print.
  • Ann Zerega warns that not all browsers interpret CSS the same way.

While discussing CSS, Sallie happens to mention Artisteer, a software program for quick and easy theme design. The CSS it produces is somewhat less than ideal, but it has its advantages for people who are neither designers nor developers.

Q: What are the best practices for setting up a development environment for WordPress?

A: We were talking about covering it as a future Meetup session. Suggestion to talk to Anca or Lori about setting up XAMPP or MAMP.

People mention problems searching the WordPress Plugin Repository. WordPress has poor built-in search functionality. “I was trying to find out what WordPress could do by searching the plugins, but I couldn’t figure it out.” WordPress can do darn near anything, and there’s probably a plugin for it—but finding it might be difficult. You can also try searching Google for “x WordPress plugin”.

Q: I want people to be able search on multiple categories and subcategories in order to put menus together on a recipe site, and I found one plugin that said “multiple category search,” and that was it. (I think that’s the Multiple Category Selection Widget.)

  • The consensus of the room is that you probably need to get someone to develop that for you. “You hire someone to build it, and then it goes in that repository, and that’s how you pay back in for getting all this other functionality for free.”
  • If you hire a developer to make a plugin for you, will it still work with the next version of WordPress?
  • Probably. Automattic does let theme developers and plugin developers know about major changes that are coming up in new versions of WordPress, and plugin developers usually update their plugins.
  • Some developers stop supporting their plugins, but there’s usually another plugin that will do the same thing, so the worst thing that usually happens is that you have to get a different plugin because the one you have stops working.
  • If a plugin breaks, you can make a post in the WordPress forums about it.
  • If you get a custom-designed plugin, you might want to build upgrades for a certain period of time (say 6 months or a year) into the contract.
  • JD Lasica recommends hiring someone on oDesk to help you with plugin development and other nasty problems. (Sallie recommends hiring Lori Berkowitz or Anca Mosiou, or someone else from the WordPress Meetup community.)

Q: When do you make a plugin, and when do you put something into your theme?

A: If what you do is really specific to your own site, put it in the theme. If it’s something other people can use, make it a plugin. Also, some people try to keep function out of themes and in plugins.

Q: Where can I find tutorials and websites for WordPress end-users: things that will help my clients?

  • WordPress for Dummies is a handy resource. Even for smart people.
  • The best option, apart from recording your own screencasts, is searching YouTube for “WordPress tutorial.” Even older videos might be helpful; though a lot has changed about WordPress, a lot has stayed the same.
  • Someone (Greg?) recommends Lynda.com, and Lou Anne points out that they will give a discount for Meetup Groups, but these coupon codes are not for posting on the web.
  • You can charge your clients money for creating your own screencast with a tool like Camtasia or Jing.

Q: What do you mean when you talk about using WordPress as a CMS?

A: That means using WordPress to manage your whole website instead of just to blog with; choosing WordPress instead of something like Joomla or Drupal.

Q: So what is a CMS, anyway? Just the text portion of the website?

A: A Content Management System lets you assign different users different levels of access, so people without HTML, PHP, or CSS skills can still update their website content. Control of the content is separate from control of the design and the function.

Q: Are there advantages to using the LinkedIn discussion group for WordPress vs. the WordPress.org forums?

A: Sallie likes using the LinkedIn group partly because she uses LinkedIn a lot anyway. But the WordPress developers hang out on the forums. Try them both and see what works best for you.

Q: What percentage of people use WordPress versus Joomla and other CMSes?

A: (Information supplied after the fact.) Wikipedia says that there are more than 200 million WordPress sites. According to http://trends.builtwith.com/ (based on the QuantCast Top Million), 2.07% of websites run WordPress, about .21% of websites run Joomla and 1.64% run Drupal. Looks like WP has the edge there. (Note that they class WP under “blogs” and not “CMS,” and 77% of blogs are WordPress blogs.)

Q: Is the built-in editor in WordPress satisfactory?

A: Sallie usually uses Windows Live Writer to write posts and pages offline, but the WordPress TinyMCE editor is better than the one in Joomla. (Okay, that’s not saying much.) You can paste from Word into Live Writer and it will take out the horrible gibberish that Word puts into your HTML. (There’s now a “paste from Word” button in the WordPress visual editor, but some of us never quite trust those.)

Q: When WordPress 3.0 comes out, what happens to all these themes?

A: Some theme developers will upgrade the themes; some won’t. Most themes will keep working, but some may need some tweaking to take advantage of new features. When WordPress 2.9 came out, you had to add a few lines of code to your theme files to make the post thumbnails feature work, for instance, but that didn’t require a theme designer’s help.

Note: WordCamp SF is May 1st this year.

The winner of the book giveaway for WordPress in Depth was JD Lasica. We’re all looking forward to reading the review on Amazon.com.

It’s WordPress Plugin Developer Donation Day!

Scott Ellis designated March 1st WordPress Developer Donation Day and has urged us all to donate $5 to the developer(s) of our favorite plugin(s) and then blog or tweet about it with the hashtag #wppdd.

There are a lot of plugins I rely on and use in almost every installation. I’m working on getting descriptions of them all posted here, but it’s been slow going. Many of my sites have more than a dozen active plugins. If I donated $5 to a different plugin developer on the first of every month, it would take years to get through them all.

I chose the WordPress Database Backup plugin to donate to. It’s the plugin I’ve used most and could least do without. I’m experimenting with other backup plugins for WordPress, but this is the one I’ve successfully restored data from. It’s been around forever. I can’t remember when I first started using it, but it might have been as long ago as 2005, in my earliest WordPress days. Even if I ultimately replace WP-DB-Backup with a different plugin, Il Filosofo deserves the donation for all the years of service.

PreviewDNS Can Bork Your WordPress Install—But There’s a Fix

A couple of weeks ago a client decided to move her website and blog from Earthlink, and there was much rejoicing. Earthlink is a terrible place to have a WordPress install. You have to do manual upgrades.

The new host, GoDaddy (not my first choice for hosting, in all honesty, though I have some of my own sites there; their servers are slow as treacle), offers a service called Preview DNS so you can make sure everything works on your new site before actually transferring the domain. This is a handy thing to be able to do and a nice thing for them to offer.

There’s only one problem, as I learned to my detriment. If you install WordPress under Preview DNS, the database is going to be really confused and totally bork your blog when you transfer the domain, because WordPress will be looking for http://www.mydomain.com.previewdns.com when it should be looking for http://www.mydomain.com. This means it won’t call your stylesheet properly and you can’t log in. Eeek!

The nice young man I talked to at GoDaddy hadn’t seen the problem before either, but some of the the other tech support staff there had. In fact, they’d actually put together a help file explaining how to solve the problem of unintentionally changing your WordPress URL.

Fixing it involves editing the MySQL database where WordPress stores all its information. It’s been a long time since I’ve done anything with a MySQL database besides back it up or restore it, but if you follow the directions exactly, you’ll be okay.

First you have to log into PHP MyAdmin. If you’ve forgotten the username and password for this, don’t worry. They’re contained in your wp-config.php file, and you can get to that through FTP. (Or I could, because I set the FTP up with the numerical IP address, not the previewdns.com address.)

Once inside phpMyAdmin, you’ll see a bunch of stuff that doesn’t mean much to you (if you’re like me and stay out of SQL databases). What you need is in the upper left-hand corner.

image

Click the white button that says SQL (the other one is for the help file) and enter the following code into the box that pops up, replacing the URLs as appropriate.

UPDATE wp_options
SET option_value = 'http://www.newlocation.com'
WHERE option_value = 'http://www.oldlocation.com'

Hit the “GO” button and you should be all set, at least in terms of things like being able to log in, and WordPress finding the theme’s stylesheet.

As it happened, however, there were a few internal links to other posts and other references to the dread “previewdns.com” link. So I needed to figure out how to fix those. This time, it was Lorelle Van Fossen who came to my rescue, with her “Search and Replace in WordPress MySQL Database” article from 2005. With Lorelle’s help, I was able to replace those lingering links in the body of the posts.

Now that I know this, I’ll be less hesitant to venture into my WordPress databases again if I need to—but honestly, I prefer not to need to. I’m sure this isn’t the last site relocation I’ll ever work on, though, so I’ll probably encounter Preview DNS again.

Learning About WordPress PDF Presentation

Following a tip from Lancelhoff.com, I’m going to try embedding the PDF version of the presentation from February’s Meetup here.

I had to use the second technique, surrounding the URL of the file with <embed src="">, probably because this PDF is also a Flash presentation. (It’s some magic of MindManager’s.)

Here’s proof that you can embed PDF files in your WordPress posts without using something like SlideShare or DocStoc. And it’s dead easy, too.