{"id":340807,"date":"2026-07-16T06:20:17","date_gmt":"2026-07-16T06:20:17","guid":{"rendered":"https:\/\/ja.wordpress.org\/plugins\/ap-writer\/"},"modified":"2026-07-16T06:19:58","modified_gmt":"2026-07-16T06:19:58","slug":"ap-writer","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ap-writer\/","author":23499578,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.16","stable_tag":"1.1.16","tested":"7.0.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"AP Writer","header_author":"Art Position","header_description":"AI\u8a18\u4e8b\u81ea\u52d5\u751f\u6210\u30d7\u30e9\u30b0\u30a4\u30f3\uff08\u30e9\u30a4\u30bb\u30f3\u30b9\u7248\uff09","assets_banners_color":"4c80ea","last_updated":"2026-07-16 06:19:58","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/api-position.com","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":29,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.16":{"tag":"1.1.16","author":"artposition","date":"2026-07-16 06:19:58"}},"upgrade_notice":{"1.1.15":"<p>Coding-standards and compatibility improvements for the WordPress.org directory.<\/p>","1.1.14":"<p>WordPress 7.0 compatibility and admin input hardening.<\/p>","1.1.13":"<p>Important security update. Please update promptly.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3609784,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3609784,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3609784,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3609784,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.16"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3609784,"resolution":"1","location":"assets","locale":"","width":1280,"height":860},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3609784,"resolution":"2","location":"assets","locale":"","width":1280,"height":860},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3609784,"resolution":"3","location":"assets","locale":"","width":1280,"height":860},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3609784,"resolution":"4","location":"assets","locale":"","width":1280,"height":1000}},"screenshots":{"1":"AI article generation \u2014 enter a keyword and generate a post.","2":"Settings \u2014 customize article design styles and colors.","3":"Auto-schedule \u2014 choose weekday, time and category for automatic posting.","4":"Front end \u2014 a post with the table of contents, related posts and reading time inserted."}},"plugin_section":[],"plugin_tags":[2353,1117,186,1557,10851],"plugin_category":[55],"plugin_contributors":[271820],"plugin_business_model":[],"class_list":["post-340807","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-schema","plugin_tags-seo","plugin_tags-sitemap","plugin_tags-table-of-contents","plugin_category-seo-and-marketing","plugin_contributors-artposition","plugin_committers-artposition"],"banners":{"banner":"https:\/\/ps.w.org\/ap-writer\/assets\/banner-772x250.png?rev=3609784","banner_2x":"https:\/\/ps.w.org\/ap-writer\/assets\/banner-1544x500.png?rev=3609784","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ap-writer\/assets\/icon-128x128.png?rev=3609784","icon_2x":"https:\/\/ps.w.org\/ap-writer\/assets\/icon-256x256.png?rev=3609784","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ap-writer\/assets\/screenshot-1.png?rev=3609784","caption":"AI article generation \u2014 enter a keyword and generate a post."},{"src":"https:\/\/ps.w.org\/ap-writer\/assets\/screenshot-2.png?rev=3609784","caption":"Settings \u2014 customize article design styles and colors."},{"src":"https:\/\/ps.w.org\/ap-writer\/assets\/screenshot-3.png?rev=3609784","caption":"Auto-schedule \u2014 choose weekday, time and category for automatic posting."},{"src":"https:\/\/ps.w.org\/ap-writer\/assets\/screenshot-4.png?rev=3609784","caption":"Front end \u2014 a post with the table of contents, related posts and reading time inserted."}],"raw_content":"<!--section=description-->\n<p><strong>AP Writer<\/strong> improves the SEO and reading experience of your WordPress posts. The core features work for free, with no account and no external connection.<\/p>\n\n<h4>Features available for free (no account required)<\/h4>\n\n<ul>\n<li><strong>Article design<\/strong> \u2014 Configure H2\/H3 heading styles and colors, list and bold styles, font size and line height from the admin screen.<\/li>\n<li><strong>Table of contents<\/strong> \u2014 Automatically detects H2\/H3 headings and inserts an accordion-style table of contents at the top of each post.<\/li>\n<li><strong>Related posts<\/strong> \u2014 Displays related posts from the same category as a thumbnail grid at the end of each post.<\/li>\n<li><strong>Reading time &amp; last-updated date<\/strong> \u2014 Shows post meta information near the top of the content.<\/li>\n<li><strong>JSON-LD structured data<\/strong> \u2014 Outputs BlogPosting and FAQPage schema automatically for Google rich results.<\/li>\n<li><strong>XML sitemap<\/strong> \u2014 Generates and updates an XML sitemap.<\/li>\n<li><strong>Per-post TOC toggle<\/strong> \u2014 Show or hide the table of contents per post from a meta box in the editor.<\/li>\n<\/ul>\n\n<p>These features run entirely on your site and never contact any external server.<\/p>\n\n<h4>Optional: AI article generation (requires an external account)<\/h4>\n\n<p>The AI features connect to an external service (api-position.com) that performs the generation on its own servers. They require an account, which you can get at <a href=\"https:\/\/api-position.com\">api-position.com<\/a>. A free trial is available.<\/p>\n\n<ul>\n<li>Japanese article generation via Claude \/ Gemini (processing happens on the external service)<\/li>\n<li>Keyword and topic suggestions<\/li>\n<li>AI featured-image generation<\/li>\n<li>Scheduled auto-posting (choose weekday and time)<\/li>\n<li>Google Search Console integration (search queries, indexing, sitemap submission)<\/li>\n<li>Site learning for internal-link optimization<\/li>\n<\/ul>\n\n<p>The AI features are provided as an interface to the external service. The service, the data it receives, and its Terms of Use and Privacy Policy are documented below.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to api-position.com (operated by Art Position) only when you use the AI features (license verification and AI generation). The free features listed above never connect to any external server.<\/p>\n\n<p><strong>Service:<\/strong> https:\/\/api-position.com<\/p>\n\n<p><strong>What is sent, and when:<\/strong><\/p>\n\n<ul>\n<li>Your license key and site domain \u2014 sent during license verification.<\/li>\n<li>Keywords and the site information you enter \u2014 sent only when you run AI generation.<\/li>\n<\/ul>\n\n<p><strong>What the service does:<\/strong> It performs the AI article\/image generation on its own servers (this processing cannot be done locally in the plugin) and returns the result. AI generation requests are forwarded through api-position.com to Anthropic Claude or Google Gemini.<\/p>\n\n<p>By using the AI features you agree to the service's terms:<\/p>\n\n<ul>\n<li>Privacy Policy: https:\/\/api-position.com\/privacy<\/li>\n<li>Terms of Service: https:\/\/api-position.com\/terms<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/ap-writer<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the \"Plugins\" screen in WordPress.<\/li>\n<li>Article design, table of contents, structured data and the sitemap are enabled automatically on activation \u2014 no configuration required.<\/li>\n<li>Go to \"AP Writer\" \u2192 \"Settings\" in the admin menu to customize styles and display options.<\/li>\n<li>To use the optional AI features, enter your license key in \"Settings\" \u2192 \"License\". You can get a key at api-position.com.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20features%20work%20without%20an%20account%3F\"><h3>Which features work without an account?<\/h3><\/dt>\n<dd><p>Article design, table of contents, related posts, reading time, last-updated date, JSON-LD structured data and the XML sitemap all work for free, with no account and no external connection.<\/p><\/dd>\n<dt id=\"how%20do%20i%20try%20the%20ai%20generation%3F\"><h3>How do I try the AI generation?<\/h3><\/dt>\n<dd><p>Sign up for the free trial at <a href=\"https:\/\/api-position.com\">api-position.com<\/a>, then paste the issued key into \"Settings\" \u2192 \"License\". The AI features will be enabled.<\/p><\/dd>\n<dt id=\"which%20ai%20models%20are%20used%3F\"><h3>Which AI models are used?<\/h3><\/dt>\n<dd><p>Anthropic Claude and Google Gemini. You can choose the model in the settings. Generation runs on the external service (api-position.com), not on your site.<\/p><\/dd>\n<dt id=\"will%20the%20sitemap%20conflict%20with%20my%20existing%20sitemap%3F\"><h3>Will the sitemap conflict with my existing sitemap?<\/h3><\/dt>\n<dd><p>No. This plugin serves its sitemap at <code>\/ap-sitemap.xml<\/code>, so it does not conflict with the <code>\/sitemap.xml<\/code> produced by Yoast SEO, All in One SEO, or similar plugins.<\/p><\/dd>\n<dt id=\"can%20i%20hide%20the%20table%20of%20contents%20on%20a%20specific%20post%3F\"><h3>Can I hide the table of contents on a specific post?<\/h3><\/dt>\n<dd><p>Yes. Use the meta box in the post editor to show or hide the table of contents per post.<\/p><\/dd>\n<dt id=\"what%20structured%20data%20is%20output%3F\"><h3>What structured data is output?<\/h3><\/dt>\n<dd><p>BlogPosting schema (title, author, published\/updated dates, featured image), plus FAQPage schema generated from any FAQ section detected in the post.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.16<\/h4>\n\n<ul>\n<li>Output escaping and input handling brought fully in line with WordPress coding standards.<\/li>\n<\/ul>\n\n<h4>1.1.15<\/h4>\n\n<ul>\n<li>Internal-link insertion is no longer restricted by plan; it works whenever enabled.<\/li>\n<li>Admin scripts and styles are now enqueued via the WordPress API.<\/li>\n<li>Coding-standards and escaping improvements throughout the admin screens.<\/li>\n<\/ul>\n\n<h4>1.1.14<\/h4>\n\n<ul>\n<li>WordPress 7.0 compatibility.<\/li>\n<li>Hardened admin input handling to follow WordPress coding standards.<\/li>\n<\/ul>\n\n<h4>1.1.13<\/h4>\n\n<ul>\n<li>Security: safely handle HTML, images and structured data returned by the service (prevents arbitrary file writes and stored XSS).<\/li>\n<li>Added a per-post table-of-contents toggle in the editor.<\/li>\n<li>Capped the auto-generation keyword list to prevent unbounded growth.<\/li>\n<li>Fixed a case where a skipped test run was shown as success.<\/li>\n<\/ul>\n\n<h4>1.1.12<\/h4>\n\n<ul>\n<li>Block the screen during a scheduled test run to prevent double submissions.<\/li>\n<li>Security hardening for HTML and images returned by the service.<\/li>\n<\/ul>\n\n<h4>1.1.11<\/h4>\n\n<ul>\n<li>Added a default article length option in the settings.<\/li>\n<\/ul>\n\n<h4>1.1.10<\/h4>\n\n<ul>\n<li>Added a modal to specify a theme when auto-generating keywords.<\/li>\n<\/ul>\n\n<h4>1.1.9<\/h4>\n\n<ul>\n<li>Keyword and topic generation now reflect your site information.<\/li>\n<\/ul>\n\n<h4>1.1.8<\/h4>\n\n<ul>\n<li>Weekday keyword lists are no longer consumed; an unused keyword is chosen at random.<\/li>\n<\/ul>\n\n<h4>1.1.7<\/h4>\n\n<ul>\n<li>Detect expired Google Search Console connections and prompt to reconnect.<\/li>\n<\/ul>\n\n<h4>1.1.6<\/h4>\n\n<ul>\n<li>Prevent duplicate keywords in auto-generation; fixed AI topic selection.<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Show the cause of API communication errors in the admin screen.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Added a copyright-safe mode for featured images.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Fixed issues in site learning, topic suggestions and article generation.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Made the table of contents, article design, structured data and related posts available for free.<\/li>\n<li>Added a free-trial notice for unlicensed sites.<\/li>\n<li>Added a referral bonus feature.<\/li>\n<li>PHP 7.4 compatibility fixes.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Article design, table of contents, JSON-LD schema and XML sitemap for your posts. Optional AI writing via an external account.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/340807","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=340807"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/artposition"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=340807"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=340807"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=340807"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=340807"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=340807"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=340807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}