Using Social Media Monitoring as an Inbound Marketing Channel - Whiteboard Friday Posted: 29 Dec 2011 01:19 PM PST Posted by Kenny Martin In this week's special end of the year Whiteboard Friday, Rand shows us how to attract customers and accelerate our marketing efforts by using social media monitoring. Learning how to effectively build up relationships without spamming will be the key to your success in the social realm. We hope you had a wonderful 2011 and don't forget to leave your comments below. Video Transcription Howdy, SEOmoz fans. Welcome to another edition of Whiteboard Friday. This is our special end of year edition. I hope all of you had a great holiday season and are about to have a great New Year's. It's been fantastic spending 2011 with you, and I cannot wait for 2012. It's going to be incredible. Today I want to talk a little bit about using social media monitoring specifically as an inbound marketing channel, as a way to attract customers and to accelerate your marketing efforts in all sorts of ways. Let me talk briefly about some background on this so you understand where I'm coming from. Let's imagine that you're Minted.com. They make great holiday cards - Geraldine, my wife, and I use them to do our holiday cards recently - and they do some branded stuff. So they have searches, keywords that come to them that are branded - things like minted, and minted cards, and minted notebooks, and custom photo cards from Minted. We think about those as being keywords in their brand wheelhouse, that are about their brand. But then they also have lots of unbranded terms, things that they want to try and capture, definitely from an SEO perspective, but other perspectives as well. So these are things like people who want holiday photo cards, who want Christmas cards, Xmas cards, Hanukah cards, custom notebook. They sell notebooks and all sorts of other things. So all those product types of searches, those things that would get you into their funnel, maybe not their brand specifically, but all those sorts of keywords, we often think about them, at least in the world of SEO, as being exclusively from a search engine type in perspective. But there's a social perspective on this too, and that's what I want to cover in this Whiteboard Friday. So you can image there are channels, right? So there are things like SEO and PPC. People search for these words, and we want to try to come up in the organic results and in the paid search results. But then there are also channels like Q&A and forums, and blog posted content where they're talking about these items. There are questions on a Q&A board. There are questions on a forum. There's a discussion happening. There's a blog post with content that's saying, "Here's the best custom notebooks and why I like each of these vendors," those types of things. Those are conversations they might want to be part of. Then there are the very specific social mentions. When you think about this, think about doing a search on Twitter, probably the most common way that social mentions are thought about, doing a search on Twitter for either your brand name, for people who are talking about or mentioning the word "minted," and then people who are talking about or mentioning the words "Xmas cards", "Hanukah cards", "Christmas cards", "custom notebooks", "photo cards", "holiday cards." When people do those mentions on social networks, you can see them as a social media manager, as an inbound marketer, as an SEO. You can see where those people are mentioning them, who those people are, and then you have the potential to reach out to them, and that can present some powerful things. So these social media monitoring tactics are what I want to cover specifically. I've got four here, but there's tons more that you can certainly imagine. It's a powerful and largely untapped channel, but it can be a little bit dangerous. I'll talk about that as well. So first off, if you're monitoring these types of unbranded terms, this is a great way to identify and connect with influencers. What I mean by identify is also understand them. What I feel like a lot of people do when they get into marketing in a new channel or around a new topic, a new keyword, or a new product is that they don't even understand what the world looks like, what the Web looks like, from that perspective. People who are in this world who are talking about these on blogs and forums, who are tweeting about this stuff, who are experts in this field, who are journalists, who are consumers, you're not in their world yet, but this is a great way to learn who the influencers are and start to build up those relationships. So a great way to do this, of course, is monitoring these types of things and looking for those actual retweets in the search box inside Twitter or Google+. You can do this with Google+ public mentions as well. But there are tools to do it too. FollowerWonk is one of my favorites. You could also use FindPeople on Plus, which has a database where you can literally search for bios and say, "Hey, who's writing about gifts or Xmas? Who's a blogger? Who's writing about photo cards? Who's writing about customized paper products? Who's writing about holiday gifts? Who is an expert on, for example, kids' stuff or kids' toys?" Or those things that are ancillarilly related. Ancillarilly is not a word, but I'm going to use it anyway. So there are things around these worlds that might be connections. So this could be, "Oh, I want to find who the writers are for magazines. I want to find who is the media person at the 'Today Show. I want to find who it is that blogs regularly about gifts and lifestyle types of blogs." All those things are things that you can use, services like FollowerWonk or FindPeople on Plus to discover those influencers and learn more about the segment while you're at it. Now this is a very research intensive process, but it means that you will be so much more effective with the content that you produce, with how you market that content and how you target it, and with who you reach out to. If you've built connections, natural connections, I'm talking about Tweeting back and forth, sort of getting them to follow you or earning their trust, sharing good things with them over time, then you can sort of share more promotional stuff, like, "Hey, so and so @Ranfish, I wrote this blog post. I'm emailing you to see if you would maybe want to share it on Twitter. It seems like the kind of thing you usually like to tweet about." And I'll be like, "Oh sure, of course, I actually really like that piece. That was a great piece. I'm going to tweet it." I did that two times this morning from emails. Please don't all email me with things that you need me to tweet. That would get a little overwhelming. But if you have something hyper-relevant, sure. You can also do things like reaching out directly, but be really careful here. I'm sure you've all seen this on Twitter. So the idea is that you see someone mention the word Xmas cards, and then you reach out to them via Twitter and send them an at reply even though you're not following them and you may not have a pre-existing relationship. Let me show you two ways to do this and why this can be super dangerous. So here is my sample Twitter friend Mobit, and Mobit has tweeted, "Crap! Forget to get Xmas cards, need to do that tonight." "Hmm, excellent, I'm thinking of my evil ways in which I will market to him." If this is your attitude, you might be going and following this black line and tweeting back to him, at everyone, including Mobit, anyone who says the words "Xmas cards", "Here is a bland spammy marketing message." I see this all the time where I tweet a specific word, and then I'll get a reply and I'll look at it and go, "Oh, they're just trying to sell me something because I mentioned that word." My favorite example of this that's not super spammy, it used to be the case that if you tweeted "honey badger," the honey badger @honeybadger would reply with, "Don't care." Now that was cute and funny. It could get old because you could see thousands of tweets coming from this clearly bot account that was just tweeting, "Don't care." But those types of messages, that's not going to work very well. Twitter is going to catch you out on it. Remember there is a little flag thing over here that people will click, and they'll flag your message for spam. They'll flag your account for spam. Twitter reviews those pretty quickly. They don't want their service filled up with this, which means that you need to do something that is creative, insightful, personalized, and authentic. So for example, at Mobit, "If you need help, give me a shout. Also, here's a 20% off coupon." This is going to be an extremely different tweet than what I send to maybe somebody else who does that. If we're talking about Xmas cards and there are 50 mentions an hour of these and I'm sending tweets to all 50 of them, that's still going to look spammy and manipulative. But if there are two or three of them that are very specific and say, "I specifically forgot about Christmas cards. I need my Xmas cards. I need my Hanukah cards," whatever it is, then great. That is something where a customized, personalized message, and especially if you do something like follow them or check out their other tweets and say something relevant to them, recognize what part of the country they're in, "Oh, you're in Alaska. By the way, we still do free shipping to Alaska." "Wow, cool! You know who I am. You care about me. Your message is authentic. It's personalized. It's insightful. I'll receive it graciously and happily." But you have to be careful about this type of outreach. It can be a great way to attract customers, particularly in certain segments. It can be a great way even to share content or share links if you trying to get sort of mentioned or retweeted by someone, or if you're trying to get additional awareness or attention, not even necessarily someone directly, but it can be dangerous. Number three, this one's a little less dangerous, but you still have to maintain all of those same attributes in mind for the messaging you do, which is reaching out privately. So I'll do this actually on occasion where I'll see a Twitter user or I'll see someone at Google+ and they'll mention something specific and I'll say, "You know what? I look at their bio and I see that they work at . . ." I saw this recently for someone who worked at a social media marketing agency here in Seattle, and I thought, "You know what? I would love to have someone from that agency look at some of the new products that we're building, and therefore maybe I can get them into the office and do a product review with the team. So I'm going to tweet back at them." Then I saw them out at an event, actually, and I got their business card and I emailed them. So those types of relationship building are a great way to go, particularly if you're doing more of a one-to-one type of business development. This private thing, using DM, going out and digging up their email address from their website, from their LinkedIn profile, connecting on there, getting an introduction to someone, those are all perfectly legitimate ways, and they're a little less exposing you to the sort of dangers of being flagged as a spammer. But you can do this authentically, and you have to do this one authentically as well. The fourth and final one that I'm going to talk about, which I like a tremendous amount, is finding content that's being referenced, right? So people are tweeting. Let me give you another example. Here's our friend Mobit again, and he says, "Oh, you know there were some great Xmas cards suggestions on LifeHacker today." "Hmm, LifeHacker, you say." I know what to do. I'm going to go over and I'm going to check out the site where these folks are mentioning, and I'm going to see what is that content? Does it mention me? If not, does it mention my competitors? Is it talking about the right stuff? Does it seem like it's in a field where I might potentially be able to contribute guest content, make a direct suggestion, "Hey, by the way, editors at LifeHacker, did you know Minted also offers this? We loved to be mentioned next time you guys do a roundup of customizable photo holiday cards." Cool, right? Maybe they'll pick it up, maybe they won't. If you do a few of those and you build those connections the right way, you can link in to those editors and journalists, those writers. You can connect via comment marketing. By comment marketing I mean, again, leaving good comments on a consistent basis, finding the blogs you want to follow, doing it in an authentic way. Otherwise you can get into serious trouble. But getting familiar with those channels is a great way to discover opportunities for your content to reach additional audiences. It's also a fantastic way to see which content performs well, which is a question that a lot of people who do any kind of inbound marketing, SEO, social, blogging, whatever you're doing, you're trying to figure out what content's going to perform well. This is a great way to figure that out through social media monitoring. Of course, then you can go back and earn the links, the mentions, the press that you're seeking. All right, everyone, I hope you've enjoyed this edition of Whiteboard Friday. I hope you had a fantastic 2011 and that your 2012 is just as good or better. I hope we'll see you again next week. Take care. Video transcription by Speechpad.com Do you like this post? Yes No |
Scripting SEO: 5 Panda-Fighting Tricks for Large Sites Posted: 29 Dec 2011 03:54 AM PST Posted by Corey Northcutt This post was originally in YouMoz, and was promoted to the main blog because it provides great value and interest to our community. The author's views are entirely his or her own and may not reflect the views of SEOmoz, Inc. For anyone that's experienced the joys of doing SEO on an exceedingly large site, you know that keeping your content in check isn't easy. Continued iterations of the Panda algorithm have made this fact brutally obvious for anyone that's responsible for more than a few hundred thousand pages. As an SEO with a programming background and a few large sites to babysit, I was forced to fight the various Panda updates throughout this year through some creative server-side scripting. I'd like to share some with you now, and in case you're not well-versed in nerdspeak (data formats, programming, and Klingon), I'll start each item with a conceptual problem, the solution (so at least you can tell your developer what to do), and a few code examples for implementation (assumes that they didn't understand you when you told them what to do). My links to the actual code are in PHP/MySQL, but realize that these methods translate pretty simply into most any scenario. OBLIGATORY DISCLAIMER: Although I've been successful at implementing each of these tricks, be careful. Keep current backups, log everything you do so that you can roll-back, and if necessary, ask an adult for help. 1.) Fix Duplicate Content between Your Own Articles The Problem Sure, you know not to copy someone else's content. But what happens when over time, your users load your database full of duplicate articles (jerks)? You can write some code that checks if articles are an exact match, but no two are going to be completely identical. You need something that's smart enough to analyze similarity, and you need to be about as clever as Google is at it. The Solution There's a sophisticated measure of how similar two bodies of text are using something called Levenshtein distance analysis. It measures how many edits would be necessary to transform one string into another, and can be translated into a related percentage/ratio of how similar one string is to another. When running this maintenance script on 1 million+ articles that were 50-400 words, deleting only duplicate articles with a 90% similarity in Levenshtein ratio, the margin of error was 0 in each of my trials (and the list of deletions was a little scary, to say the least). The Technical Levenshtein comparison functions are available in basically every programming language and are pretty simple to use. Running comparisons on 10,000 individual articles against one another all at once is definitely going to make your web/database server angry, however, so it takes a bit of creativity to finish this process while we're all still alive to see your ugly database. What follows may not be ideal practice, or something you want to experiment with heavily on a live server, but it gets this tough job done in my experience. - Create a new database table where you can store a single INT value (or if this is your own application and you're comfortable doing it, just add a row somewhere for now). Then create one row that has a default value of 0.
- Have your script connect to the database, and get the value form the table above. That will represent the primary key of the last article we've checked (since there's no way you're getting through all articles in one run).
- Select that article, and check it against all other articles by comparing Levenshtein distance. Doing this in the application layer will be far faster than running comparisons as a database stored procedure (I found the best results occurred when using levenshteinDistance2(), available in the comments section of levenshtein() on php.net). If your database size makes this run like poop through a funnel (checking just 1 article against all others at once), consider only comparing articles by the same author, of similar length, posted in a similar date range, or other factors that might help reduce your data set of likely duplicates.
- Handle the duplicates as you see fit. In my case, I deleted the newer entry and stored a log in a new table with full text of both, so individual mistakes could later be reverted (there were none, however). If your database isn't so messy or you still fear mistakes after testing a bit, it may very well be good enough just to store a log and later review them by hand.
- After you're done, store the primary key of the last article that you checked in the database entry from i.). You can loop through ii.) - iv.) a few more times on this run if this didn't take too long to execute. Run this script as many times as necessary on a one minute cronjob or with the Windows Task Scheduler until complete, and keep a close eye on your system load.
2.) Spell-Check Your Database The Problem Sure, it would be best if your users were all above a third grade reading level, but we know that's not the case. You could have a professional editor run through content before it went live on your site, but now it's too late. Your content is now a jumbled mess of broken English, and in dire need of a really mean English teacher to set it all straight. The Solution Since you don't have an English teacher, we'll need automation. In PHP, for example, we have fun built-in tools like soundex(), or even levenshtein(), but when analyzing individual words, these just don't cut it. You could grab a list of the most common misspelled English words, but that's going to be hugely incomplete. The best solution that I've found is an open source (free) spell checking tool called the Portable Spell Checker Interface Library (Pspell), which uses the Aspell library and works very well. The Technical Once you get it setup, working with Pspell is really simple. After you've installed it using the link above, include the libraries in your code, and this function to return an array of suggestions for each word, with the word at array key 0 being the closest match found. Consider the basic logic from 1.) if it looks like it's going to be too much to tackle at once, incrementing your place as you step through the database, logging all actions in a new table, and (carefully) choosing whether or not you like the results well enough to automate the fixes or if you'd prefer to chase them by hand. 3.) Implement rel="canonical" in Bulk The Problem link rel="canonical" is very useful tag for eliminating confusion when two URLs might potentially return the same content, such as when Googlebot makes its way to your site using an affiliate ID. In fact, the SEOmoz automated site analysis will yell at you on every page that doesn't have one. Unfortunately since this tag is page-specific, you can't just paste some HTML in the static header of your site. The Solution As this assumes that you have a custom application, let's say that you can't simply install ALL IN ONE SEO on your WordPress, or install a similar SEO plugin (because if you can, don't re-invent the wheel). Otherwise, we can tailor a function to serve your unique purposes. The Technical I've quickly crafted this PHP function with the intent of being as flexible as possible. Note that desired URL structures are different on different sites and scripts, so think about everything that's installed under a given umbrella. Use the flags that it mention in the description section so that it can best mesh with the needs of your site. 4.) Remove Microsoft Word's "Smart Quote" Characters The Problem In what could be Microsoft's greatest crime against humanity, MS Word was shipped with a genius feature that automatically "tilts" double and single quotes towards a word (called "smart quotes"), in a style that's sort of like handwriting. You can turn this off, but most don't, and unfortunately, these characters are not a part of the ASCII set. This means that various character sets used on the web and in databases that store them will often fail to present them, and instead, return unusable junk that users (and very likely, search engines) will hate. The Solution This one's easy: use find/replace on the database table that stores your articles. The Technical Here it is an example of how to fix this using MySQL database queries. Place a script on an occasional cron in Linux or using the Task Scheduler in Windows, and say goodbye to these ever appearing on your site again. 5.) Fix Failed Contractions The Problem Your contributors are probably going to make basic grammar mistakes like this all over the map, and Google definitely cares. While it's important never to make too many assumptions, I've generally found that fixing common contractions is very sensible. The Solution You can use find/replace here, but it's not as simple as the solution fixing smart quotes, so you need to be careful. For example "wed" might need to be "we'd", or it might not. Other contractions might make sense while standing on their own, but find/replace by itself will also return results that are pieces of other words. So, we need to account for this as well. The Technical Note that there are two versions of each word. This is because in my automated proofreading trials, I've found it's common not only for an apostrophe to be omitted., but also for a simple typo to occur that puts the apostrophe after the last letter when Word's automated fix for this isn't on-hand. Words have also been surrounded by a space to eliminate a margin of error (this is key- just look at how many other words include 'dont' on one of these sites that people use to cheat in word games). Here's an example of how this works. This list is a bit incomplete, and leaves probably the most room for improvement in the list. Feel free to generate your own using this list of English contractions. That should about do it. I hope everyone enjoyed my first post here on SEOMoz, and hopefully this stirs some ideas on how to clean up some large sites! Do you like this post? Yes No |