{"id":391892,"date":"2026-10-25T16:39:22","date_gmt":"2026-10-25T16:39:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sitehome\/"},"modified":"2026-10-25T18:40:52","modified_gmt":"2026-10-25T18:40:52","slug":"sitehome","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/sitehome\/","author":13720338,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.7.0","stable_tag":"0.7.0","tested":"7.1.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"SiteHome","header_author":"SiteHome","header_description":"Connects your website to the SiteHome app. SiteHome publishes through the WordPress REST API with your own users and rights; this plugin makes sure SiteHome never overwrites a change someone else made after it was reviewed.","assets_banners_color":"404040","last_updated":"2026-10-25 18:40:52","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/getsitehome.com\/docs\/wordpress","header_author_uri":"https:\/\/getsitehome.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":64,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.6.0":{"tag":"0.6.0","author":"bkeetman","date":"2026-10-25 16:39:02","revision":3764939},"0.7.0":{"tag":"0.7.0","author":"bkeetman","date":"2026-10-25 18:40:52","revision":3765080}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3765080,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3765080,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3765080,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3765080,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3765080,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.6.0","0.7.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3765080,"resolution":"1","location":"assets","locale":"","width":640,"height":1307},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3765080,"resolution":"2","location":"assets","locale":"","width":640,"height":1296}},"screenshots":{"1":"Your website's content in the SiteHome app, with new items one tap away.","2":"Editing a post in SiteHome. Your website only changes after you review the exact changes and publish."}},"plugin_section":[],"plugin_tags":[529,1840,841,7143,23853],"plugin_category":[46],"plugin_contributors":[288500],"plugin_business_model":[],"class_list":["post-391892","plugin","type-plugin","status-publish","hentry","plugin_tags-content","plugin_tags-editing","plugin_tags-mobile","plugin_tags-publishing","plugin_tags-rest-api","plugin_category-editor-and-writing","plugin_contributors-bkeetman","plugin_committers-bkeetman"],"banners":{"banner":"https:\/\/ps.w.org\/sitehome\/assets\/banner-772x250.png?rev=3765080","banner_2x":"https:\/\/ps.w.org\/sitehome\/assets\/banner-1544x500.png?rev=3765080","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/sitehome\/assets\/icon.svg?rev=3765080","icon":"https:\/\/ps.w.org\/sitehome\/assets\/icon.svg?rev=3765080","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sitehome\/assets\/screenshot-1.png?rev=3765080","caption":"Your website's content in the SiteHome app, with new items one tap away."},{"src":"https:\/\/ps.w.org\/sitehome\/assets\/screenshot-2.png?rev=3765080","caption":"Editing a post in SiteHome. Your website only changes after you review the exact changes and publish."}],"raw_content":"<!--section=description-->\n<p>SiteHome is an app for website owners: change texts and photos from your phone, review the exact changes, and publish. SiteHome works with WordPress through the WordPress REST API, signed in with an application password of your own WordPress user (Editor role or higher), so your users, roles and rights stay as they are.<\/p>\n\n<p>This plugin adds what the REST API does not have: a revision check. When SiteHome publishes, it says which version of the item it reviewed. If someone changed the item in the meantime, WordPress refuses SiteHome's update and SiteHome asks you to review again. Updates from the block editor or other apps are not affected.<\/p>\n\n<p>The plugin:<\/p>\n\n<ul>\n<li>refuses an update from SiteHome when the item changed after it was reviewed;<\/li>\n<li>adds read-only <code>sitehome_revision<\/code> and <code>sitehome_builder<\/code> fields to items in the REST API (only for users who may edit them), so SiteHome can keep builder-native layouts (Elementor, Divi, WPBakery, Beaver Builder, Oxygen, Bricks) closed while editing supported WordPress body blocks separately;<\/li>\n<li>with Advanced Custom Fields active, adds a <code>sitehome_fields<\/code> field to items in the REST API (only for users who may edit them) with the item's ACF fields of common types, and saves SiteHome's values for them after checking each one; fields with a condition, a read-only setting or a check of the website's own stay closed;<\/li>\n<li>adds <code>GET \/wp-json\/sitehome\/v1\/fields\/&lt;post type&gt;<\/code> with the ACF fields a new item gets (only for users who may create that post type);<\/li>\n<li>adds <code>GET \/wp-json\/sitehome\/v1\/status<\/code>, so SiteHome can see the plugin is active;<\/li>\n<li>on hosts that drop the Authorization header, reads the same application password from SiteHome's own <code>X-SiteHome-Authorization<\/code> header, so WordPress checks it as usual;<\/li>\n<li>adds Settings \u2192 SiteHome with the steps to connect your website.<\/li>\n<\/ul>\n\n<p>It adds no tables, changes no content and sends nothing anywhere. Every change SiteHome makes is a normal WordPress update, with a revision you can restore.<\/p>\n\n<h4>External service<\/h4>\n\n<p>The plugin itself makes no outgoing requests. It is meant for use with the SiteHome app (https:\/\/getsitehome.com), which connects to your website's REST API when you connect it there yourself, with an application password you create. SiteHome then reads the content you choose and writes the changes you review and publish in the app. See the SiteHome privacy policy (https:\/\/getsitehome.com\/en\/privacy).<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin under Plugins \u2192 Add Plugin.<\/li>\n<li>Under Users \u2192 Profile \u2192 Application Passwords, create a password named \"SiteHome\" for a user with the Editor role.<\/li>\n<li>Under Settings \u2192 SiteHome, click \u201cConnect with SiteHome\u201d. Sign in to SiteHome; your website address is filled in. Enter your WordPress username and application password, choose your content and confirm. Publishing starts switched off.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20sitehome%20need%20an%20administrator%20account%3F\"><h3>Does SiteHome need an administrator account?<\/h3><\/dt>\n<dd><p>No. A user with the Editor role is enough. SiteHome can do what that user can do, and nothing more.<\/p><\/dd>\n<dt id=\"how%20do%20i%20disconnect%20sitehome%3F\"><h3>How do I disconnect SiteHome?<\/h3><\/dt>\n<dd><p>Revoke the application password under Users \u2192 Profile. SiteHome then can no longer read or change the website.<\/p><\/dd>\n<dt id=\"wordpress%20says%20my%20application%20password%20is%20wrong%2C%20but%20it%20is%20right.\"><h3>WordPress says my application password is wrong, but it is right.<\/h3><\/dt>\n<dd><p>Some hosts drop the Authorization header before WordPress sees it. This plugin reads SiteHome's credentials from SiteHome's own header instead, so the connection works anyway.<\/p><\/dd>\n<dt id=\"my%20security%20plugin%20blocks%20the%20rest%20api.\"><h3>My security plugin blocks the REST API.<\/h3><\/dt>\n<dd><p>SiteHome needs the REST API and application passwords. Allow both for the SiteHome user in your security plugin, or ask your host.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.7.0<\/h4>\n\n<ul>\n<li>Start connecting from Settings \u2192 SiteHome with the website address filled in. No credentials are sent in the link.<\/li>\n<\/ul>\n\n<h4>0.6.0<\/h4>\n\n<ul>\n<li>Supports ACF time and date\/time fields as local clock values, without timezone conversion.<\/li>\n<li>Rejects invalid calendar dates and times before an item is saved.<\/li>\n<\/ul>\n\n<h4>0.5.1<\/h4>\n\n<ul>\n<li>Sanitizes SiteHome's own authorization header before use, and leaves loading translations to WordPress.org.<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Offers the ACF fields of a new item, so SiteHome can fill them in when it creates the item.<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Lets SiteHome edit Advanced Custom Fields of common types (text, number, yes\/no, date, choices, image). Fields with a condition, a read-only setting or a check of the website's own stay closed in SiteHome.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Accepts SiteHome's credentials on hosts that drop the Authorization header before WordPress sees it.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Reports the page builder an item is laid out with, so SiteHome can keep builder-native layout data separate from supported WordPress body content.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First version: revision check, revision field, status endpoint and connection steps.<\/li>\n<\/ul>","raw_excerpt":"Edit and publish your website's content from the SiteHome app, without overwriting someone else's changes.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/391892","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=391892"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bkeetman"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=391892"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=391892"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=391892"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=391892"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=391892"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=391892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}