One of the things we do to help our SEO efforts is to write professional articles about our niche. We believe this is a great way to get links, and anyone can do this in their own niche.
Let’s say for the sake of example that we sell wedding shoes. Our staff knows a lot about this subject, and is very experienced in that field of work. Therefore this niche produces the most natural topics to write about. We would write about how to choose the most comfortable wedding shoes, or how to choose ones that will support your feet best and still have high heels, or what is trendy currently … You get the point.
The next step is to publish these articles as guest posts in as many blogs and websites as possible, so we can get the precious links.
First we need to make contact with bloggers that tend to write about weddings, introduce ourselves and offer articles to them. These bloggers are more open than others to receive and publish guest articles about wedding shoes.
At this point, we encounter the first problem – How do we find a large number of these bloggers?
Our immediate solution was very simple – We search for posts regarding weddings, so we can contact their authors. We do that by utilizing Google Blog Alerts on one generic keyword that appears in these posts in high probability: “wedding”.
You can do this by going to Google Alerts, then type “wedding” and choose “Blogs” as the type, and fill the rest of the fields. If you’re logged in to Google when you do this, then you have the option to receive the alerts in a feed instead of email.
An employee reads the alert feed frequently (let’s say twice every day), looks at all the new blog posts about weddings, and identifies bloggers that we can contact.
This employee then tags these blogs in Delicious, with the tag ‘GoodBlog’.
If you are not familiar with Delicious tagging, this is the time to explain that each tag creates an RSS feed (we call this a tag-feed), which gets filled with URLs as you tag them. This usage of Delicious Bookmarks is a very powerful productivity tool, and it’s free!
So these blogs get tagged as GoodBlog, and thus an item is generated in the Delicious tag-feed, and we let another employee read this tag-feed and contact the bloggers. A rather simple process that is also mostly scalable. This process so far requires only little man-power.
While doing this, we found out that a single Google Blog Alert on a generic keyword like ‘wedding’ ends up with a huge quantity of results… Some of them are interesting and related to weddings – so we can contact their authors, like this one. But others aren’t relevant at all, or are spam blogs (splogs), scrapers (a growing phenomenon), and other Internet junk.
For example, a few irrelevant sites that keep popping up are gossip sites and magazines that talk about celebrity weddings and stuff like that (for example, this one). They are not likely to accept out wedding-shoes articles, so we prefer not to contact them. If possible, we prefer not to see them at all in the alerts.
So this brings us to the second problem – How do we separate the wheat from the chaff?
We observed early-on that it would be enough to filter out a limited amount of specific spam sites and other unrelated sites that, for one reason or another, appear again and again in the alerts.
Our first idea for a software-based solution was to write a PHP script to filter certain URLs from the alert feed, and thus generate a filtered feed. A quick sketch for such a script is:
- Read the alert feed
- Iterate over all items
- Remove items from sites we don’t want
- Keep all others
- Output the kept items as a feed
This kind of script would do the job, but it would require tweaking the script every time we wanted to add a new site to filter.
So we came up with another trick, and this is the main point of this essay: The list of sites to filter doesn’t need to be hard-coded into the script.
Instead, the script can use several Delicious tag-feeds that contain the list of the sites to filter out.
So now we have an improved feed filter that generates a modified feed on-the-fly. The employee who reads the modified feed, can use one tag (‘GoodBlog’) to mark a blog for later contact, and another tag (‘BadSite’) to mark a site for future filtering.
The feed-filter script will filter any entries from a site that was tagged with any of these, from then onward!
The end result: A large and ever-growing list of good wedding-related blogs that we can contact and publish articles on.
Any blogs that we already identified and maybe contacted, as well as any spam/junk/irrelevant sites that we don’t want to see anymore, are all filtered out of the alerts feed. As an added bonus, the whole process tends to optimize itself over time, so the employee has less and less spam to go through.
From the productivity and usability point of view, the most important aspect of this whole system is that the user interface is dead-simple and intuitive for the employee. They tag a site, and it works as expected.
We want to share this element of the system with everybody, so you can all do this kind of thing. We call it the PHP Feed Filter, and we give it to you here for free, so you can use it for your SEO efforts.
A word about how it works
We use very simple RSS parser and writer classes, based on PHP’s XML facilities. However the parser doesn’t work well for Google Alerts ATOM feeds, so we also included SimplePie, which handles those feeds well.
If you wish to use the feed filter for your own system, you should:
- Generate a Google Alerts feed and put its URL in the sample script file where it says “Unfiltered alert feed”.
- Generate tag feeds in Delicious as you see fit (they appear at the bottom of the page when you look at tagged entries), and put them in the sample script file where it says “Filter feeds”. You can also use private feeds if you wish to keep all your work hidden from competitors.
- Let your employee enter the sample script’s URL in their RSS reader, like Google Reader.
- Remember to tag the homepage, and not a specific post or page, so that they get filtered correctly.
Note that the code is not very optimized and a bit crude, but it is very simple and straightforward. You should be able to modify any part of it quite easily to fit more complicated use cases. This is also why we used free 3rd-party services like Google Blog Alerts and Delicious Bookmarks.
A system such as this allows you to scale your article distribution and guest blogging efforts while maintaining efficiency. In fact, in some ways efficiency increases over time as you learn which sites you wish to avoid in future.
We hope you find our code useful and please do let us know if you have any ideas for how we can improve it!