You may be overthinking this.
Both of your examples are the same to a search engine in one respect.
Huh? Whatcha talking about Willis?
When we see
example.com/category/subcategory/article, we immediately see a directory structure. When a search engine sees this, they see word boundaries.
When we see
example.com/category1-article1, we immediately see a flat-structure. When a search engine sees this, they see word boundaries.
A word boundary is any character between words including a space, null, or any punctuation.
Of course each character has a special meaning to the search engine, but not the way you may think.
/ and see a directory structure, and that is also true for a search engine, however, the search engine also sees a list of word clusters.
- and see a hyphen which is used as a word separator. Search engines see the same thing, except that all of the words are topically related and equal. In this case, a term and topic ontology is used to score the meaning.
_ and see an underscore which is sometimes used as a word separator. Search engines see words that are to be taken together as a phrase. They may not be topically related or equal, but together they have a particular meaning different from each word. In this case, a phrase and topic ontology is used to score the meaning.
There are other semantic signals such as
, which represents a list and
+ which means "and".
When you see a structure, you must first understand it from a linguistic semantics point of view and then from an Internet point of view.
Semantics reads from left to right with little exception. So example.com is more important than
/category/subcategory/article. Category is more important than subcategory. Subcategory is more important than article. Remember that by using
/ you are using a word boundary that clusters the words between them. Each cluster from left to right signals importance and each word in a cluster is equal in importance.
However, when you use
/category1-article1 you only present one cluster and a separator.
Which you use depends upon what signals you want to send. The first example signals what is more important in order. The second example sends almost no signals at all.
I prefer to create rather short directory structures. For example,
/articles/how-to-fish-for-carp.php. I prefer
/articles/how-to-fish-for-carp.php because you are clustering "how to fish for carp" making all terms equal. Using
/articles/ signals what can be found just like using
/blog/. However, this does not explain what articles are to be found. If you use
/hunting/ you explain what can be found. You can use
/articles/fishing/ or just
/fishing/. It is up to you. If you have articles and a blog, I would advise signalling both.
So from an SEO point of view, you can see the difference. Please keep in mind that the fundamentals of search does not change or change much. It is based upon technology that has existed for several decades. SEO sites, however, must constantly change in order to stay relevant and site owners follow their lead. Should you follow the lead of SEO websites? Perhaps. I tend not to sticking with the basic principles of linguistics over the gyrations of those who may not understand search the way search engineers do.