What is the role of SEO RuIles

I can’t understand the use of SEO rules which is given in Content Tab. How can i replace the link.

I want to use like if my software version 2009 and new version has been released 2010 how should i give the 2010 link (www.abc.com/norton2009.html to www.abc.com/norton2010.html). I see if i change the name of the URL it shows Page Not Found.

Anyone know how to solve this matter.

In your example, if the Norton 2009 and Norton 2010 are products, categories or pages, you should specify the SEO url on the entity.

The SEO rules are mostly for rewriting static links like profile add and update or gift certificates and the like.


Will you please tell me how can i update the link.

[quote name=‘miracles’]Will you please tell me how can i update the link.[/QUOTE]

Update what link? Do you have a specific link to your website you want rewritten?

See this post for more information. As I said, it’s there to allow rewriting of static links (like profiles.add or gift_certificate.add) that have no SEO available otherwise.


I’ll give this another shot.

The SEO Rules are a way to specify how to rewrite the query string for static pages. The query string is the part of the URL starting with the ‘?’. For instance, if you click on the ‘Register’ link, you will see the following in your URL: ht tp://YOURDMAIN/index.php[COLOR=“Red”]?dispatch=profiles.add[/COLOR]. The part in red is the query string and will be replaced using our specified name. This is similar to the way that [url]http://YOURDOMAIN/index.php?dispatch=products.view&product_id=1553[/url] is replaced with the SEO name specified for product 1553. However, as in the above ‘Register’ example, certain static links have no substitution attached because they are not an object (like products or categories) - this is what the SEO Rules address.

Using the above example of the ‘Register’ link, let’s say you would like your add profile URL to appear as [url]http://YOURDOMAIN/add-profile.html[/url]. You need to note the query string as this is the trigger for the substitution. To make this substitution, you would add the following SEO Rule:

Name: add-profile.html (this is what you want to appear)

Replace for: profiles.add (this is the trigger - the part of the query string after the ‘?dispatch=’).

If you click on the ‘Register’ link now, you will see [url]http://YOURDOMAIN/add-profiles.html[/url] in your URL. Likewise, if you have internal or external links to [url]http://YOURDOMAIN/add-profiles.html[/url], you would be taken to the proper page.

It’s late here so I hope this makes sense.


Currently the end of all the product listings end in .html

Even the SEO names for the pages require you to add .html to the end.

I really hate that, is there any way to remove that?

I think this is what you are after:



Woohoo, on a roll.

One last question :smiley:

I have a few places where I have to put a link in manually. How can I make it get converted to the SEO link? Is there some function? Can it be done in the tpl?

How does the SEO link go about modifying all these urls? I looked around but couldn’t find anything obvious.

The URLs are rewritten in /addons/seo/func.php.

When you say put a link in manually, do you mean hardcoding it into the TPL? Anyplace you can enter a SEO name should rewrite the URL based on that name.


Yes, I mean hardcoding it. Can I send it to a function that will take a non-seo url, and convert it. I didn’t want to hard code the seo version.

I am not sure. I would think if you pass in the same parameters, it should work.

I am still confused why you would not just specify the SEO name for the object. Are your links to something other than the objects that CS-Cart supports


Its only a link to some of the pages. But the non-seo link is fixed and won’t ever change. The SEO link is dynamic. That’s why I wanted to simply put the non-seo link and have it convert. I have a tenancy to want to make things as dynamic as possible. Chances are we’re not going to disable the SEO links or change the name. Even if we did turn it off, it would then give an error about the function being undefined. I suppose I could just put in the SEO link.