Skip to content

Re-introduce the other-admins alert, this time with an input field so that they can be subscribed to our newsletter#22672

Merged
vraja-pro merged 31 commits intotrunkfrom
331-onboarding-notification-when-new-admin-is-detected-alternative
Nov 12, 2025
Merged

Re-introduce the other-admins alert, this time with an input field so that they can be subscribed to our newsletter#22672
vraja-pro merged 31 commits intotrunkfrom
331-onboarding-notification-when-new-admin-is-detected-alternative

Conversation

@leonidasmi
Copy link
Copy Markdown
Contributor

@leonidasmi leonidasmi commented Oct 24, 2025

Important

Before this is merged, we need to have https://github.com/Yoast/Platform/pull/3605 also merged and the staging URL swapped with the production one.

Context

  • Basically re-imagines the since-reverted Notify other admins of Yoast SEO #22644 one, with a twist. We're now gonna have an input field in the alert itself, allowing them to subscribe to the newsletter much easier.

Summary

This PR can be summarized in the following changelog entry:

  • Re-introduces the other-admins alert, this time with an input field so that they can be subscribed to our newsletter

Relevant technical choices:

Test instructions

Test instructions for the acceptance test before the PR gets merged

This PR can be acceptance tested by following these steps:

  • Install and activate Yoast SEO for the first time in your site (or deactivate Yoast on your existing site and then manually delete from the db all wpseo options and then activate the plugin)
  • Log in with a different user and confirm that you see the topbar and sidebar notifying that you have a new notification
  • Go to the alert center and confirm that you see this alert:
image
  • Have the network tab open, use the form to sign up and when the sign-up succeeds, the alert will be auto-resolved
    • When the alert auto-resolves, confirm that the counters of the notifications are getting decremented all around the admin (in the box header, in the topbar, in the main WP menu)
    • If it was the only notification, confirm that you get the proper "No new notifications" message too
  • Once the alert auto-resolves, you also get a success message at the top of the alerts list:
image
  • If you are dev, in the network tab, find the subscribe request and confirm that the source parameter is:
    • "recapture, wordpress-seo" if no Premium or Woo SEO is active
    • "recapture, wordpress-seo-premium" if Premium is active
    • "recapture, wpseo-woocommerce" if Woo SEO is active
    • "recapture, wpseo-local" if Local SEO is active
    • "recapture, wpseo-video" if Video SEO is active
    • "recapture, wpseo-news" if News SEO is active
    • "recapture, duplicate-post" if News SEO is active
    • or any combination of the above, if multiple add-ons are active
  • If you are QA, aside from the above, check with a person in platform that the email you used to subscribe to the newsletter has the right tags:
    • the location:recapture, the active_on_signup:Yoast_SEO_Free and the Yoast_SEO_Free tags always
    • any of the following ones, depending on which respective plugins were active:
      • active_on_signup:Yoast_SEO_Premium and Yoast_SEO_Premium
      • active_on_signup:Yoast_WooCommerce_SEO
      • active_on_signup:Yoast_Duplicate_Post
      • active_on_signup:Yoast_Local_SEO
      • active_on_signup:Yoast_News_SEO
      • active_on_signup:Yoast_Video_SEO
  • If you navigate away from that page and return, you will not see the alert again.
  • If you want to make the alert re-appear, delete the wpseo-ping-other-admins_resolved usermeta for that user
  • Check also that trying with a non-valid email, get you an error message:
image
  • Also make it that the request to the external newsletter endpoint fails, to confirm you get the below error. You can do that by opening the network tab and instead of no throttling you select offline in the top options there.
image
  • Create a new admin (or SEO manager) and repeat the test
    • At the end of the tests, resolve the new alert and confirm that for any other admins, the alert still displays.
  • In a fresh site, install/activate via WP CLI (run wp plugin activate wordpress-seo)
    • The feature will not work, but the plugin activation went without problems
    • which means that no user will see that alert ever, no matter new or old.
    • check the first_activated_by setting in the wpseo option and confirm that it is equal to zero.
  • In a fresh site, install Yoast SEO normally and with the same user confirm that you dont see the new alert ever.

For the change in the FTC sign-up:

  • Make sure you deactivate Premium and go to the last step of the FTC and sign up for the newsletter
  • If you are dev, in the network tab, find the subscribe request and confirm that the source parameter is:
    • "ftc, wordpress-seo" if no Premium or Woo SEO is active
    • "ftc, wpseo-woocommerce" if Woo SEO is active
    • "ftc, wpseo-local" if Local SEO is active
    • "ftc, wpseo-video" if Video SEO is active
    • "ftc, wpseo-news" if News SEO is active
    • "ftc, duplicate-post" if News SEO is active
    • or any combination of the above, if multiple add-ons are active
  • If you are QA, aside from the above, check with a person in platform that the email you used to subscribe to the newsletter has the right tags:
    • the location:first_time_configuration, the active_on_signup:Yoast_SEO_Free and the Yoast_SEO_Free tags always
    • any of the following ones, depending on which respective plugins were active:
      • active_on_signup:Yoast_WooCommerce_SEO
      • active_on_signup:Yoast_Duplicate_Post
      • active_on_signup:Yoast_Local_SEO
      • active_on_signup:Yoast_News_SEO
      • active_on_signup:Yoast_Video_SEO

Relevant test scenarios

  • Changes should be tested with the browser console open
  • Changes should be tested on different posts/pages/taxonomies/custom post types/custom taxonomies
  • Changes should be tested on different editors (Default Block/Gutenberg/Classic/Elementor/other)
  • Changes should be tested on different browsers
  • Changes should be tested on multisite

Test instructions for QA when the code is in the RC

  • QA should use the same steps as above.

Impact check

This PR affects the following parts of the plugin, which may require extra testing:

  • Notification alerts in general, smoke test having them and silencing them and undo silencing them, etc.

Other environments

  • This PR also affects Shopify. I have added a changelog entry starting with [shopify-seo], added test instructions for Shopify and attached the Shopify label to this PR.

Documentation

  • I have written documentation for this change. For example, comments in the Relevant technical choices, comments in the code, documentation on Confluence / shared Google Drive / Yoast developer portal, or other.

Quality assurance

  • I have tested this code to the best of my abilities.
  • During testing, I had activated all plugins that Yoast SEO provides integrations for.
  • I have added unit tests to verify the code works as intended.
  • If any part of the code is behind a feature flag, my test instructions also cover cases where the feature flag is switched off.
  • I have written this PR in accordance with my team's definition of done.
  • I have checked that the base branch is correctly set.

Innovation

  • No innovation project is applicable for this PR.
  • This PR falls under an innovation project. I have attached the innovation label.
  • I have added my hours to the WBSO document.

Fixes #

@leonidasmi leonidasmi added the changelog: non-user-facing Needs to be included in the 'Non-userfacing' category in the changelog label Oct 24, 2025
@coveralls
Copy link
Copy Markdown

coveralls commented Oct 24, 2025

@leonidasmi leonidasmi force-pushed the 331-onboarding-notification-when-new-admin-is-detected-alternative branch from ca8f055 to 12bd057 Compare October 30, 2025 08:12
@leonidasmi leonidasmi force-pushed the 331-onboarding-notification-when-new-admin-is-detected-alternative branch from ee77895 to ee6f0b8 Compare October 31, 2025 07:53
@leonidasmi leonidasmi marked this pull request as ready for review October 31, 2025 08:06
Comment thread packages/js/src/general/components/alerts-list.js Outdated
Comment thread packages/js/src/general/store/alert-center.js
Comment thread packages/js/src/general/components/alert-items/ping-other-admins-alert-item.js Outdated
Comment thread packages/js/src/general/store/alert-center.js
@vraja-pro
Copy link
Copy Markdown
Contributor

vraja-pro commented Nov 3, 2025

AC 🚧
Screenshot 2025-11-03 at 12 04 40

@vraja-pro
Copy link
Copy Markdown
Contributor

AC ✅

Copy link
Copy Markdown
Contributor

@vraja-pro vraja-pro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CR: JS improvments to consider.

Comment thread packages/js/src/helpers/buildNewsletterSource.js Outdated
Comment thread packages/js/src/helpers/buildNewsletterSource.js Outdated
Comment thread packages/js/src/helpers/buildNewsletterSource.js
Comment thread src/general/user-interface/general-page-integration.php Outdated
Copy link
Copy Markdown
Contributor

@vraja-pro vraja-pro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CR & AC ✅

@vraja-pro vraja-pro added this to the 26.5 milestone Nov 12, 2025
@vraja-pro vraja-pro merged commit b92ba24 into trunk Nov 12, 2025
50 of 51 checks passed
@vraja-pro vraja-pro deleted the 331-onboarding-notification-when-new-admin-is-detected-alternative branch November 12, 2025 12:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog: non-user-facing Needs to be included in the 'Non-userfacing' category in the changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants