diff --git a/projects/js-packages/script-data/changelog/update-woa-atomic-jetpack-site-usage-functions b/projects/js-packages/script-data/changelog/update-woa-atomic-jetpack-site-usage-functions
new file mode 100644
index 0000000000000..7d77fb013a26e
--- /dev/null
+++ b/projects/js-packages/script-data/changelog/update-woa-atomic-jetpack-site-usage-functions
@@ -0,0 +1,4 @@
+Significance: patch
+Type: added
+
+Janitorial: Ensure functionality related to WoA site checking is clearer.
diff --git a/projects/js-packages/script-data/src/utils.ts b/projects/js-packages/script-data/src/utils.ts
index f1d933f1a001a..67d8b1f9d1447 100644
--- a/projects/js-packages/script-data/src/utils.ts
+++ b/projects/js-packages/script-data/src/utils.ts
@@ -82,6 +82,7 @@ export function isSimpleSite() {
/**
* Check if the is an Atomic site.
+ * This does not include WoA, but does include the likes of Jurassic Ninja, Pressable, Bluehost on Atomic.
*
* @return {boolean} Whether the site is an Atomic site.
*/
@@ -90,7 +91,8 @@ export function isAtomicSite() {
}
/**
- * Check if the site is a WoA site
+ * Check if the site is a WoA site.
+ * For WoA only - not general Atomic (see isAtomicSite()).
*
* @return Whether the site is woa.
*/
@@ -111,6 +113,7 @@ export function isWpcomPlatformSite() {
/**
* Check if the site is self-hosted Jetpack site.
+ * Will return false if the site is Atomic, for example Jurassic Ninja, Pressable, Bluehost on Atomic.
*
* @return {boolean} Whether the site is self-hosted Jetpack site.
*/
diff --git a/projects/js-packages/shared-extension-utils/changelog/update-woa-atomic-jetpack-site-usage-functions b/projects/js-packages/shared-extension-utils/changelog/update-woa-atomic-jetpack-site-usage-functions
new file mode 100644
index 0000000000000..7d77fb013a26e
--- /dev/null
+++ b/projects/js-packages/shared-extension-utils/changelog/update-woa-atomic-jetpack-site-usage-functions
@@ -0,0 +1,4 @@
+Significance: patch
+Type: added
+
+Janitorial: Ensure functionality related to WoA site checking is clearer.
diff --git a/projects/js-packages/shared-extension-utils/src/site-type-utils.js b/projects/js-packages/shared-extension-utils/src/site-type-utils.js
index 6c491624b630c..8d1ff87a41372 100644
--- a/projects/js-packages/shared-extension-utils/src/site-type-utils.js
+++ b/projects/js-packages/shared-extension-utils/src/site-type-utils.js
@@ -29,6 +29,16 @@ export function isAtomicSite() {
return getSiteType() === 'atomic';
}
+/**
+ * Check if environment is a WoA site.
+ * Replacement function for isAtomicSite.
+ *
+ * @return {boolean} True for WoA sites.
+ */
+export function isWoASite() {
+ return getSiteType() === 'atomic';
+}
+
/**
* Return whether the current blog is set to private. (if blog_public option is -1)
*
diff --git a/projects/plugins/jetpack/_inc/client/at-a-glance/akismet.jsx b/projects/plugins/jetpack/_inc/client/at-a-glance/akismet.jsx
index e43d1c930dddb..dabb24e8e733c 100644
--- a/projects/plugins/jetpack/_inc/client/at-a-glance/akismet.jsx
+++ b/projects/plugins/jetpack/_inc/client/at-a-glance/akismet.jsx
@@ -17,7 +17,7 @@ import { getJetpackProductUpsellByFeature, FEATURE_SPAM_AKISMET_PLUS } from 'lib
import { getProductDescriptionUrl } from 'product-descriptions/utils';
import { getAkismetData } from 'state/at-a-glance';
import { isOfflineMode, connectUser } from 'state/connection';
-import { getApiNonce, isAtomicSite } from 'state/initial-state';
+import { getApiNonce, isWoASite } from 'state/initial-state';
import { siteHasFeature } from 'state/site';
class DashAkismet extends Component {
@@ -93,8 +93,8 @@ class DashAkismet extends Component {
'Comments and contact form submissions are checked against our global database of spam.',
'jetpack'
),
- // Hide the action link from Atomic sites because it promotes purchase of Jetpack product
- link: this.props.isAtomicSite ? null : 'https://akismet.com/features',
+ // Hide the action link from WoA sites because it promotes purchase of Jetpack product
+ link: this.props.isWoASite ? null : 'https://akismet.com/features',
privacyLink: 'https://automattic.com/privacy/',
};
@@ -248,7 +248,7 @@ export default connect(
state => {
return {
akismetData: getAkismetData( state ),
- isAtomicSite: isAtomicSite( state ),
+ isWoASite: isWoASite( state ),
isOfflineMode: isOfflineMode( state ),
upgradeUrl: getProductDescriptionUrl( state, 'akismet' ),
nonce: getApiNonce( state ),
diff --git a/projects/plugins/jetpack/_inc/client/at-a-glance/index.jsx b/projects/plugins/jetpack/_inc/client/at-a-glance/index.jsx
index 3ab155b2e56c1..ceb42ac675b3b 100644
--- a/projects/plugins/jetpack/_inc/client/at-a-glance/index.jsx
+++ b/projects/plugins/jetpack/_inc/client/at-a-glance/index.jsx
@@ -13,7 +13,7 @@ import { withModuleSettingsFormHelpers } from 'components/module-settings/with-m
import analytics from 'lib/analytics';
import { isOfflineMode, hasConnectedOwner, getConnectionStatus } from 'state/connection';
import {
- isAtomicSite,
+ isWoASite,
getApiNonce,
getApiRootUrl,
getPartnerCoupon,
@@ -104,7 +104,7 @@ class AtAGlance extends Component {
// Backup won't work with multi-sites, but Scan does if VaultPress is enabled
const hasVaultPressScanning =
! this.props.fetchingScanStatus && this.props.scanStatus?.reason === 'vp_active_on_site';
- if ( ! this.props.isAtomicSite && ( ! this.props.multisite || hasVaultPressScanning ) ) {
+ if ( ! this.props.isWoASite && ( ! this.props.multisite || hasVaultPressScanning ) ) {
securityCards.push(
{
userCanViewStats: userCanViewStats( state ),
userCanManagePlugins: userCanManagePlugins( state ),
userIsSubscriber: userIsSubscriber( state ),
- isAtomicSite: isAtomicSite( state ),
+ isWoASite: isWoASite( state ),
isOfflineMode: isOfflineMode( state ),
getModuleOverride: module_name => getModuleOverride( state, module_name ),
isModuleAvailable: module_name => isModuleAvailable( state, module_name ),
diff --git a/projects/plugins/jetpack/_inc/client/at-a-glance/scan.jsx b/projects/plugins/jetpack/_inc/client/at-a-glance/scan.jsx
index f9249d03f2dd5..bd0cd5eb8a4db 100644
--- a/projects/plugins/jetpack/_inc/client/at-a-glance/scan.jsx
+++ b/projects/plugins/jetpack/_inc/client/at-a-glance/scan.jsx
@@ -29,7 +29,7 @@ import {
isOfflineMode,
connectUser,
} from 'state/connection';
-import { isAtomicSite, showBackups } from 'state/initial-state';
+import { isWoASite, showBackups } from 'state/initial-state';
import { getScanStatus, isFetchingScanStatus } from 'state/scan';
import { getSitePlan, isFetchingSiteData } from 'state/site';
import { isPluginInstalled } from 'state/site/plugins';
@@ -285,7 +285,7 @@ class DashScan extends Component {
}
renderAction( url, message ) {
- if ( this.props.isAtomicSite ) {
+ if ( this.props.isWoASite ) {
return null;
}
@@ -437,7 +437,7 @@ export default connect(
const sitePlan = getSitePlan( state );
return {
- isAtomicSite: isAtomicSite( state ),
+ isWoASite: isWoASite( state ),
isOfflineMode: isOfflineMode( state ),
scanStatus: getScanStatus( state ),
fetchingScanStatus: isFetchingScanStatus( state ),
diff --git a/projects/plugins/jetpack/_inc/client/at-a-glance/stats/index.jsx b/projects/plugins/jetpack/_inc/client/at-a-glance/stats/index.jsx
index 8f4565dab7bc0..b9f18e445e0eb 100644
--- a/projects/plugins/jetpack/_inc/client/at-a-glance/stats/index.jsx
+++ b/projects/plugins/jetpack/_inc/client/at-a-glance/stats/index.jsx
@@ -21,7 +21,7 @@ import {
isOdysseyStatsEnabled,
getInitialStateStatsData,
getDateFormat,
- isAtomicSite,
+ isWoASite,
} from 'state/initial-state';
import { isModuleAvailable, getModuleOverride } from 'state/modules';
import { emptyStatsCardDismissed } from 'state/settings';
@@ -400,7 +400,7 @@ export default connect(
isEmptyStatsCardDismissed: emptyStatsCardDismissed( state ),
getModuleOverride: module_name => getModuleOverride( state, module_name ),
isOdysseyStatsEnabled: isOdysseyStatsEnabled( state ),
- isAtomicSite: isAtomicSite( state ),
+ isWoASite: isWoASite( state ),
} ),
dispatch => ( {
switchView: tab => dispatch( statsSwitchTab( tab ) ),
diff --git a/projects/plugins/jetpack/_inc/client/components/jetpack-notices/index.jsx b/projects/plugins/jetpack/_inc/client/components/jetpack-notices/index.jsx
index 799a75975359a..bcc56d2c5832c 100644
--- a/projects/plugins/jetpack/_inc/client/components/jetpack-notices/index.jsx
+++ b/projects/plugins/jetpack/_inc/client/components/jetpack-notices/index.jsx
@@ -22,7 +22,7 @@ import {
hasConnectedOwner,
} from 'state/connection';
import {
- isAtomicSite,
+ isWoASite,
isDevVersion,
userCanConnectAccount,
userCanConnectSite,
@@ -272,7 +272,7 @@ export default connect(
isConnectionOwner: isConnectionOwner( state ),
isLinked: isCurrentUserLinked( state ),
isDevVersion: isDevVersion( state ),
- isAtomicSite: isAtomicSite( state ),
+ isWoASite: isWoASite( state ),
siteOfflineMode: getSiteOfflineMode( state ),
isInIdentityCrisis: isInIdentityCrisis( state ),
connectionErrors: getConnectionErrors( state ),
diff --git a/projects/plugins/jetpack/_inc/client/components/support-card/index.jsx b/projects/plugins/jetpack/_inc/client/components/support-card/index.jsx
index 6641e1a7b0822..991e02b9497cb 100644
--- a/projects/plugins/jetpack/_inc/client/components/support-card/index.jsx
+++ b/projects/plugins/jetpack/_inc/client/components/support-card/index.jsx
@@ -20,7 +20,7 @@ import {
isConnectionOwner,
connectUser,
} from 'state/connection';
-import { isAtomicSite, isDevVersion as _isDevVersion, getUpgradeUrl } from 'state/initial-state';
+import { isWoASite, isDevVersion as _isDevVersion, getUpgradeUrl } from 'state/initial-state';
import { siteHasFeature, hasActiveProductPurchase, isFetchingSiteData } from 'state/site';
class SupportCard extends React.Component {
@@ -83,7 +83,7 @@ class SupportCard extends React.Component {
? sprintf(
/* translators: placeholder is either Jetpack or WordPress.com */
__( 'Your paid plan gives you access to prioritized %s support.', 'jetpack' ),
- this.props.isAtomicSite ? 'WordPress.com' : 'Jetpack'
+ this.props.isWoASite ? 'WordPress.com' : 'Jetpack'
)
: __(
'Jetpack offers support via community forums for any site without a paid product.',
@@ -91,7 +91,7 @@ class SupportCard extends React.Component {
) }
- { this.props.isAtomicSite || (
+ { this.props.isWoASite || (