This is a deliberately small EN post used to verify the n8n translation workflow’s three new behaviors: copying the category from the source, translating the excerpt per locale, and rewriting internal blog links so each translation points to its own language version instead of the EN original. If you’re seeing this on the live blog, the post should be removed once the test is confirmed.

Why this post exists
The n8n translator was previously dropping the category badge and excerpt on every translated post (the Portuguese version of one of our LLM tutorials shipped with neither). Internal links inside translated articles also still pointed at the EN URLs, which weakens hreflang clusters and quietly routes Indonesian readers to English explanations. Both of those got fixed in the latest workflow revision, and this post is the smoke test that confirms the fix worked end-to-end against real Ghost.
What the test checks
When you publish this post, the n8n translator should run once and produce 11 translated drafts (or published posts) in Ghost. Each translated copy needs to satisfy three things:
- The
custom_excerptfield is populated with a translation of the EN excerpt — not empty. - The
categoryfield carriesTutorialsverbatim from this source post. - The body’s internal links are rewritten to the same locale. For example, the Japanese copy should contain
https://apidog.com/jp/blog/free-cursor-ai/, not the EN URL.
Links to confirm rewriting (do not click — they’re test targets)
Two forms are exercised on purpose, because the link-rewrite regex handles both patterns:
- Absolute: read about running Cursor AI for free or getting Claude Pro for free.
- Root-relative: see our API testing top 10 and our piece on LLMs without restrictions.
If the translation pipeline is healthy, the Japanese version of this article should rewrite all four of those URLs to /jp/blog/{slug}/ form. The Indonesian copy specifically should land at /id/blog/{slug}/ (not /ig/blog/...), and the post itself should be created in Ghost with slug …-id and tag 1Locale ID. That tail of the rename is the Req 6 follow-up.
A tiny code block, just so the renderer has something to chew on
# Verify a translation came out cleanly (after publishing):
curl -I https://apidog.com/jp/blog/translation-pipeline-smoke-test/
# expect 200, and the rendered page to show
# - "Tutorials" category badge
# - a Japanese excerpt under the title
# - any internal links rewritten to /jp/blog/...
Cleanup once verified
If everything looks right in the 11 translated copies, delete this post and all 11 translations from Ghost — they have no production value. If anything looks broken (missing category, empty excerpt, wrong link rewrite), keep them for diagnostics and ping the workflow owner.



