{"id":185724,"date":"2014-10-08T06:25:51","date_gmt":"2014-10-08T13:25:51","guid":{"rendered":"http:\/\/css-tricks.com\/?p=185724"},"modified":"2014-10-08T17:50:29","modified_gmt":"2014-10-09T00:50:29","slug":"intermediary-pages-site-heirarchy","status":"publish","type":"post","link":"https:\/\/css-tricks.com\/intermediary-pages-site-heirarchy\/","title":{"rendered":"Intermediary Pages in a Site Hierarchy"},"content":{"rendered":"

I had a reader write in with an interesting question:<\/p>\n

When one has multi-level navigation, do you think it crucial to have an actual page for the top-level item? For instance, About > Company, Founder, History. <\/p>\n

There isn’t really anything worth putting on the About page that wouldn’t be on the three sub-pages. In the nav, should About just redirect to Company? Should there not be a Company page and its content be moved to About? <\/p>\n

Any best practices you’ve found over the years?<\/p><\/blockquote>\n

<\/p>\n

I’m picturing this kind of thing:<\/p>\n

<\/figure>\n

And the issue is that “About” by itself isn’t particularly useful. But it is<\/em> useful as a grouping for the sub pages.<\/p>\n

I would think the “About” link should be functional no matter what. It’s just a matter of what to do with it. <\/p>\n

Just make an intermediary page<\/h3>\n

Have the parent link:<\/p>\n

http:\/\/website.com\/about\/<\/code><\/pre>\n

And the subpages:<\/p>\n

http:\/\/website.com\/about\/company\/\r\nhttp:\/\/website.com\/about\/founder\/\r\nhttp:\/\/website.com\/about\/history\/<\/code><\/pre>\n

They said there isn’t anything “worth” putting on the About page, but that’s just a matter of content wrangling. You could write some new content introducing the other content there. Or show some elaborate breadcrumbs encouraging them to go deeper. Or show some images or snippets from the sub pages. I’m sure you can think of something.<\/p>\n

Redirect the intermediary page<\/h3>\n

Have:<\/p>\n

http:\/\/website.com\/about\/<\/code><\/pre>\n

Redirect to:<\/p>\n

http:\/\/website.com\/about\/company\/<\/code><\/pre>\n

That way the URL stays nice and hierarchical and gives you the opportunity to create an About page alone in the future. <\/p>\n

It might feel a little unexpected though, so it might be nice to offer some kind of sideways navigation. Seems like the kind of thing that could be tabbed:<\/p>\n

<\/figure>\n

Skip the hierarchy<\/h3>\n

If there is really no point to having a parent page, maybe the URL’s should be clear that there isn’t one.<\/p>\n

http:\/\/website.com\/about-company\/\r\nhttp:\/\/website.com\/about-founder\/\r\nhttp:\/\/website.com\/about-history\/<\/code><\/pre>\n

And then use the redirect for the top-level navigation option.<\/p>\n

Put them all on one page<\/h3>\n

Is there any value in separating them? You could go with a tabs design pattern<\/a> with all on-page content. Or just make a long page, the web can handle it =).<\/p>\n

The URL’s could use hashes to go to the relevant place (or tab):<\/p>\n

http:\/\/website.com\/about\/#company\r\nhttp:\/\/website.com\/about\/#founder\r\nhttp:\/\/website.com\/about\/#history<\/code><\/pre>\n

Best Practices<\/h3>\n

I’m not sure any one of these is any better than the other. I think the best practices here come in the form of don’ts<\/strong>:<\/p>\n

    \n
  • Don’t do it one way then change it to another next month. Cool URL’s don’t change.<\/li>\n
  • Don’t make your dropdown 100% reliant on JavaScript.<\/li>\n
  • Don’t make the About link not-actually-a-link just because you don’t have this figure out yet. Link it to something or redirect it.<\/li>\n<\/ul>\n
    \n

    Have you all gone through this kind of thing before?<\/p>\n","protected":false},"excerpt":{"rendered":"

    I had a reader write in with an interesting question: When one has multi-level navigation, do you think it crucial to have an actual page for the top-level item? For instance, About > Company, Founder, History. There isn’t really anything worth putting on the About page that wouldn’t be on the three sub-pages. In the […]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"c2c_always_allow_admin_comments":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":[]},"categories":[4],"tags":[],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":259745,"url":"https:\/\/css-tricks.com\/love-god-please-tell-company\/","url_meta":{"origin":185724,"position":0},"title":"For the love of God, please tell me what your company does","date":"September 6, 2017","format":false,"excerpt":"Kasper Kubica goes on a humorous rant about the way companies describe themselves on their websites: More and more often, upon discovering a new company or product, I visit their website hoping to find out what it is they do, but instead get fed a mash of buzzwords about their\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":339742,"url":"https:\/\/css-tricks.com\/creating-colorful-smart-shadows\/","url_meta":{"origin":185724,"position":1},"title":"Creating Colorful, Smart Shadows","date":"May 4, 2021","format":false,"excerpt":"A bona fide CSS trick from Kirupa Chinnathambi here. To match a colored shadow with the colors in the background-image of an element, you inherit the background in a pseudo-element, kick it behind the original, then blur and filter it. .colorfulShadow { position: relative; } .colorfulShadow::after { content: \"\"; width:\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2021\/04\/Screen-Shot-2021-04-30-at-11.43.03-AM.png?fit=834%2C596&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":6192,"url":"https:\/\/css-tricks.com\/gift-message-printer\/","url_meta":{"origin":185724,"position":2},"title":"Gift Message Printer","date":"April 19, 2010","format":false,"excerpt":"We have a client who sells a product in which customers specify a gift message when they check out. The site has been very successful for them and orders are coming faster than expected. The have been hand-writing the notes thus far, which, in nerd words, doesn't scale well. When\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/csstricks-uploads\/examplegiftnote.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":161876,"url":"https:\/\/css-tricks.com\/design-systems-building-future\/","url_meta":{"origin":185724,"position":3},"title":"Design Systems: Building for the Future","date":"February 5, 2014","format":false,"excerpt":"The modern web design and development process is rapidly evolving, and responsive websites are quickly becoming the norm. Frameworks like Bootstrap and Foundation are showing us the value of creating robust systems of components to make building things on the web faster, better, and easier. About a year ago, I\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":257428,"url":"https:\/\/css-tricks.com\/react-router-4\/","url_meta":{"origin":185724,"position":4},"title":"All About React Router 4","date":"August 7, 2017","format":false,"excerpt":"This post is going to dig into to React Router 4, how it's so different from previous React Router versions, and why that is. My intentions for this article aren't to rehash the already well-written documentation for React Router 4. I will cover the most common API concepts, but the\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2017\/08\/logo-react-router.png?fit=1156%2C542&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":351518,"url":"https:\/\/css-tricks.com\/on-the-dl\/","url_meta":{"origin":185724,"position":5},"title":"On the `dl`","date":"September 14, 2021","format":false,"excerpt":"Blogging about HTML elements\u00b9? *chefs kiss* Here's Ben Myers on the (aptly described) \"underrated\" Definition List (

    ) element in HTML: You might have also seen lists of name\u2013value pairs to describe lodging amenities, or to list out individual charges in your monthly rent, or in glossaries of technical terms. Each\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2021\/09\/definition-list-html.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]}],"featured_media_src_url":null,"_links":{"self":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/185724"}],"collection":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/comments?post=185724"}],"version-history":[{"count":3,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/185724\/revisions"}],"predecessor-version":[{"id":185820,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/185724\/revisions\/185820"}],"wp:attachment":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media?parent=185724"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/categories?post=185724"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/tags?post=185724"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}