> For the complete documentation index, see [llms.txt](https://docs.themeupstudio.com/crimson/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.themeupstudio.com/crimson/multilingual/testing-checklist-and-troubleshooting.md).

# Testing Checklist and Troubleshooting

### Quick testing checklist

After setup, verify these in order:

1. **Root language loads**
   * Visit `https://example.com/` → should show main language
2. **Each language path loads**
   * Visit `https://example.com/hi/`
   * Visit `https://example.com/es/`
3. **Language switcher appears**
   * Ensure multilingual is enabled and locales are configured

* **Language switch works from an inner page**
  * Open a post in English and try switching to Hindi/Spanish
* **Auto redirect (if enabled)**
  * Test in a browser with language preferences set to Spanish
  * Confirm you land on `/es` when auto redirect is ON
* If locale domains are enabled, verify every language code is mapped in`LOCALE_DOMAINS`.
* If `LOCALE_DOMAIN_HOME_ONLY` is enabled, verify switching opens the target homepage as expected.
* If `LOCALE_DOMAIN_HOME_IGNORE_PATHS` is set, verify those paths keep their path during switching.
* Review your `hreflang` output separately if you are using locale-specific domains.

***

### Troubleshooting

<details>

<summary>Language switching leads to 404</summary>

**Most common cause:** slug mismatch across languages.

Fix:

* Ensure the post/page/tag/author slug is the **same in every language**, exactly.

</details>

<details>

<summary>Auto redirect sends visitors to the wrong place</summary>

Check:

* Your Locales list (did you set the correct language-country codes?)
* Your “Main Locale” is correct (`en`, `hi`, etc.)

</details>

<details>

<summary>Default language link is broken / redirects strangely</summary>

Check:

* **Main Locale URL must not end with a slash**

</details>

<details>

<summary><code>/hi/</code> or <code>/es/</code> shows the wrong site</summary>

Check:

* Your NGINX location blocks route to the correct ports (`proxy_pass`)
* Use `ghost ls` to confirm which Ghost instance is on which port (Crimson recommends this).

</details>

<details>

<summary>Language switcher appears, but content doesn’t “match”</summary>

Remember:

* Crimson does not translate content for you
* You must create and publish the content separately per language site.

</details>
