Set up your dynamic Hootsuite Account

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&#8221; 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″&gt;

    <channel>

        <atom:link href=”http://www.purerandom.co.uk/rss/social_rss.ashx” rel=”self” type=”application/rss+xml”/&gt;

        <title>

            Pure Random social RSS Feed

        </title>

        <link>

            http://www.purerandom.co.uk/

        </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&amp;utm_medium=autopost&amp;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&#8217; >” & 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(“&”,”&amp;”) & “</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(“&”, “&amp;”).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:

  1. Feed URL: the URL of where the RSS feed is generated
  2. Network to send feed items to: This is which social media platform you wish to post to.
  3. Check this feed for new posts every: You can set how many time you want hootsuite to check your feed for new posts.
  4. 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.
  5. Include text from post in message: As it is side, this include the text form the post in the message.
  6. Hide link preview on social networks: this prevent social media from showing the previews to the website (suggested to keep it on)
  7. 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)
  8. URL shortener for links: This will shrink the long links, so they fit on the post better.

Amazon Items by Tweeting

One of the new things by Amazon is to order your items through twitter! Yes this is true. You don’t even have to leave your social media to get the latest best items. Here are the details below to help you grab great deals on the go.

How #AmazonBasket works

Three things have to occur for #AmazonBasket to work:

  • Your Twitter account has to be connected to Amazon, so Amazon can add the product to the correct Amazon customer’s Amazon.co.uk Shopping Basket
  • You have to reply to a tweet that contains the URL of an Amazon.co.uk product
  • You have to add #AmazonBasket in the reply tweet. Note that #AmazonBasket will work on Twitter only, not Facebook or other social networks

 

//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js

(adsbygoogle = window.adsbygoogle || []).push({});

Does this work on all Amazon products?

#AmazonBasket will add any physical product sold on Amazon.co.uk to your visitors’ Amazon.co.uk Shopping Baskets. Digital products are excluded since products are purchased via 1-click, preventing add to Amazon.co.uk Shopping Basket functionality. We will still send a reply tweet to your visitors when they try to add digital products, informing them on how to check out.

For Kindle ebooks, we will send a free sample to your visitors’ devices, link back to the product, and/or provide a link to read the sample in Cloud Reader where possible.

For products that have variations and require the visitor to select custom options, e.g. size of trousers, or apple green vs. cobalt blue stand mixer, the product ID within the link is what will be added to your visitor’s Amazon.co.uk Shopping Basket. Visitors will be able to select their preferences when they review their Amazon.co.uk Shopping Baskets.

What happens if a product is out of stock or unavailable?

For any products or single-product deals that are out of stock, unavailable, expired, or not found, we will respond by tweet to confirm the visitor’s action, and notify of the appropriate situation. If the visitor replies with #AmazonBasket to a tweet that doesn’t contain a link or links to a non-Amazon.co.uk product, the visitor will not get a reply tweet.

Where is #AmazonBasket available?

#AmazonBasket is currently only available in the UK (for Amazon.co.uk links) and as #AmazonCart in the US (for Amazon.com links).

How To for the Twitter Card

Bing bing, twitter email… it’s twitter card. Twitter has developed a new feature called twitter card, but how do you use it? when I was setting up the PureRandom twitter card, I followed all the instructions, but still got a bit confused. This could be just me, though it never hurts to help others.

I will show you below how step by step how you can create your own twitter card, but first what is a twitter card? A twitter card is a new feature for tweeters to add more content to their posts. It is mostly aimed at the company or blogger tweeters as you have to have a running website that you have access to the header tag.

When you have a twitter card and you or anyone else tweets with the website URL, you used in the set up, then the twitter card will show below the tweet. This can give you options to show more images about your website, more information or a bit of both, so you’re not just limited by 140 character anymore. This would be great for you to pass the standard information about your website, so not only does the twitter user see what you are posting about , but see’s what you or your company is about as well.

//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js

(adsbygoogle = window.adsbygoogle || []).push({});

This first step is to make sure you have access to the <head> tag, as this is where you have to put the meta information for twitter to read. If you have this then you can start with choosing the type of card you want to feature on your tweet. From the below you can choose the card and then use the meta information below for the chosen card.

If you use the imformation below as an example and replace the information where needed to for your content. With the meta information you simply place it in the <head> tag on your website. Once the content is in you can go to the Titter Card Validation. Here you enter you website URL of where you place the meta information. If you press the validation button you will be given a message or a sucess and it will be reviewed before going live. If you don’t get this message then you may have an error. You can us this link to find out what is wrong to correct your meta data – Twitter Card Errors

 

 

Summary Card

This is a default twitter card and has the best of all the Twitter Cards. You can get the image of you post across plus give a little information about your content.

 

Code Example:

<meta name=”twitter:card” content=”summary” />
<meta name=”twitter:site” content=”@pateman90″ />
<meta name=”twitter:title” content=”Pure Random Blog” />
<meta name=”twitter:description” content=”Pure Random is a place for programmers, technology lovers and everything else that is technical, plus some other subjects that interest the blogger.”>
<meta name=”twitter:image” content=”http://www.purerandom.co.uk/image/pureran/logo.png&#8221; />
<meta name=”twitter:url” content=”http:www.purerandom.co.uk” />        

 

Summary Card with Large Image

If your content is more about the images, then you can use this card to promote an amazing graphic and then a smaller bit of information.

 

Code Example:

<meta name=”twitter:card” content=”summary_large_image”>
<meta name=”twitter:site” content=”@pateman90″>
<meta name=”twitter:creator” content=”@pateman90″>
<meta name=”twitter:title” content=”Pure Random Blog”>
<meta name=”twitter:description” content=”Pure Random is a place for programmers, technology lovers and everything else that is technical, plus some other subjects that interest the blogger.”>
<meta name=”twitter:image:src” content=”http://www.purerandom.co.uk/image/pureran/logo.png”&gt;

 

Photo Card

One of the best card to show off that image you have on your website, but saves you having to write a paragraph. This can help if you want to draw your audiance through graphics.

 

Code Example:

<meta name=”twitter:card” content=”photo” />
<meta name=”twitter:site” content=”@pateman90″ />
<meta name=”twitter:title” content=”Pure Random Blog” />
<meta name=”twitter:description” content=”Pure Random is a place for programmers, technology lovers and everything else that is technical, plus some other subjects that interest the blogger.”>
<meta name=”twitter:image” content=”http://www.purerandom.co.uk/image/pureran/logo.png&#8221; />
<meta name=”twitter:url” content=”http:www.purerandom.co.uk” />        

 

Gallery Card

Though the best one of all for your images is the Gallery Card. This will show off as many of your graphics so you make a statement and stand out.

 

Code Example:

<meta name=”twitter:card” content=”gallery” />
<meta name=”twitter:site” content=”@pateman90″ />
<meta name=”twitter:title” content=”Pure Random Blog” />
<meta name=”twitter:description” content=”Pure Random is a place for programmers, technology lovers and everything else that is technical, plus some other subjects that interest the blogger.”>
<meta name=”twitter:url” content=”http://www.purerandom.co.uk&#8221; />
<meta name=”twitter:image0″ content=”http://www.purerandom.co.uk/image/pureran/logo.png”&gt;  
<meta name=”twitter:image1″ content=”http://www.purerandom.co.uk/image/pureran/logo.png”&gt;  
<meta name=”twitter:image2″ content=”http://www.purerandom.co.uk/image/pureran/logo.png”&gt;  
<meta name=”twitter:image3″ content=”http://www.purerandom.co.uk/image/pureran/logo.png”&gt;

//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js

(adsbygoogle = window.adsbygoogle || []).push({});

I don’t have the content to preview these cards, but for more information you can visit their respective links.

App Card

If you have a downloadable app you may want to try this card out to help increase your download rate and reach more protential customers.

https://dev.twitter.com/cards/types/app

Player Card

If you are a video company or even a YouTuber, you can give people a teaser video with the Player card to catch their attention to you website.

https://dev.twitter.com/cards/types/player

Product Card

Got an item you want to sell especially? Then embed this Twittter Card to get the word and image out now.

https://dev.twitter.com/cards/types/product

For a full breakdown of all the meta tags and what they do you can refer to the below:

Property

OpenGraph

twitter:card

The card type

Used with all cards

n/a

twitter:site

@username of website

Used with summary, summary_large_image, photo, gallery, product, app, player cards

n/a

twitter:site:id

Same as twitter:site, but the user’s Twitter ID

Used with summary, summary_large_image, photo, gallery, product, player cards

n/a

twitter:creator

@username of content creator

Used with summary_large_image, photo, gallery, product cards

n/a

twitter:creator:id

Twitter user ID of content creator

Used with summary, summary_large_image, photo, gallery, product cards

n/a

twitter:description

Description of content (maximum 200 characters)

Used with summary, summary_large_image, gallery, product, player cards

og:description

twitter:title

Title of content (max 70 characters)

Used with summary, summary_large_image, photo, gallery, product, player cards

og:title

twitter:image:src

URL of image to use in the card. Image must be less than 1MB in size

Used with summary, summary_large_image, photo, product, player cards

og:image

twitter:image:width

Width of image in pixels

Used with summary, photo, product, player cards

og:image:width

twitter:image:height

Height of image in pixels

Used with summary, photo, product, player cards

og:image:height

twitter:image0, twitter:image1, twitter:image2, twitter:image3

1st, 2nd, 3rd, and 4th image in the gallery, respectively. Images must be less than 1MB in size

Used with gallery card

n/a

twitter:player

HTTPS URL of player iframe

Used with player card

n/a

twitter:player:width

Width of iframe in pixels

Used with player card

n/a

twitter:player:height

Height of iframe in pixels

Used with player card

n/a

twitter:player:stream

URL to raw video or audio stream

Used with player card

n/a

twitter:data1

Top customizable data field, can be a relatively short string (ie “$3.99”)

Used with product card

n/a

twitter:label1

Customizable label or units for the information in twitter:data1 (best practice: use all caps)

Used with product card

n/a

twitter:data2

Bottom customizable data field, can be a relatively short string (ie “Seattle, WA”)

Used with product card

n/a

twitter:label2

Customizable label or units for the information in twitter:data1 (best practice: use all caps)

Used with product card

n/a

twitter:app:name:iphone

Name of your iPhone app

Used with app card

n/a

twitter:app:id:iphone

Your app ID in the iTunes App Store (Note: NOT your bundle ID)

Used with app card

n/a

twitter:app:url:iphone

Your app’s custom URL scheme (you must include “://” after your scheme name)

Used with app card

n/a

twitter:app:name:ipad

Name of your iPad optimized app

Used with app card

n/a

twitter:app:id:ipad

Your app ID in the iTunes App Store

Used with app card

n/a

twitter:app:url:ipad

Your app’s custom URL scheme

Used with app card

n/a

twitter:app:name:googleplay

Name of your Android app

Used with app card

n/a

twitter:app:id:googleplay

Your app ID in the Google Play Store

Used with app card

n/a

twitter:app:url:googleplay

Your app’s custom URL scheme

Used with app card

n/a