zlacker

[parent] [thread] 0 comments
1. kyle-r+(OP)[view] [source] 2023-06-13 00:17:18
Pretty cool! I would consider changing your URL patterns though. It's not ideal to change them after launch, but it will be harder to change them a year from now if/when you run into issues.

1. Using '#' in URLs is not great.

  - When requesting a page, the browser doesn't include anything after the hash, which means:
  - Tag pages rely solely on client-side routing — they'll never work with JS disabled. You might not support no-JS right now, but if you ever want to allow for it in the future, it's incompatible with hash-based routing.
  - SEO will probably be impacted; not sure how well crawlers deal with hash-based routing.
  - If someone links to non.io/#dog on social media, I think the opengraph preview will also ignore the hash.
If you want client-side routing, you should use a library or the JS history API[0]. That way you can use normal URLs and potentially support server-side rendering to allow for no-JS clients.

2. Putting user-generated URLs at the root of your site could be bad.

  - Keep that namespace for yourself: what if you want to make a page at non.io/support but someone already named their post 'support'?
  - Some stuff needs to be at the root (currently non.io/robots.txt 404s and seems to be trying to render a post).
  - There are other standards that look for specific URLs, or non-standards: e.g. BlueSky was authenticating domain names in a dumb way [1]
To be fair, Twitter does put usernames at the root (not sure if they regret that), but they have some careful exceptions (/home, /i/, etc). If you don't want to switch your post URLs away from the root, you should at least set aside some of the useful URL real-estate.

If you do decide to make these changes, you should try and set up redirects for any existing URLs, at least for a while.

[0] https://developer.mozilla.org/en-US/docs/Web/API/History

[1] >>35820368

[go to top]