I’m working on a new WordPress Mu site and am using Donncha’s fantastic Sitewide Tags Plugin to pull all the posts from across my network of blogs onto one master blog for indexing features across my site.

One thing I didn’t realize however was that (at the moment) it only works on posts published AFTER you start using it. If you’re like me you have 100s or 1000s or even more posts already in your network.

I stumbled across some code the other day that will iterate through your blogs and pull the existing posts into the new tags blog. So Colas Nahaboo, whoever you are, thanks for this awesome bit of code:

$posts = $wpdb->get_col( "SELECT ID FROM $wpdb->posts WHERE post_status = 'publish'" );
if ( !empty($posts) ) {
    foreach ( $posts as $post ) {
        if($post != 1 && $post != 2)
            sitewide_tags_post($post, get_post($post));
    }
}

The easy thing to do, is using the WPMU Power Tools plug-in, from Brian Freeman, run the above query exactly as it is across all blogs and within a few seconds all of your posts will be pulled in. Easy!

Thanks to Andrea and Donncha for tips over the past few days, I always appreciate the help.

Tagged with:
 

WPMU Site-wide Breadcrumbs

Kudos to Dimox for a great non-plugin WordPress function for creating breadcrumbs.

For someone like me though, who is implementing a WordPress Mu site using “blogs” as content sections instead of the traditional community of blogs, I’d like to be able to have breadcrumbs that go more like this-

Home (root uri) » Blog Home (blog uri) » normal breadcrumbs

To accomplish this, I just made a few modifications to Dimox’s code and with the power of WordPress, Shazam!, it was done.

Here’s the chunk of code I added/modified (note, this code goes in your themes’ functions.php file):

// change the value of $home to your site's root URI (first level in the breadcrumbs)
$home = 'http://foo.com/';

// add two new variables for your blog info (second level in the breadcrumbs)

$blogURI = get_bloginfo('url');
$blogName = get_bloginfo('name');

// directly above the first line of code below in the original source, add the second row that references the new vars you've created  (for good measure I also nofollowed the home URI)

echo '<a href="' . $home . '" rel="nofollow">' . $name . '</a> ' . $delimiter . ' ';
/* if blog is home blog, don't display the blog name */
if ($blog_id != 1) {	echo '<a href="' . $blogURI . '">' . $blogName . '</a> ' . $delimiter . ' '; }

And that’s it, now just do everything else as Dimox suggests on his site.

Enjoy!

Tagged with:
 

I have a client who uses the Events Manager plugin by Davide Benini and Marcus Skyes to manage events on their site.

Unfortunately, the plug-in doesn’t let you display events by category (which is weird, otherwise, why have the categories?) but anyway, I wrote/hacked together a custom function and WordPress shortcode today to display the events by category.

Now, I know there are going to be the naysayers who say “This code isn’t very pretty”.  Yeah, well maybe not but it works.  And if you can improve on it, DO!  I’m totally open to it.  For instance, the edit I did makes more than one query to the DB which isn’t optimal.

Okay, so without further ado, here it is. Open up the file in your events-manager/ folder called ‘marcus-extras.php’.  Around line 264 you’ll find a function called dbem_get_category().  I added my custom function and shortcode right below it :

define('DBEM_EVENTS_TBNAME', 'dbem_events');

And then:

function dbem_display_categories() {
	global $wpdb;
	$categories_table = $wpdb->prefix.DBEM_CATEGORIES_TBNAME;
	$events_table = $wpdb->prefix.DBEM_EVENTS_TBNAME;
	$sql_categories = mysql_query("SELECT * FROM $categories_table ORDER BY category_id");
	while($category = mysql_fetch_assoc($sql_categories)) {
		extract($category);
		$events = mysql_query("SELECT * FROM $events_table WHERE event_category_id = '".mysql_real_escape_string($category_id)."' ORDER BY event_start_date ASC");
		$category_list .= "<div class=\"event\">";
		$category_list .= "<h2>$category_name</h2>";
		while($event = mysql_fetch_assoc($events)) {
			extract($event);
			$start_date = date('m/d/Y',strtotime($event_start_date));
			$end_date = date('m/d/Y',strtotime($event_end_date));
			$category_list .= "<li>Event: <strong><a href=\"http://www.wilderness-adventure.com/camp-dates/?event_id=$event_id\" title=\"$event_name\">$event_name</a></strong>
					<ul>
						<li>Dates: $start_date - $end_date</li>
					</ul></li>";
		}
		$category_list .= "</div>";
	}
	echo $category_list;
}
add_shortcode('dbem_events_by_category', 'dbem_display_categories');

The shortcode is – [dbem_events_by_category] and you can just insert it into your post or page whereever you want it to go.

By default it outputs ALL events under ALL categories but you could hack it up pretty easily to only display one category, etc. I may do that later if enough people ask for it but it’s not what I needed so, didn’t get done. :)

Hope this helps some folks. Let me know if you have any questions!

Tagged with:
 

Follow Friday Test

Here is a list of people to follow on follow friday from people that i follow and who also follow me.

Tired of those laundry lists? These are recommendations, not just retweets…

Here were the instructions:

Come up with a list of people you recommend for follow friday. Make a list of people you really interact with and a short blurb about why u follow them. 140 chars per description max.

@mosquitohawk #followfriday

#1
I follow @RavenJon because he has an awesome SEO toolset (@RavenTools) & is an all around nice guy with sharp spidy sense.

#2
I follow the hip @JoannaLord because she’s witty, has great taste in music & is a great contributor of social media & search knowledge.

#3
I follow the brilliant @steveplunkett because when he talks SEO tactics, you better be taking notes. Where does he get those great tidbits?

#4
I follow @jrcornthwait – He’s king in the land of HTML emails (& has good taste in food, design & isn’t afraid to call it like he sees it).

#5
I follow @carondelet of the Brute Squad because there’s always something to be said for someone who can exchange obscure movie lines w/ you.

#6
I follow @lookadoo because she cares. I also can’t wait to meet her in person at some future conference. Smart, motivated & entrepreneurial.

#7
I follow the ever-present @ShanaTweeting because she’s a social media guru and always has good insights, blog posts and thoughts to share.

@steveplunkett #followfriday

I follow @kimsherrell because she is an intelligent person who adds value to your twitter stream.

I follow @cyandle because he is my twitter homie.. #seo #ppc

I follow @zerbetron because she’s got that Boom Boom Pow and she is a fellow webmaster chair dancer.

I follow @melyssatweeting because she has a good brain.

I follow @jackleblond because he’s a good man, no b.s. yet open minded, good sense of humor and sometimes he even posts some cool recipes.

I follow @mandaotto because she is real and smart, and an amazing artist.

I follow @martinbowling because he has a great sense of humor, he’s quite intelligent and crafty.

I follow @lookadoo because she is a great friend, a good voice of reason and wisdom.

I follow @mosquitohawk because he has a good sense of humor and an interesting viewpoint.

I follow @dannysullivan because he is the walter cronkite of SEO.

I follow @blueyedmuse because she is smart, funny and tweets good stuff.

@zerbetron #followfriday

#followfriday For the best in geekery & nerddom, I recommend @geekgirldvia. She’s smart, funny, & knows enough about BSG to be dangerous!

#followfriday A nerd in search of love? Worry not! @geeksdreamgirl helps nerds & geeks find their perfect match. Super nice and lots of fun

Interested in SEO & Social Media? Follow @cyandle. Great guy and he’s always got fun and exciting things to say. He rocks! #followfriday

If you do SEO, & you’re not following @steveplunkett, you should get your head checked! He’s an SEO Jedi Master. #followfriday

@MichelleRobbins is a SEO smarty-pants, BSG nerd, super smart cookie & all around nice gal. I love her tweets & you will too! #followfriday

@lookadoo #followfriday

Learn all you need about Online Reputation Management & best practices in online marketing from @andybeal. His training classes kick it!

Get blogging, WordPress, SEO & many tech tips from @DazzlinDonna. Donna’s stream is like tapping into a business marketing coach!

Just received my autographed copy of “What Success Takes” by @garrettpierson! I had the honor of reviewing his book, changed my approach!

I am in debt to @pageoneresults for 2 hours of his SEO consulting time! I’m wiser & now broke! “Web Standards” should be his middle name.

Friendship & geekship combined, @professor is the genius behind @Blogsville. Don’t miss out on this blogging lineup!

@GlobalFusion is more than a specialist in Spanish SEO, he’s a thought leader. Admire his wisdom, approach & ethics in SEO.

I’ve learned a lot about using Social Meda sites from @BrentCsutoras. He knows the insides of StumbleUpon, Reddit, Digg! Add SEO, too!

The Social Media Queen is @TheNanny612! Don’t tell, but I have a #girlcrush on her!

Obsessed w/the science of search, @SEOdojo speaks to SEO geeks & wannabe-gurus! Reading his newsletter is on my TO DO list!

One of the youngest & earliest prodigies I’ve followed is @PluginID. He knows how to make money blogging & will show you how, too!

I started reading Barbara Rozgonyi @wiredprworks before Twitter. She’s become a friend and PR mentor!

If I had children, I would homeschool using Montessori lessons by @loribourne. I met her on SEOmoz & the friendship optimized from there!

Forget music! I tune in to the latest in search marketing on @WebmasterRadio @BrascoAtWMR is more than a radio genius! <3>

Get the latest analysis in search from @BruceClayInc by listening to @SEMSynergy every Wed! They translate SEO into understandable tidbits.

@Remarkablogger shares blogging, tech & SEO tips. His insights convinced me to learn Thesis, so here I am with a new theme to learn!

@martinbowling #followfriday

@oilman cause he always has some wild adventure

@persianwiki providing a great look at what’s really happening on the streets of iran

@oncee IT Manager in Charleston, WV always tweets awesomely helpful info

@jordankasteler has awesome insight to using social media in creative and new ways

@davesnyder it’s BIG DAVE nuff said :)

@rfr an incredible gifted designer, he <3’s>

@mandaotto #followfriday

@graywolf
a great go-to for all things seo

@tonyadam
all around great yahoo guy

@cshel
another very smart seo gal

@shanatweeting
great social media expert

@melyssatweeting #followfriday

@VegasWill
A great follow. Tweets all signal and no noise.

@FoundByPat
Super Dad. Really relevant tweets. Exceptional wit.

@StevePlunkett
Everything’s bigger in Texas – including his brain and the strength of his tweets – fun follow.

@cyandle #followfriday

@sspencer – his presentations always provide so much information for the audience…

@rustybrick – one of the top bloggers in the IM industry..

@dannysullivan – the father of seo; and always keeps his tweeple up-to-date..

@copyblogger – one of the top bloggers in the IM industry..

@oilman – always willing to help out other when it comes to learning new IM stuff i.e. paid links..

@StoneyD – always provides in depth posts regarding IM checklists..

@katemorris – great at PPC…

@yoast – always on top with his wordpress plugins..

@TheMadHat – can make a mean bacon explosion..

@streko – king of the porkroll..

@melanienathan – she knows her linkbuilding..

@davidmihm – great at teaching us local search..

@theGypsy – great at keeping us up-to-date on patent info..

@shanatweeting – even though she’s a mega phillies fan you can tolerate her.. :)

@professor – great at development work..

@davesnyder – knows his social media…and likes to cuddle from what i hear..

@graywolf – if i need a mean cake he could do it..

@Pamela_Lund – if you need custom USB flash drives she can hook u up..

@sugarrae – knows her affilaite marketing stuff..

@BrentCsutoras – knows his social media…

@andybeal – great online reputation mgt expert..

@brianchappell – knows his social media & online reputation mgt..

@yummyman – great at teaching us local search..

@lookadoo – a great all around person to follow..

@pearsonified – thesis king..

@bbille – always willing to help a brother out..

@pageoneresults – sphinn’s worst nightmare..

@JoannaLord – knows her PPC..

@wiep – master link baiter..

@GymJunkies – can pump u up..

@steveplunkett – mad IM scientist..

@martinbowling – great at development work..

@SmokinManBBQ – it always tastes better when the smokinman’ cooks it..

@itcn – can develop some great stuff..

@styletime – great at designs and wordpress..

Tagged with:
 

Cool Guy of the DaySo I have been honored with the distinction of “Cool Guy of the Day” from the ever-so-friendly and über-cool Brandy Eddings and cohorts.

What do you need to win this award?  My suggestion: an unusually strong grasp of obscure modern, 80s and 90s trivia and info.  Knowing who this guy is helps too.

Also, special thanks and props to Zule and the Keymaster (split personality is rampant in Dallas lately) for their vote as well.

 

Just because you can…

This space for rentI have a good example today of “just because you can, doesn’t mean you should”.

A lot of website developers and owners understand enough about search optimization to know incoming links to your site can be a very important part of your overall strategy.  What many don’t understand though is it does matter where those links come from.

Here’s a great example of search engine link spam-http://www.hookah-smoking.com/dir/directory.html.

If you visit this website, you’ll see it has everything to do with smoking the hookah.  If you scroll down the page, what you’ll find is a spammy list of “link trades” from sites like LiveSouth.com.  The aforementioned website advertises luxury real estate…to quote a co-worker, “…there’s quality traffic for you, nothing pre-qualifies a luxury home buyer like a little hookah smoking addiction.”

Folks, when you’re out there trading links, buying links or whatever techniques you use in acquiring links to your site, for goodness sake keep it relevant.  The search engines aren’t going to award you for spamminess and it’s no service to your own visitors either.

Tagged with:
 

I can has Zi.ma?!

Here’s entry #1 for the Scary SEO contest-

Martin Bowling can has Zi.ma?!

Here’s entry #2 for the Scary SEO contest (click image for bigger version)-

Inspiration for #1 came from LOLcatz of course and #2 from here and here .

 

Google Trends and Elections 2008

SEO metric chartThere are many different metrics tools out there in the wider web for measuring traffic trends, but one of the more recent (and also free) has been Google Trends for search and Google Trends for websites. The use of web metrics for predicting the outcome of popular elections is by no means original to me, but it’s worth writing again to explore the current scenario.

One important thing to keep in mind about Google Trends and other web traffic estimators is these numbers have been normalized, which is to say they do not represent specific numbers but “the division of multiple sets of data by a common variable…allowing underlying characteristics of the data to be compared” [credit].  That is why they’re called “trends” and not actual “statistics”.

(more…)

Tagged with:
 

coinsBusinesses often ask us how to effectively use social media to promote themselves.  So much depends on the business but I want to illustrate one effective use that came to my attention today.

Yesterday, a Twitter friend asked if anyone knew where to get mass-produced souvenir key chains he could brand with his logo that had a 24-hour turnaround time.  A quick Google search later and I had found a company who offered such a service so I sent him a message on Twitter with the companies URL.

Today, while in the midst of many other things, I received a reply message from who else?  The company I had recommended.

(more…)

Tagged with:
 

Why #1 isn’t necessary

SEO SoccerIn sports being #1 is the ultimate goal of each team and there can be only one.  In search engine optimization, clients and SEOs alike often focus on the #1 place in search results for particular key words and phrases but it really isn’t necessary to be #1 to be successful, and any SEO who guarantees a client a #1 spot on Google or any other search engine is taking a huge risk in making that promise.

Snake-oil promises

Why you might ask?  Google and all search engines regularly change their ranking algorithms, other competitors enter the field of competition and a myriad of other scenarios cause daily fluctuations in search engine result pages (SERPs).  If you are fortunate enough to be #1 in Google, better enjoy it because staying there for any length of time takes incredible effort (and a fair shake of good luck too).
(more…)

Tagged with: