{"id":349389,"date":"2026-08-10T09:41:18","date_gmt":"2026-08-10T09:41:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/dailyblogpost-seo-article-publisher\/"},"modified":"2026-08-10T10:11:59","modified_gmt":"2026-08-10T10:11:59","slug":"dailyblogpost-auto-publisher","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/dailyblogpost-auto-publisher\/","author":23542999,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.1","stable_tag":"1.4.1","tested":"7.0.3","requires":"6.1","requires_php":"7.4","requires_plugins":null,"header_name":"DailyBlogPost \u2013 SEO Article Publisher","header_author":"DailyBlogPost","header_description":"Publish and sync SEO articles from DailyBlogPost to WordPress, including images, metadata, categories, and tags.","assets_banners_color":"beb19d","last_updated":"2026-08-10 10:11:59","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/dailyblogpost.app","rating":0,"author_block_rating":0,"active_installs":0,"downloads":31,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.4.0":{"tag":"1.4.0","author":"jsampedropro","date":"2026-08-10 09:40:52"},"1.4.1":{"tag":"1.4.1","author":"jsampedropro","date":"2026-08-10 10:11:59"}},"upgrade_notice":{"1.4.1":"<p>Fixes 1.4.0, which failed to initialize (no settings page, no imports). Update immediately.<\/p>","1.3.0":"<p>Renames the plugin&#039;s options, meta keys and REST routes to avoid conflicts. Settings are migrated automatically. Update recommended.<\/p>","1.2.0":"<p>Adds safe publication reconciliation and connector capability reporting. Update recommended.<\/p>","1.1.0":"<p>Adds direct push publishing and image import. Update recommended.<\/p>","1.0.0":"<p>Initial release of DailyBlogPost \u2013 SEO Article Publisher.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3640326,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3640326,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3640326,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3640326,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.4.0","1.4.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3640326,"resolution":"1","location":"assets","locale":"","width":2560,"height":1660}},"screenshots":{"1":"Plugin settings under Settings \u2192 DailyBlogPost: API token, post status, author, default category, and automatic hourly import."}},"plugin_section":[],"plugin_tags":[569,323,529,274981,7143],"plugin_category":[],"plugin_contributors":[274982],"plugin_business_model":[],"class_list":["post-349389","plugin","type-plugin","status-publish","hentry","plugin_tags-automation","plugin_tags-blog","plugin_tags-content","plugin_tags-dailyblogpost","plugin_tags-publishing","plugin_contributors-jsampedropro","plugin_committers-jsampedropro"],"banners":{"banner":"https:\/\/ps.w.org\/dailyblogpost-auto-publisher\/assets\/banner-772x250.png?rev=3640326","banner_2x":"https:\/\/ps.w.org\/dailyblogpost-auto-publisher\/assets\/banner-1544x500.png?rev=3640326","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/dailyblogpost-auto-publisher\/assets\/icon-128x128.png?rev=3640326","icon_2x":"https:\/\/ps.w.org\/dailyblogpost-auto-publisher\/assets\/icon-256x256.png?rev=3640326","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/dailyblogpost-auto-publisher\/assets\/screenshot-1.png?rev=3640326","caption":"Plugin settings under Settings \u2192 DailyBlogPost: API token, post status, author, default category, and automatic hourly import."}],"raw_content":"<!--section=description-->\n<p>DailyBlogPost \u2013 SEO Article Publisher connects your WordPress site to your DailyBlogPost account. It transfers approved articles, images, metadata, categories, and tags without copy-pasting content.<\/p>\n\n<p>This plugin requires an account on DailyBlogPost, a third-party hosted editorial service. See the \"External Service\" section below for what is sent and to whom.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Automatic Import<\/strong>: Articles are imported automatically every hour<\/li>\n<li><strong>Manual Import<\/strong>: Trigger imports manually when needed<\/li>\n<li><strong>Customizable Settings<\/strong>: Choose post status (draft\/published), category, and author<\/li>\n<li><strong>SEO Optimization<\/strong>: Imports meta titles, descriptions, and keywords<\/li>\n<li><strong>Secure Connection<\/strong>: Uses API token authentication<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Generate an API token from your DailyBlogPost account (Settings \u2192 API)<\/li>\n<li>Install and activate this plugin<\/li>\n<li>Configure the plugin with your API token<\/li>\n<li>Articles can be published instantly from DailyBlogPost (direct push) and still support hourly\/manual import fallback<\/li>\n<\/ol>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>Active DailyBlogPost subscription<\/li>\n<li>API token from DailyBlogPost<\/li>\n<li>WordPress 6.1 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<\/ul>\n\n<h3>Support<\/h3>\n\n<p>For support, please visit:\n* Plugin documentation: https:\/\/dailyblogpost.app\/en\/docs\n* Contact support: https:\/\/dailyblogpost.app\/en\/contact<\/p>\n\n<h3>External Service<\/h3>\n\n<p>This plugin connects to DailyBlogPost (https:\/\/dailyblogpost.app), a third-party hosted editorial service, to retrieve approved articles, publish them to the connected WordPress site, and synchronize publication status. A DailyBlogPost account and API token are required; the plugin is not usable without one.<\/p>\n\n<p>When does it connect?<\/p>\n\n<ul>\n<li>Every hour, and whenever you trigger a manual import, to fetch approved articles<\/li>\n<li>After each successful import, to report the resulting WordPress post ID and URL<\/li>\n<li>When you use the \"Test API Connection\" button<\/li>\n<\/ul>\n\n<p>What is sent to DailyBlogPost:<\/p>\n\n<ul>\n<li>Your API token, used for authentication<\/li>\n<li>The WordPress site URL and the REST endpoint URL DailyBlogPost may push articles to<\/li>\n<li>The plugin version, its capabilities, and a randomly generated shared secret used to authenticate incoming pushes<\/li>\n<li>Article IDs, WordPress post IDs and post URLs, so that DailyBlogPost knows what is already published<\/li>\n<\/ul>\n\n<p>DailyBlogPost may also call this site's REST endpoints to publish an article immediately or to read back the status of articles it previously published. Those calls are rejected unless they carry the shared secret above.<\/p>\n\n<p>Service terms and policies:<\/p>\n\n<ul>\n<li>Terms of Service: https:\/\/dailyblogpost.app\/en\/terms<\/li>\n<li>Privacy Policy: https:\/\/dailyblogpost.app\/en\/privacy<\/li>\n<\/ul>\n\n<h3>Privacy<\/h3>\n\n<p>Your API token and the generated push secret are stored in your WordPress database. No visitor data is collected, and the plugin adds nothing to the front end of your site.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/dailyblogpost-auto-publisher\/<\/code><\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Go to Settings \u2192 DailyBlogPost<\/li>\n<li>Enter your API token from DailyBlogPost (get it from https:\/\/dailyblogpost.app\/app\/settings?tab=api)<\/li>\n<li>Configure import settings<\/li>\n<li>Test the connection and run your first import!<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20get%20an%20api%20token%3F\"><h3>Where do I get an API token?<\/h3><\/dt>\n<dd><p>Log in to your DailyBlogPost account and go to Settings \u2192 API tab. Generate a new token and copy it.<\/p><\/dd>\n<dt id=\"how%20often%20are%20articles%20imported%3F\"><h3>How often are articles imported?<\/h3><\/dt>\n<dd><p>By default, articles are imported automatically every hour. You can also trigger manual imports anytime.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20articles%20after%20import%3F\"><h3>What happens to articles after import?<\/h3><\/dt>\n<dd><p>Articles are marked as published in DailyBlogPost to prevent duplicate imports.<\/p><\/dd>\n<dt id=\"can%20i%20choose%20the%20post%20status%3F\"><h3>Can I choose the post status?<\/h3><\/dt>\n<dd><p>Yes! You can set imported articles to be draft, published, or pending review.<\/p><\/dd>\n<dt id=\"does%20it%20import%20images%3F\"><h3>Does it import images?<\/h3><\/dt>\n<dd><p>Yes. In direct publish mode, cover and inline article images are imported into the WordPress media library and relinked in content.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20free%3F\"><h3>Is this plugin free?<\/h3><\/dt>\n<dd><p>Yes, the plugin is completely free. You only need an active DailyBlogPost subscription.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Fixed a fatal oversight in 1.4.0 where the plugin never initialized: no settings page, no imports, no publish endpoint. If you installed 1.4.0, update immediately.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Imported articles now carry their DailyBlogPost author (name, bio, credentials, link) as post meta<\/li>\n<li>Adds <code>schema.org\/Person<\/code> markup so search engines can attribute the article to a real author, including their credentials as <code>jobTitle<\/code><\/li>\n<li>The markup is skipped when Yoast, Rank Math, SEOPress or All in One SEO already handles article schema, to avoid conflicting structured data<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Renamed every option, post meta key, cron event, class and constant to a prefix unique to this plugin, to avoid conflicts with other plugins and themes<\/li>\n<li>Moved the REST routes to the <code>dailyblogpost-auto-publisher\/v1<\/code> namespace<\/li>\n<li>Existing settings and article markers are migrated automatically on update<\/li>\n<li>Added an author setting; imported posts are no longer created without an author<\/li>\n<li>Import results are now shown on the settings screen, including the last automatic run<\/li>\n<li>A failed acknowledgement no longer causes the same article to be imported twice<\/li>\n<li>Removed the bundled translation files; translations are now handled through translate.wordpress.org<\/li>\n<li>Fixed a PHP 8.2 deprecation when importing inline images<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added an authenticated, read-only publication status endpoint<\/li>\n<li>Reports connector capabilities to DailyBlogPost<\/li>\n<li>Enables safe reconciliation without treating drafts, private posts, or trash as deleted<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>API domain updated to dailyblogpost.app<\/li>\n<li>Added direct publish endpoint for instant publication on click<\/li>\n<li>Added inline and cover image import into WordPress media library during direct publish<\/li>\n<li>Kept automatic hourly import and manual import as fallback<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Automatic hourly import<\/li>\n<li>Manual import option<\/li>\n<li>API token authentication<\/li>\n<li>SEO meta data import<\/li>\n<li>Category and status configuration<\/li>\n<\/ul>","raw_excerpt":"Publish and sync SEO articles from DailyBlogPost to WordPress, including images, metadata, categories, and tags.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/349389","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=349389"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jsampedropro"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=349389"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=349389"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=349389"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=349389"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=349389"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=349389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}