Register Shopping cart (0)
You have no items in your shopping cart.
Free nopCommerce Hosting

nopCommerce SEO Pitfalls and How To Solve Them - Part 2

We at Pro nopCommerce like writing blog posts and tutorials about nopCommerce themes, nopCommerce plugins and nopCommerce customizations. But sometimes we can get overwhelmed by works that we have very little time to write blog posts ourselves!

In view of this, we are happy to feature Robert Bourne in this blog post, who happens to be our first guest blogger! Kudos to Robert!

Below is what Robert has to say in our second installment of nopCommerce SEO Pitfalls and How To Solve Them.

-- Robert's Writing Starts From Here --

Being a developer on a large commercial website, I have not been able to escape a heavy indoctrination into the world of Search Engine Optimization (SEO).

The site for which I have my experience has ranked in the top of its (very competitive) category ever since search engine rankings have existed.

I mention that not because the site owes its ranking to me, it certainly does not. I simply wanted to point up that I have some real world experience with search engine from a developer perspective. It is the basis of my knowledge and that knowledge is hard fought and worth sharing.

While SEO and IIS Url Rewrite are the topic of this post, my post is not intended to cover either topic in any depth. Rather I wanted to use my experience to outline some steps that should be easy for any developer to understand and implement.

Disclaimer: Individuals should do research before implementing steps outlined in this post. Do your homework!

SEO matters a lot to those of us who are transacting business online and rely on organic search results to encourage traffic to our sites.

Obviously, it should not be ignored. Being that it is proprietary to the search engines with only some rules and weights being made public, SEO is not something you do on your site once and then consider it done. The content on your site should evolve with your business. You must constantly review and revise your content to stay relevant in organic search and to stay abreast of sites in your space. Search engines want to rank you higher if you have relevant content that is updated over time rather than remaining static.

There is content on your site for human consumption, and there are other elements on your site that are for the consumption of the search engines. Think of the latter as how you are viewed by search engines.

Common SEO rules that most developers ignore

There are however, some fairly static things (rules) that you can set up once and they should not need to change. They are very important to how your site is viewed by search engines.

Following is a list of basic SEO rules that your site should accommodate in order to avoid negative results when your site is indexed. They are:

  • canonical - force non-www to www or vice versa. Pick a scheme for your site, do it the same all the time
  • consistent trailing slash - either append the trailing slash in cases where it's missing or do the reverse by removing it. Do it the same all the time.
  • consistent casing of pages/routes/paths - force requests to pages/paths to your site to have consistent casing, force lower case, do this the same all the time.

You can implement the above rules fairly easily using IIS Url Rewrite.

There are a couple of other things you can do that can be accomplished using IIS Url Rewrite. These are good to know but not as fundamental as the three listed above. I am listing them for awareness:

  • http:// to https:// (you can do this in IIS Url Rewrite with a bit of awkwardness but easier to turn on in nop backend)
  • maintenance page - while your site is down for maintenance - (http status code returned matters!)
  • under construction page - just an easy way to put something up before your site goes live

Common misconceptions about SEO and Google

Here is why you want to implement the first 3.

If there are links to your site that are both www and non-www, guess what? Both requests will get to your server, great right?

Not necessarily. Search engines can index you as two different sites. And this can hurt your ranking.

As silly as it sounds, Google may think that www.yoursite.com is different than yoursite.com. And it can (I have lived this nightmare), index you as two sites. This can, among other things, erode your domain authority. Also, you don't always notice this has happened. So if your site is up for 6 months (being indexed as 2 sites) before you realize it, it can take months or longer after you have corrected the problem before you see improvements as a result of your fix. Just do it correctly from the get go!

And the same holds true for links to pages on your site that are mixed case (www.yoursite.com/Home.html and www.yoursite.com/home.html). Again, these can be perceived as different pages, negatively impacting the rankings of your content.

And the same holds true for trailing slash.

Why these SEO rules matter?

The fact of the matter is you can't control who is building links to your site and how they are casing, or using www or not, trailing slash, etc.

You will want to implement a rule that forces a redirect of any requests in the inconsistent format to your consistent format.

And you will want your redirect (response) to the requestor to use an http status code of 301 (permanent redirect). This is a way of telling the search engines how they should store your urls in their index, and the links they display in search results. Search engines will index links to your site’s content using your preferred, consistent format. By redirecting with a 301 you are effectively removing ambiguity and telling Google the correct format to request in the future.

And the search engines like when you respond with a 301 redirect. (FYI if you were to use the temporary (302) redirect you can get flagged as a 'spammy' site. Not a good thing)

You can instruct IIS Url Rewrite what type of redirect to use, but it’s default is permanent (301).

Example rules in IIS URL Rewrite

Here is an example of a rule I implemented on my site to force mixed case urls to lower case. This is very straight forward. This snipet of xml can be placed in your web.config. You must be running on IIS 7 or above where IIS Url Rewrite is available.

Note, though, that since this rule is applied to ALL requests to your site, the rule will have to work overtime to translate resource requests such as image, .css, .js, etc to lower case. Those requests to your site do not factor in search, so you should create exceptions that allow mixed case resource requests to pass thru unmodified.

I had to add some exceptions that are specific to nop. I found that some of the resources requested within the Admin interface will actually cause the Admin dashboard to be overwhelmed and issue an error.

Excluding by folder is easy as you'll see in my example rule.

<system.webServer>
<rewrite>
<rules>
<rule name="Force Lower Case" enabled="true" stopProcessing="true">
<match url="[A-Z]" ignoreCase="false" />
<action type="Redirect" url="{ToLower:{URL}}" />
<conditions>
<add input="{URL}" pattern="^/content" negate="true" />
<add input="{URL}" pattern="^/admin" negate="true" />
<add input="{URL}" pattern="^/Administration" negate="true" />
<add input="{URL}" pattern="^/Scripts" negate="true" />
<add input="{URL}" pattern="^/Themes" negate="true" />
</conditions>
</rule>
</rules>
</rewrite>
</system.webServer>

I hope my post will help you understand what is possible to accomplish with IIS Url Rewrite and how it can help you gain consistency with search engine indexing of your site. I hope you will investigate other possibilities for IIS Url Rewrite and how you can enhance your nopcommerce site with it!

Hello, welcome to pro nopCommerce!

I am Woon Cherk, an nop mvp; and this blog is the place where I share my experiences developing nopCommerce themes and nopCommerce plugins. I also give out free nopCommerce plugins and free nopCommerce themes from time to time, make sure you subscribe to our e-mail newsletter to get updates and freebies! Click here to read more about me.