Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

No subdirectories?

Go to End

10 Posts   2305 Views


19 January 2009 at 7:23pm (Last edited: 19 January 2009 7:41pm), Community Member, 4 Posts

I just installed SilverStripe for the first time. The demo looked intriguing and I decided to install the program to a test domain. Once I started creating pages I noticed that my subpages were not being placed in directories in the URI.

For example I created a Contact page under an About page and instead of residing at /about/contact/ the page was created at /contact/.

I understand that there are many reasons to not use a directory path. However, there are several good reasons to use directory paths; such as implementing the CMS in to an existing site which already has search engine weight/rankings.

Is there any way to utilize subdirectories?


19 January 2009 at 9:19pm Community Member, 787 Posts

Hi and welcome to Silverstripe !

The feature you are talking about (Nested URL's) will be coming up in version 2.4.

Check out this thread @ the core-dev group :


20 January 2009 at 2:08am Community Member, 21 Posts

There is also a nested urls branch that you can play with until this becomes a feature (I've had some issues with it though)


20 January 2009 at 4:12am Community Member, 4 Posts

Fuzz10 and wombleme, thank you for your response to this issue. I feel much more comfortable investing the time to learn the framework and system knowing that this type of functionality is being actively developed.

I do have one more issue on a related note:

I noticed that if I access a page, /page/, I can also access this page at /page/a-page-that-does-not-exist. This concerns me due to content duplication issues with search engine optimization. I am guessing, from the little I know about the system, that this is due to the MVC functionality of the underlying framework.

If this is due to the MVC framework I feel that the proper way to handle this issue is that if a method in the controller is not found to match the URI then a 404 should be returned.


20 January 2009 at 4:19am Community Member, 787 Posts

You are right , but I don't see the problem ? A search engine will not make up URL's on its own. So if you don't link to the non-existing page , it will not appear in Google.


20 January 2009 at 4:27am Community Member, 4 Posts

This would ordinarily not be a significant issue. However, I have several clients who are in very competitive industries. Having duplicate content "available" poses the risk that a multitude of pages on your website would contain identical html and information.

By "available" I mean that if someone finds your site's issue then they can create pages to link to non-existent pages to get them indexed in search engines. This could affect your rankings due to a very large number of pages utilizing the exact same content.

For example if I find a competitor's page is ranking in the number one spot for a desired phrase and I find that their site will produce duplicate content under any URI under that page, I could then create dummy sites which generate links to non-existent pages under the page that is holding the desired ranking. Then by performing a basic SEO to get the dummy sites indexed I could really harm the competitor.


20 January 2009 at 4:55am Community Member, 787 Posts

Ah... okay .. didn't think of that..

Well , in any case , it can be prevented in code. ;-)

You could do a parameter check in the constructor of your class and manually redirect to a 404. I think there is also a new security model coming up which could also solve your issue.


20 January 2009 at 5:01am Community Member, 4 Posts


I just spent the last 40 minutes looking at the development path and the current bugs and I believe a programmatic solution, as necessary, would be the best solution for the time being.

Thank you for your great input, I am beginning to understand the workings of SilverStripe.

Go to Top