Get plxMyMultiLingue to use more consistent links
It would be good if the following link schema was used:
https://peppercarrot.com/
https://peppercarrot.com/en/static3/webcomics
https://peppercarrot.com/en/article445/episode-26-books-are-great
https://peppercarrot.com/fa/article445/episode-26-books-are-great
More generally, https://peppercarrot.com/{lang}/
{page}
This its clear what language you're on, and a single cookie can be generated from a language page like https://peppercarrot.com/fa/article445/episode-26-books-are-great to make the main page https://peppercarrot.com/ display in fa. This is what already happens anyway.
Unfortunately the site supports and uses two weirder URLs schema which break the idea of the web 'one URL per article'.
The first is https://peppercarrot.com/${page} which is something like https://peppercarrot.com/article445/episode-26-books-are-great which shows you the comic in the language that you last used on the site. Since these URLs appear different depending on what language you've checked, and don't actually seem to be linked anywhere on the website, it would be a good idea to redirect them. There's a few options here:
- Redirect it to what the user's already seeing, but using a 302 request. This way the URL isn't considered an actual page with contents but instead a redirection.
- Redirect it to English using a 301 request. The advantage here is that this can be cached and remembered by browsers since it doesn't depend on the language. Existing links to this content will be English, just like it is for most readers who haven't selected a language.
- Mark it as a 404 Not Found or 410 Gone. This is probably the worst of the ideas since it breaks existing links while the other two preserve existing behavior. Existing links are broken.
The second is link that's problematic is https://peppercarrot.com/lang={lang}, like https://peppercarrot.com/lang=eo . These are shown in the translation links. These are the opposite of the first example. Instead of there being two links for one translated page, there's now one link (lang=eo) for EVERY page on the website with that translation. It breaks any kind of caching and archiving.