{"id":10861,"date":"2026-05-21T19:30:28","date_gmt":"2026-05-21T11:30:28","guid":{"rendered":"https:\/\/aeosub.com\/lingosluglite\/"},"modified":"2026-05-21T19:30:28","modified_gmt":"2026-05-21T11:30:28","slug":"lingosluglite","status":"publish","type":"post","link":"https:\/\/aeosub.com\/zh\/lingosluglite\/","title":{"rendered":"LingoSlug Lite"},"content":{"rendered":"<div class=\"post-img\" style=\"margin-bottom: 25px\"><img decoding=\"async\" src=\"https:\/\/ps.w.org\/lingosluglite\/assets\/banner-1544x500.jpg?rev=3541720\" alt=\"LingoSlug Lite\" style=\"width: 100%;height: auto;border-radius: 12px\"><\/div>\n<div class=\"plugin-info-card\" style=\"border: 1px solid #e2e8f0;border-radius: 10px;overflow: hidden;margin-bottom: 30px;font-family: -apple-system, system-ui, sans-serif;background: #fff\">\n<table style=\"width: 100%;border-collapse: collapse;font-size: 14px\">\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 15px 20px;text-align: left;width: 35%;color: #4a5568;background: #fcfcfc\"><img decoding=\"async\" src=\"https:\/\/ps.w.org\/lingosluglite\/assets\/icon-256x256.png?rev=3541720\" style=\"width: 40px;height: 40px;border-radius: 6px;margin-right: 12px;vertical-align: middle\"> Developer<\/th>\n<td style=\"padding: 15px 20px;font-weight: 500\"><a href=\"https:\/\/profiles.wordpress.org\/karrukka\/\" target=\"_blank\" rel=\"noopener\">karoliinapaappa<\/a><\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Version<\/th>\n<td style=\"padding: 12px 20px\">v1.0.0<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Active Installs<\/th>\n<td style=\"padding: 12px 20px\">0 +<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Requires \/ Tested<\/th>\n<td style=\"padding: 12px 20px\">6.0 \/ 7.0<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Last Updated<\/th>\n<td style=\"padding: 12px 20px\">2026-05-21 11:17am GMT<\/td>\n<\/tr>\n<tr>\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Official Link<\/th>\n<td style=\"padding: 12px 20px\"><a href=\"https:\/\/wordpress.org\/plugins\/lingosluglite\/\" target=\"_blank\" style=\"text-decoration: none;color: #4a3bca;font-weight: bold\" rel=\"noopener\">View Details \u2192<\/a><\/td>\n<\/tr>\n<\/table><\/div>\n<div class=\"plugin-short-desc\" style=\"margin: 20px 0;padding: 12px 15px;background: #f9fafb;border-left: 4px solid #4a3bca;border-radius: 6px;font-style: italic;color: #4a5568\">Simple clean multilingual URLs with per-language slugs and automatic redirects \u2014 for sites where translations are handled separately.<\/div>\n<p>LingoSlug Lite is a lightweight solution for <strong>multilingual URLs<\/strong> when you want <strong>localized permalinks<\/strong> (per-language slugs) and <strong>redirects<\/strong>, but you do not need a full multilingual suite.<\/p>\n<p>It is designed for two common setups:<\/p>\n<ul>\n<li>Sites where the <strong>same WordPress page (same page ID)<\/strong> is rendered in different languages by another language\/translation solution (locale switching), and<\/li>\n<li>Sites where each language is managed as a <strong>separate page<\/strong> \u2014 but you still want clean, localized URLs.<\/li>\n<\/ul>\n<p>LingoSlug Lite handles URL slugs + redirects, but does <strong>not<\/strong> translate content.<\/p>\n<p>Example:<\/p>\n<p>Before:<br \/>\n&#8211; (EN) <code>example.com\/contact\/<\/code><br \/>\n&#8211; (DE) <code>example.com\/kontakt-page\/<\/code><\/p>\n<p>After:<br \/>\n&#8211; (EN) <code>example.com\/en\/contact\/<\/code><br \/>\n&#8211; (DE) <code>example.com\/de\/kontakt\/<\/code><\/p>\n<p>Slug cleanup example (same language):<\/p>\n<p>Before (default WordPress slug):<br \/>\n&#8211; <code>example.com\/en\/contact-page-2\/<\/code><\/p>\n<p>After (configured clean slug):<br \/>\n&#8211; <code>example.com\/en\/contact\/<\/code><\/p>\n<p>LingoSlug Lite does <strong>not<\/strong> translate content and does <strong>not<\/strong> create language pages for you.<\/p>\n<p>Problems this plugin solves:<\/p>\n<ul>\n<li>Ugly or inconsistent URLs like <code>\/sample-page\/<\/code> or <code>\/english-page-2\/<\/code><\/li>\n<li>Duplicate URLs \/ wrong-language URLs after switching languages (automatic redirects help keep URLs consistent)<\/li>\n<li>Better search engine consistency: redirects help crawlers index the correct language URL instead of duplicates\/wrong-language URLs.<\/li>\n<\/ul>\n<p>Who this is for:<\/p>\n<ul>\n<li>You want <strong>language-aware URLs<\/strong> (e.g. <code>\/{lang}\/{slug}\/<\/code>) for selected pages.<\/li>\n<li>You manage languages manually and just want URL hygiene (slugs + redirects).<\/li>\n<li>Your language solution sets the WordPress locale per request and\/or uses a <code>\/{lang}\/...<\/code> prefix.<\/li>\n<\/ul>\n<p>Features:<\/p>\n<p>1) <strong>Per-language slugs<\/strong><br \/>\n&#8211; Configure a page and define a slug per language code (e.g. <code>en<\/code>, <code>sv<\/code>).<br \/>\n&#8211; The plugin adds rewrite rules so configured pages can have language-aware URLs.<br \/>\n&#8211; Permalinks are filtered so links point to the configured slug for the current locale.<br \/>\n&#8211; As a fallback, a query parameter can also be used (configurable in settings, e.g. <code>?lang=en<\/code>).<br \/>\n&#8211; Free version note: the plugin allows <strong>the site default language + 1 additional language<\/strong> (max 2 total).<\/p>\n<p>2) <strong>Automatic redirects<\/strong><br \/>\n&#8211; Helps avoid duplicate or wrong-language URLs after switching languages (redirects to the correct slug for the current locale).<\/p>\n<p>3) <strong>Optional switcher<\/strong><br \/>\n&#8211; Enable an optional navigation switcher via shortcode <code>[lingoslug_lite_switcher]<\/code>.<br \/>\n&#8211; Shortcode parameters:<br \/>\n  &#8211; <code>page_id<\/code> (optional): Render the switcher for a specific page ID. If omitted, the plugin uses the currently viewed page when possible.<br \/>\n&#8211; Important: The switcher requires another plugin to translate the page dynamically (same page ID) by switching the site language\/locale. LingoSlug Lite does not automatically map separate translated pages to each other.<\/p>\n<p>4) <strong>Slug cleanup<\/strong><br \/>\n&#8211; Configure clean, consistent slugs (per language) even if the default WordPress slug is \u201cugly\u201d.<br \/>\n&#8211; This also works within a single language (e.g. use <code>\/en\/contact\/<\/code> instead of <code>\/en\/contact-page-2\/<\/code>).<\/p>\n<p>Privacy:<\/p>\n<ul>\n<li>LingoSlug Lite does not collect personal data and does not send data to third-party services.<\/li>\n<\/ul>\n<p>Upgrade to LingoSlug Pro for:<\/p>\n<ul>\n<li>Unlimited languages (no free 2-language limit)<\/li>\n<li>Force a page to a specific language URL (useful for mixed-language menus)<\/li>\n<li>Language switcher: shortcode or automatic output (no shortcode needed)<\/li>\n<li>Multilingual SEO extras: optional <code>hreflang<\/code> output to help Google show the right language version to the right visitors<\/li>\n<li>Optional SEO tools: noindex controls and attachment page handling<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Simple clean multilingual URLs with per-language slugs and automatic redirects \u2014 for sites where translations are handled separately.<\/p>","protected":false},"author":1,"featured_media":9317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[252],"tags":[653,654,1611,615,1612,555],"class_list":["post-10861","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends","tag-language-switcher","tag-multilingual","tag-permalinks","tag-redirects","tag-slugs","tag-wordpress-plugin"],"_links":{"self":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10861","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/comments?post=10861"}],"version-history":[{"count":0,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10861\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media\/9317"}],"wp:attachment":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media?parent=10861"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/categories?post=10861"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/tags?post=10861"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}