Blog

SEO: Ten Link Building Recommendations

20. July 2010 20:11

A major and time-consuming part of search engine optimisation (SEO) is link building.  If you own a website of any sort, you’ve undoubtedly received SPAM emails from dubious companies offering to provide you with SEO services.

Assuming you decide to outsource your SEO activities and you’ve chosen a reputable company to provide this service (preferably one that hasn’t spammed you), how do you ensure the link building effort will pay off and give you greater prominence in the top search engines?web

Here’s a list of ten link building recommendations.

  1. Only get links from similar themed organisations and websites
  2. Make the anchor text of the link relevant to the landing page and different on each link obtained. E.g. don’t use your website name as the link text all the time
  3. Try to get deep links into your website, not just to your homepage
  4. Favour text links over image links
  5. Avoid getting links on purpose built 'link' pages
  6. Avoid reciprocal link schemes
  7. Avoid black hat techniques such as obtaining hidden links, links from sites built specifically for gaining PageRank
  8. Favour links with decent PageRank
  9. Links having rel="nofollow" do not count towards inbound links
  10. Make sure pages that contain your link aren’t excluded via robots.txt or robots meta tags
  11. Avoid links which look like they have been bought, as Google can penalise these

 

Thanks to Adam for his helping putting this list together.  Image used under Creative Commons by saintbob.

Tags:

Filed under: Search Engine Marketing

Creating an Immediacy (Alterian Content Manager) Plug-in

27. April 2010 17:20

An Immediacy plug-in is a special type of ASP.NET User Control that allows you to extend the functionality of the core content management system. http://www.immediacy.net/

Follow these instructions to create a custom plug-in for the Immediacy/CMC CMS.

Instructions

Create a new directory within the Immediacy plug-ins directory for your plug-in. This new directory will hold the .ascx file for your user control plus your Immediacy editor dialogue UI (Which is a special web file that allows you to change the plug-in settings from within the Immediacy editor).

The name of your plug-in directory should have the same name as the “tagName” you use to register the User Control in Immediacy’s web.config file.

Build your ASP.NET User Control to perform your custom functionality making sure that you create public properties in your C#/VB.NET code for all the properties you would like configurable from within the Immediacy editor.

Add a reference to the Immediacy.Web assembly to your project.

Next, add these attributes to your User Control class.

[PluginDesigner(PluginDesignerType.Html, "PluginCmsDialogue.aspx", Height = 400, Width = 400)]
[ToolboxData("<{0}:PluginName runat=server></{0}:PluginName>")]
[PluginInfo("My First Plug-in", "CMS Plug-in Category", Description = "Description of my Plug-in")]
public partial class Comments : System.Web.UI.UserControl, INamingContainer
{
    // Your plug-in code here
}

If you don’t add these class attributes your plug-in properties will not be configurable from within Immediacy, but the plug-in will still work.
If you don’t have public properties that you want editors to be able to change you can skip creating a dialogue box for your plug-in.

Create an Editor Dialogue Pop-up

Create a CMS dialogue page which will allow Immediacy users to change the properties of your custom plug-in from within the editor. The name of this file is referenced in the class attributes above (e.g. PluginCmsDialogue.aspx) .

Your dialogue box can be either an HTML file with JavaScript or an ASP.NET web form. This example uses an HTML page with a .aspx extension, although it doesn’t contain any server-side code. 

In the HTML you need to reference the Helpers.js JavaScript file that resides in the Immediacy plug-ins folder.

<script type="text/javascript" src="../Helpers.js"></script>

Create a simple HTML form with form elements to match each public property of your plug-in class.

Add two HTML buttons, one for OK, one for Cancel. Give them IDs of ok and cancel respectively.

Create a JavaScript function called Init() as below.

<script type="text/javascript">
var Dialog;

function Init()
{
   Dialog=new DialogObject("name of plugin", 400, 400); Dialog.UniqueKeys=false;

   // Load each property and update the dialogue box
   Dialog.Load("property", function(value){document.getElementById("property").value=value;});

   // Add functionality to the OK and Cancel HTML buttons
   document.getElementById("ok").onclick=function(){Dialog.Ok();}
   document.getElementById("cancel").onclick=function(){Dialog.Cancel();}

   Dialog.Valid=function()
   {
     
// Perform validation here
      return true;
   }

   Dialog.Submit=function()
   {
     
// Save each property
      Dialog.Save("property",document.getElementById("property ").value);

      // Update the Immediacy control UI placeholder
      Dialog.InnerHTML="<div style='background:#DDDDDD; color:#000000; float:left; padding:10px; clear:both;'><strong>Comments Enabled : </strong>Status of Plug-in</div>";
   }
}
</script>

At the bottom of your dialogue HTML call the Init() function as below.

<script type="text/javascript">Init();</script>

Install the Plug-in

Register your ASP.NET User Control to Immediacy’s web.config under <pages><controls> as you would with an ordinary User Control. Ensure the “tagName” is the same as the plugin directory name for your plugin.

<add tagPrefix="MyUserControls" tagName="PluginName" src="~/plugins/ PluginName /test.ascx"/>

Build your project in Visual Studio.

Copy the .ascx and your dialogue box HTML file to the /plugins/PluginName folder.

Copy the .dll file to the Immediacy bin folder.

Tags: ,

Filed under: Software Development | Web Development

Configuring FTP for Windows Server 2008

30. December 2009 17:50

Setting up FTP on Windows Server 2008 isn’t as easy as in previous versions and the steps you need to take vary depending on what version of IIS you have installed.

Unless you upgrade to IIS 7.5, FTP in IIS 7 is still managed with IIS 6 Manager!

FTP configuration in IIS 7

Failed to Retrieve Directory Listing

The first hurdle I encountered when trying to connect using Filezilla was the error message “Failed to Retrieve Directory Listing”.  Filezilla was able to connect but couldn’t list the files in the remote folder.

A work around to this is to run Filezilla in active mode (Edit > Settings > Connection > FTP > Active), but some programs that use FTP such as Windows Live Writer can’t be set to use active and prefer passive FTP.  Read more about active and passive FTP.

Configuring Passive FTP on IIS

Configuring Passive FTP on IIS essentially involves configuring FTP port ranges in IIS for the passive connection and then opening up those ports in Windows Firewall on the server.

Depending on what version of IIS you have installed I can verify that both of these methods work.  Although the c:\Inetpub\adminiscripts folder didn’t exist on my server so I ended up getting them from a Windows Server 2003 machine.

My advice would be to upgrade to IIS 7.5.

Tags: , ,

Filed under: Web Servers | Windows

Where’s the POP3 Service in Windows Server 2008?

24. December 2009 16:27

I’ve recently upgraded my virtual server to a Windows Server 2008 box and to my annoyance noticed that Microsoft have removed the POP3 Service that shipped with Windows Server 2003.

I know that POP3 is old and a bit rubbish, but it was perfect for my purposes.

Rather than shell out for a commercial mail server I suggest you try the free hMailServer which is a doddle to install and configure and in my opinion far better than Microsoft’s POP3 Service.

hMailServer

I’m using it for my POP3 and SMTP server.

Read more about hMailServer’s features which include SPAM filter and virus scanner integration and pre-configured authentication and relaying security.

Tags:

Filed under:

HomePlug Networking Incompatibilities

11. November 2009 14:56

It seems HomePlug certified powerline networking components aren't as interoperable as it would first appear.  I've been using Devolo Homeplug dLAN 200 desk units for a number of years now and they have been trouble free and constantly out perform wireless networking in terms of speed.  I recently bought another Devolo dLAN 200 unit to expand my network to enable streaming video to a Windows Media Extender.

I assumed it would be a case of just connecting it to the mains and using the Devolo dLAN configuration wizard to set all the units up with a new encryped password.  I soon realised that this wasn't the case.
The dLAN configuration wizard didn't even detect the new unit on the mains network.  After looking through the manual for a while scatching my head searching for a non-existant troubleshooting guide, I spotted a paragraph that mentioned that older Devolo products using firmware 1.x need their firmware upgraded in order to work with newer models.

Upgrading the firmware has now made all my dLAN 200 HomePlug certified devices compatible!  Thank God for standards Smile

Tags: , , ,

Filed under: Networking