I’m not an SEO expert, but I know a heck of a lot more than many people who claim they are. For the record, I’ve been messing with SEO since it was ‘correct’ to put hidden text in the source code of your site. I used to spend time getting sites to rank well on Lycos and Altavista, back when I was but a wee intern for my friends. It’s fair to say I’ve been around the block with SEO.
I don’t consider myself an expert because of skill, though in the last couple years, I’ve decided not to keep up as closely with things like schema, mostly because I don’t have to. I still retain a solid grounding in what does and does not make for good SEO (content!), and I understand that part of good SEO isn’t just content, it’s how the content is displayed for the reader, but also how the information is sorted for the computers at search engine companies.
This does not mean that the themes I use aren’t ‘SEO’ optimized, of course. It means that I don’t use their ‘extra’ features. I use, primarily, StudioPress’ Genesis Framework right now, and that comes with an SEO settings page which I never use. Ever. In fact, I turn it off in any child theme I make. This is not because I don’t think that it’s useful, but that what I do ‘use’ for SEO is already included.
My SEO consists of making my content fantastic, using a theme that includes schema headers (or adding them myself if not), and following the guidelines Yoast outlines in his article WordPress SEO Tutorial. I don’t do everything he says (he likes ‘category/postname’ for permalinks, I like ‘year/postname’ but if date doesn’t really matter, I use category instead), but I do read and think about what it means.
That’s the crux isn’t it? I don’t blindly follow advice, or use a plugin or theme because people say I have to. I read, I think, and I come to logical conclusions, and I apply them after I write my post.
For example, Yoast says not to use ‘stopwords’ in titles and make them SEO friendly. I take this to mean your human readable title should be gripping, but the title slug should be short, to the point, and descriptive. So I customize every single title. I come up with four or five before I post, and then when I have one with a good grab, I tweak the title slug to be as short as possible, while still being descriptive. Sometimes I’m better at this than others, but I keep working it.
Next I customize my ‘publicize’ lede. This has to be good and it has to be short. I know I’m using my helf.us yourls, so the URL itself will be tiny, but that doesn’t mean I should use just my title for Twitter. I customize it, trying to make it a little more witty and pithy, to reflect me and my readers. Finally I customize my excerpt. Oh yes, my excerpts are all custom written, and they are intended to grab you hard. Like Yoast, I feel the only well written description is a hand written one, and I do it. For everything.
This puts me at a funny disadvantage. Most plugins and themes I’ve seen tend to want you to make a custom meta description. There are plugins (like the one I do use, listed further down in this post) that allow you to use your excerpt as descriptions, but I’ve never quite understood why themes make this so hard. In Genesis, I have a field for “Custom Post/Page Meta Description” in every post, which if I use it, will change the meta value for description.
When I dug into the code, I saw that it was pulling this:
genesis_get_custom_field( '_genesis_description' );
Clearly all I need to do is make that default to what I want. And when I figure that out, I’ll let you know. Right now, all I could do was remove Genesis’ function and replace it with my own. Not elegant at all.
Now all that said, there are times when I see to ‘improve’ upon the SEO I’ve been given, because someone else is handling the content will far less care than I give. When that happens, I grab Yoast’s WordPress SEO Plugin. But for the most part, I don’t do anything on a regular basis that involves having to ‘customize’ my SEO, so it’s infinitely portable to any theme I want.
Comments
4 responses to “Is SEO Best Handled by a Plugin or Theme?”
You didn’t really answer the question posed in your title. :p
The answer, of course, is that if you’re going to implement SEO tools, modification, or content, then the correct implementation is via Plugin, not via the Theme. The reason should be obvious: when (not if) you change your Theme, if your Theme defined your SEO, then you lose all of that SEO definition.
Any properly coded Theme provides the necessary hooks for a properly coded Plugin to interject SEO tools, modifications, and content. That’s all a Theme needs to do, and all a Theme should be doing.
@Chip Bennett: The majority of ‘tough’ questions people toss at me are a massive case of ‘it depends.’ It’s all fine to tell people to use a good theme, and see where the weak spots are, then use a plugin to fill the gaps. But be aware you may have to change how the plugin is configured when you change themes (yes, when, not if).
So you can’t just say “Oh use a Plugin and forget about it.” because you and I know no two themes are equal, and some need SEO lovings, and some are fine.
Take Genesis. I was having a stupid problem with Facebook and it’s og:images not being set ‘right’ on some pages. Do I edit the child theme and make a function that says “If there’s no featured image, use this as a fallback” or do I install a plugin for one simple setting? Oh and this setting MAY NOT be carried to my next theme?
Hard to say.
But to the other point, no, I don’t think a theme should have all the bells and whistles that WordPress SEO or All-In-One SEO have. That would be doing_it_wrong() 🙂
Why do you use ‘year/postname’ for permalinks? Is it for performance reasons?
I remember reading somewhere that a permalink that begins with a “number” requires less database queries as WordPress can use it to differentiate between Pages and Posts.
@Jesin: Performance issues like that were solved in WP 3.2 or so. I do it because the year of a tech post is actually often important. Like directions on how to install software from 2008 is not the same as 2013. Some posts are timeless, but most get revisited, and I like an easy way to know what era we started in 🙂
Also I just like that in my URLs.