Pictures From Pubcon Paradise 2012

I thought this was appropriate as an introduction, from the opening evening networking event sponsored by TastyPlacement:

Pubcon Paradise 2012

Day One of Regular Pubcon Sessions:

Pubcon Paradise 2012

Pubcon Paradise 2012

Pubcon Paradise 2012

Pubcon Paradise 2012

Pubcon Paradise 2012

Pubcon Paradise 2012

Pubcon Paradise 2012

Evening Networking Party Sponsored by the Social Media Club of Hawaii:

Pubcon Paradise 2012

Pubcon Paradise 2012

Pubcon Paradise 2012

Pubcon Paradise 2012

Pubcon Paradise 2012

Pubcon Paradise 2012

Day Two of Pubcon Regular Sessions:

Pubcon Paradise 2012

Pubcon Paradise 2012

Pubcon Paradise 2012

Pubcon Paradise 2012

Pubcon Paradise 2012

Pubcon Paradise 2012

Pubcon Paradise 2012

Pubcon Paradise 2012

Pubcon Paradise 2012

Wrap-up Party at Jimmy Buffet’s

Pubcon Paradise 2012

Pubcon Paradise 2012

Video Tutorial: All in One SEO Pack to Yoast WordPress SEO Plugin Migration

We’ve seen the light and are converting to the Yoast WordPress SEO plugin on all of our sites. However, when migrating from your existing SEO plugin to the (superior) Yoast plugin, there are a few tricks along the way that will help your conversion go seamlessly and keep your pages displaying properly. This tutorial walks you through the migration from the All in One SEO Pack to the Yoast SEO plugin for WordPress. Watch and learn – you (and your website) will be glad you did.

Video Tutorial: How to Clean Up Your WordPress Head

By default, WordPress prints a lot of extra code to the “head” section of webpages that it generates. For example, it prints a “generator” meta tag that identifies the site as a WordPress site–that can serve as a flag to hackers that specifically target WordPress sites. In this video tutorial we’ll learn a quick and easy way to clean the following items from your WordPress installation:

Here’s code to install in your functions.php to follow the above tutorial:

remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'feed_links_extra', 3);
remove_action('wp_head', 'start_post_rel_link', 10, 0);
remove_action('wp_head', 'parent_post_rel_link', 10, 0);
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );

How to Add a Sidebar to Your WordPress Theme

Most simple WordPress templates/themes generally employ a single sidebar. But, in keeping with WordPress’ open architecture, you can easily add a second (or 3rd or 4th) sidebar to your site’s theme. And, you aren’t restricted to using your sidebar in the typical sidebar area–you can put your new sidebar in a header, a footer, or any other area in your template. Additional sidebars let you place any WordPress Widget (such as Recent Posts, Pages, Links/Blogroll, Calendar, Tag Cloud, as well as any custom widgets) into new areas of your WordPress template. This technique is especially powerful when combined with custom WordPress page templates–with additional sidebars, we can have custom sidebars for each of our custom page templates. This is the approach we’ll teach you in this tutorial.

Laying the Groundwork for Your New Sidebar

So what we’ll do in this tutorial is to add a second sidebar to one of our custom template pages in our WordPress theme. We have a custom homepage in our template where we want to include a robust call to action to our website visitors rather than a Category list which is more appropriate for blog readers. The screenshot below shows the default “Sidebar 1” sidebar from our simple template, and we’ll add a second sidebar called “Homepage Sidebar”.

Add WordPress Sidebars

Let’s first take a 10,000 foot view, we are going to employ the following steps to add our sidebar:

  • We are going to register our sidebar within the template by making an entry in the template’s functions.php file.
  • We are going to create a separate, custom sidebar file called sidebar-homepage.php.
  • We are going to include a reference to our custom sidebar-homepage.php file in our custom page template.

That’s it! With these three steps, we’ll have a 2nd sidebar that will display on our custom homepage. With the same technique, we could create additional sidebar areas, the steps would be the same.

Step 1: Registering the Additional Sidebar Within the WordPress Template

First step: we start by registering our sidebar within the template’s functions.php file. 99% of all WordPress templates/themes have a functions.php file. If your theme doesn’t have one, simply create a file in a text editor (we like Notepad++ in the Windows environment and TextMate in the Apple environment). If you don’t know how to find your theme files, you’ll find them in your web host in the following directory: www.yoursite.com/wp-content/themes/yourtheme/.

You’ll want to begin by finding any existing “register_sidebar” entries in your functions.php file. Ours had the following existing sidebar definition for our single default sidebar:

if ( function_exists('register_sidebar') ) {
register_sidebar(array(
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>',
));
}

To register our second sidebar, we simply add the following code to the functions.php file:

if ( function_exists('register_sidebar') ) {
register_sidebar(array(
'name' => 'Homepage Sidebar',
'id' => 'homepage-sidebar',
'description' => 'Appears as the sidebar on the custom homepage',
'before_widget' => '<div style="height: 280px"></div><li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>',
));
}

So what did we just do?

  • We told our WordPress installation, “we are adding a second sidebar area that we’ll use in our theme”
  • The sidebar’s name is “Homepage Sidebar”
  • The ID of the sidebar (we’ll refer to that ID later) is “homepage-sidebar”; you can choose “footer-sidebar”, “second-sidebar” or anything you want
  • We added the description “Appears as the sidebar on the custom homepage” that will display just under the sidebar’s title.

If you upload your new functions.php file to your WordPress installation, you should see your new sidebar if you browse from your WordPress dashboard to Appearance, then Widgets. It should look like the following picture. We’ve already added a Text Widget with the title “Contact Us” to ours, but yours will be empty when you first look at it. But, all we have done is create the sidebar so far; we haven’t yet taken the steps to display the sidebar anywhere in our theme, that will come in the next steps.

Add WordPress Sidebar Step 2

If you see your new sidebar in the Widgets area of your WordPress Dashboard, you are ready to move on to the next step.

Step 2: Create an Additional Sidebar File

WordPress themes use a default file called sidebar.php to display sidebars on pages and posts. But, our goal is to create a second sidebar, we’ll do that with a separate file called sidebar-homepage.php.

Again, we’ll open our text editor and create a file and paste in the following code and insert the ID of your new sidebar within the “dynamic_sidebar()” declaration like so:

<div id="sidebar">
   <ul>
      <?php
      if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('homepage-sidebar') ) :
      endif; ?>
   </ul>
</div>

Now, we have to note that our example sidebar file is highly simplified. Most sidebar files have more code–this extra code displays core navigation in the event the sidebar does not have any widgets installed in it–but for the purposes of this tutorial, we have to simplify it. As an alternative, you can simply copy your sidebar.php file and rename it. Don’t forget to include your sidebar ID within the dynamic_sidebar declaration (shown in red in the code example above)–that sidebar ID tells WordPress which sidebar (which we registered in Step 1) to display.

Step 3: Call the Additional Sidebar from Your Theme Files

We’re almost there. Now, all we need to do is call our new sidebar file, sidebar-homepage.php from our template files–keep in mind that our file name must follow this construct: sidebar-_______.php; we’ll see why in a moment. In our example, we’ll call our sidebar file from a custom template page–but you can call your new sidebar from a footer file, header file, or any theme file that displays on your WordPress site.

The function in WordPress that calls sidebars is get_sidebar(). When get_sidebar() is used with no information within the parenthesis, WordPress grabs the default sidebar.php file. But we want to grab our sidebar-homepage.php file, so we put “homepage” in single quotes within the get_sidebar parentheses. This tells WordPress to grab a file called sidebar-homepage.php . The code we want to insert in our template file is the following:

<?php get_sidebar('homepage'); ?>

What we’ve told WordPress to do is the following: we want to grab a sidebar file, but not the default sidebar, we want a file called sidebar-homepage.php. With this string of code, we’ve successfully grabbed our custom sidebar file.

Our New Sidebar

If you’ve coded your additional sidebar correctly, you can drag Widgets from the WordPress dashboard to your new sidebar and you’ll see the widgets displayed on your WordPress site. Here’s our new sidebar displaying on our homepage, while we display our default sidebar on interior pages and blog posts:

Our New WordPress Sidebar

Other Approaches to Adding Sidebars

Our method is one of many, there are more elegant ways of accomplishing the same result without creating separate template files, but the method outlined here is simple and reliable. Please comment below if you have questions or run into trouble.

Your WordPress site needs SEO. Buy our WordPress SEO book at Amazon. Now in the second edition!

 

Siri Search Optimization

You may have heard that the iPhone’s new voice-command and personal/search assistant “Siri” will be “the end of SEO as we know it.” Undoubtedly a shift is coming, but I for one doubt it will be as disruptive as the apocolyptos might have you believe. After all, we’re not all going to use only our phones for everything. We like our laptops, and in addition, bargain hunting (AKA commercial search) is deeply ingrained in human nature.

There are a lot of fun things Siri can do including transcribing text to voice, setting reminders, playing music, checking the weather, getting directions, and yes carrying out search queries. Undoubtedly, Siri will catch on like wildfire, and as a result will compete with many apps and tools, including search engines.

Optimizing for Siri

The integration of Siri will begin to affect strategies and optimization efforts, but most of these things should be part of an immersive SEO program from the start.

Local Search for Siri

People search from mobile devices on the move; they’re not sitting down to do in-depth research. A majority of mobile searches are location-specific including directions, finding nearby restaurants, or other local services.

With Siri, it’s not about people getting to your website through Google placement alone because visibility comes from other sources. Siri wants to give users a visual experience and draws data from local listing sites such as Yelp, Google Maps, Citysearch, YP, etc. There are more than 60 of these sites on which it is well worth your time to create a listing. It’s not just for Siri, getting listed on (and links from) all these sites improves local listing and organic placements in SERPs as well.

Obviously, you’ll want your information to be correct, up to date, and fully filled out on these sites with accurate address, phone number, images, positive reviews, and a high number of ratings. For more info on local optimization, check out our post on local listings SEO.

Rich Snippets and Schema Tags

Schema.org lets you use a specific markup language (web code) to identify specific information about your business and web presence and make that information more easily found by search engines.

Search engines are using on-page tags in a variety of ways. Google uses them to create rich snippets in search results and will continue to do so more and more. These snippets include author information, address, phone number, operating hours, and so on. So you can see how these tags have value to local searches such as are the focus of Siri. Offering a highly structured format for this information makes it that much easier to be found.

Variety in Linkbuilding and Long Tail Keywords

This is the first version of Siri, and its depth of language capabilities will continue to increase with new versions. Therefore the following effect will only continue to grow. Already, the length of Siri queries are longer because users are searching in natural speech rather than pecking away at keyboards or small iPhone touchscreens.

The result is more long-tail and highly targeted searches. Optimizing for long-tail means more words on the page and more flexible link building. Both of these strategies work in organic search as well, so you won’t even have to duplicate your efforts.

It used to be that you chose your anchor text and could simply bang away at it over and over. With enough links, you’d move on up. That hasn’t been best practice for a while, and Google is becoming even more focused on natural-looking anchor text profiles. Not only is this a safety-first method, but it’s also more efficient. Flexible anchor text (anchor text with the keyword integrated here and there, but also broadly varied) is more efficient in increasing rankings, even for the targeted, high-volume terms.

Back to Siri, the efforts you make to naturalize and get the most out of your link profile will also help you rank for long-tail searches, which Siri is all about. As a bonus, long tail searches are more targeted to the specific needs of a given search query and therefore convert at higher rates.

The iPhone 4s (S is for Siri? Seems that way to me…) is Apple’s best-selling phone to date, with 4 million sales in three days. Verizon started carrying the iPhone earlier this year and even Sprint has had no choice but to jump on the bandwagon. It’s a monolith, and it’s the impetus for a new fold of search optimization.

Free Local Listings for SEO

Local listings are an increasingly large part of search. Google places results now pop up at the top of search results automatically. This is good news for local businesses. If you have a physical location, you better take full advantage of the opportunity!

You should always start by claiming your business on Google Places, then work your way down by submitting information to Yahoo Local, YellowPages.com, and maybe even Bing Local. From there, you want to convince search engines that your business exists and is significant to users. To do that, you’ll have to submit to many alternate local directories.

In Chapter 9 of our book, SEO for WordPress, we talk about local listings and their explosive power in the hands of local businesses.

We at TastyPlacement have been scouring local directories to figure out which best factor into local rankings.

Directory Link Post speed Pictures Notes
Kudzu.com Yes Slow No
MojoPages.com Yes Immediate 4
SuperPages.com(search)
Supermedia.com(data entry)
Yes Moderate 4
InsiderPages.com Yes Immediate 4
ExpressUpdateUSA.com No Moderate No
advertise.local.com Yes Moderate No Upgrade to Premium to add pictures
local.botw.org Yes Moderate Logo only Must email a representative to edit mistakes
MerchantCircle.com Yes Immediate 4 Must email a representative for multiple listings
Hotfrog.com Yes Immediate 4
Yellowbook.com Yes Moderate No May require phone verification
Foursquare.com Yes Immediate No Customers can check-in
thinklocal.com Yes Moderate No
cityslick.net Yes Moderate No
USYellowPages.com No Slow No
MyCity.com Yes Immediate Logo only
BizJournals.com No Slow No
mapinsight.teleatlas.com/mapfeedback No Slow No Provides a tracking number
justclicklocal.com No Immediate No
DiscoverOurTown.com Yes Slow No
MetroBot.com No Moderate No
BestDealOn.com Yes Moderate No
Manta.com/claim Yes Immediate Logo only
Infignos.com No Slow No
Yellowassistance.com No Slow No
MyHuckleberry.com Yes Immediate 4
BrownBook.net/business/add Yes Immediate 4
CitySquares.com Yes Immediate No
Navteq.com No Slow No
CitySearch.com Yes Slow Logo only
Yellowee.com Yes Immediate Logo only
MatchPoint.com Yes Immediate 4
Mapquest.com Yes Moderate No They have a number of options for verification
Sustainlane.com No Immediate 4
Localprice.com Yes Slow No
Thumbtack.com Yes Immediate 4
Scrub the Web No Slow No
CommunityWalk.com Yes Immediate 4
ChamberofCommerce.com Yes Moderate 4
From the Wordpress SEO book

Should You Disallow Old Link Structures With Robots.TXT?

Questions from Readers…

We’re getting great questions from readers of our book, WordPress 3.0 Search Engine Optimization. Today, Michael tackles a question sent in by Jeff of Houston, TX. Remember, send in those questions and feedback! We’re always  thrilled to help out our readers.

Hi Mr. David,

I’m sorry to contact you with such an insignificant matter, but I just got your book today and wanted to ask if you could clarify an issue that I have encountered. My site has been up for about 6 months and I had been using a permalink structure of /year/month/day/postname and I changed it to /category/postname. I also used Deans Permalink Migration plugin to add 301 redirects for published posts.

I want to use your Ultimate Robot.txt file to my site, but I’m wondering if I add the “Disallow: /2011/ ” directive to eliminate duplicate content in my archives, will it disallow my previous posts that had /2011/ in the old permalink structure? Any help or clarification on this issue would be very appreciated. Thank you for your time.

Jeff

Houston, TX

Jeff,

We love hearing from readers.

Yes, I believe that if you add the directive Disallow: /2011/ you will remove year archives from indexing, but also any post that uses the year in that position as part of its permalink structure. I tested it, and it appears to disallow the content.

You can test your robots.txt file by using Google Webmasters’ Crawler Access testing tool. The tool lets you test the text of a robots.txt file and compare it to a specific URL. The tool then tells you if your robots.txt file is allowing or blocking the URL. You can find the tool by logging into Google.com/webmasters and then selecting “Site Configuration” and then “Crawler Access” from the left menu. We didn’t cover this specific tip in WordPress 3.0 Search Engine Optimization, but we will implement it in a future edition of the book.

Now, but you say you’ve changed your permalink structure–that should solve the problem. In the case where a robots.txt entry would block regular blog posts from getting indexed when blocking year archives, the solution is clear: don’t block either. Just make sure your year archive is set to display excerpts of the posts, rather than the full text of the posts.

Michael

Buy the Book Today at Amazon

Are Site-wide H1 Tags in WordPress Good or Bad?

Questions from Readers

The great thing about writing our book, WordPress 3.0 Search Engine Optimization, is we get to hear from all those readers who have taken our material and put it to work in the field. Today, we’ve got a fascinating question from Robert, who asks that question we confront every day in one way or another: Just how far should I trust Google’s sophistication?

Hi Michael,

I’m currently reading your Packt book on WordPress SEO, and I have a quick question about HTML5 and the way it uses header tags. Your book says to use only one H1 tag per page, which makes sense. However, HTML5 advocates multiple H1 tags per page, as long as each is contained in a separate section/header.

Worse yet, the first H1 tag on a page is usually a wrapper around the home link logo and contains the same meaningless title text on every page. You can see a typical example at CSS3maker.com :

<header>

<h1 id=”logo”><a href=”index.html” title=”CSS 3.0 Maker”>Css 3.0 Maker</a></h1>

</header>

Most SEO bloggers assume single H1 tags are a thing of the past. Based on your experience, has there been any evidence that Google/Yahoo interpret HTML5 content any differently than HTML/XHTML?

If not, should I remove the header and h1 tags around my logo anchor tag? My site looks like the CSS3maker code above. And like them, I don’t have anything else in my header, so if I remove the H1 tag, wouldn’t I also just scrap the header tag? I have a meaningful H2 tag in my content section, which could be elevated to an H1 tag.

Thanks,
Robert

BTW, I’m really enjoying your book.

 

Robert,

This may be a cop out…but does this help?

I think google is tuned in enough to ignore site-wide h1 tags. One of my philosophies is “packaging”–make it so brain-dead easy for a search engine that it can’t POSSIBLY get confused. We are sort of on-page nerds when it comes to that stuff. Most of the pages we create are pretty perfect, at least on the page.

Do we, in our SEO business, remove site-wide h1 tags around logos and site names in the header? Absolutely we do, but I don’t think it’s the kiss of death if you don’t. Remember one thing: google has to fit its algorithm so that it doesn’t punish sites for small mistakes–otherwise, it would punish 80% of the web or more.

I am very glad you are enjoying the book!

Michael

Buy the Book Today at Amazon

From the Wordpress SEO book

Book Excerpt: Creating Keyword-Rich Content

Our book, WordPress Search Engine Optimization (now in second edition!) is out on the stands of all the upscale local bookstores and online retailers in your neighborhood. But why buy before you try? Here’s one page out of the whole volume to give you a taste of the SEO tips and strategies that you’re missing. You can buy the book at Amazon.

Creating Keyword-Rich Content

It may seem unnatural to focus on a keyword when writing content for your website, but it is absolutely essential to write your pages in a manner that will get them ranked highly in the search engines. No matter how well-written your content is, if it doesn’t contain the keywords and phrases that people use to search for your product or service, it won’t show up in the search engine results pages and no one will ever see it.

For this reason, the first step to creating content for your site is to begin with the right keywords. We learned in Chapter 3 how to research keywords, find the big-money keywords and key phrases, and organize and prioritize them. With sound keyword research, writing flows naturally: start with the high-volume, high-value keywords and write high-quality content for your site that focuses on those keywords.

It’s best to target one keyword phrase or group of phrases per content page. Recall that keyword overlap can give us a close group of keywords such as “Miami AC” and “Miami AC repair.” In any case, keep your content very focused on a small group of words.

Whichever phrase or phrases you are targeting should be used several times within the body content. You should make sure to include the keyword phrase in the title and headings as well as a few times throughout the actual content. It is especially important to include your keyword phrase near the beginning of your content . Most search engines tend to give more weight to words and phrases that appear in the first few paragraphs of a web page. Remember that search engines determine the subject of your page from the words you use on the page. If you don’t use the keyword phrase often enough, your page will not rank for that phrase.

What this means is that if your page is selling book covers and you are targeting the keyword phrase “buy book covers,” that phrase needs to appear on the page in several places. First of all, it must be included in the title and somewhere in the first paragraph of the copy. In addition, you should try to work it into the rest of the copy at least two to three more times and into the headings that separate different sections of copy. You can also add the keyword phrase to the alt text for any photos that appear on the page.

Buy the Book Today at Amazon

Tutorial: How to Remove link rel=’prev’ and link rel=’next’ from WordPress Head

How to Remove link rel=’prev’ and link rel=’next’ from WordPress Head (in WP 3.0+)

WordPress, in its default state, prints a lot of excess code to the head section of webpages. One element that always annoyed me were two entries that always appeared:

<link rel='prev' title='' href='' />
<link rel='next' title='' href='' />

These entries are recommended for web usability for disabled persons–consider that before removing them. We were looking for a way to lean up our pages, though, so we thought we’d like to remove these entries. There are some outdated instructions in WP forums that will not work in WP 3.0; we tried several approaches, but nothing worked.

In your WordPress template, you’ll find your functions.php file. Open that file and enter the following line.

remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );

This “filter,” as it is called, will tell WordPress not to generate the link rel=’prev’ and link rel=’next’ lines in the WordPress head.

Just a note on why those outdated instructions wouldn’t work with WP 3.0. The filter we created instructs WP to turn off the action titled “adjacent_posts_rel_link_wp_head.” Our commands works in WP 3.0 and above because the former action prior to 3.0 was titled “adjacent_posts_rel_link.”