Couchers-org / couchers

The next-generation couch surfing platform. Free forever. Community‑led. Non‑profit. Modern. Chuck us a star :)
https://couchers.org
MIT License
375 stars 77 forks source link

URL plan #501

Closed aapeliv closed 3 years ago

aapeliv commented 3 years ago

We need to agree on a consistent URL convention.

aapeliv commented 3 years ago

Here's my proposal (as examples).

Sydney example

Title: Sydney Explanation: Page for the Sydney Community URL: https://couchers.org/community/14362/sydney-nsw-australia Crumbs: Australia > NSW > Sydney

Title: Sydney Opera House Explanation: A "place"/"point of interest" page URL: https://couchers.org/place/39293/sydney-opera-house-australia Crumbs: Australia > NSW > Sydney > Sydney Opera House

Title: Best Food in Sydney Explanation: A guide to food in Sydney URL: https://couchers.org/guide/72833/best-food-in-sydney Crumbs: Australia > NSW > Sydney > Best Food in Sydney

Title: Sydney Art Tour Explanation: An event for an art tour around Sydney URL: https://couchers.org/event/31312/sydney-art-tour Crumbs: Australia > NSW > Sydney > Sydney Art Tour

Title: Best Views in Sydney for NYE fireworks? Explanation: A reddit-style dicussion page about best place to view fireworks URL: https://couchers.org/discussion/85548/best-views-in-sydney-for-nye-fireworks Crumbs: Australia > NSW > Sydney > Best Views in Sydney for NYE fireworks?

Title: East Coast Hitchhikers Explanation: A hitchhiking-focussed subgroup of the Australia community URL: https://couchers.org/group/18421/east-coast-hitchhikers-australia Crumbs: Australia > East Coast Hitchhikers

kalvdans commented 3 years ago

What are Crumbs?

aapeliv commented 3 years ago

Like little links to "parents" under the title, or similar. They're maybe more often called breadcrumbs I think.

You can see them on the landing page as well, above the title: https://couchers.org/issues/reviews/. They provide a navigation hierarchy.

Here it's more a list of "parents" which should have a link to the next child and provide one way to get to this content.

(I think it's really important that each piece of content we have lives in the hierarchy and has a well-defined place: that allows people to build a picture of where stuff is and easily find content they need.)

aapeliv commented 3 years ago

Title: Sydney Art Tour Explanation: An event for an art tour around Sydney URL: https://couchers.org/event/31312/sydney-art-tour Crumbs: Australia > NSW > Sydney > Sydney Art Tour

It might be good for an event page to contain the date of the event in the URL (maybe just as part of the slug)? Like https://couchers.org/event/31312/2021-02-13-sydney-art-tour

lucaslcode commented 3 years ago

LGTM!

It might be good for an event page to contain the date of the event in the URL

Why? I don't think it would have seo benefit. If we have events we want indexed the correct thing to do is use event JSON-LD I believe. (I don't think we should have public-facing events but that's another question.)

kalvdans commented 3 years ago

Looks great! The suggested format is

ItsiW commented 3 years ago

We'll need some extra URLs for subsections of communities. One for each of discussions, hosts, events, travellers, etc.

2 use cases:

  1. If you're browsing a community, you may want a full page just for something like discussions (like a "see all" option under the discussions tab in the community page that takes you to the discussions page)
  2. When searching for e.g. hosts in a city, it should take you to the hosts page for the city that lists them all
lucaslcode commented 3 years ago

Some questions about requests/messages

For now we've done this respectively, but I don't think it's great:

kalvdans commented 3 years ago
* There are tabs/filters for all, requests, group chats and archived (in the future), how is that put in the URL?

As these filters will never appear in email reminders, we don't need to specify them (each frontend is free to pick whatever url scheme)

* what is the URL for a new request/chat?

Likewise.

kalvdans commented 3 years ago

From https://github.com/Couchers-org/couchers/pull/540#issuecomment-770840814

kalvdans: It is not important that the slug is done in the exact same way everywhere.

aapeliv: It is imperative that the slugs are the same. Otherwise entities don't have stable URLs, which is bad for discoverability and a nightmare for SEO.

kalvdans commented 3 years ago

aapeliv: It is imperative that the slugs are the same. Otherwise entities don't have stable URLs, which is bad for discoverability and a nightmare for SEO.

Can we put the slug behind a # so that it is stripped when search engines compares two URL:s for equality? https://couchers.org/place/39293#sydney-opera-house-australia

aapeliv commented 3 years ago

Can we put the slug behind a # so that it is stripped when search engines compares two URL:s for equality? https://couchers.org/place/39293#sydney-opera-house-australia

It would be stripped off in other places too where we'd like it to appear. The fragment (bit after #) in HTML is used to refer to elements inside the document, e.g. to link to certain anchors. Using the fragment for this would also make it impossible to link to parts of documents, e.g. https://couchers.org/community/14362/sydney-nsw-australia#getting-around.