OK, so we’re a little biased, that’s true. I think that when you see this tutorial, though, you will agree that WP-Drudge is the best WordPress aggregator theme out there. The onus is on me to prove it!
For those not familiar with WP-Drudge, it’s a theme for WordPress that makes creating valuable curated news sites simple and fun. We’ve been iterating on this theme for close to 4 years now and our users agree that WP-Drudge is the best tool out there for posting and categorizing links, videos, images and more.
In a previous post, we showed how to connect WP-Drudge to the free RSS aggregation plugin RSS Multi-Importer. This system works great but I was curious to see how it compares with the other major RSS aggregation plugin out there, WP RSS Aggregator. I contacted the fine folks who produce and maintain it and was hooked up with a review copy to try.
The main plugin, WP RSS Aggregator, is free and available in the WordPress plugin repo for anyone to use. The free, core plugin covers a lot of ground (explained below) but there are a few add-ons that make this work well with WP-Drudge:
- Feed-to-Post: This add-on converts feed items to post content items automatically. For feed items to appear as Posted Links (and follow style and display settings), they need to be posts so this add-on is necessary.
- Keyword Filtering: Not essential but does give you more control over what you’re pulling in. Just pulling in everything from a feed will make for a sloppy, overpopulated site.
Before we get started, let’s talk about rules …
Step 0: Know The Rules
I mentioned this in the last post about RSS aggregation but I think it’s a good idea to reiterate here.
When you pull content from RSS feeds from other sites, keep two very important things in mind:
- Attribution: Anytime you use someone else’s content, make sure to attribute the author/publisher. If you try to pass off content as your own by importing full item content without a link to the original article, you’re stealing, plain and simple. This is also terrible for SEO and you’re likely to get blacklisted, at worse, or penalized, at best. Pull in excerpt content and link back to the original.
- Performance: Importing RSS items from external sources is not completely “free” in terms of impact to your site. The more feeds you import from and the more items per feed, the more likely you’ll run into performance problems on your site. It’s hard to give hard numbers here since all servers perform differently but if you’re pulling from 100’s of feeds and grabbing all the items for each, it’s likely you’ll see an impact. I give recommendations for how many/how much below. Also, the more posts you pull in without deleting old ones, the larger your database gets. Larger databases = longer query times = slower site.
OK, lecture over, let’s get going!
Step 1: Download, Install, and Configure
You can download and install the core plugin by going to Plugins > Add New, searching for “WP RSS Aggregator.” You’re looking for this one:
Click Install Now and, when complete, click the Activate Plugin link.
For the add-ons mentioned above, you’ll need to purchase those on the WP RSS Aggregator site under Add-Ons. Once the purchase is complete, you will receive an email with download details and the license codes. Upload and install the add-ons by going to Plugins > Add New, click the Upload Plugin button at the top, select the ZIP file for the add-on, click Install Now, then the Activate Plugin link. Do that for each of the add-ons you purchased.
In order to turn on updates (and turn off the license nag), go to RSS Aggregator > Settings > Licenses tab and enter the codes you were sent. The status for the add-ons should show Valid. Once that’s all done, you’re ready to configure the rest of the plugin.
The first thing you’ll want to do is configure the basic settings for this plugin. Any setting I skipped is not necessary for setup and can be set to whatever you like.
- In wp-admin, go to RSS Aggregator > Settings > General tab (default)
- “Limit feed items by age” can be set to “No limit” since we’ll restrict the number and interval below
- “Limit feed items per feed” is a hard limit to the total number of items stored for each feed. If you want to keep all items imported, leave this as “No Limit” (blank field).
- “Feed processing interval” tells the plugin how often it should check for new items. A short interval means more content on your site but it also means that more people will see the slowdown caused by the pull. I recommend setting this to hourly or longer.
- “Log level threshold” should be set to “Default” or “None.” If you’re having issues with a particular feed, you can adjust this higher.
- Click Save Settings
Now click on the Feed to Post tab. Full documentation on this add-on is here.
- “Post Status” tells the plugin how you want to publish posts on your site. If you want to review the items before they go live (recommended but more hands-on), set this to “Draft” or “Pending.” You’ll need to log into your site and publish the individual items you want to go live. If you want the items to come in automatically and publish immediately, pick “Published.”
- “Link back to source?” will add a link to the imported content. Turn this on if you’re using an interruption page showing the post content!
- “Source Link Text” let’s you modify the link text being used to link back to the source. Hover over the question mark icon for instructions on how to use this.
- “Canonical Link” will add a meta tag to your header pointing back to the original post. I highly recommend turning this on so you don’t run into any SEO problems.
- The “Taxonomies” section lets you control how the feed items are sorted and categorized in the system. Since WP-Drudge runs off of post categories to determine where Posted Links should appear, you can assign all incoming posts to a particular category (if all of your imported items should appear in the same widget) or select “Auto create…” and build out widgets for the categories that are coming in. I would also suggest importing all items into a particular tag or category so they can be identified in the post listing in wp-admin. Use “RSS imported” or something similar (you’ll need to create that first before you can select it). Note: You can add specific categories to specific feeds in the next step so this part is not required.
- “Save Images Locally” pulls the image into your site so you aren’t hotlinking from somewhere else. If you’re going to use images, I recommend checking this.
- “Use a featured image” will populate your posted links with the images from the feed
- “Featured image to use” lets you choose what feed image to use. This might need a bit of experimentation to get right. Using the first image is probably a good default for pulling images more often; using the <media:thumbnail> will probably get a better image but for less feed items. Note: You can set this for each feed source so you’re just looking for the best option to default to here.
- “Fallback to Feed Image” will use the image uploaded to the feed when adding (see below)
- Click Save Settings
Finally, if you purchased the Keyword Filtering add-on, click on that tab. The function here is simple:
- Note on these fields: make sure to separate new words and phrases by commas
- If you want to filter by keyword (in the title or content), use the top 3 fields.
- The first field makes the plugin look for all of the words/phrases entered. If you enter “green apples, yellow bananas, orange oranges” then posts containing all 3 of these phrases will be imported and the rest will not.
- The second field makes the plugin look for any of the words/phrases entered. If you enter “green apples, yellow bananas, orange oranges” then posts containing any of these 3 phrases will be imported and the rest will not.
- The third field excludes the phrases entered. If you enter “green apples, yellow bananas, orange oranges” then posts that do not contain any of these 3 phrases will be imported and the rest will not.
- The bottom 2 fields look for tags in the feed items and work like the top 3
You can change any of the settings above after the fact but the content will be different before and after you make the changes; it will not affect any posts that have already been imported.
One last configuration …
Step 2: WP-Drudge Add-On
The WP RSS Aggregator plugin and the Feed to Post add-on work to pull in the posts to your site but they won’t automatically add the link field needed for WP-Drudge to do its magic. To make that happen, I put together a very small plugin that will map RSS link to Posted Link content.
The plugin is here and it’s free. Just download that ZIP file, install it, and activate it like any other plugin (see the add-on steps above). With this in place, your Posted Link Outbound Link field will be automatically populated.
Time for the fun part: adding RSS feeds for aggregation!
Step 3: Add Feed Sources
Feed sources have a huge number of options for each making it more flexible than the WP RSS Multi-Import plugin. This makes it possible to customize all of your sources differently based on what they publish.
- In wp-admin, go to RSS Aggregator > Add New
- Give the feed a name; this won’t appear on the site so use something informative for your purposes
- Under “Feed Source Details:”
- “URL” is the direct link to the RSS feed. It’s best to use a specific RSS feed URL but if you try a plain site URL it will try to discover the feed.
- “Limit” allows you to set a specific limit for this feed that overrides the global limit set above
- Under “Feed to Post – General” you can override anything set on the main settings page covered above. This should usually remain as the defaults shown. If you’re importing for the first time, it’s a good idea to set the “Post Status” to draft so you can check how the content is coming in before you start publishing.
- Under “Feed to Post – Images” you can, once again, override the defaults set above. If you’re looking to pull in a featured image for this feed source, you’ll want to test these settings out first to make sure things are all coming together correctly. Keep in mind that many feeds out there don’t have images associated so you won’t see one for each item you pull in.
- Under “Feed to Post – Taxonomies” you can give this feed a specific category to import to. Keep in mind that the global settings covered above will still apply but you can tag or categorize for this specific source here. This is how you control where the Posted Links show up. You can pipe individual feeds to specific categories, then create a Posted Link widget to display that category.
- The “Feed to Post – Prepend To Content” and “Feed to Post – Append to Content” lets you add content before (prepend) or after (append) all posts pulled from this source. This is a great way to create a custom attribution for your imported posts but will only appear where you are showing the post content (typically on the post or interruption page).
- Scroll up and review the settings on the right. You can pause, turn off, set the interval, and delete old feed items. You can also set a fallback featured image, if desired.
- Once you’ve got everything set up correctly, click the blue Publish Feed button at the top right.
I’d like to just pause here and say I’m very pleased with the UI of this plugin. There are a lot of options, this is true, but the labels make sense and the pop-up help icons make this process very simple. Nice work!
Once you’ve saved the feed, click on RSS Aggregator > Feed Sources to see the feed status. This shows when the last update was and when the next one is scheduled for. It also lets you pause the feed right in-line.
Saving the feed will pull the latest items automatically so we’re able to see how they came in by going to Posts in wp-admin.
I see everything here I expected:
- Posts have the correct title
- No duplicates
- Post status is draft so I can take a look before publishing
- The correct category is applied
- Featured images are pulled from the media:thumbnail element
- Outbound link is saved correctly from the custom field mapping
Awesome! If I walk through and publish a few, I see them showing up right in my Posted Link widget with the correct title, image, and link behavior.
Step 4: Display Imported Content
In order to use the WP-Drudge display settings and link behavior, you’ll use the WP-Drudge Posted Link widget to display posts in the categories they are being added to. Detailed steps to do that are here.
Step 5: Troubleshooting
Since we’re pulling unknown content from external sources, there are a number of things that could go wrong.
- If the feed items are coming in and posts are created but the information is not what your expected, review the feed source settings to make sure everything matches what you need and the recommendations above.
- If the items are not coming in automatically, use the WP Crontrol plugin to figure out what’s going wrong. Instructions are here, and the hook name you’re looking for is “wprss_fetch_all_feeds_hook” for the import and “wprss_truncate_posts_hook” for the post deletion (if you have that setup).
- If you’re having any other type of errors or the steps above didn’t help, go to RSS Aggregator > Debugging and check out the log. You might see an error that could help you figure out the issue.
- If all else fails, to go RSS Aggregator > Help & Support for information on troubleshooting and support requests.
I found this plugin very easy to use and (with, albeit, minimal testing) did not find any issues with the import process. I tried this against several different feeds and did not find any problems. Overall, I am pleased with what I saw here and can recommend this for anyone using WP-Drudge who wants to import content automatically.
Questions? Comments? Concerns? Leave them in the comments section below and myself or someone at WP RSS Aggregator will be happy to help.