{"id":362709,"date":"2026-09-16T00:34:18","date_gmt":"2026-09-16T00:34:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/robse-auto-alpha-slug\/"},"modified":"2026-09-16T00:34:06","modified_gmt":"2026-09-16T00:34:06","slug":"robse-auto-alpha-slug","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/robse-auto-alpha-slug\/","author":23557140,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.0","stable_tag":"2.0.0","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Robse Auto Alpha Slug","header_author":"Robse LLC","header_description":"Turns Japanese post titles into clean ASCII slugs. Kana are romanized without the intl extension, and titles that cannot be read reliably fall back to a predictable pattern instead of a wrong reading.","assets_banners_color":"1c1b1b","last_updated":"2026-09-16 00:34:06","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/robse.jp\/plugins\/auto-alpha-slug\/","header_author_uri":"https:\/\/robse.jp\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":50,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0.0":{"tag":"2.0.0","author":"robsejp","date":"2026-09-16 00:34:06","revision":3697805}},"upgrade_notice":{"2.0.0":"<p>Kanji titles no longer produce Chinese readings. If you relied on that\nbehaviour, choose &quot;Transliterate with the intl extension&quot; on the settings\nscreen after updating. Existing slugs are not changed.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3697805,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3697805,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3697805,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3697805,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[5622,2662,280971,186,561],"plugin_category":[55],"plugin_contributors":[278315],"plugin_business_model":[],"class_list":["post-362709","plugin","type-plugin","status-publish","hentry","plugin_tags-japanese","plugin_tags-permalink","plugin_tags-romaji","plugin_tags-seo","plugin_tags-slug","plugin_category-seo-and-marketing","plugin_contributors-robsejp","plugin_committers-robsejp"],"banners":{"banner":"https:\/\/ps.w.org\/robse-auto-alpha-slug\/assets\/banner-772x250.png?rev=3697805","banner_2x":"https:\/\/ps.w.org\/robse-auto-alpha-slug\/assets\/banner-1544x500.png?rev=3697805","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/robse-auto-alpha-slug\/assets\/icon-128x128.png?rev=3697805","icon_2x":"https:\/\/ps.w.org\/robse-auto-alpha-slug\/assets\/icon-256x256.png?rev=3697805","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Publish a post titled \u304a\u77e5\u3089\u305b in WordPress and the permalink becomes\n    \/%e3%81%8a%e7%9f%a5%e3%82%89%e3%81%9b\/. It works, but it is unreadable in a\nbrowser bar, it breaks when pasted into chat, and it is useless in a report.\nThe usual fix is to type an English slug by hand for every single post, and the\nusual result is that somebody forgets.<\/p>\n\n<p>Robse Auto Alpha Slug fills the slug in for you when you save. Kana are romanized, so\n\u304a\u3057\u3089\u305b becomes <code>oshirase<\/code> and \u30c7\u30a4\u30b5\u30fc\u30d3\u30b9 becomes <code>deisabisu<\/code>. A slug you\ntyped yourself in plain ASCII is always left alone.<\/p>\n\n<h4>Kanji are handled honestly<\/h4>\n\n<p>This is where other plugins quietly go wrong. PHP has no reliable way to read\nkanji: the ICU transliterator that most plugins call reads them <strong>as Chinese<\/strong>,\nso \u6751\u677e comes out as <code>cun-song<\/code> and \u51fa\u96f2\u305d\u3070 as <code>chu-yunsoba<\/code>. That is not a\nslug anybody wants, and it is worse than no slug at all because it looks\ndeliberate.<\/p>\n\n<p>So this plugin does not guess. When a title contains kanji it cannot resolve,\nit uses a predictable pattern instead \u2014 <code>post-123<\/code> by default \u2014 and leaves the\nguessing to you:<\/p>\n\n<ul>\n<li><strong>Fallback (default).<\/strong> A clean, predictable slug such as <code>post-123<\/code>.<\/li>\n<li><strong>Drop the kanji.<\/strong> Build the slug from the kana and Latin text that remain.<\/li>\n<li><strong>Transliterate.<\/strong> The ICU behaviour described above. Correct for Chinese\nsites, wrong for Japanese ones, and labelled as such in the settings.<\/li>\n<\/ul>\n\n<h4>A dictionary for the words you actually use<\/h4>\n\n<p>Company names, place names and people's names come up again and again on one\nsite. Teach them once:<\/p>\n\n<pre><code>\u51fa\u96f2 = izumo\n\u7f8e\u98df\u65c5 = gourmet-trip\n\u6751\u677e\u82f1\u4fca = muramatsu-hidetoshi\n<\/code><\/pre>\n\n<p>Now \u51fa\u96f2\u305d\u3070 \u7f8e\u98df\u65c5 becomes <code>izumo-soba-gourmet-trip<\/code> instead of falling back.\nLonger terms win over shorter ones, so \u51fa\u96f2\u5e02 can differ from \u51fa\u96f2.<\/p>\n\n<h4>No intl extension required<\/h4>\n\n<p>The kana table is built into the plugin, so romanization works the same on a\nserver without the intl extension. Sokuon and youon are handled: \u307e\u3063\u3061\u3083\nbecomes <code>matcha<\/code>, \u304e\u3085\u3046\u306b\u3085\u3046 becomes <code>gyuunyuu<\/code>.<\/p>\n\n<h4>Everything else<\/h4>\n\n<ul>\n<li>Choose which post types are handled, or let the plugin detect them.<\/li>\n<li>Cap the slug length, cut on a word boundary.<\/li>\n<li>Try a title on the settings screen and see the slug before you publish\nanything.<\/li>\n<li>Decide whether percent-encoded slugs are replaced or left as they are.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>That is enough for kana titles. Nothing else is required.<\/li>\n<li>To change how kanji are handled, or to add dictionary entries, go to\n<strong>Settings \u2192 Robse Auto Alpha Slug<\/strong>.<\/li>\n<\/ol>\n\n<p>Existing posts are never touched. Only posts you save after activating get a\ngenerated slug, so your current permalinks and their search rankings stay as\nthey are.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20it%20overwrite%20a%20slug%20i%20typed%20myself%3F\"><h3>Will it overwrite a slug I typed myself?<\/h3><\/dt>\n<dd><p>No. A slug written in ASCII letters, digits, hyphens or underscores is treated\nas deliberate and kept, whatever the title says.<\/p><\/dd>\n<dt id=\"will%20it%20change%20the%20slugs%20of%20my%20existing%20posts%3F\"><h3>Will it change the slugs of my existing posts?<\/h3><\/dt>\n<dd><p>Not on its own. Slugs are only generated when a post is saved. If you open an\nold post with a percent-encoded slug and save it, the slug is replaced \u2014 turn\noff <strong>Replace slugs that arrive percent-encoded<\/strong> in the settings if you would\nrather that never happened.<\/p><\/dd>\n<dt id=\"why%20does%20my%20kanji%20title%20become%20post-123%20instead%20of%20romaji%3F\"><h3>Why does my kanji title become post-123 instead of romaji?<\/h3><\/dt>\n<dd><p>Because a wrong reading is worse than no reading. See the description above.\nAdd the words to the dictionary, or switch the mode to <strong>Drop the kanji<\/strong>, and\nyou will get a text slug.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20custom%20post%20types%3F\"><h3>Does it work with custom post types?<\/h3><\/dt>\n<dd><p>Yes. By default every post type with an editing screen is handled. You can\nrestrict that on the settings page, or with the <code>robse_auto_alpha_slug_post_types<\/code>\nfilter.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20generated%20slug%20from%20my%20own%20code%3F\"><h3>Can I change the generated slug from my own code?<\/h3><\/dt>\n<dd><p>Yes, filter <code>robse_auto_alpha_slug_generated<\/code>:<\/p>\n\n<pre><code>add_filter( 'robse_auto_alpha_slug_generated', function ( $slug, $title, $post_type, $post_id ) {\n    return 'news-' . $slug;\n}, 10, 4 );\n<\/code><\/pre><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Kanji are no longer transliterated as Chinese by default. Titles containing\nkanji now use a predictable fallback pattern, and the old behaviour is still\navailable as an option.<\/li>\n<li>Added a settings screen: kanji handling, fallback pattern, dictionary, post\ntypes, maximum length, and a preview field.<\/li>\n<li>Added a user dictionary so recurring names and places romanize correctly.<\/li>\n<li>Kana romanization no longer depends on the intl extension.<\/li>\n<li>Fixed \u30f4\u30a1\u30a4\u30aa\u30ea\u30f3 and similar katakana producing stray characters in slugs.<\/li>\n<li>Renamed internal classes and hooks to a unique prefix. The old\n  rm_auto_alpha_slug_post_types filter still works.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Kept manually entered ASCII slugs untouched.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release, distributed from robse.jp.<\/li>\n<\/ul>","raw_excerpt":"Turns Japanese post titles into clean ASCII slugs, and never invents a wrong reading for the kanji it cannot read.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/362709","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=362709"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/robsejp"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=362709"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=362709"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=362709"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=362709"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=362709"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=362709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}