Looking at your example, the implementation is bass ackwards. I write about semantics in search quite a lot. Semantics is generally an equalizer, however, for Google (as an example), there are a few important clues that Google has continually used throughout it's history and have remained true through pivotal periods where the search game has changed. These truths have historically given heavy weight to specific areas of the web page/site that change the balance what semantics normally gives.
Please please stick with me as I briefly explain what is important to know before getting to your question.
I keep going back to when Google was a research project and the original research paper published in 1997 because what was true in those pages remains largely true today.
There are several web based elements that Google found of significant importance I will list them in approximate relative importance then explain why.
- The title tag.
- The link text.
- The description meta-link.
- The URL/URI.
- The content itself.
- The header tags.
It was found in the original research for Google that searches against the title tag yielded nearly a 2% better result than against content only. This assumes that the document (web page) title was a good title. Google decided that parallel searches against the title tag and the content with ranking applied and blending the results would yield a better search engine result page (SERP) and they were right. In addition, Google experimented with doing the same with link text with positive results. Again, assuming that the link text was good. Later, Google gave us clues that this also includes the description meta-tag which is still evidenced in today's SERPs. What you do not see returned in the SERPs are header tags though they remain a very important part of semantics and a strong indication for search intent. As well, link text is not returned though also equally important. There are two things going on. Apparent direct matches where the search terms are found and semantic matches where search intent is strongly analyzed. This is the key. SERP results where search terms are found are incidental since direct keyword matches in search are not necessarily the norm except where the search query is short. Let me make it clear. Google is a semantic search engine and has been based upon semantics since the beginning, however, full semantic search is not always possible.
Now we know that link text is very important. This is where your example fails. The link text is far too short to have semantic value.
We also know that the URL/URI is important. Again, this is where your example fails. Only the file name has semantic clues.
I often refer to an answer I gave here: Well structured URLs vs. URLs optimized for SEO The reason is this. It explains strategic uses of the URI for optimization. It is well worth a side trip.
Let me take a step further.
At one point, Google felt that directory paths (URI minus the file name) were significant clues and heavily increased the weight of the semantic clues found in the path. That was a mistake. Spammers began taking advantage of this right away.
At one point, Google felt that domain name search term matches (URL minus the URI) were significant clues and heavily increased the weight of the semantic clues found in the domain name. Again, this was a mistake. Spammers began taking advantage of this right away.
Seeing a pattern yet?
SEOs like to take simple truths and make them a lot bigger than they really are. If any part of the semantics applied are overly optimized, SEOs tout them as the thing to do. At one point this was true for file names as well. However, we also know that Google over optimizes from time to time. It seems they get excited by what they see as an advantage and do what the rest of us do. They get carried away. (silly G!) We are going through a phase where Google is over optimizing again and thus picking winners and losers. The good new is this. Google has historically corrected their mistakes relatively quickly though sometimes reluctantly with proper semantic weighting.
To avoid this, we should do a modest job and not over optimize any part of our site especially to follow SEO trends. It pays dividends in the end.
Here is what remains. While file names do carry semantic weight, it is less in weight than the path found in the URI given what we already know. If file names are generally unique, these file names will carry very good weight. Since semantic clustering is used, any over optimization through file names will be found out. Too much similarity will cause these pages to be weighted less semantically. Keep in mind that no single page exists in a vacuum. The semantics of all pages are applied to a matrix (of matrices). This means that over optimization will be seen through semantic scoring and the semantic clues given discounted or dropped entirely.
To that end.
Your URIs are better organized as /catering/finger-food/perth/. You can also use /catering/finger-food/perth.php which may be wiser if this is the only page. What is the difference? Organization. Before, you were trying to optimize through file names that carried less weight. However, because paths are often reused, over optimization becomes difficult if simplicity and honesty is applied. Here, you can have better semantic weight for the search terms you want without fearing the wrath of penalty.
One warning: Drop the whole keyword loading concept. Semantics is the name of the game and has been since 2008. Each semantic clue given in one area does not count unless it is found elsewhere such as header tags, content, title tag, description meta-tag, etc. Semantic clues are best used in more than one key area. As an example, do not create /catering/tapas/perth/ or /catering/tapas/perth.php if you do not offer tapas catering in perth and the content does not support this. Also think about how people search and not about keywords. Think conversationally. Take in the semantic conversation between the search query and what your site offers using the full color of language. Think in sentences- not keywords. The full color of language offers the opportunity known as long-tail search matches. It allows more people to find your site through a wider variety of searches.