I was discussing a new project with one of the newer members of the Avantime team, Simon Sundén (Iconvert). Simon is just like most people at the office: a huge nerd. In fact, I would argue that Avantime has the highest nerd per employee ratio in Sweden. The difference between Simon and me is the subject of nerdines, he’s all about SEO and on-line marketing, I’m all about technology and coding. I think it’s awesome how people can get totally excited over things I personally don’t find very interesting. Back on topic.
Simon loves WP (WordPress) but doesn’t care much for EPiServer. I have more or less the opposite opinion: WP is a great toy for blogs and 4-page websites but you can’t compare the two. Simon’s main concern with EPiServer is that it’s not very SEO friendly, which is WPs’ strong side. So I made it my weekend project to work on plugins for EPiServer that would improve the SEO aspects. My goal is to shut Simon up and perhaps make him like EPiServer, if just a little bit.
I started with the two things Simon mentioned first as weak points.

  1. Bad urls! EPiServer doesn’t really promote the friendly urls which are now more or less standard. The setting is “hidden” on the advanced page where most editors doesn’t see it. The automatic urls created by EPiServer aren’t good enough according to Simon.
  2. Internal linking. Setting up internal links on words in EPiServer is very time consuming and tedious. A tool like Internal Link Building, is missing.

After I had created a package that only requires a web.config change to enable functions to address these two issues. I went ahead asking Simon and Erik Nettelbrandt (also with Iconvert) for a Top 5 list of SEO flaws in EPiServer to fix. This is what they came up with:

  1. EPiServer creates URLs with both upper and lower case characters. A proper url should only be lowercase, also all non-supported characters must be replaced but the URL should still only contain one hyphen (“-”) between each word, even if two non-supported characters were removed.
  2. The URL shouldn’t contain conjunctions or prepositions, words such as “the, a, to” etc. This, of course, applies to other languages aswell.
  3. Cross-linking capabilities. Just like the WP-addon. Possibility to define the number of times a word should be linked. Set “rel=nofollow” and target for links. No automatic linking of text inside link, bold and other format tags.
  4. No duplicated content. EPiServer has a “short url”-function but that url is browseable, just like the original url. So the content is the same on two different URL’s.
  5. A common scenario is that editors copy an existing page instead of creating a new one to save time. It’s also a very common problem that the editor either doesn’t understand to change the URL-segment or forgets to do it. I don’t blame them, it’s hidden away under the advanced tab. Of course it’s a bad idea to have a page about soccer when the URL mentions hockey. A warning is needed to remind the editor to update the URL-segment when saving the page.

Introducing EPiSEO
I’ve named my project “EPiSEO” for obvious reasons. It’s heavily influenced by functions and add-ons available for Word Press and engineered to be easy to install and use. With the functions included right now it’s installed by dropping a dll into the bin directory and adding web.config keys and also a change in the .browsers-file for the permalink suggestion to work and for the internal linking to work an html-comment must be added in the aspx files where the function is desired.

I’ve recorded a short demonstration of the functionality included in the package:

Features shown in the video:

  • Internal linking. WP-addon ripoff. Enter one or more words separated by the |-sign. Settings for how many times to link a word, if it’s case sensitive and wether to make the link “no-follow”. Just like in WP it will find user added links in the text and count that as an occurance etc.
  • Custom property hijacking that move the URL-segment (aka Permalink) box below the page name. The property automatically suggest a good permalink by making it lowercase, removing all bad characters and words marked as “bad words”. The property also warn the editor about the length of the permalink.
  • A warning mechanism that triggers when an editor change the page name and might have forgotten to change the permalink.
  • A quick-url redirect (301) to prevent duplicate content.

Usually i provide code with my posts but I still havn’t decided what will become of this project. If I decide not to give away the code I will definately write more posts on how to achieve some of the “hacks” and techniques I’ve come up with to change default behaviour in EPiServer without making any breaking to EPiServers’ own code.

Related posts