Hootsuit offer a feature to set up a RSS feeds that will then be read by their systems to be posted on the desired social media. This is how to set it up correctly from beginning to end, plus I will show how you can do it in the VB.NET language.
First thing of course is to set yourself up a Hootsuit account at http://www.hootsuit.co.uk. Once you have this set up and your desired social media you can begin with the real work.
The RSS feed is created like any other RSS feed with the standard nodes, which I have outlined below. The trouble comes with knowing what to enter in these fields. Below with the RSS example I have entered in what content should be placed in the nodes and then an example of the data.
Before the example you need to know what a RSS feed is. A RSS feed is XML with a structure that is standard lay known, so when people say RSS feed you know the exact nodes you need. Each <node> is called a node and is what the reader will look for to know what information they are looking for, as an example if it is looking for the title the node this would be <title>information<title>. For more information about what RSS feeds are got to http://en.wikipedia.org/wiki/RSS
//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js
(adsbygoogle = window.adsbygoogle || []).push({});
RSS feed example with descriptions:
<rss xmlns:atom=”http://www.w3.org/2005/Atom” version=”2.0″>
<channel>
<atom:link href=”[LINK FROM WHERE THE RSS FEED IS COMING FROM]” rel=”self” type=”application/rss+xml”/>
<title>
[TITLE OF THE FEED]
</title>
<link>
[WEBSITE LINK]
</link>
<description>
[DESCRIPTION OF FEED]
</description>
<lastBuildDate>
[DATE TIME OF REQUEST (in format)]
</lastBuildDate>
<copyright>
[COPYRIGHT INFOMATION]
</copyright>
<language>
[LANGUAGE ENCODING (English = en-gb)]
</language>
<webMaster>
[MASTER CONTACT]
</webMaster>
<item>
<description>
[THIS IS YOUR POST ( max 140 character count for twitter)]
</description>
<link>
[LINK TO ITEM]
</link>
<guid>
[UNQUIC LINK IDENTIFIER (I add guid key on the end of the link to make it unquie)]
</guid>
<pubDate>
[DATE THIS WAS PUBLISHED]
</pubDate>
</item>
</channel>
</rss>
RSS feed example with content:
<rss xmlns:atom=”http://www.w3.org/2005/Atom” version=”2.0″>
<channel>
<atom:link href=”http://www.purerandom.co.uk/rss/social_rss.ashx” rel=”self” type=”application/rss+xml”/>
<title>
Pure Random social RSS Feed
</title>
<link>
</link>
<description>
Pure Random social RSS Feed – A lot of Random posts and products that will keep you hooked for hours.
</description>
<lastBuildDate>
Fri, 12 Sep 2014 12:01:06 GMT
</lastBuildDate>
<copyright>
2014 Pure Random
</copyright>
<language>
en-gb
</language>
<webMaster>
info@purerandom.co.uk (Pure Random)
</webMaster>
<item>
<description>
Why not have a look at Pure Random – The web developer freelance quick tips | Pure Random
</description>
<link>
http:/www.purerandom.co.uk/the-web-developer-freelance-quick-tips?utm_source=SocialMedia&utm_medium=autopost&utm_campaign=AutoSM
</link>
<guid>
http:/www.purerandom.co.uk/the-web-developer-freelance-quick-tips?utm_source=SocialMedia&utm_medium=autopost&utm_campaign=AutoSM?gu=12525
</guid>
<pubDate>Fri, 12 Sep 2014 12:01:06 GMT</pubDate>
</item>
</channel>
</rss>
You will need to make this feed dynamically for the information you wish to post, so for PureRandom I have used the asp.net framework as this is my primarily web language. However you can use anything that can write out an XML feed. I have outlined below how you produce a dynamic RSS feed for your data in VB.NET(Visual Basic).
VB.NET Example:
Public Shared Sub Generate_RSS()
context.Response.ContentType = “text/xml”
Dim RSS_SQL As String = “SELECT * FROM RSSfeed”
Dim RSS_DS As DataSet = db_conn.return_dataset(RSS_SQL)
Dim RSS_File As String = “”
If RSS_DS.Tables.Count > 0 Then
If RSS_DS.Tables(0).Rows.Count > 0 Then
Dim BuildDateTime As datetime = Datetime.now
RSS_File = “<?xml version=’1.0′ encoding=’UTF-8′?>” & Chr(13)
RSS_File &= “<rss version=’2.0′ xmlns:atom=’http://www.w3.org/2005/Atom’ >” & Chr(13)
RSS_File &= “<channel>” & Chr(13)
RSS_File &= “<atom:link href='” & HttpContext.Current.Application(“site_root”) & “rss/social_rss.ashx’ rel=’self’ type=’application/rss+xml’ />” & Chr(13)
RSS_File &= “<title>” & HttpContext.Current.Application(“company_name”) & ” ” & form_type & ” ” & RSS_Type & ” RSS Feed</title>” & Chr(13)
RSS_File &= “<link>” & HttpContext.Current.Application(“site_root”) & “</link>” & Chr(13)
RSS_File &= “<description>” & HttpContext.Current.Application(“company_name”) & ” ” & form_type & ” ” & RSS_Type & ” RSS Feed – ” & page_save.get_Meta(“meta_description”) & “</description>” & Chr(13)
RSS_File &= “<lastBuildDate>” & Convert.ToDateTime(BuildDateTime).ToString(“r”) & “</lastBuildDate>” & Chr(13)
RSS_File &= “<copyright>” & Date.Today.Year.ToString & ” ” & HttpContext.Current.Application(“company_name”) & ” </copyright>” & Chr(13)
RSS_File &= “<language>en-gb</language>” & Chr(13)
RSS_File &= “<webMaster>” & HttpContext.Current.Application(“email”) & ” (” & HttpContext.Current.Application(“company_name”) & “) </webMaster>” & Chr(13)
For Each RSS_Row As DataRow In RSS_DS.Tables(0).Rows
RSS_File &= “<item>” & Chr(13)
‘Item Title
If Not String.IsNullOrEmpty(Title_Field) Then
If Not IsDBNull(RSS_Row(Title_Field)) Then
If Not String.IsNullOrEmpty(RSS_Row(Title_Field).ToString) And Not RSS_Row(Title_Field).ToString = “-” Then
RSS_File &= “<title>” & RSS_Row(Title_Field).ToString & “</title>” & Chr(13)
End If
End If
End If
‘Item description
If Not String.IsNullOrEmpty(Description_Field) Then
If Not IsDBNull(RSS_Row(Description_Field)) Then
If Not String.IsNullOrEmpty(RSS_Row(Description_Field).ToString) And Not RSS_Row(Description_Field).ToString = “-” Then
RSS_File &= “<description>” & System.Web.HttpUtility.HtmlEncode(RSS_Row(Description_Field).ToString).Replace(“&”,”&”) & “</description>” & Chr(13)
End If
End If
End If
‘Item link
Try
If Not String.IsNullOrEmpty(Link_Field) Then
If Not IsDBNull(RSS_Row(Link_Field)) Then
RSS_File &= “<link>” & RSS_Row(Link_Field).ToString.Replace(“&”, “&”).Replace(“//”, “/”) & “</link>” & Chr(13)
End If
End If
Catch ex As Exception
End Try
‘Item Guid
Try
If Not String.IsNullOrEmpty(Link_Field) Then
If Not IsDBNull(RSS_Row(Link_Field)) Then
RSS_File &= “<guid>” & RSS_Row(Link_Field).ToString.Replace(“//”, “/”) & “?gu=” & RSS_Row(“id”).ToString & “</guid>” & Chr(13)
End If
End If
Catch ex As Exception
End Try
‘Item Publish Date (must be fully formatted so to be sure, it is broken down into sections)
Dim DateString As String = “”
If Not String.IsNullOrEmpty(DateField) Then
If Not IsDBNull(RSS_Row(DateField)) Then
If Not String.IsNullOrEmpty(RSS_Row(DateField).ToString) And Not RSS_Row(DateField).ToString = “-” Then
DateString &= RSS_Row(DateField).ToString & ” “
Else
DateString &= Date.Today.Date.ToString
End If
Else
DateString &= Date.Today.Date.ToString
End If
Else
DateString &= Date.Today.Date.ToString
End If
If DateString.Length > 10 Then
DateString = DateString.Substring(0, 10)
End If
‘Item Publish Hour
If Not String.IsNullOrEmpty(sedhour_Field) Then
If Not IsDBNull(RSS_Row(sedhour_Field)) Then
If Not String.IsNullOrEmpty(RSS_Row(sedhour_Field).ToString) And Not RSS_Row(sedhour_Field).ToString = “-” Then
DateString &= ” ” & RSS_Row(sedhour_Field).ToString & “:”
Else
DateString &= ” 12:”
End If
Else
DateString &= ” 12:”
End If
Else
DateString &= ” 12:”
End If
‘Item Publish Minute
If Not String.IsNullOrEmpty(sedminute_Field) Then
If Not IsDBNull(RSS_Row(sedminute_Field)) Then
If Not String.IsNullOrEmpty(RSS_Row(sedminute_Field).ToString) And Not RSS_Row(sedminute_Field).ToString = “-” Then
DateString &= RSS_Row(sedminute_Field).ToString & “:00”
Else
DateString &= “00:00”
End If
Else
DateString &= “00:00”
End If
Else
DateString &= “00:00”
End If
Dim PostDateTime As DateTime = Convert.ToDateTime(DateString)
‘RSS_File &= “<pubDate>” & PostDateTime.ToString(“r”) & “</pubDate>” & Chr(13)
RSS_File &= “<pubDate>” & Convert.ToDateTime(BuildDateTime).ToString(“r”) & “</pubDate>” & Chr(13)
RSS_File &= “</item>” & Chr(13)
Next
RSS_File &= “</channel>” & Chr(13)
RSS_File &= “</rss>” & Chr(13)
HttpContext.Current.Response.Write(RSS_File)
End If
End If
End Sub
Now that you have your feed running you need it to produce a new item in the feed before you tell the Hootsuite system to read the feed. Hootsuite reads the feed every half an hour as I was informed before, but this is not fact. Even though you don’t know the exact time you can generate the new post every half an hour to be safe. You don’t need to produce a new item though if you don’t want to post that frequently.
//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js
(adsbygoogle = window.adsbygoogle || []).push({});
Once you have the feed generating, you can now set up Hootsuite to read the feed when you need it to for the correct social media. Just to mention you can only use two feeds for free. If you want to use this feature for more than two you can get the premium account.
To set the RSS feed up on Hootsuit you can do as followed.
Step 1
Login into your Hootsuite account and navigate to the settings page via the side navigation. Click on the RSS/Atom page and you will then have a popup appear.
Step 2
If you do not already have a RSS feed set up then simply choose the + symbol and add a new feed. If you do already have a feed you want to adapt, then you can edit that feed.
Step 3
Finally fill out all the relevant information below:
- Feed URL: the URL of where the RSS feed is generated
- Network to send feed items to: This is which social media platform you wish to post to.
- Check this feed for new posts every: You can set how many time you want hootsuite to check your feed for new posts.
- When new posts are found, send up to: Choose how many post you want to be sent every time they find new post e.g 4 new post but will only send 2 of them.
- Include text from post in message: As it is side, this include the text form the post in the message.
- Hide link preview on social networks: this prevent social media from showing the previews to the website (suggested to keep it on)
- Prepend text to each message: here you can put a standard message so you know it is from the feed. (note that twitter still have 140 character count and this will have to be taken into account)
- URL shortener for links: This will shrink the long links, so they fit on the post better.