(()=>{var e={56621(e,a){var t;!function(){"use strict";var l={}.hasOwnProperty;function s(){for(var e="",a=0;a{var a=e&&e.__esModule?()=>e.default:()=>e;return t.d(a,{a}),a},t.d=(e,a)=>{for(var l in a)t.o(a,l)&&!t.o(e,l)&&Object.defineProperty(e,l,{enumerable:!0,get:a[l]})},t.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var l={};(()=>{"use strict";t.r(l),t.d(l,{CountrySelector:()=>B,DifficultyBullet:()=>w,IntentBadge:()=>v,KeyphrasesTable:()=>_,Modal:()=>D,PremiumUpsell:()=>O,TableButton:()=>S,TrendGraph:()=>c,UserMessage:()=>z});const e=window.React;var a=t.n(e);const s=window.yoast.propTypes;var r=t.n(s);const n=window.wp.i18n,o=[(0,n.__)("Twelve months ago","wordpress-seo"),(0,n.__)("Eleven months ago","wordpress-seo"),(0,n.__)("Ten months ago","wordpress-seo"),(0,n.__)("Nine months ago","wordpress-seo"),(0,n.__)("Eight months ago","wordpress-seo"),(0,n.__)("Seven months ago","wordpress-seo"),(0,n.__)("Six months ago","wordpress-seo"),(0,n.__)("Five months ago","wordpress-seo"),(0,n.__)("Four months ago","wordpress-seo"),(0,n.__)("Three months ago","wordpress-seo"),(0,n.__)("Two months ago","wordpress-seo"),(0,n.__)("Last month","wordpress-seo")],i=({data:e})=>{if(e.length!==o.length)throw new Error("The number of headers and header labels don't match.");return a().createElement("div",{className:"yst-sr-only"},a().createElement("table",null,a().createElement("caption",null,(0,n.__)("Keyphrase volume in the last 12 months on a scale from 0 to 100.","wordpress-seo")),a().createElement("thead",null,a().createElement("tr",null,o.map((e,t)=>a().createElement("th",{key:t},e)))),a().createElement("tbody",null,a().createElement("tr",null,e.map((e,t)=>{return a().createElement("td",{key:t},(l=e,Math.round(100*l)));var l})))))};i.propTypes={data:r().arrayOf(r().number).isRequired};const c=({data:e})=>{if(12!==e.length){const a=12-e.length;for(let t=0;te)),l=e.map((e,a)=>`${a/11*66},${22.2-e/t*22.2+1.8}`).join(" "),s="0,24 "+l+" 66,24";return a().createElement(a().Fragment,null,a().createElement("svg",{width:66,height:24,viewBox:"0 0 66 24",className:"yst-block",role:"img","aria-hidden":"true",focusable:"false"},a().createElement("polygon",{className:"yst-fill-sky-200",points:s}),a().createElement("polyline",{fill:"none",className:"yst-stroke-blue-500",strokeWidth:1.8,strokeLinejoin:"round",strokeLinecap:"round",points:l})),a().createElement(i,{data:e}))};function u(){return u=Object.assign?Object.assign.bind():function(e){for(var a=1;aget_col( $wpdb->prepare( "SELECT blog_id FROM $wpdb->blogs WHERE site_id = %d", $wpdb->siteid ) ); if ( is_array( $network_blogs ) && $network_blogs !== [] ) { foreach ( $network_blogs as $blog_id ) { switch_to_blog( $blog_id ); if ( $activate === true ) { _wpseo_activate(); } else { _wpseo_deactivate(); } restore_current_blog(); } } } /** * Runs on activation of the plugin. * * @return void */ function _wpseo_activate() { require_once WPSEO_PATH . 'inc/wpseo-functions.php'; require_once WPSEO_PATH . 'inc/class-wpseo-installation.php'; new WPSEO_Installation(); WPSEO_Options::get_instance(); if ( ! is_multisite() ) { WPSEO_Options::initialize(); } else { WPSEO_Options::maybe_set_multisite_defaults( true ); } WPSEO_Options::ensure_options_exist(); if ( ! is_multisite() || ! ms_is_switched() ) { // Constructor has side effects so this registers all hooks. $GLOBALS['wpseo_rewrite'] = new WPSEO_Rewrite(); } add_action( 'shutdown', [ 'WPSEO_Utils', 'clear_rewrites' ] ); WPSEO_Options::set( 'indexing_reason', 'first_install' ); WPSEO_Options::set( 'first_time_install', true ); if ( ! defined( 'WP_CLI' ) || ! WP_CLI ) { WPSEO_Options::set( 'should_redirect_after_install_free', true ); } else { WPSEO_Options::set( 'activation_redirect_timestamp_free', time() ); } // Reset tracking to be disabled by default. if ( ! YoastSEO()->helpers->product->is_premium() && WPSEO_Options::get( 'toggled_tracking' ) !== true ) { WPSEO_Options::set( 'tracking', false ); } do_action( 'wpseo_register_roles' ); WPSEO_Role_Manager_Factory::get()->add(); do_action( 'wpseo_register_capabilities' ); WPSEO_Capability_Manager_Factory::get()->add(); // Clear cache so the changes are obvious. WPSEO_Utils::clear_cache(); do_action( 'wpseo_activate' ); } /** * On deactivation, flush the rewrite rules so XML sitemaps stop working. * * @return void */ function _wpseo_deactivate() { require_once WPSEO_PATH . 'inc/wpseo-functions.php'; add_action( 'shutdown', [ 'WPSEO_Utils', 'clear_rewrites' ] ); // Register capabilities, to make sure they are cleaned up. do_action( 'wpseo_register_roles' ); do_action( 'wpseo_register_capabilities' ); // Clean up capabilities. WPSEO_Role_Manager_Factory::get()->remove(); WPSEO_Capability_Manager_Factory::get()->remove(); // Clear cache so the changes are obvious. WPSEO_Utils::clear_cache(); do_action( 'wpseo_deactivate' ); } /** * Run wpseo activation routine on creation / activation of a multisite blog if WPSEO is activated * network-wide. * * Will only be called by multisite actions. * * {@internal Unfortunately will fail if the plugin is in the must-use directory. * {@link https://core.trac.wordpress.org/ticket/24205} }} * * @param int|WP_Site $blog_id Blog ID. * * @return void */ function wpseo_on_activate_blog( $blog_id ) { if ( ! function_exists( 'is_plugin_active_for_network' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } if ( $blog_id instanceof WP_Site ) { tonLoader,{className:"yst-w-16 yst-h-5"})),a().createElement(m.Table.Cell,null,a().createElement("div",{className:"yst-flex yst-gap-2 yst-justify-end"},a().createElement(m.SkeletonLoader,{className:"yst-w-4 yst-h-5"}),a().createElement(m.SkeletonLoader,{className:"yst-w-3 yst-h-5"}))),e&&a().createElement(m.Table.Cell,{className:"yst-w-32"},a().createElement("div",{className:"yst-flex yst-justify-end"},a().createElement(m.SkeletonLoader,{className:"yst-w-16 yst-h-7"}))));f.propTypes={withButton:r().bool};const E=["i","n","t","c"],_=({columnNames:e=[],data:t=[],renderButton:l=null,relatedKeyphrases:s=[],className:r="",userLocale:o="en",isPending:i=!1,idPrefix:c="yoast-seo"})=>{let p;try{p=new Intl.NumberFormat(o,{notation:"compact",compactDisplay:"short"})}catch(e){p=new Intl.NumberFormat(navigator.language.split("-")[0],{notation:"compact",compactDisplay:"short"})}const y=null==t?void 0:t.map(a=>((e,a,t)=>{const l={};return e.forEach((e,s)=>{switch(e){case"Trends":l.trends=a[s].split(",").map(e=>parseFloat(e));break;case"Intent":l.intent=a[s].split(",").map(e=>E[Number(e)]);break;case"Keyword Difficulty Index":l.keywordDifficultyIndex=Number(a[s]);break;case"Search Volume":l.searchVolume=t.format(a[s]);break;default:l[e.toLowerCase()]=a[s]}}),l})(e,a,p));return y&&0!==y.length||i?a().createElement(m.Table,{className:r},a().createElement(m.Table.Head,null,a().createElement(m.Table.Row,null,a().createElement(m.Table.Header,{className:"yst-text-start"},(0,n.__)("Related keyphrase","wordpress-seo")),a().createElement(m.Table.Header,{className:"yst-text-start"},(0,n.__)("Intent","wordpress-seo")),a().createElement(m.Table.Header,null,a().createElement("div",{className:"yst-flex yst-justify-end"},(0,n.__)("Volume","wordpress-seo"))),a().createElement(m.Table.Header,{className:"yst-text-start"},(0,n.__)("Trend","wordpress-seo")),a().createElement(m.Table.Header,{className:"yst-whitespace-nowrap"},a().createElement("div",{className:"yst-flex yst-justify-end"},(0,n.__)("Difficulty %","wordpress-seo"))),l&&a().createElement(m.Table.Header,null,a().createElement("div",{className:"yst-flex yst-justify-end"},a().createElement("div",{className:"yst-text-end yst-w-[88px]"},(0,n.__)("Add keyphrase","wordpress-seo")))))),a().createElement(m.Table.Body,null,!i&&y&&y.map((e,t)=>a().createElement(g,u({key:`${c}-related-keyphrase-${t}`,id:`${c}-related-keyphrase-${t}`,renderButton:l,relatedKeyphrases:s},e))),i&&Array.from({length:10},(e,t)=>a().createElement(f,{key:`loading-row-${t}`,withButton:(0,d.isFunction)(l)})))):null};_.propTypes={columnNames:r().arrayOf(r().string),data:r().arrayOf(r().arrayOf(r().string)),relatedKeyphrases:r().arrayOf(r().shape({key:r().string,keyword:r().string,results:r().array,score:r().number})),renderButton:r().func,className:r().string,isPending:r().bool,userLocale:r().string,idPrefix:r().string},_.displayName="KeyphrasesTable";const N=e.forwardRef(function(a,t){return e.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},a),e.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 4v16m8-8H4"}))}),k=e.forwardRef(function(a,t){return e.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},a),e.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"}))}),T=e.forwardRef(function(a,t){return e.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},a),e.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"}))}),x=e.forwardRef(function(a,t){return e.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden"jax() ) { require_once WPSEO_PATH . 'admin/ajax.php'; // Plugin conflict ajax hooks. new Yoast_Plugin_Conflict_Ajax(); // phpcs:ignore WordPress.Security.NonceVerification.Missing -- Reason: We are not processing form information but only loading the admin init class. if ( isset( $_POST['action'] ) && is_string( $_POST['action'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing,WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Reason: We are not processing form information but only loading the admin init class, We are strictly comparing only. if ( wp_unslash( $_POST['action'] ) === 'inline-save' ) { add_action( 'plugins_loaded', 'wpseo_admin_init', 15 ); } } } else { add_action( 'plugins_loaded', 'wpseo_admin_init', 15 ); } } add_action( 'plugins_loaded', 'load_yoast_notifications' ); add_action( 'init', [ 'WPSEO_Replace_Vars', 'setup_statics_once' ] ); // Initializes the Yoast indexables for the first time. YoastSEO(); /** * Action called when the Yoast SEO plugin file has loaded. */ do_action( 'wpseo_loaded' ); } // Activation and deactivation hook. register_activation_hook( WPSEO_FILE, 'wpseo_activate' ); register_deactivation_hook( WPSEO_FILE, 'wpseo_deactivate' ); add_action( 'wp_initialize_site', 'wpseo_on_activate_blog', 99 ); add_action( 'activate_blog', 'wpseo_on_activate_blog' ); // Registers SEO capabilities. $wpseo_register_capabilities = new WPSEO_Register_Capabilities(); $wpseo_register_capabilities->register_hooks(); // Registers SEO roles. $wpseo_register_capabilities = new WPSEO_Register_Roles(); $wpseo_register_capabilities->register_hooks(); /** * Wraps for notifications center class. * * @return void */ function load_yoast_notifications() { // Init Yoast_Notification_Center class. Yoast_Notification_Center::get(); } /** * Throw an error if the PHP SPL extension is disabled (prevent white screens) and self-deactivate plugin. * * @since 1.5.4 * * @return void */ function yoast_wpseo_missing_spl() { if ( is_admin() ) { add_action( 'admin_notices', 'yoast_wpseo_missing_spl_notice' ); yoast_wpseo_self_deactivate(); } } /** * Returns the notice in case of missing spl extension. * * @return void */ function yoast_wpseo_missing_spl_notice() { $message = esc_html__( 'The Standard PHP Library (SPL) extension seem to be unavailable. Please ask your web host to enable it.', 'wordpress-seo' ); yoast_wpseo_activation_failed_notice( $message ); } /** * Throw an error if the Composer autoload is missing and self-deactivate plugin. * * @return void */ function yoast_wpseo_missing_autoload() { if ( is_admin() ) { add_action( 'admin_notices', 'yoast_wpseo_missing_autoload_notice' ); yoast_wpseo_self_deactivate(); } } /** * Returns the notice in case of missing Composer autoload. * * @return void */ function yoast_wpseo_missing_autoload_notice() { /* translators: %1$s expands to Yoast SEO, %2$s / %3$s: links to the installation manual in the Readme for the Yoast SEO code repository on GitHub */ $message = esc_html__( 'The %1$s plugin installation is incomplete. Please refer to %2$sinstallation instructions%3$s.', 'wordpress-seo' ); $message = sprintf( $message, 'Yoast SEO', '', '' ); yoast_wpseo_activation_failed_notice( $message ); } /** * Throw an error if the filter extension is disabled (prevent white screens) and self-deactivate plugin. * * @since 2.0 * @deprecated 23.3 * @codeCoverageIgnore * * @return void */ function yoast_wpseo_missing_filter() { _deprecated_function( __FUNCTION__, 'Yoast SEO 23.3' ); } /** * Returns the notice in case of missing filter extension. * * @deprecated 23.3 * @codeCoverageIgnore * * @return void */ function yoast_wpseo_missing_filter_notice() { _deprecated_function( __FUNCTION__, 'Yoast SEO 23.3' ); } /** * Echo's the Activation failed notice with any given message. * * @param string $message Message string. * * @return void */ function yoast_wpseo_activation_failed_notice( $message ) { $title = sprintf( /* translators: %s: Yoast SEO. */ esc_html__( '%s activation failed', 'wordpress-seo' ), 'Yoast SEO', ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- This function is only called in 3 places that are safe. echo '

' . $title . '

' . strip_tags( $message, '' ) . '

'; } /** * The method will deactivate the plugin, but only once, done by the static $is_deactivated. * * @return void */ function yoast_wpseo_self_deactivate() { static $is_deactivated; if ( $is_deactivated === null ) { $is_deactivated = true; deactivate_plugins( WPSEO_BASENAME ); if ( isset( $_GET['activate'] ) ) { unset( $_GET['activate'] ); } } } /** * Aliasses added in order to keep compatibility with Yoast SEO: Local. */ class_alias( '\Yoast\WP\SEO\Initializers\Initializer_Interface', '\Yoast\WP\SEO\WordPress\Initializer' ); class_alias( '\Yoast\WP\SEO\Loadable_Interface', '\Yoast\WP\SEO\WordPress\Loadable' ); class_alias( '\Yoast\WP\SEO\Integrations\Integration_Interface', '\Yoast\WP\SEO\WordPress\Integration' ); Allyson Krull, IOM Vice President, Workforce & Leadership Development – Greater Mason City Chamber of Commerce