{"id":400663,"date":"2026-11-13T23:20:22","date_gmt":"2026-11-13T23:20:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/motoyomi\/"},"modified":"2026-11-13T23:19:49","modified_gmt":"2026-11-13T23:19:49","slug":"motoyomi","status":"publish","type":"plugin","link":"https:\/\/pt.wordpress.org\/plugins\/motoyomi\/","author":23601115,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.1","stable_tag":"0.1.1","tested":"7.1.4","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Motoyomi","header_author":"LLL Inc.","header_description":"Local Japanese internal-link and related-article suggestions. No external services.","last_updated":"2026-11-13 23:19:49","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":59,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.1":{"tag":"0.1.1","author":"lllincdev","date":"2026-11-13 23:19:49","revision":3801250}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3801250,"resolution":"1","location":"assets","locale":"","width":1280,"height":950},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3801250,"resolution":"2","location":"assets","locale":"","width":1440,"height":1000}},"screenshots":{"1":"Settings: select post types, path exclusions and suggestion limits, then check index progress. Counts are examples from a demo site.","2":"Block editor: copy a suggested URL or find its phrase. This test screen uses sample articles and example.org links."}},"plugin_section":[],"plugin_tags":[1332,6681,5622,1089],"plugin_category":[46],"plugin_contributors":[292656],"plugin_business_model":[],"class_list":["post-400663","plugin","type-plugin","status-publish","hentry","plugin_tags-editor","plugin_tags-internal-links","plugin_tags-japanese","plugin_tags-related-posts","plugin_category-editor-and-writing","plugin_contributors-lllincdev","plugin_committers-lllincdev"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/motoyomi.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/motoyomi\/assets\/screenshot-1.png?rev=3801250","caption":"Settings: select post types, path exclusions and suggestion limits, then check index progress. Counts are examples from a demo site."},{"src":"https:\/\/ps.w.org\/motoyomi\/assets\/screenshot-2.png?rev=3801250","caption":"Block editor: copy a suggested URL or find its phrase. This test screen uses sample articles and example.org links."}],"raw_content":"<!--section=description-->\n<p>Motoyomi helps editors find existing published articles to link to while writing. This beta uses Japanese character bigrams, title\/heading weights and local inverse-document-frequency weights. It normalizes fullwidth text, letter case and model-number hyphens (AB-1200 \/ AB1200).<\/p>\n\n<ul>\n<li>Suggestions use titles and h2\u2013h4 headings, not semantic AI or full-text embeddings.<\/li>\n<li>Phrase suggestions retain the original spelling in your article.<\/li>\n<li>Your current article, existing link targets, password-protected\/private articles and excluded paths are omitted.<\/li>\n<li>Choose articles and explicitly press \u201cAdd selected to end\u201d to append a related list. Every other panel operation leaves content unchanged.<\/li>\n<li>Works with the WordPress block editor and the standard classic editor. Other page-builder canvases are not supported.<\/li>\n<li>Indexes saved published posts; settings let you select public post types and exclude path prefixes.<\/li>\n<li>Indexing runs in resumable batches of 50. The settings page also processes batches while open, including sites without WP-Cron.<\/li>\n<li>Japanese and English interfaces. No account, payments, analytics or telemetry.<\/li>\n<\/ul>\n\n<p>Review every suggested link yourself. Machine-generated fixture tests do not establish human relevance or search-ranking effects. This is an initial beta; broader theme, editor and language compatibility is still being evaluated.<\/p>\n\n<h4>External services and privacy<\/h4>\n\n<p>None. This version sends nothing to external services. Browser requests only go to your own WordPress site. It stores a local index, settings and rebuild progress; uninstall removes these. Normal WordPress core or other installed plugins may independently make requests.<\/p>\n\n<p>All features are free, with no expiry or trial quota. AI generation, external AI connections, semantic search and premium features are not implemented. Readable PHP and JavaScript source is included. Development source: https:\/\/github.com\/LLL-development\/motoyomi\/tree\/main\/wordpress<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the motoyomi folder to wp-content\/plugins, or install the ZIP via Plugins &gt; Add New &gt; Upload Plugin.<\/li>\n<li>Activate separately on each site. Network activation is intentionally blocked.<\/li>\n<li>Open Settings &gt; Internal links. Select post types, review excluded paths, and wait for indexing to complete.<\/li>\n<li>Open a post. In the document settings open \u201cRelated articles and internal links\u201d and press \u201cFind suggestions\u201d. Classic editor users use the matching side metabox.<\/li>\n<li>Use \u201cCopy link\u201d or \u201cFind phrase\u201d to add links manually. To append related articles, select checkboxes and press \u201cAdd selected to end\u201d. Review and save your post.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20change%20my%20content%20automatically%3F\"><h3>Does it change my content automatically?<\/h3><\/dt>\n<dd><p>No. Only \u201cAdd selected to end\u201d changes the editor content, and you still choose when to save. Phrase search selects a block or text; it does not create a link.<\/p><\/dd>\n<dt id=\"does%20it%20need%20an%20api%20key%20or%20paid%20service%3F\"><h3>Does it need an API key or paid service?<\/h3><\/dt>\n<dd><p>No. All comparisons happen on your WordPress server. This version is free and has no external service.<\/p><\/dd>\n<dt id=\"why%20are%20there%20no%20suggestions%3F\"><h3>Why are there no suggestions?<\/h3><\/dt>\n<dd><p>Open Settings &gt; Internal links and check that the index is complete. Check selected post types and excluded paths. Candidates need matching title\/heading terms or phrases; unrelated articles may correctly yield no result.<\/p><\/dd>\n<dt id=\"indexing%20stopped.%20what%20should%20i%20do%3F\"><h3>Indexing stopped. What should I do?<\/h3><\/dt>\n<dd><p>Open Settings &gt; Internal links and press Resume indexing. Rebuild starts from the beginning; Resume retains the cursor. Keep settings open to run batches when scheduled cron is disabled.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20plain%20permalinks%3F\"><h3>Does it work with plain permalinks?<\/h3><\/dt>\n<dd><p>Yes. Post ID query parameters are retained as local URL identities. Path exclusions are prefixes; excluding \/ excludes the whole site.<\/p><\/dd>\n<dt id=\"does%20it%20support%20private%2C%20password-protected%20or%20draft%20articles%3F\"><h3>Does it support private, password-protected or draft articles?<\/h3><\/dt>\n<dd><p>These are never suggestion targets. You can request suggestions while editing your own draft if you have permission to edit it.<\/p><\/dd>\n<dt id=\"how%20many%20articles%20can%20i%20index%3F\"><h3>How many articles can I index?<\/h3><\/dt>\n<dd><p>The first 2,000 index entries use one non-autoloaded JSON option. Above that the plugin moves entries into individual post metadata. Performance on large production sites has not yet been measured; start with a narrower post-type scope.<\/p><\/dd>\n<dt id=\"where%20can%20i%20report%20a%20problem%3F\"><h3>Where can I report a problem?<\/h3><\/dt>\n<dd><p>Contact LLL Inc. at its existing company contact address, contact@lx3.cafe. Include WordPress\/PHP versions and reproduction steps. Do not send passwords or private article content.<\/p><\/dd>\n<dt id=\"does%20the%202%2C000-entry%20threshold%20limit%20free%20functionality%3F\"><h3>Does the 2,000-entry threshold limit free functionality?<\/h3><\/dt>\n<dd><p>No. It changes local storage from a JSON option to individual post metadata. It does not disable suggestions or require payment.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20delete%20the%20plugin%3F\"><h3>What happens when I delete the plugin?<\/h3><\/dt>\n<dd><p>Uninstall removes its index, settings, progress and scheduled jobs. It leaves your posts and any related lists you explicitly saved intact. Deactivation retains settings.<\/p><\/dd>\n<dt id=\"how%20should%20i%20report%20a%20security%20issue%3F\"><h3>How should I report a security issue?<\/h3><\/dt>\n<dd><p>Email contact@lx3.cafe with reproduction steps. Do not include passwords or private article content. Do not disclose sensitive vulnerability details on a public forum.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Prepare WordPress.org metadata, documentation and screenshot captions. Display name is now Motoyomi. No functional code changes from 0.1.0.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial beta: local Japanese phrases, related articles, block\/classic editor controls and resumable indexing.<\/li>\n<\/ul>","raw_excerpt":"Find Japanese internal-link phrases and related articles from local titles and headings. No account, external service, or automatic content rewriting.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/400663","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=400663"}],"author":[{"embeddable":true,"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/lllincdev"}],"wp:attachment":[{"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=400663"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=400663"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=400663"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=400663"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=400663"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=400663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}