Search

I'm working on a personal project which represents a directory for businesses. I can't quite make a decision as to how I should structure the URL for a specific listing. It's very possible that a business can have the same name as another (i.e. across different states). This is the best URL structure and come up with an house hoping to get some reassurance that someone has not come up with a better method. I want it to be friendly to both search engines and humans.

/business-name/city/address/

I believe the above URL structure will provide enough data to filter a data source so that only one entry is ever a result.

Does anyone have any comments?

Also, should I be using the URL Router extension in some capacity? I have yet to take a look at it.

Cheers!

It depends on the logic of the data structure. I try to match that structure to the url structure if possible. How have you put things together?

/business-name/city/address/

This assumes a level of hierarchy, that, if I remove /address/ I will see a less filtered view, and removing /city/address another view. What I think you need is a compound identifier for a business using its name and location. I suggest using a reflection field to concatenate these togetherL

/businesses/:business-city-address

The alternative of course is to place businesses under their location:

/state/city/address/business/

But if your site doesn't use this as a navigation method I wouldn't bother.

The other option is to simply using the Symphony entry ID and be happy with missing out on a tiny bit of SEO juice. Or use the reflection field and append the entry ID to the business name:

/businesses/nicks-super-webdesign-3813

Or use the reflection field and append the entry ID to the business name

That’s similar to the structure I’m using on my site for something (I prepend the ID), because I like having that unique identifier in the URL while also keeping it human readable. However, I’ve got it set up using .htaccess rewrites—I never thought to use a reflection field. Brilliant!

This assumes a level of hierarchy, that, if I remove /address/ I will see a less filtered view, and removing /city/address

Yikes, stupid mistake. I was too busy thinking about the data source and SEO.

I suggest using a reflection field to concatenate these together

Brilliant idea, indeed. Using the reflection field, I have decided on the following:

/places/display-name-city-state

I'm not keen on including the entry ID in the URL, so I believe this accomplishes the same with a little bit more benefit.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details