| Server IP : 80.74.154.100 / Your IP : 216.73.217.0 Web Server : Apache System : Linux marissa.metanet.ch 4.18.0-553.141.2.lve.el7h.x86_64 #1 SMP Wed Jul 8 17:20:31 UTC 2026 x86_64 User : onlineadmin ( 10487) PHP Version : 8.5.7 Disable Function : opcache_get_status MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/httpd/vhosts/comeonline.ch/httpdocs/wp-content/plugins/wpsso/lib/ |
Upload File : |
<?php
/*
* License: GPLv3
* License URI: https://www.gnu.org/licenses/gpl.txt
* Copyright 2012-2026 Jean-Sebastien Morisset (https://wpsso.com/)
*/
if ( ! defined( 'ABSPATH' ) ) {
die( 'These aren\'t the droids you\'re looking for.' );
}
if ( ! class_exists( 'WpssoConfig' ) ) {
class WpssoConfig {
public static $cf = array(
'packages' => array(
'pro' => 'Premium',
'std' => 'Standard',
),
'plugin' => array(
'wpsso' => array( // Plugin acronym.
'version' => '22.5.1', // Plugin version.
'opt_version' => '1048', // Increment when changing default option values.
'short' => 'WPSSO Core', // Short plugin name.
'name' => 'WPSSO Core',
'desc' => 'Present your content at its best for social sites and search results, no matter how URLs are shared, reshared, messaged, posted, embedded, or crawled.',
'slug' => 'wpsso',
'base' => 'wpsso/wpsso.php',
'update_auth' => 'tid',
'text_domain' => 'wpsso',
'domain_path' => '/languages',
'admin_l10n' => 'wpssoAdminPageL10n',
/*
* URLs or relative paths to plugin banners and icons.
*/
'assets' => array(
/*
* Banner image array keys are 'low' and 'high'.
*/
'banners' => array(
'low' => 'https://surniaulula.github.io/wpsso/assets/banner-772x250.jpg',
'high' => 'https://surniaulula.github.io/wpsso/assets/banner-1544x500.jpg',
),
/*
* Icon image array keys are '1x' and '2x'.
*/
'icons' => array(
'1x' => 'images/icon-128x128.png',
'2x' => 'images/icon-256x256.png',
),
),
'hosts' => array(
'wp_org' => true,
'github' => true,
'wpsso' => true,
),
'url' => array(
/*
* WordPress.org URLs.
*/
'home' => 'https://wordpress.org/plugins/wpsso/',
'forum' => 'https://wordpress.org/support/plugin/wpsso',
'review' => 'https://wordpress.org/support/plugin/wpsso/reviews/?rate=5#new-post',
/*
* GitHub.com URLs.
*/
'debug_html' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso/master/html/debug.html',
'readme_txt' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso/master/readme.txt',
'setup_html' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso/master/html/setup.html',
/*
* WPSSO.com URLs.
*/
'changelog' => 'https://wpsso.com/extend/plugins/wpsso/changelog/',
'docs' => 'https://wpsso.com/docs/plugins/wpsso/',
'install' => 'https://wpsso.com/docs/plugins/wpsso/installation/',
'faqs' => 'https://wpsso.com/docs/plugins/wpsso/faqs/',
'notes' => 'https://wpsso.com/docs/plugins/wpsso/notes/',
'support' => 'https://surniaulula.com/support/create_ticket/', // Premium support ticket.
'purchase' => 'https://wpsso.com/extend/plugins/wpsso/', // Purchase page.
'info' => 'https://wpsso.com/extend/plugins/wpsso/info/', // License information.
'update' => 'https://wpsso.com/extend/plugins/wpsso/update/',
'download' => '',
),
'lib' => array(
'dashboard' => array(
),
'integ' => array(
'data' => array(
'aioseop-meta' => 'Import All in One SEO Pack Metadata',
'rankmath-meta' => 'Import Rank Math SEO Metadata',
'seoframework-meta' => 'Import The SEO Framework Metadata',
'wpmetaseo-meta' => 'Import WP Meta SEO Metadata',
'wpseo-blocks' => 'Import Yoast SEO Block Attrs',
'wpseo-meta' => 'Import Yoast SEO Metadata',
),
'ecom' => array(
'perfect-woocommerce-brands' => 'Perfect Brands for WooCommerce',
'woocommerce' => 'WooCommerce',
'woocommerce-brands' => 'WooCommerce Brands',
'woocommerce-currency-switcher' => 'WooCommerce Currency Switcher',
'woo-add-gtin' => 'WooCommerce UPC, EAN, and ISBN',
'wpm-product-gtin-wc' => 'Product GTIN for WooCommerce',
'yith-woocommerce-brands' => 'YITH WooCommerce Brands Add-on',
),
'event' => array(
'the-events-calendar' => 'The Events Calendar',
),
'form' => array(
'gravityforms' => 'Gravity Forms',
'gravityview' => 'Gravity View',
),
'job' => array(
'simplejobboard' => 'Simple Job Board',
'wpjobmanager' => 'WP Job Manager',
),
'lang' => array(
'polylang' => 'Polylang',
'qtranslate-xt' => 'qTranslate-XT',
'wpml' => 'WPML',
),
'media' => array(
'wp-retina-2x' => 'Perfect Images',
),
'rating' => array(
'rate-my-post' => 'Rate my Post',
'wppostratings' => 'WP-PostRatings',
),
'recipe' => array(
'wprecipemaker' => 'WP Recipe Maker',
),
'review' => array(
'judgeme-for-wc' => 'Judge.me Product Reviews for WooCommerce',
'wpproductreview' => 'WP Product Review',
'yotpowc' => 'Yotpo Social Reviews for WooCommerce',
),
'seo' => array(
'aioseop' => 'All in One SEO Pack',
'rankmath' => 'Rank Math SEO',
'seoframework' => 'The SEO Framework',
'seopress' => 'SEOPress',
'wpmetaseo' => 'WP Meta SEO',
'wpseo' => 'Yoast SEO',
),
'user' => array(
'co-authors-plus' => 'Co-Authors Plus',
'publishpress-authors' => 'PublishPress Authors',
'ultimate-member' => 'Ultimate Member',
),
'util' => array(
'elementor' => 'Elementor Website Builder',
'jetpack' => 'Jetpack',
'jetpack-boost' => 'Jetpack Boost',
),
),
'json' => array(
'type' => array(
'article' => 'Schema Type Article',
'audiobook' => 'Schema Type Audiobook',
'blog' => 'Schema Type Blog',
'book' => 'Schema Type Book',
'brand' => 'Schema Type Brand',
'claimreview' => 'Schema Type Claim Review',
'collectionpage' => 'Schema Type Collection Page',
'course' => 'Schema Type Course',
'creativework' => 'Schema Type CreativeWork',
'event' => 'Schema Type Event',
'faqpage' => 'Schema Type FAQPage',
'foodestablishment' => 'Schema Type Food Establishment',
'howto' => 'Schema Type How-To',
'itemlist' => 'Schema Type ItemList',
'jobposting' => 'Schema Type Job Posting',
'learningresource' => 'Schema Type Learning Resource',
'localbusiness' => 'Schema Type Local Business',
'movie' => 'Schema Type Movie',
'organization' => 'Schema Type Organization',
'person' => 'Schema Type Person',
'place' => 'Schema Type Place',
'product' => 'Schema Type Product',
'productgroup' => 'Schema Type Product Group',
'profilepage' => 'Schema Type Profile Page',
'qapage' => 'Schema Type QAPage',
'question' => 'Schema Type Question and Answer',
'recipe' => 'Schema Type Recipe',
'review' => 'Schema Type Review',
'searchresultspage' => 'Schema Type Search Results Page',
'service' => 'Schema Type Service',
'softwareapplication' => 'Schema Type Software Application',
'thing' => 'Schema Type Thing',
'webpage' => 'Schema Type WebPage',
'website' => 'Schema Type WebSite',
),
'prop' => array(
'aggregaterating' => 'Schema Property aggregateRating',
'haspart' => 'Schema Property hasPart',
'review' => 'Schema Property review',
),
),
'pro' => array(
'admin' => array(
'advanced' => 'Advanced Settings',
'edit' => 'Document SSO Metabox',
'general' => 'General Settings',
),
'media' => array(
'facebook' => 'Facebook Videos',
'gravatar' => 'Gravatar Images',
'slideshare' => 'Slideshare Presentations',
'soundcloud' => 'Soundcloud Tracks',
'upscale' => 'Upscale Media Library Images',
'vimeo' => 'Vimeo Videos',
'wistia' => 'Wistia Videos',
'wpvideoblock' => 'WP Media Library Video Blocks',
'wpvideoshortcode' => 'WP Media Library Video Shortcodes',
'youtube' => 'YouTube Videos and Playlists',
),
'review' => array(
'judgeme' => 'Judge.me Reviews',
'shopperapproved' => 'Shopper Approved Reviews',
'stamped' => 'Stamped.io Reviews',
),
'util' => array(
'shorten' => 'URL Shortening Services',
),
),
'profile' => array(
'your-sso' => 'Profile SSO - Social and Search Optimization',
),
'sitesubmenu' => array(
'site-advanced' => 'Advanced Settings',
'site-licenses' => 'Premium Licenses',
'site-addons' => 'Plugin Add-ons',
'site-setup' => 'Setup Guide',
'site-debug' => 'Troubleshooting',
),
'std' => array( // Standard distribution modules.
'admin' => array(
'advanced' => 'Advanced Settings',
'edit' => 'Document SSO Metabox',
'general' => 'General Settings',
),
'media' => array(
'facebook' => 'Facebook Videos',
'slideshare' => 'Slideshare Presentations',
'soundcloud' => 'Soundcloud Tracks',
'vimeo' => 'Vimeo Videos',
'wistia' => 'Wistia Videos',
'wpvideoblock' => 'WP Media Library Video Blocks',
'wpvideoshortcode' => 'WP Media Library Video Shortcodes',
'youtube' => 'YouTube Videos and Playlists',
),
'review' => array(
'judgeme' => 'Judge.me Reviews',
),
),
'submenu' => array(
'essential' => 'Essential Settings',
'general' => 'General Settings',
'advanced' => 'Advanced Settings',
'licenses' => 'Premium Licenses',
'addons' => 'Plugin Add-ons',
'tools' => 'Tools and Actions',
'setup' => 'Setup Guide',
'debug' => 'Troubleshooting',
),
'users' => array(
'add-person' => 'Add Person',
),
),
/*
* Declare compatibility with WooCommerce HPOS.
*
* See https://github.com/woocommerce/woocommerce/wiki/High-Performance-Order-Storage-Upgrade-Recipe-Book.
*/
'wc_compat' => array(
'custom_order_tables',
),
),
'wpssobc' => array( // Plugin acronym.
'short' => 'WPSSO BC', // Short plugin name.
'name' => 'WPSSO Schema Breadcrumbs Markup',
'desc' => 'Schema BreadcrumbList markup in JSON-LD format for Google Rich Results.',
'slug' => 'wpsso-breadcrumbs',
'base' => 'wpsso-breadcrumbs/wpsso-breadcrumbs.php',
'update_auth' => '', // No premium version.
/*
* URLs or relative paths to plugin banners and icons.
*/
'assets' => array(
/*
* Banner image array keys are 'low' and 'high'.
*/
'banners' => array(
'low' => 'https://surniaulula.github.io/wpsso-breadcrumbs/assets/banner-772x250.jpg',
'high' => 'https://surniaulula.github.io/wpsso-breadcrumbs/assets/banner-1544x500.jpg',
),
/*
* Icon image array keys are '1x' and '2x'.
*/
'icons' => array(
'1x' => 'https://surniaulula.github.io/wpsso-breadcrumbs/assets/icon-128x128.png',
'2x' => 'https://surniaulula.github.io/wpsso-breadcrumbs/assets/icon-256x256.png',
),
),
'hosts' => array(
'wp_org' => true,
'github' => true,
'wpsso' => true,
),
'url' => array(
/*
* WordPress.org URLs.
*/
'home' => 'https://wordpress.org/plugins/wpsso-breadcrumbs/',
'forum' => 'https://wordpress.org/support/plugin/wpsso-breadcrumbs',
'review' => 'https://wordpress.org/support/plugin/wpsso-breadcrumbs/reviews/?rate=5#new-post',
/*
* GitHub.com URLs.
*/
'readme_txt' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso-breadcrumbs/master/readme.txt',
/*
* WPSSO.com URLs.
*/
'changelog' => 'https://wpsso.com/extend/plugins/wpsso-breadcrumbs/changelog/',
'docs' => 'https://wpsso.com/docs/plugins/wpsso-breadcrumbs/',
'install' => 'https://wpsso.com/docs/plugins/wpsso-breadcrumbs/installation/',
'faqs' => 'https://wpsso.com/docs/plugins/wpsso-breadcrumbs/faqs/',
'notes' => '',
'support' => '', // Premium support ticket.
'purchase' => '', // Purchase page.
'info' => '', // License information.
'update' => 'https://wpsso.com/extend/plugins/wpsso-breadcrumbs/update/',
'download' => 'https://wpsso.com/extend/plugins/wpsso-breadcrumbs/latest/',
),
),
'wpssocmcf' => array( // Plugin acronym.
'short' => 'WPSSO CMCF', // Short plugin name.
'name' => 'WPSSO Commerce Manager Catalog Feed XML',
'desc' => 'Facebook and Instagram Commerce Manager Catalog Feed XMLs for WooCommerce and custom product pages.',
'slug' => 'wpsso-commerce-manager-catalog-feed',
'base' => 'wpsso-commerce-manager-catalog-feed/wpsso-commerce-manager-catalog-feed.php',
'update_auth' => '', // No premium version.
/*
* URLs or relative paths to plugin banners and icons.
*/
'assets' => array(
/*
* Banner image array keys are 'low' and 'high'.
*/
'banners' => array(
'low' => 'https://surniaulula.github.io/wpsso-commerce-manager-catalog-feed/assets/banner-772x250.jpg',
'high' => 'https://surniaulula.github.io/wpsso-commerce-manager-catalog-feed/assets/banner-1544x500.jpg',
),
/*
* Icon image array keys are '1x' and '2x'.
*/
'icons' => array(
'1x' => 'https://surniaulula.github.io/wpsso-commerce-manager-catalog-feed/assets/icon-128x128.png',
'2x' => 'https://surniaulula.github.io/wpsso-commerce-manager-catalog-feed/assets/icon-256x256.png',
),
),
'hosts' => array(
'wp_org' => true,
'github' => true,
'wpsso' => true,
),
'url' => array(
/*
* WordPress.org URLs.
*/
'home' => 'https://wordpress.org/plugins/wpsso-commerce-manager-catalog-feed/',
'forum' => 'https://wordpress.org/support/plugin/wpsso-commerce-manager-catalog-feed',
'review' => 'https://wordpress.org/support/plugin/wpsso-commerce-manager-catalog-feed/reviews/?rate=5#new-post',
/*
* GitHub.com URLs.
*/
'readme_txt' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso-commerce-manager-catalog-feed/master/readme.txt',
/*
* WPSSO.com URLs.
*/
'changelog' => 'https://wpsso.com/extend/plugins/wpsso-commerce-manager-catalog-feed/changelog/',
'docs' => 'https://wpsso.com/docs/plugins/wpsso-commerce-manager-catalog-feed/',
'install' => 'https://wpsso.com/docs/plugins/wpsso-commerce-manager-catalog-feed/installation/',
'faqs' => '',
'notes' => '',
'support' => '', // Premium support ticket.
'purchase' => '', // Purchase page.
'info' => '', // License information.
'update' => 'https://wpsso.com/extend/plugins/wpsso-commerce-manager-catalog-feed/update/',
'download' => 'https://wpsso.com/extend/plugins/wpsso-commerce-manager-catalog-feed/latest/',
),
),
'wpssofaq' => array( // Plugin acronym.
'short' => 'WPSSO FAQ', // Short plugin name.
'name' => 'WPSSO Schema FAQ Page Manager',
'desc' => 'Create FAQ and Question / Answer Pages with optional shortcodes to include FAQs and Questions / Answers in your content.',
'slug' => 'wpsso-faq',
'base' => 'wpsso-faq/wpsso-faq.php',
'update_auth' => '', // No premium version.
/*
* URLs or relative paths to plugin banners and icons.
*/
'assets' => array(
/*
* Banner image array keys are 'low' and 'high'.
*/
'banners' => array(
'low' => 'https://surniaulula.github.io/wpsso-faq/assets/banner-772x250.jpg',
'high' => 'https://surniaulula.github.io/wpsso-faq/assets/banner-1544x500.jpg',
),
/*
* Icon image array keys are '1x' and '2x'.
*/
'icons' => array(
'1x' => 'https://surniaulula.github.io/wpsso-faq/assets/icon-128x128.png',
'2x' => 'https://surniaulula.github.io/wpsso-faq/assets/icon-256x256.png',
),
),
'hosts' => array(
'wp_org' => true,
'github' => true,
'wpsso' => true,
),
'url' => array(
/*
* WordPress.org URLs.
*/
'home' => 'https://wordpress.org/plugins/wpsso-faq/',
'forum' => 'https://wordpress.org/support/plugin/wpsso-faq',
'review' => 'https://wordpress.org/support/plugin/wpsso-faq/reviews/?rate=5#new-post',
/*
* GitHub.com URLs.
*/
'readme_txt' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso-faq/master/readme.txt',
/*
* WPSSO.com URLs.
*/
'changelog' => 'https://wpsso.com/extend/plugins/wpsso-faq/changelog/',
'docs' => 'https://wpsso.com/docs/plugins/wpsso-faq/',
'install' => 'https://wpsso.com/docs/plugins/wpsso-faq/installation/',
'faqs' => 'https://wpsso.com/docs/plugins/wpsso-faq/faqs/',
'notes' => 'https://wpsso.com/docs/plugins/wpsso-faq/notes/',
'support' => '', // Premium support ticket.
'purchase' => '', // Purchase page.
'info' => '', // License information.
'update' => 'https://wpsso.com/extend/plugins/wpsso-faq/update/',
'download' => 'https://wpsso.com/extend/plugins/wpsso-faq/latest/',
),
),
'wpssogmf' => array( // Plugin acronym.
'short' => 'WPSSO GMF', // Short plugin name.
'name' => 'WPSSO Google Merchant Feed XML',
'desc' => 'Google Merchant product and inventory feed XML for WooCommerce and custom product pages, including multilingual support.',
'slug' => 'wpsso-google-merchant-feed',
'base' => 'wpsso-google-merchant-feed/wpsso-google-merchant-feed.php',
'update_auth' => '', // No premium version.
/*
* URLs or relative paths to plugin banners and icons.
*/
'assets' => array(
/*
* Banner image array keys are 'low' and 'high'.
*/
'banners' => array(
'low' => 'https://surniaulula.github.io/wpsso-google-merchant-feed/assets/banner-772x250.jpg',
'high' => 'https://surniaulula.github.io/wpsso-google-merchant-feed/assets/banner-1544x500.jpg',
),
/*
* Icon image array keys are '1x' and '2x'.
*/
'icons' => array(
'1x' => 'https://surniaulula.github.io/wpsso-google-merchant-feed/assets/icon-128x128.png',
'2x' => 'https://surniaulula.github.io/wpsso-google-merchant-feed/assets/icon-256x256.png',
),
),
'hosts' => array(
'wp_org' => true,
'github' => true,
'wpsso' => true,
),
'url' => array(
/*
* WordPress.org URLs.
*/
'home' => 'https://wordpress.org/plugins/wpsso-google-merchant-feed/',
'forum' => 'https://wordpress.org/support/plugin/wpsso-google-merchant-feed',
'review' => 'https://wordpress.org/support/plugin/wpsso-google-merchant-feed/reviews/?rate=5#new-post',
/*
* GitHub.com URLs.
*/
'readme_txt' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso-google-merchant-feed/master/readme.txt',
/*
* WPSSO.com URLs.
*/
'changelog' => 'https://wpsso.com/extend/plugins/wpsso-google-merchant-feed/changelog/',
'docs' => 'https://wpsso.com/docs/plugins/wpsso-google-merchant-feed/',
'install' => 'https://wpsso.com/docs/plugins/wpsso-google-merchant-feed/installation/',
'faqs' => '',
'notes' => '',
'support' => '', // Premium support ticket.
'purchase' => '', // Purchase page.
'info' => '', // License information.
'update' => 'https://wpsso.com/extend/plugins/wpsso-google-merchant-feed/update/',
'download' => 'https://wpsso.com/extend/plugins/wpsso-google-merchant-feed/latest/',
),
),
'wpssomrp' => array( // Plugin acronym.
'short' => 'WPSSO MRP', // Short plugin name.
'name' => 'WPSSO Schema Merchant Return Policy Manager',
'desc' => 'Manage Merchant Return Policies for Google Merchant listings and Schema markup.',
'slug' => 'wpsso-merchant-return-policy',
'base' => 'wpsso-merchant-return-policy/wpsso-merchant-return-policy.php',
'update_auth' => '', // No premium version.
/*
* URLs or relative paths to plugin banners and icons.
*/
'assets' => array(
/*
* Banner image array keys are 'low' and 'high'.
*/
'banners' => array(
'low' => 'https://surniaulula.github.io/wpsso-merchant-return-policy/assets/banner-772x250.jpg',
'high' => 'https://surniaulula.github.io/wpsso-merchant-return-policy/assets/banner-1544x500.jpg',
),
/*
* Icon image array keys are '1x' and '2x'.
*/
'icons' => array(
'1x' => 'https://surniaulula.github.io/wpsso-merchant-return-policy/assets/icon-128x128.png',
'2x' => 'https://surniaulula.github.io/wpsso-merchant-return-policy/assets/icon-256x256.png',
),
),
'hosts' => array(
'wp_org' => true,
'github' => true,
'wpsso' => true,
),
'url' => array(
/*
* WordPress.org URLs.
*/
'home' => 'https://wordpress.org/plugins/wpsso-merchant-return-policy/',
'forum' => 'https://wordpress.org/support/plugin/wpsso-merchant-return-policy',
'review' => 'https://wordpress.org/support/plugin/wpsso-merchant-return-policy/reviews/?rate=5#new-post',
/*
* GitHub.com URLs.
*/
'readme_txt' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso-merchant-return-policy/master/readme.txt',
/*
* WPSSO.com URLs.
*/
'changelog' => 'https://wpsso.com/extend/plugins/wpsso-merchant-return-policy/changelog/',
'docs' => 'https://wpsso.com/docs/plugins/wpsso-merchant-return-policy/',
'install' => 'https://wpsso.com/docs/plugins/wpsso-merchant-return-policy/installation/',
'faqs' => '',
'notes' => '',
'support' => '', // Premium support ticket.
'purchase' => '', // Purchase page.
'info' => '', // License information.
'update' => 'https://wpsso.com/extend/plugins/wpsso-merchant-return-policy/update/',
'download' => 'https://wpsso.com/extend/plugins/wpsso-merchant-return-policy/latest/',
),
),
'wpssoopm' => array( // Plugin acronym.
'short' => 'WPSSO OPM', // Short plugin name.
'name' => 'WPSSO Schema Organization and Place Manager',
'desc' => 'Manage Organizations and Places (Local Businesses, Venues, etc.) for Google, Facebook, Pinterest, and Schema markup.',
'slug' => 'wpsso-organization-place',
'base' => 'wpsso-organization-place/wpsso-organization-place.php',
'update_auth' => '', // No premium version.
/*
* URLs or relative paths to plugin banners and icons.
*/
'assets' => array(
/*
* Banner image array keys are 'low' and 'high'.
*/
'banners' => array(
'low' => 'https://surniaulula.github.io/wpsso-organization-place/assets/banner-772x250.jpg',
'high' => 'https://surniaulula.github.io/wpsso-organization-place/assets/banner-1544x500.jpg',
),
/*
* Icon image array keys are '1x' and '2x'.
*/
'icons' => array(
'1x' => 'https://surniaulula.github.io/wpsso-organization-place/assets/icon-128x128.png',
'2x' => 'https://surniaulula.github.io/wpsso-organization-place/assets/icon-256x256.png',
),
),
'hosts' => array(
'wp_org' => true,
'github' => true,
'wpsso' => true,
),
'url' => array(
/*
* WordPress.org URLs.
*/
'home' => 'https://wordpress.org/plugins/wpsso-organization-place/',
'forum' => 'https://wordpress.org/support/plugin/wpsso-organization-place',
'review' => 'https://wordpress.org/support/plugin/wpsso-organization-place/reviews/?rate=5#new-post',
/*
* GitHub.com URLs.
*/
'readme_txt' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso-organization-place/master/readme.txt',
/*
* WPSSO.com URLs.
*/
'changelog' => 'https://wpsso.com/extend/plugins/wpsso-organization-place/changelog/',
'docs' => 'https://wpsso.com/docs/plugins/wpsso-organization-place/',
'install' => 'https://wpsso.com/docs/plugins/wpsso-organization-place/installation/',
'faqs' => '',
'notes' => '',
'support' => '', // Premium support ticket.
'purchase' => '', // Purchase page.
'info' => '', // License information.
'update' => 'https://wpsso.com/extend/plugins/wpsso-organization-place/update/',
'download' => 'https://wpsso.com/extend/plugins/wpsso-organization-place/latest/',
),
),
'wpssorar' => array( // Plugin acronym.
'short' => 'WPSSO RAR', // Short plugin name.
'name' => 'WPSSO Ratings and Reviews',
'desc' => 'Adds Ratings and Reviews Features to the WordPress Comments System.',
'slug' => 'wpsso-ratings-and-reviews',
'base' => 'wpsso-ratings-and-reviews/wpsso-ratings-and-reviews.php',
'update_auth' => '', // No premium version.
/*
* URLs or relative paths to plugin banners and icons.
*/
'assets' => array(
/*
* Banner image array keys are 'low' and 'high'.
*/
'banners' => array(
'low' => 'https://surniaulula.github.io/wpsso-ratings-and-reviews/assets/banner-772x250.jpg',
'high' => 'https://surniaulula.github.io/wpsso-ratings-and-reviews/assets/banner-1544x500.jpg',
),
/*
* Icon image array keys are '1x' and '2x'.
*/
'icons' => array(
'1x' => 'https://surniaulula.github.io/wpsso-ratings-and-reviews/assets/icon-128x128.png',
'2x' => 'https://surniaulula.github.io/wpsso-ratings-and-reviews/assets/icon-256x256.png',
),
),
'hosts' => array(
'wp_org' => true,
'github' => true,
'wpsso' => true,
),
'url' => array(
/*
* WordPress.org URLs.
*/
'home' => 'https://wordpress.org/plugins/wpsso-ratings-and-reviews/',
'forum' => 'https://wordpress.org/support/plugin/wpsso-ratings-and-reviews',
'review' => 'https://wordpress.org/support/plugin/wpsso-ratings-and-reviews/reviews/?rate=5#new-post',
/*
* GitHub.com URLs.
*/
'readme_txt' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso-ratings-and-reviews/master/readme.txt',
/*
* WPSSO.com URLs.
*/
'changelog' => 'https://wpsso.com/extend/plugins/wpsso-ratings-and-reviews/changelog/',
'docs' => 'https://wpsso.com/docs/plugins/wpsso-ratings-and-reviews/',
'install' => 'https://wpsso.com/docs/plugins/wpsso-ratings-and-reviews/installation/',
'faqs' => '',
'notes' => 'https://wpsso.com/docs/plugins/wpsso-ratings-and-reviews/notes/',
'support' => '', // Premium support ticket.
'purchase' => '', // Purchase page.
'info' => '', // License information.
'update' => 'https://wpsso.com/extend/plugins/wpsso-ratings-and-reviews/update/',
'download' => 'https://wpsso.com/extend/plugins/wpsso-ratings-and-reviews/latest/',
),
),
'wpssorest' => array( // Plugin acronym.
'short' => 'WPSSO REST', // Short plugin name.
'name' => 'WPSSO REST API',
'desc' => 'Extends the WordPress REST API post, term, and user query results with an array of meta tags and Schema JSON-LD markup.',
'slug' => 'wpsso-rest-api',
'base' => 'wpsso-rest-api/wpsso-rest-api.php',
'update_auth' => '', // No premium version.
/*
* URLs or relative paths to plugin banners and icons.
*/
'assets' => array(
/*
* Banner image array keys are 'low' and 'high'.
*/
'banners' => array(
'low' => 'https://surniaulula.github.io/wpsso-rest-api/assets/banner-772x250.jpg',
'high' => 'https://surniaulula.github.io/wpsso-rest-api/assets/banner-1544x500.jpg',
),
/*
* Icon image array keys are '1x' and '2x'.
*/
'icons' => array(
'1x' => 'https://surniaulula.github.io/wpsso-rest-api/assets/icon-128x128.png',
'2x' => 'https://surniaulula.github.io/wpsso-rest-api/assets/icon-256x256.png',
),
),
'hosts' => array(
'wp_org' => true,
'github' => true,
'wpsso' => true,
),
'url' => array(
/*
* WordPress.org URLs.
*/
'home' => 'https://wordpress.org/plugins/wpsso-rest-api/',
'forum' => 'https://wordpress.org/support/plugin/wpsso-rest-api',
'review' => 'https://wordpress.org/support/plugin/wpsso-rest-api/reviews/?rate=5#new-post',
/*
* GitHub.com URLs.
*/
'readme_txt' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso-rest-api/master/readme.txt',
/*
* WPSSO.com URLs.
*/
'changelog' => 'https://wpsso.com/extend/plugins/wpsso-rest-api/changelog/',
'docs' => 'https://wpsso.com/docs/plugins/wpsso-rest-api/',
'install' => 'https://wpsso.com/docs/plugins/wpsso-rest-api/installation/',
'faqs' => '',
'notes' => '',
'support' => '', // Premium support ticket.
'purchase' => '', // Purchase page.
'info' => '', // License information.
'update' => 'https://wpsso.com/extend/plugins/wpsso-rest-api/update/',
'download' => 'https://wpsso.com/extend/plugins/wpsso-rest-api/latest/',
),
),
'wpssossm' => array( // Plugin acronym.
'short' => 'WPSSO SSM', // Short plugin name.
'name' => 'WPSSO Strip Schema Microdata',
'desc' => 'Remove Schema Microdata and RDFa from the webpage for better Google Rich Results using Schema JSON-LD markup.',
'slug' => 'wpsso-strip-schema-microdata',
'base' => 'wpsso-strip-schema-microdata/wpsso-strip-schema-microdata.php',
'update_auth' => '', // No premium version.
/*
* URLs or relative paths to plugin banners and icons.
*/
'assets' => array(
/*
* Banner image array keys are 'low' and 'high'.
*/
'banners' => array(
'low' => 'https://surniaulula.github.io/wpsso-strip-schema-microdata/assets/banner-772x250.jpg',
'high' => 'https://surniaulula.github.io/wpsso-strip-schema-microdata/assets/banner-1544x500.jpg',
),
/*
* Icon image array keys are '1x' and '2x'.
*/
'icons' => array(
'1x' => 'https://surniaulula.github.io/wpsso-strip-schema-microdata/assets/icon-128x128.png',
'2x' => 'https://surniaulula.github.io/wpsso-strip-schema-microdata/assets/icon-256x256.png',
),
),
'hosts' => array(
'wp_org' => true,
'github' => true,
'wpsso' => true,
),
'url' => array(
/*
* WordPress.org URLs.
*/
'home' => 'https://wordpress.org/plugins/wpsso-strip-schema-microdata/',
'forum' => 'https://wordpress.org/support/plugin/wpsso-strip-schema-microdata',
'review' => 'https://wordpress.org/support/plugin/wpsso-strip-schema-microdata/reviews/?rate=5#new-post',
/*
* GitHub.com URLs.
*/
'readme_txt' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso-strip-schema-microdata/master/readme.txt',
/*
* WPSSO.com URLs.
*/
'changelog' => 'https://wpsso.com/extend/plugins/wpsso-strip-schema-microdata/changelog/',
'docs' => 'https://wpsso.com/docs/plugins/wpsso-strip-schema-microdata/',
'install' => 'https://wpsso.com/docs/plugins/wpsso-strip-schema-microdata/installation/',
'faqs' => '',
'notes' => '',
'support' => '', // Premium support ticket.
'purchase' => '', // Purchase page.
'info' => '', // License information.
'update' => 'https://wpsso.com/extend/plugins/wpsso-strip-schema-microdata/update/',
'download' => 'https://wpsso.com/extend/plugins/wpsso-strip-schema-microdata/latest/',
),
),
'wpssotie' => array( // Plugin acronym.
'short' => 'WPSSO TIE', // Short plugin name.
'name' => 'WPSSO Tune WP Image Editors',
'desc' => 'Improves the appearance of WordPress images for better click through rates from social and search sites.',
'slug' => 'wpsso-tune-image-editors',
'base' => 'wpsso-tune-image-editors/wpsso-tune-image-editors.php',
'update_auth' => '', // No premium version.
/*
* URLs or relative paths to plugin banners and icons.
*/
'assets' => array(
/*
* Banner image array keys are 'low' and 'high'.
*/
'banners' => array(
'low' => 'https://surniaulula.github.io/wpsso-tune-image-editors/assets/banner-772x250.jpg',
'high' => 'https://surniaulula.github.io/wpsso-tune-image-editors/assets/banner-1544x500.jpg',
),
/*
* Icon image array keys are '1x' and '2x'.
*/
'icons' => array(
'1x' => 'https://surniaulula.github.io/wpsso-tune-image-editors/assets/icon-128x128.png',
'2x' => 'https://surniaulula.github.io/wpsso-tune-image-editors/assets/icon-256x256.png',
),
),
'hosts' => array(
'wp_org' => true,
'github' => true,
'wpsso' => true,
),
'url' => array(
/*
* WordPress.org URLs.
*/
'home' => 'https://wordpress.org/plugins/wpsso-tune-image-editors/',
'forum' => 'https://wordpress.org/support/plugin/wpsso-tune-image-editors',
'review' => 'https://wordpress.org/support/plugin/wpsso-tune-image-editors/reviews/?rate=5#new-post',
/*
* GitHub.com URLs.
*/
'readme_txt' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso-tune-image-editors/master/readme.txt',
/*
* WPSSO.com URLs.
*/
'changelog' => 'https://wpsso.com/extend/plugins/wpsso-tune-image-editors/changelog/',
'docs' => 'https://wpsso.com/docs/plugins/wpsso-tune-image-editors/',
'install' => 'https://wpsso.com/docs/plugins/wpsso-tune-image-editors/installation/',
'faqs' => '',
'notes' => '',
'support' => '', // Premium support ticket.
'purchase' => '', // Purchase page.
'info' => '', // License information.
'update' => 'https://wpsso.com/extend/plugins/wpsso-tune-image-editors/update/',
'download' => 'https://wpsso.com/extend/plugins/wpsso-tune-image-editors/latest/',
),
),
'wpssoul' => array( // Plugin acronym.
'short' => 'WPSSO UL', // Short plugin name.
'name' => 'WPSSO User Locale Selector',
'desc' => 'Quick and easy locale / language / region selector for the WordPress admin toolbar.',
'slug' => 'wpsso-user-locale',
'base' => 'wpsso-user-locale/wpsso-user-locale.php',
'update_auth' => '', // No premium version.
/*
* URLs or relative paths to plugin banners and icons.
*/
'assets' => array(
/*
* Banner image array keys are 'low' and 'high'.
*/
'banners' => array(
'low' => 'https://surniaulula.github.io/wpsso-user-locale/assets/banner-772x250.jpg',
'high' => 'https://surniaulula.github.io/wpsso-user-locale/assets/banner-1544x500.jpg',
),
/*
* Icon image array keys are '1x' and '2x'.
*/
'icons' => array(
'1x' => 'https://surniaulula.github.io/wpsso-user-locale/assets/icon-128x128.png',
'2x' => 'https://surniaulula.github.io/wpsso-user-locale/assets/icon-256x256.png',
),
),
'hosts' => array(
'wp_org' => true,
'github' => true,
'wpsso' => true,
),
'url' => array(
/*
* WordPress.org URLs.
*/
'home' => 'https://wordpress.org/plugins/wpsso-user-locale/',
'forum' => 'https://wordpress.org/support/plugin/wpsso-user-locale',
'review' => 'https://wordpress.org/support/plugin/wpsso-user-locale/reviews/?rate=5#new-post',
/*
* GitHub.com URLs.
*/
'readme_txt' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso-user-locale/master/readme.txt',
/*
* WPSSO.com URLs.
*/
'changelog' => 'https://wpsso.com/extend/plugins/wpsso-user-locale/changelog/',
'docs' => 'https://wpsso.com/docs/plugins/wpsso-user-locale/',
'install' => 'https://wpsso.com/docs/plugins/wpsso-user-locale/installation/',
'faqs' => '',
'notes' => 'https://wpsso.com/docs/plugins/wpsso-user-locale/notes/',
'support' => '', // Premium support ticket.
'purchase' => '', // Purchase page.
'info' => '', // License information.
'update' => 'https://wpsso.com/extend/plugins/wpsso-user-locale/update/',
'download' => 'https://wpsso.com/extend/plugins/wpsso-user-locale/latest/',
),
),
'wpssoum' => array( // Plugin acronym.
'short' => 'WPSSO UM', // Short plugin name.
'name' => 'WPSSO Update Manager',
'desc' => 'Update Manager for the WPSSO Core Premium plugin.',
'slug' => 'wpsso-um',
'base' => 'wpsso-um/wpsso-um.php',
'update_auth' => '', // No premium version.
/*
* URLs or relative paths to plugin banners and icons.
*/
'assets' => array(
/*
* Banner image array keys are 'low' and 'high'.
*/
'banners' => array(
'low' => 'https://surniaulula.github.io/wpsso-um/assets/banner-772x250.jpg',
'high' => 'https://surniaulula.github.io/wpsso-um/assets/banner-1544x500.jpg',
),
/*
* Icon image array keys are '1x' and '2x'.
*/
'icons' => array(
'1x' => 'https://surniaulula.github.io/wpsso-um/assets/icon-128x128.png',
'2x' => 'https://surniaulula.github.io/wpsso-um/assets/icon-256x256.png',
),
),
'hosts' => array(
'wp_org' => false, // Add-on is not available on wordpress.org.
'github' => true,
'wpsso' => true,
),
'url' => array(
/*
* GitHub.com URLs.
*/
'readme_txt' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso-um/master/readme.txt',
/*
* WPSSO.com URLs.
*/
'home' => 'https://wpsso.com/extend/plugins/wpsso-um/',
'forum' => '',
'review' => '',
'changelog' => 'https://wpsso.com/extend/plugins/wpsso-um/changelog/',
'docs' => 'https://wpsso.com/docs/plugins/wpsso-um/',
'install' => 'https://wpsso.com/docs/plugins/wpsso-um/installation/',
'faqs' => '',
'notes' => '',
'support' => '', // Premium support ticket.
'purchase' => '', // Purchase page.
'info' => '', // License information.
'update' => 'https://wpsso.com/extend/plugins/wpsso-um/update/',
'download' => 'https://wpsso.com/extend/plugins/wpsso-um/latest/',
),
),
'wpssowcmd' => array( // Plugin acronym.
'short' => 'WPSSO WCMD', // Short plugin name.
'name' => 'WPSSO Schema Product Metadata for WooCommerce',
'desc' => 'MPN, ISBN, GTIN-8, UPC, EAN, GTIN-14, net dimensions, and fluid volume for better WooCommerce Schema markup.',
'slug' => 'wpsso-wc-metadata',
'base' => 'wpsso-wc-metadata/wpsso-wc-metadata.php',
'update_auth' => '', // No premium version.
/*
* URLs or relative paths to plugin banners and icons.
*/
'assets' => array(
/*
* Banner image array keys are 'low' and 'high'.
*/
'banners' => array(
'low' => 'https://surniaulula.github.io/wpsso-wc-metadata/assets/banner-772x250.jpg',
'high' => 'https://surniaulula.github.io/wpsso-wc-metadata/assets/banner-1544x500.jpg',
),
/*
* Icon image array keys are '1x' and '2x'.
*/
'icons' => array(
'1x' => 'https://surniaulula.github.io/wpsso-wc-metadata/assets/icon-128x128.png',
'2x' => 'https://surniaulula.github.io/wpsso-wc-metadata/assets/icon-256x256.png',
),
),
'hosts' => array(
'wp_org' => true,
'github' => true,
'wpsso' => true,
),
'url' => array(
/*
* WordPress.org URLs.
*/
'home' => 'https://wordpress.org/plugins/wpsso-wc-metadata/',
'forum' => 'https://wordpress.org/support/plugin/wpsso-wc-metadata',
'review' => 'https://wordpress.org/support/plugin/wpsso-wc-metadata/reviews/?rate=5#new-post',
/*
* GitHub.com URLs.
*/
'readme_txt' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso-wc-metadata/master/readme.txt',
/*
* WPSSO.com URLs.
*/
'changelog' => 'https://wpsso.com/extend/plugins/wpsso-wc-metadata/changelog/',
'docs' => 'https://wpsso.com/docs/plugins/wpsso-wc-metadata/',
'install' => 'https://wpsso.com/docs/plugins/wpsso-wc-metadata/installation/',
'faqs' => '',
'notes' => '',
'support' => '', // Premium support ticket.
'purchase' => '', // Purchase page.
'info' => '', // License information.
'update' => 'https://wpsso.com/extend/plugins/wpsso-wc-metadata/update/',
'download' => 'https://wpsso.com/extend/plugins/wpsso-wc-metadata/latest/',
),
),
'wpssowcsdt' => array( // Plugin acronym.
'short' => 'WPSSO WCSDT', // Short plugin name.
'name' => 'WPSSO Schema Shipping Delivery Time for WooCommerce',
'desc' => 'Shipping delivery time estimates for WooCommerce shipping zones, methods, and classes.',
'slug' => 'wpsso-wc-shipping-delivery-time',
'base' => 'wpsso-wc-shipping-delivery-time/wpsso-wc-shipping-delivery-time.php',
'update_auth' => '', // No premium version.
/*
* URLs or relative paths to plugin banners and icons.
*/
'assets' => array(
/*
* Banner image array keys are 'low' and 'high'.
*/
'banners' => array(
'low' => 'https://surniaulula.github.io/wpsso-wc-shipping-delivery-time/assets/banner-772x250.jpg',
'high' => 'https://surniaulula.github.io/wpsso-wc-shipping-delivery-time/assets/banner-1544x500.jpg',
),
/*
* Icon image array keys are '1x' and '2x'.
*/
'icons' => array(
'1x' => 'https://surniaulula.github.io/wpsso-wc-shipping-delivery-time/assets/icon-128x128.png',
'2x' => 'https://surniaulula.github.io/wpsso-wc-shipping-delivery-time/assets/icon-256x256.png',
),
),
'hosts' => array(
'wp_org' => true,
'github' => true,
'wpsso' => true,
),
'url' => array(
/*
* WordPress.org URLs.
*/
'home' => 'https://wordpress.org/plugins/wpsso-wc-shipping-delivery-time/',
'forum' => 'https://wordpress.org/support/plugin/wpsso-wc-shipping-delivery-time',
'review' => 'https://wordpress.org/support/plugin/wpsso-wc-shipping-delivery-time/reviews/?rate=5#new-post',
/*
* GitHub.com URLs.
*/
'readme_txt' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso-wc-shipping-delivery-time/main/readme.txt',
/*
* WPSSO.com URLs.
*/
'changelog' => 'https://wpsso.com/extend/plugins/wpsso-wc-shipping-delivery-time/changelog/',
'docs' => 'https://wpsso.com/docs/plugins/wpsso-wc-shipping-delivery-time/',
'install' => 'https://wpsso.com/docs/plugins/wpsso-wc-shipping-delivery-time/installation/',
'faqs' => 'https://wpsso.com/docs/plugins/wpsso-wc-shipping-delivery-time/faqs/',
'notes' => '',
'support' => '', // Premium support ticket.
'purchase' => '', // Purchase page.
'info' => '', // License information.
'update' => 'https://wpsso.com/extend/plugins/wpsso-wc-shipping-delivery-time/update/',
'download' => 'https://wpsso.com/extend/plugins/wpsso-wc-shipping-delivery-time/latest/',
),
),
'wpssowpsm' => array( // Plugin acronym.
'short' => 'WPSSO WPSM', // Short plugin name.
'name' => 'WPSSO WP Sitemaps XML',
'desc' => 'Improves the WordPress sitemaps XML with article modification times, alternate language URLs, images sitemaps, news sitemaps and more.',
'slug' => 'wpsso-wp-sitemaps',
'base' => 'wpsso-wp-sitemaps/wpsso-wp-sitemaps.php',
'update_auth' => '', // No premium version.
/*
* URLs or relative paths to plugin banners and icons.
*/
'assets' => array(
/*
* Banner image array keys are 'low' and 'high'.
*/
'banners' => array(
'low' => 'https://surniaulula.github.io/wpsso-wp-sitemaps/assets/banner-772x250.jpg',
'high' => 'https://surniaulula.github.io/wpsso-wp-sitemaps/assets/banner-1544x500.jpg',
),
/*
* Icon image array keys are '1x' and '2x'.
*/
'icons' => array(
'1x' => 'https://surniaulula.github.io/wpsso-wp-sitemaps/assets/icon-128x128.png',
'2x' => 'https://surniaulula.github.io/wpsso-wp-sitemaps/assets/icon-256x256.png',
),
),
'hosts' => array(
'wp_org' => true,
'github' => true,
'wpsso' => true,
),
'url' => array(
/*
* WordPress.org URLs.
*/
'home' => 'https://wordpress.org/plugins/wpsso-wp-sitemaps/',
'forum' => 'https://wordpress.org/support/plugin/wpsso-wp-sitemaps',
'review' => 'https://wordpress.org/support/plugin/wpsso-wp-sitemaps/reviews/?rate=5#new-post',
/*
* GitHub.com URLs.
*/
'readme_txt' => 'https://raw.githubusercontent.com/SurniaUlula/wpsso-wp-sitemaps/master/readme.txt',
/*
* WPSSO.com URLs.
*/
'changelog' => 'https://wpsso.com/extend/plugins/wpsso-wp-sitemaps/changelog/',
'docs' => 'https://wpsso.com/docs/plugins/wpsso-wp-sitemaps/',
'install' => 'https://wpsso.com/docs/plugins/wpsso-wp-sitemaps/installation/',
'faqs' => '',
'notes' => '',
'support' => '', // Premium support ticket.
'purchase' => '', // Purchase page.
'info' => '', // License information.
'update' => 'https://wpsso.com/extend/plugins/wpsso-wp-sitemaps/update/',
'download' => 'https://wpsso.com/extend/plugins/wpsso-wp-sitemaps/latest/',
),
),
),
'opt' => array(
'defaults' => array(
'checksum' => '', // Checksum of plugin versions.
'opt_checksum' => '', // Checksum of option versions.
'opt_versions' => array(),
/*
* Site options.
*/
'site_name' => '', // Site Name (localized).
'site_name_alt' => '', // Site Alternate Name (localized).
'site_desc' => '', // Site Description (localized).
'site_home_url' => '', // Site Home URL (localized).
'site_pub_schema_type' => 'organization', // Site Publisher Type.
'site_pub_person_id' => 'none', // Site Publisher Person.
'site_org_logo_url' => '', // Organization Logo URL (localized)
'site_org_banner_url' => '', // Organization Banner URL (localized).
'site_org_place_id' => 'none', // Organization Location.
'site_org_schema_type' => 'organization', // Organization Schema Type.
/*
* Facebook options.
*/
'fb_publisher_url' => '', // Facebook Business Page URL (localized).
'fb_app_id' => '966242223397117', // Facebook Application ID.
'fb_locale' => 'en_US', // Facebook Locale.
/*
* Open Graph options.
*
* See WpssoOpengraph->add_data_og_type_md().
*/
'og_def_img_id' => '', // Default Image ID.
'og_def_img_url' => '', // Default Image URL.
'og_def_currency' => 'USD', // Default Currency.
'og_def_country' => 'none', // Default Country.
'og_def_timezone' => 'UTC', // Default Timezone.
'og_def_dimension_units' => 'cm', // Default Dimension Units.
'og_def_weight_units' => 'kg', // Default Weight Units.
'og_def_fluid_volume_units' => 'ml', // Default Fluid Volume Units.
'og_img_width' => 1200,
'og_img_height' => 628,
'og_img_crop' => 1,
'og_img_crop_x' => 'center',
'og_img_crop_y' => 'center',
'og_img_max' => 1, // Maximum Images to Include.
'og_title_sep' => '-', // Title Separator.
'og_ellipsis' => '...', // Truncated Text Ellipsis.
'og_desc_hashtags' => 0, // Description Hashtags.
'og_vid_max' => 1, // Maximum Videos to Include.
'og_vid_autoplay' => 0, // Force Autoplay when Possible.
'og_vid_prev_img' => 1, // Include Video Preview Images.
/*
* Advanced Settings > Document Types > Open Graph.
*/
'og_type_for_archive_page' => 'website',
'og_type_for_comment' => 'article',
'og_type_for_comment_reply' => 'article',
'og_type_for_comment_review' => 'article',
'og_type_for_home_page' => 'website',
'og_type_for_home_posts' => 'website',
'og_type_for_search_page' => 'website',
'og_type_for_user_page' => 'profile',
/*
* Advanced Settings > Document Types > Open Graph tab: Post Types.
*/
'og_type_for_attachment' => 'website',
'og_type_for_article' => 'article',
'og_type_for_book' => 'book',
'og_type_for_business' => 'place',
'og_type_for_contact_point' => 'place',
'og_type_for_download' => 'product', // For Easy Digital Downloads.
'og_type_for_organization' => 'website',
'og_type_for_page' => 'article',
'og_type_for_place' => 'place',
'og_type_for_post' => 'article',
'og_type_for_product' => 'product', // For WooCommerce.
'og_type_for_product_variation' => 'product', // For WooCommerce.
'og_type_for_question' => 'article',
'og_type_for_tc_events' => 'article', // For Tickera.
'og_type_for_tribe_events' => 'article', // For The Events Calendar.
'og_type_for_website' => 'website',
/*
* Advanced Settings > Document Types > Open Graph tab: Taxonomies.
*/
'og_type_for_tax_category' => 'website',
'og_type_for_tax_faq_category' => 'website',
'og_type_for_tax_link_category' => 'website',
'og_type_for_tax_post_tag' => 'website',
'og_type_for_tax_product_brand' => 'website', // For WooCommerce Brands.
'og_type_for_tax_product_cat' => 'website', // For WooCommerce.
'og_type_for_tax_product_tag' => 'website', // For WooCommerce.
'og_type_for_tax_pwb-brand' => 'website', // For Perfect Brands for WooCommerce.
'og_type_for_tax_tribe_events_cat' => 'website', // For The Events Calendar.
'og_type_for_tax_yith_product_brand' => 'website', // For YITH WooCommerce Brands Add-on.
/*
* Pinterest options.
*/
'pin_publisher_url' => '',
'pin_add_nopin_header_img_tag' => 1, // Add "nopin" to Site Header Image.
'pin_add_nopin_media_img_tag' => 0, // Add Pinterest "nopin" to Images.
'pin_add_img_html' => 0, // Add Hidden Image for Pinterest.
'pin_img_width' => 1200,
'pin_img_height' => 1800,
'pin_img_crop' => 0,
'pin_img_crop_x' => 'center',
'pin_img_crop_y' => 'center',
/*
* Robots options.
*/
'robots_max_snippet' => -1,
'robots_max_image_preview' => 'large',
'robots_max_video_preview' => -1,
/*
* Schema options.
*/
'schema_1x1_img_width' => 1200,
'schema_1x1_img_height' => 1200,
'schema_1x1_img_crop' => 1,
'schema_1x1_img_crop_x' => 'center',
'schema_1x1_img_crop_y' => 'center',
'schema_4x3_img_width' => 1200,
'schema_4x3_img_height' => 900,
'schema_4x3_img_crop' => 1,
'schema_4x3_img_crop_x' => 'center',
'schema_4x3_img_crop_y' => 'center',
'schema_16x9_img_width' => 1200,
'schema_16x9_img_height' => 675,
'schema_16x9_img_crop' => 1,
'schema_16x9_img_crop_x' => 'center',
'schema_16x9_img_crop_y' => 'center',
/*
* Advanced Settings > Document Types > Schema.
*/
'schema_type_for_archive_page' => 'item.list',
'schema_type_for_comment' => 'comment',
'schema_type_for_comment_reply' => 'comment',
'schema_type_for_comment_review' => 'review',
'schema_type_for_home_page' => 'website',
'schema_type_for_home_posts' => 'blog',
'schema_type_for_search_page' => 'webpage.search.results',
'schema_type_for_user_page' => 'webpage.profile',
/*
* Advanced Settings > Document Types > Open Graph tab: Post Types.
*/
'schema_type_for_attachment' => 'webpage',
'schema_type_for_article' => 'article',
'schema_type_for_book' => 'book',
'schema_type_for_business' => 'local.business',
'schema_type_for_contact_point' => 'contact.point',
'schema_type_for_download' => 'product', // For Easy Digital Downloads.
'schema_type_for_event' => 'event',
'schema_type_for_howto' => 'howto',
'schema_type_for_job_listing' => 'job.posting', // For WP Job Manager.
'schema_type_for_jobpost' => 'job.posting', // For Simple Job Board.
'schema_type_for_organization' => 'organization', // For WPSSO OPM.
'schema_type_for_page' => 'article',
'schema_type_for_person' => 'person',
'schema_type_for_place' => 'place', // For WPSSO OPM.
'schema_type_for_post' => 'blog.posting',
'schema_type_for_product' => 'product', // For WooCommerce.
'schema_type_for_product_group' => 'product.group', // For WooCommerce.
'schema_type_for_qa' => 'webpage.qa',
'schema_type_for_question' => 'question', // For WPSSO FAQ.
'schema_type_for_review' => 'review', // For WP Product Review.
'schema_type_for_service' => 'service', // For WPSSO OPM.
'schema_type_for_tc_events' => 'event', // For Tickera.
'schema_type_for_tribe_events' => 'event', // For The Events Calendar.
'schema_type_for_webpage' => 'webpage',
'schema_type_for_website' => 'website',
/*
* Advanced Settings > Document Types > Open Graph tab: Taxonomies.
*/
'schema_type_for_tax_category' => 'item.list',
'schema_type_for_tax_faq_category' => 'webpage.faq', // For WPSSO FAQ.
'schema_type_for_tax_link_category' => 'item.list',
'schema_type_for_tax_post_tag' => 'item.list',
'schema_type_for_tax_product_brand' => 'item.list', // For WooCommerce Brands.
'schema_type_for_tax_product_cat' => 'item.list', // For WooCommerce.
'schema_type_for_tax_product_tag' => 'item.list', // For WooCommerce.
'schema_type_for_tax_pwb-brand' => 'item.list', // For Perfect WooCommerce Brands Add-on.
'schema_type_for_tax_tribe_events_cat' => 'item.list', // For The Events Calendar.
'schema_type_for_tax_yith_product_brand' => 'item.list', // For YITH WooCommerce Brands Add-on.
/*
* Advanced Settings > Schema Defaults > Article.
*/
'schema_def_add_articlebody_prop' => 0, // Add Article Body Property.
'schema_def_article_section' => 'none', // Default Article Section.
/*
* Advanced Settings > Schema Defaults > Book.
*/
'schema_def_book_format' => 'none', // Default Book Format.
'schema_def_book_author_type' => 'person', // Default Book Author Type.
/*
* Advanced Settings > Schema Defaults > Creative Work.
*/
'schema_def_add_date_created' => 0, // Add Date Created Property.
'schema_def_add_date_published' => 1, // Add Date Published Property.
'schema_def_add_date_modified' => 1, // Add Date Modified Property.
'schema_def_add_text_prop' => 0, // Add Text Property.
'schema_def_family_friendly' => 'none', // Default Family Friendly.
'schema_def_pub_org_id' => 'site', // Default Publisher Organization.
'schema_def_pub_person_id' => 'none', // Default Publisher Person.
'schema_def_prov_org_id' => 'none', // Default Provider Organization.
'schema_def_prov_person_id' => 'none', // Default Provider Person.
'schema_def_fund_org_id' => 'none', // Default Funder Organization.
'schema_def_fund_person_id' => 'none', // Default Funder Person.
/*
* Advanced Settings > Schema Defaults > Event.
*/
'schema_def_event_attendance' => 'https://schema.org/OfflineEventAttendanceMode', // Default Event Attendance.
'schema_def_event_location_id' => 'none', // Default Event Venue.
'schema_def_event_performer_org_id' => 'none', // Default Event Performer Organization.
'schema_def_event_performer_person_id' => 'none', // Default Event Performer Person.
'schema_def_event_organizer_org_id' => 'none', // Default Event Organizer Organization.
'schema_def_event_organizer_person_id' => 'none', // Default Event Organizer Person.
'schema_def_event_fund_org_id' => 'none', // Default Event Funder Organization.
'schema_def_event_fund_person_id' => 'none', // Default Event Funder Person.
/*
* Advanced Settings > Schema Defaults > Job Posting.
*/
'schema_def_job_hiring_org_id' => 'none', // Default Hiring Organization.
'schema_def_job_location_id' => 'none', // Default Job Location.
'schema_def_job_location_type' => 'none', // Default Job Location Type.
/*
* Advanced Settings > Schema Defaults > Place.
*/
'schema_def_place_schema_type' => 'local.business', // Default Place Schema Type.
'schema_def_place_country' => 'none', // Default Place Country.
'schema_def_place_timezone' => 'UTC', // Default Place Timezone.
/*
* Advanced Settings > Schema Defaults > Product.
*/
'schema_def_product_aggr_offers' => 0, // Aggregate Offers by Currency.
'schema_def_product_price_valid_days' => 30, // Default Product Prices Valid For.
'schema_def_product_adult_type' => 'none', // Default Product Adult Type.
'schema_def_product_age_group' => 'none', // Default Product Age Group.
'schema_def_product_category' => 'none', // Default Product Google Category.
'schema_def_product_condition' => 'https://schema.org/NewCondition', // Default Product Condition.
'schema_def_product_energy_efficiency_min' => 'https://schema.org/EUEnergyEfficiencyCategoryD',
'schema_def_product_energy_efficiency_max' => 'https://schema.org/EUEnergyEfficiencyCategoryA3Plus',
'schema_def_product_mrp' => 'none', // Default Product Return Policy.
'schema_def_product_size_group_0' => 'none',
'schema_def_product_size_group_1' => 'none',
'schema_def_product_size_system' => 'none',
'schema_def_product_target_gender' => 'none', // Default Product Target Gender.
/*
* Advanced Settings > Schema Defaults > Profile Page.
*/
'schema_def_profile_page_mentions_prop' => 0, // Add Mentions Property.
/*
* Advanced Settings > Schema Defaults > Review.
*/
'schema_def_review_rating_min' => 0.5, // Default Review Rating Min.
'schema_def_review_rating_max' => 5.0, // Default Review Rating Max.
'schema_def_review_item_type' => 'product', // Default Subject Schema Type.
/*
* Advanced Settings > Schema Defaults > Service.
*/
'schema_def_service_prov_org_id' => 'none', // Default Service Provider Organization.
'schema_def_service_prov_person_id' => 'none', // Default Service Provider Person.
/*
* X (Twitter) Card options.
*/
'tc_site' => '', // X (Twitter) Business @username (localized).
'tc_type_singular' => 'summary_large_image', // X (Twitter) Card for Singular with Image.
'tc_type_default' => 'summary', // X (Twitter) Card Type by Default.
/*
* X (Twitter) Summary Card.
*
* See https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/summary.
*/
'tc_sum_img_width' => 1200,
'tc_sum_img_height' => 1200,
'tc_sum_img_crop' => 1,
'tc_sum_img_crop_x' => 'center',
'tc_sum_img_crop_y' => 'center',
/*
* X (Twitter) Summary Card Large Image.
*
* See https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/summary-card-with-large-image.
*/
'tc_lrg_img_width' => 1200,
'tc_lrg_img_height' => 628,
'tc_lrg_img_crop' => 1,
'tc_lrg_img_crop_x' => 'center',
'tc_lrg_img_crop_y' => 'center',
/*
* Schema thumbnail image size.
*/
'thumb_img_width' => 1200,
'thumb_img_height' => 628,
'thumb_img_crop' => 1,
'thumb_img_crop_x' => 'center',
'thumb_img_crop_y' => 'center',
/*
* Other publisher page URLs.
*/
'instagram_publisher_url' => '', // Instagram Business Page URL (localized).
'linkedin_publisher_url' => '', // LinkedIn Company Page URL (localized).
'medium_publisher_url' => '', // Medium Business Page URL (localized).
'myspace_publisher_url' => '', // Myspace Business Page URL (localized).
'sc_publisher_url' => '', // Soundcloud Business Page URL (localized).
'tiktok_publisher_url' => '', // TikTok Business Page URL (localized).
'tumblr_publisher_url' => '', // Tumblr Business Page URL (localized).
'wikipedia_publisher_url' => '', // Wikipedia Organization Page URL (localized).
'yt_publisher_url' => '', // YouTube Business Channel URL (localized).
/*
* Website verification IDs.
*/
'ahrefs_site_verify' => '', // Ahrefs Website Verification ID.
'baidu_site_verify' => '', // Baidu Website Verification ID.
'fb_site_verify' => '', // Facebook Domain Verification ID.
'g_site_verify' => '', // Google Website Verification ID.
'bing_site_verify' => '', // Microsoft Bing Website Verification ID.
'pin_site_verify' => '', // Pinterest Website Verification ID.
'yandex_site_verify' => '', // Yandex Website Verification ID.
/*
* Enable / disable individual head HTML tags.
*/
'add_link_rel_author' => 0, // Deprecated - no longer used by Google.
'add_link_rel_canonical' => 1,
'add_link_rel_publisher' => 0, // Deprecated - no longer used by Google.
'add_link_rel_shortlink' => 1,
'add_meta_property_fb:admins' => 1,
'add_meta_property_fb:app_id' => 1,
'add_meta_property_al:android:app_name' => 1,
'add_meta_property_al:android:package' => 1,
'add_meta_property_al:android:url' => 1,
'add_meta_property_al:ios:app_name' => 1,
'add_meta_property_al:ios:app_store_id' => 1,
'add_meta_property_al:ios:url' => 1,
'add_meta_property_al:web:url' => 1,
'add_meta_property_al:web:should_fallback' => 1,
'add_meta_property_og:altitude' => 1,
'add_meta_property_og:description' => 1,
'add_meta_property_og:image:secure_url' => 0, // Use og:image instead.
'add_meta_property_og:image:url' => 0, // Use og:image instead.
'add_meta_property_og:image' => 1,
'add_meta_property_og:image:width' => 1,
'add_meta_property_og:image:height' => 1,
'add_meta_property_og:image:alt' => 1,
'add_meta_property_og:latitude' => 1,
'add_meta_property_og:locale' => 1,
'add_meta_property_og:longitude' => 1,
'add_meta_property_og:site_name' => 1,
'add_meta_property_og:title' => 1,
'add_meta_property_og:type' => 1,
'add_meta_property_og:updated_time' => 1,
'add_meta_property_og:url' => 1,
'add_meta_property_og:video:secure_url' => 0, // Use og:video instead.
'add_meta_property_og:video:url' => 0, // Use og:video instead.
'add_meta_property_og:video' => 1,
'add_meta_property_og:video:type' => 1,
'add_meta_property_og:video:width' => 1,
'add_meta_property_og:video:height' => 1,
'add_meta_property_og:video:tag' => 0, // Disabled by default.
'add_meta_property_article:author' => 1,
'add_meta_property_article:publisher' => 1,
'add_meta_property_article:published_time' => 1,
'add_meta_property_article:modified_time' => 1,
'add_meta_property_article:expiration_time' => 1,
'add_meta_property_article:section' => 1,
'add_meta_property_article:tag' => 1,
'add_meta_property_book:author' => 1,
'add_meta_property_book:isbn' => 1,
'add_meta_property_book:release_date' => 1,
'add_meta_property_book:tag' => 1,
'add_meta_property_music:album' => 1,
'add_meta_property_music:album:disc' => 1,
'add_meta_property_music:album:track' => 1,
'add_meta_property_music:creator' => 1,
'add_meta_property_music:duration' => 1,
'add_meta_property_music:musician' => 1,
'add_meta_property_music:release_date' => 1,
'add_meta_property_music:song' => 1,
'add_meta_property_music:song:disc' => 1,
'add_meta_property_music:song:track' => 1,
'add_meta_property_place:location:altitude' => 1,
'add_meta_property_place:location:latitude' => 1,
'add_meta_property_place:location:longitude' => 1,
'add_meta_property_place:street_address' => 1,
'add_meta_property_place:locality' => 1,
'add_meta_property_place:region' => 1,
'add_meta_property_place:postal_code' => 1,
'add_meta_property_place:country_name' => 1,
'add_meta_property_product:age_group' => 1,
'add_meta_property_product:availability' => 1,
'add_meta_property_product:brand' => 1,
'add_meta_property_product:category' => 1, // Product Google Category.
'add_meta_property_product:color' => 1,
'add_meta_property_product:condition' => 1,
'add_meta_property_product:ean' => 1,
'add_meta_property_product:expiration_time' => 1,
'add_meta_property_product:isbn' => 1,
'add_meta_property_product:item_group_id' => 1,
'add_meta_property_product:material' => 1,
'add_meta_property_product:mfr_part_no' => 1,
'add_meta_property_product:offers' => 1, // Internal meta tag.
'add_meta_property_product:variants' => 1, // Internal meta tag.
'add_meta_property_product:original_price:amount' => 1,
'add_meta_property_product:original_price:currency' => 1,
'add_meta_property_product:pattern' => 1,
'add_meta_property_product:pretax_price:amount' => 1,
'add_meta_property_product:pretax_price:currency' => 1,
'add_meta_property_product:price:amount' => 1,
'add_meta_property_product:price:currency' => 1,
'add_meta_property_product:purchase_limit' => 1,
'add_meta_property_product:retailer_item_id' => 1,
'add_meta_property_product:retailer_part_no' => 1,
'add_meta_property_product:sale_price:amount' => 1,
'add_meta_property_product:sale_price:currency' => 1,
'add_meta_property_product:sale_price_dates:start' => 1,
'add_meta_property_product:sale_price_dates:end' => 1,
'add_meta_property_product:shipping_cost:amount' => 1,
'add_meta_property_product:shipping_cost:currency' => 1,
'add_meta_property_product:shipping_weight:value' => 1,
'add_meta_property_product:shipping_weight:units' => 1,
'add_meta_property_product:size' => 1,
'add_meta_property_product:target_gender' => 1,
'add_meta_property_product:upc' => 1,
'add_meta_property_product:weight:value' => 1,
'add_meta_property_product:weight:units' => 1,
'add_meta_name_ahrefs-site-verification' => 0, // Ahrefs Website Verification ID.
'add_meta_name_author' => 1,
'add_meta_name_baidu-site-verification' => 0, // Baidu Website Verification ID.
'add_meta_name_description' => 1,
'add_meta_name_facebook-domain-verification' => 0,
'add_meta_name_generator' => 1,
'add_meta_name_google-site-verification' => 0, // Google Website Verification ID.
'add_meta_name_msvalidate.01' => 0, // Microsoft Bing Website Verification ID.
'add_meta_name_p:domain_verify' => 0, // Pinterest Website Verification ID.
'add_meta_name_robots' => 1,
'add_meta_name_thumbnail' => 1,
'add_meta_name_twitter:card' => 1,
'add_meta_name_twitter:creator' => 1,
'add_meta_name_twitter:domain' => 1,
'add_meta_name_twitter:site' => 1,
'add_meta_name_twitter:title' => 1,
'add_meta_name_twitter:description' => 1,
'add_meta_name_twitter:image' => 1,
'add_meta_name_twitter:image:width' => 1,
'add_meta_name_twitter:image:height' => 1,
'add_meta_name_twitter:image:alt' => 1,
'add_meta_name_twitter:player' => 1,
'add_meta_name_twitter:player:stream' => 1,
'add_meta_name_twitter:player:stream:content_type' => 1,
'add_meta_name_twitter:player:width' => 1,
'add_meta_name_twitter:player:height' => 1,
'add_meta_name_twitter:app:name:iphone' => 1,
'add_meta_name_twitter:app:id:iphone' => 1,
'add_meta_name_twitter:app:url:iphone' => 1,
'add_meta_name_twitter:app:name:ipad' => 1,
'add_meta_name_twitter:app:id:ipad' => 1,
'add_meta_name_twitter:app:url:ipad' => 1,
'add_meta_name_twitter:app:name:googleplay' => 1,
'add_meta_name_twitter:app:id:googleplay' => 1,
'add_meta_name_twitter:app:url:googleplay' => 1,
'add_meta_name_twitter:label1' => 1,
'add_meta_name_twitter:data1' => 1,
'add_meta_name_twitter:label2' => 1,
'add_meta_name_twitter:data2' => 1,
'add_meta_name_yandex-verification' => 0, // Yandex Website Verification ID.
/*
* Advanced Settings > Plugin Admin.
*/
'plugin_clean_on_uninstall' => 0, // Remove Settings on Uninstall.
'plugin_schema_json_min' => 0, // Minimize Schema JSON-LD.
'plugin_load_mofiles' => 0, // Use Plugin MO Translations.
'plugin_debug_html' => 0, // Add Debug Messages to HTML.
'plugin_cache_disable' => 0, // Disable Cache for Debugging.
/*
* Advanced Settings > Integration.
*/
'plugin_title_tag' => 'seo_title', // Webpage Title Tag.
'plugin_filter_content' => 0, // Use Filtered Content.
'plugin_filter_excerpt' => 0, // Use Filtered Excerpt.
'plugin_page_excerpt' => 0, // Enable Excerpt for Pages.
'plugin_page_tags' => 0, // Enable Tags for Pages.
'plugin_new_user_is_person' => 0, // Add Person Role for New Users.
'plugin_inherit_featured' => 1, // Inherit Featured Image.
'plugin_inherit_images' => 1, // Inherit Custom Images.
'plugin_attached_images' => 1, // Consider Attached Images.
'plugin_content_images' => 0, // Consider Content Images.
'plugin_check_img_dims' => 1, // Image Dimension Checks.
'plugin_prevent_thumb_conflicts' => 0, // Prevent Thumbnail Conflicts.
'plugin_upscale_images' => 1, // Upscale Media Library Images.
'plugin_upscale_pct_max' => 20, // Maximum Image Upscale Percent.
/*
* Advanced Settings > Integration > Plugin and Theme Integration.
*/
'plugin_speakable_css_csv' => '', // Speakable CSS Selectors.
'plugin_check_head' => 1, // Check for Duplicate Meta Tags.
'plugin_page_cache_active' => 0, // Cache Plugin or Service is Active.
'plugin_product_include_vat' => 0, // Include VAT in Product Prices.
'plugin_import_aioseop_meta' => 0, // Import All in One SEO Pack Metadata.
'plugin_import_rankmath_meta' => 0, // Import Rank Math SEO Metadata.
'plugin_import_seoframework_meta' => 0, // Import The SEO Framework Metadata.
'plugin_import_wpmetaseo_meta' => 0, // Import WP Meta SEO Metadata.
'plugin_import_wpseo_meta' => 0, // Import Yoast SEO Metadata.
'plugin_import_wpseo_blocks' => 0, // Import Yoast SEO Block Attrs.
/*
* Advanced Settings > Default Text.
*
* See WpssoOptions->get_defaults()
* See WpssoOptions->get_text()
*
* Advanced Settings > Interface.
*/
'plugin_show_opts' => 'basic', // Options to Show by Default.
'plugin_og_types_select_format' => 'name', // Open Graph Type Select Format.
'plugin_schema_types_select_format' => 'name', // Schema Type Select Format.
'plugin_add_toolbar_validate' => 1, // Show Validators Toolbar Menu.
'plugin_add_submenu_essential' => 1,
'plugin_add_submenu_general' => 1,
'plugin_add_submenu_advanced' => 1,
'plugin_add_submenu_licenses' => 1,
'plugin_add_submenu_addons' => 1,
'plugin_add_submenu_tools' => 1,
'plugin_add_submenu_setup' => 1,
'plugin_add_submenu_debug' => 1,
'plugin_add_to_attachment' => 1,
'plugin_add_to_download' => 1, // For Easy Digital Downloads.
'plugin_add_to_page' => 1,
'plugin_add_to_post' => 1,
'plugin_add_to_product' => 1, // For WooCommerce and other e-commerce plugins.
'plugin_add_to_reply' => 0, // For Bbpress
'plugin_add_to_tax_category' => 1,
'plugin_add_to_tax_faq_category' => 1,
'plugin_add_to_tax_link_category' => 1,
'plugin_add_to_tax_post_tag' => 1,
'plugin_add_to_tax_product_brand' => 1, // For WooCommerce Brands.
'plugin_add_to_tax_product_cat' => 1, // For WooCommerce.
'plugin_add_to_tax_product_tag' => 1, // For WooCommerce.
'plugin_add_to_tax_pwb-brand' => 1, // For Perfect WooCommerce Brands Add-on.
'plugin_add_to_tax_tribe_events_cat' => 0, // For The Events Calendar.
'plugin_add_to_tax_yith_product_brand' => 1, // For YITH WooCommerce Brands Add-on.
'plugin_add_to_topic' => 0, // For Bbpress
'plugin_add_to_tribe_events' => 1, // For The Events Calendar.
'plugin_add_to_tribe-ea-record' => 1, // For The Events Calendar.
'plugin_add_to_user_page' => 1,
/*
* Advanced Settings > Interface > WP List Table Columns: Open Graph Description.
*/
'plugin_og_desc_col_attachment' => 0,
'plugin_og_desc_col_download' => 0, // For Easy Digital Downloads.
'plugin_og_desc_col_page' => 0,
'plugin_og_desc_col_post' => 0,
'plugin_og_desc_col_product' => 0, // For WooCommerce.
'plugin_og_desc_col_tax_category' => 0,
'plugin_og_desc_col_tax_faq_category' => 0,
'plugin_og_desc_col_tax_link_category' => 0,
'plugin_og_desc_col_tax_post_tag' => 0,
'plugin_og_desc_col_tax_product_cat' => 0, // For WooCommerce.
'plugin_og_desc_col_tax_product_tag' => 0, // For WooCommerce.
'plugin_og_desc_col_tax_tribe_events_cat' => 0, // For The Events Calendar.
'plugin_og_desc_col_user_page' => 0,
/*
* Advanced Settings > Interface > WP List Table Columns: Open Graph Image.
*/
'plugin_og_img_col_attachment' => 0,
'plugin_og_img_col_download' => 0, // For Easy Digital Downloads.
'plugin_og_img_col_page' => 0,
'plugin_og_img_col_post' => 0,
'plugin_og_img_col_product' => 0, // For WooCommerce.
'plugin_og_img_col_tax_category' => 0,
'plugin_og_img_col_tax_faq_category' => 0,
'plugin_og_img_col_tax_link_category' => 0,
'plugin_og_img_col_tax_post_tag' => 0,
'plugin_og_img_col_tax_product_cat' => 0, // For WooCommerce.
'plugin_og_img_col_tax_product_tag' => 0, // For WooCommerce.
'plugin_og_img_col_tax_tribe_events_cat' => 0, // For The Events Calendar.
'plugin_og_img_col_user_page' => 0,
/*
* Advanced Settings > Interface > WP List Table Columns: Open Graph Locale.
*/
'plugin_schema_lang_col_attachment' => 0,
'plugin_schema_lang_col_download' => 0, // For Easy Digital Downloads.
'plugin_schema_lang_col_page' => 0,
'plugin_schema_lang_col_post' => 0,
'plugin_schema_lang_col_product' => 0, // For WooCommerce.
'plugin_schema_lang_col_tax_category' => 0,
'plugin_schema_lang_col_tax_faq_category' => 0,
'plugin_schema_lang_col_tax_link_category' => 0,
'plugin_schema_lang_col_tax_post_tag' => 0,
'plugin_schema_lang_col_tax_product_cat' => 0, // For WooCommerce.
'plugin_schema_lang_col_tax_product_tag' => 0, // For WooCommerce.
'plugin_schema_lang_col_tax_tribe_events_cat' => 0, // For The Events Calendar.
'plugin_schema_lang_col_user_page' => 0,
/*
* Advanced Settings > Interface > WP List Table Columns: Schema Type.
*/
'plugin_schema_type_name_col_attachment' => 0,
'plugin_schema_type_name_col_download' => 0, // For Easy Digital Downloads.
'plugin_schema_type_name_col_page' => 0,
'plugin_schema_type_name_col_post' => 0,
'plugin_schema_type_name_col_product' => 0, // For WooCommerce.
'plugin_schema_type_name_col_tax_category' => 0,
'plugin_schema_type_name_col_tax_faq_category' => 0,
'plugin_schema_type_name_col_tax_link_category' => 0,
'plugin_schema_type_name_col_tax_post_tag' => 0,
'plugin_schema_type_name_col_tax_product_cat' => 0, // For WooCommerce.
'plugin_schema_type_name_col_tax_product_tag' => 0, // For WooCommerce.
'plugin_schema_type_name_col_tax_tribe_events_cat' => 0, // For The Events Calendar.
'plugin_schema_type_name_col_user_page' => 0,
/*
* Advanced Settings > Service APIs > Media Services.
*/
'plugin_gravatar_image' => 1, // Gravatar is Default Author Image.
'plugin_gravatar_size' => 1200, // Gravatar Image Size.
'plugin_media_facebook' => 1, // Detect Embedded Media: Facebook Videos.
'plugin_media_slideshare' => 1, // Detect Embedded Media: Slideshare Presentations.
'plugin_media_soundcloud' => 1, // Detect Embedded Media: Soundcloud Tracks.
'plugin_media_vimeo' => 1, // Detect Embedded Media: Vimeo Videos.
'plugin_media_wistia' => 1, // Detect Embedded Media: Wistia Videos.
'plugin_media_wpvideoblock' => 1, // Detect Embedded Media: WP Media Library Video Blocks.
'plugin_media_wpvideoshortcode' => 1, // Detect Embedded Media: WP Media Library Video Shortcodes.
'plugin_media_youtube' => 1, // Detect Embedded Media: Youtube Videos and Playlists.
/*
* Advanced Settings > Service APIs > Shortening Services.
*/
'plugin_shortener' => 'none', // URL Shortening Service.
'plugin_min_shorten' => 23, // Minimum URL Length to Shorten.
'plugin_wp_shortlink' => 1, // Use Short URL for WP Shortlink.
'plugin_bitly_access_token' => '', // Bitly Access Token.
'plugin_bitly_domain' => '', // Bitly Short Domain (Optional).
'plugin_bitly_group_name' => '', // Bitly Group Name (Optional).
'plugin_dlmyapp_api_key' => '', // DLMY.App API Key.
'plugin_owly_api_key' => '', // Ow.ly API Key.
'plugin_yourls_api_url' => '', // YOURLS API URL.
'plugin_yourls_username' => '', // YOURLS Username.
'plugin_yourls_password' => '', // YOURLS Password.
'plugin_yourls_token' => '', // YOURLS Token.
/*
* Advanced Settings > Service APIs > Ratings and Reviews.
*/
'plugin_ratings_reviews_svc' => 'none', // Ratings and Reviews Service.
'plugin_ratings_reviews_num_max' => 100, // Maximum Number of Reviews.
'plugin_ratings_reviews_months_max' => 60, // Maximum Age of Reviews.
'plugin_ratings_reviews_for_download' => 1, // For Easy Digital Downloads.
'plugin_ratings_reviews_for_product' => 1, // For WooCommerce.
'plugin_judgeme_shop_domain' => '', // Judge.me Shop Domain.
'plugin_judgeme_shop_token' => '', // Judge.me Shop Token.
'plugin_shopperapproved_site_id' => '', // Shopper Approved Site ID.
'plugin_shopperapproved_token' => '', // Shopper Approved API Token.
'plugin_stamped_store_hash' => '', // Stamped Store Hash.
'plugin_stamped_key_public' => '', // Stamped API Key Public.
/*
* Advanced Settings > Contact Fields > Custom Contacts.
*/
'plugin_cm_behance_name' => 'behance',
'plugin_cm_behance_label' => 'Behance Profile URL',
'plugin_cm_behance_enabled' => 1,
'plugin_cm_fb_name' => 'facebook',
'plugin_cm_fb_label' => 'Facebook User URL',
'plugin_cm_fb_enabled' => 1,
'plugin_cm_instagram_name' => 'instagram',
'plugin_cm_instagram_label' => 'Instagram URL',
'plugin_cm_instagram_enabled' => 1,
'plugin_cm_linkedin_name' => 'linkedin',
'plugin_cm_linkedin_label' => 'LinkedIn URL',
'plugin_cm_linkedin_enabled' => 1,
'plugin_cm_medium_name' => 'medium',
'plugin_cm_medium_label' => 'Medium URL',
'plugin_cm_medium_enabled' => 1,
'plugin_cm_myspace_name' => 'myspace',
'plugin_cm_myspace_label' => 'Myspace URL',
'plugin_cm_myspace_enabled' => 1,
'plugin_cm_pin_name' => 'pinterest',
'plugin_cm_pin_label' => 'Pinterest URL',
'plugin_cm_pin_enabled' => 1,
'plugin_cm_sc_name' => 'soundcloud',
'plugin_cm_sc_label' => 'Soundcloud URL',
'plugin_cm_sc_enabled' => 1,
'plugin_cm_skype_name' => 'skype',
'plugin_cm_skype_label' => 'Skype Username',
'plugin_cm_skype_enabled' => 1,
'plugin_cm_tiktok_name' => 'tiktok',
'plugin_cm_tiktok_label' => 'TikTok URL',
'plugin_cm_tiktok_enabled' => 1,
'plugin_cm_tumblr_name' => 'tumblr',
'plugin_cm_tumblr_label' => 'Tumblr URL',
'plugin_cm_tumblr_enabled' => 1,
'plugin_cm_wikipedia_name' => 'wikipedia',
'plugin_cm_wikipedia_label' => 'Wikipedia Page URL',
'plugin_cm_wikipedia_enabled' => 1,
'plugin_cm_twitter_name' => 'twitter',
'plugin_cm_twitter_label' => 'X (Twitter) @username',
'plugin_cm_twitter_enabled' => 1,
'plugin_cm_yt_name' => 'youtube',
'plugin_cm_yt_label' => 'YouTube Channel URL',
'plugin_cm_yt_enabled' => 1,
/*
* Advanced Settings > Contact Fields > Default Contacts.
*/
'wp_cm_aim_name' => 'aim',
'wp_cm_aim_label' => 'AIM',
'wp_cm_aim_enabled' => 1,
'wp_cm_jabber_name' => 'jabber',
'wp_cm_jabber_label' => 'Google Talk',
'wp_cm_jabber_enabled' => 1,
'wp_cm_yim_name' => 'yim',
'wp_cm_yim_label' => 'Yahoo Messenger',
'wp_cm_yim_enabled' => 1,
/*
* Advanced Settings > About the User.
*/
'plugin_user_about_job_title' => 1, // Job Title.
'plugin_user_about_honorific_prefix' => 1, // Honorific Prefix.
'plugin_user_about_honorific_suffix' => 1, // Honorific Suffix.
'plugin_user_about_additional_name' => 1, // Middle or Additional Name.
'plugin_user_about_award' => 1, // Awards.
/*
* Advanced Settings > Attributes and Metadata > Product Attributes.
*/
'plugin_attr_book_author_name' => '', // Book Author Name.
'plugin_attr_book_isbn' => '', // Book ISBN Attribute.
'plugin_attr_product_adult_type' => 'Adult Type', // Adult Type Attribute.
'plugin_attr_product_adult_type#fr_BE' => 'Type adulte',
'plugin_attr_product_adult_type#fr_CA' => 'Type adulte',
'plugin_attr_product_adult_type#fr_FR' => 'Type adulte',
'plugin_attr_product_age_group' => 'Age Group', // Age Group Attribute.
'plugin_attr_product_age_group#fr_BE' => 'Groupe d\'âge',
'plugin_attr_product_age_group#fr_CA' => 'Groupe d\'âge',
'plugin_attr_product_age_group#fr_FR' => 'Groupe d\'âge',
'plugin_attr_product_brand' => 'Brand', // Brand Attribute.
'plugin_attr_product_brand#fr_BE' => 'Marque',
'plugin_attr_product_brand#fr_CA' => 'Marque',
'plugin_attr_product_brand#fr_FR' => 'Marque',
'plugin_attr_product_color' => 'Color', // Color Attribute.
'plugin_attr_product_color#fr_BE' => 'Couleur',
'plugin_attr_product_color#fr_CA' => 'Couleur',
'plugin_attr_product_color#fr_FR' => 'Couleur',
'plugin_attr_product_condition' => 'Condition', // Condition Attribute.
'plugin_attr_product_condition#fr_BE' => 'État',
'plugin_attr_product_condition#fr_CA' => 'État',
'plugin_attr_product_condition#fr_FR' => 'État',
'plugin_attr_product_energy_efficiency' => 'Energy Rating', // Energy Rating Attribute.
'plugin_attr_product_energy_efficiency#fr_BE' => 'Classe énergétique',
'plugin_attr_product_energy_efficiency#fr_CA' => 'Classe énergétique',
'plugin_attr_product_energy_efficiency#fr_FR' => 'Classe énergétique',
'plugin_attr_product_fluid_volume_value' => '', // Fluid Volume Attribute.
'plugin_attr_product_gtin14' => '', // GTIN-14 Attribute.
'plugin_attr_product_gtin13' => '', // GTIN-13 (EAN) Attribute.
'plugin_attr_product_gtin12' => '', // GTIN-12 (UPC) Attribute.
'plugin_attr_product_gtin8' => '', // GTIN-8 Attribute.
'plugin_attr_product_gtin' => '', // GTIN Attribute.
'plugin_attr_product_height_value' => '', // Net Height Attribute.
'plugin_attr_product_isbn' => '', // ISBN Attribute.
'plugin_attr_product_length_value' => '', // Net Len. / Depth Attribute.
'plugin_attr_product_material' => 'Material', // Material Attribute.
'plugin_attr_product_material#fr_BE' => 'Matériel',
'plugin_attr_product_material#fr_CA' => 'Matériel',
'plugin_attr_product_material#fr_FR' => 'Matériel',
'plugin_attr_product_mfr_part_no' => '', // MPN Attribute.
'plugin_attr_product_pattern' => 'Pattern', // Pattern Attribute.
'plugin_attr_product_pattern#fr_BE' => 'Motif',
'plugin_attr_product_pattern#fr_CA' => 'Motif',
'plugin_attr_product_pattern#fr_FR' => 'Motif',
'plugin_attr_product_size' => 'Size', // Size Attribute.
'plugin_attr_product_size#fr_BE' => 'Taille',
'plugin_attr_product_size#fr_CA' => 'Taille',
'plugin_attr_product_size#fr_FR' => 'Taille',
'plugin_attr_product_size_group' => 'Size Group', // Size Group Attribute.
'plugin_attr_product_size_group#fr_BE' => 'Groupe de taille',
'plugin_attr_product_size_group#fr_CA' => 'Groupe de taille',
'plugin_attr_product_size_group#fr_FR' => 'Groupe de taille',
'plugin_attr_product_size_system' => 'Size System', // Size System Attribute.
'plugin_attr_product_size_system#fr_BE' => 'Système de taille',
'plugin_attr_product_size_system#fr_CA' => 'Système de taille',
'plugin_attr_product_size_system#fr_FR' => 'Système de taille',
'plugin_attr_product_target_gender' => 'Gender', // Target Gender Attribute.
'plugin_attr_product_target_gender#fr_BE' => 'Sexe',
'plugin_attr_product_target_gender#fr_CA' => 'Sexe',
'plugin_attr_product_target_gender#fr_FR' => 'Sexe',
'plugin_attr_product_weight_value' => '', // Net Weight Attribute.
'plugin_attr_product_width_value' => '', // Net Width Attribute.
/*
* Advanced Settings > Attributes and Metadata > Custom Fields.
*/
'plugin_cf_addl_type_urls' => '', // Microdata Type URLs Custom Field.
'plugin_cf_book_author_name' => '', // Book Author Name Custom Field.
'plugin_cf_book_isbn' => '', // Book ISBN Custom Field.
'plugin_cf_img_url' => '', // Image URL Custom Field.
'plugin_cf_product_adult_type' => '', // Product Adult Type Custom Field.
'plugin_cf_product_age_group' => '', // Product Age Group Custom Field.
'plugin_cf_product_avail' => '', // Product Availability Custom Field.
'plugin_cf_product_brand' => '', // Product Brand Custom Field.
'plugin_cf_product_category' => '', // Product Google Cat. ID Custom Field.
'plugin_cf_product_color' => '', // Product Color Custom Field.
'plugin_cf_product_condition' => '', // Product Condition Custom Field.
'plugin_cf_product_currency' => '', // Product Currency Custom Field.
'plugin_cf_product_energy_efficiency' => '', // Product Energy Rating Custom Field.
'plugin_cf_product_fluid_volume_value' => '', // Product Fluid Volume Custom Field.
'plugin_cf_product_gtin14' => '', // Product GTIN-14 Custom Field.
'plugin_cf_product_gtin13' => '', // Product GTIN-13 (EAN) Custom Field.
'plugin_cf_product_gtin12' => '', // Product GTIN-12 (UPC) Custom Field.
'plugin_cf_product_gtin8' => '', // Product GTIN-8 Custom Field.
'plugin_cf_product_gtin' => '_global_unique_id', // Product GTIN Custom Field.
'plugin_cf_product_isbn' => '', // Product ISBN Custom Field.
'plugin_cf_product_height_value' => '', // Product Net Height Custom Field.
'plugin_cf_product_length_value' => '', // Product Net Len. / Depth Custom Field.
'plugin_cf_product_material' => '', // Product Material Custom Field.
'plugin_cf_product_mfr_part_no' => '', // Product MPN Custom Field.
'plugin_cf_product_min_advert_price' => '', // Product Min Advert Price Custom Field.
'plugin_cf_product_pattern' => '', // Product Pattern Custom Field.
'plugin_cf_product_price' => '', // Product Price Custom Field.
'plugin_cf_product_price_type' => '', // Product Price Type Custom Field.
'plugin_cf_product_retailer_part_no' => '', // Product SKU Custom Field.
'plugin_cf_product_shipping_height_value' => '', // Product Shipping Height Custom Field.
'plugin_cf_product_shipping_length_value' => '', // Product Shipping Length Custom Field.
'plugin_cf_product_shipping_weight_value' => '', // Product Shipping Weight Custom Field.
'plugin_cf_product_shipping_width_value' => '', // Product Shipping Width Custom Field.
'plugin_cf_product_size' => '', // Product Size Custom Field.
'plugin_cf_product_size_group' => '', // Product Size Group Custom Field.
'plugin_cf_product_size_system' => '', // Product Size System Custom Field.
'plugin_cf_product_target_gender' => '', // Product Target Gender Custom Field.
'plugin_cf_product_weight_value' => '', // Product Net Weight Custom Field.
'plugin_cf_product_width_value' => '', // Product Net Width Custom Field.
'plugin_cf_review_item_name' => '', // Review Subject Name Custom Field.
'plugin_cf_review_item_desc' => '', // Review Subject Desc Custom Field.
'plugin_cf_review_rating' => '', // Review Rating Custom Field.
'plugin_cf_review_rating_alt_name' => '', // Review Rating Alt Name Custom Field.
'plugin_cf_sameas_urls' => '', // Same-As URLs Custom Field.
'plugin_cf_vid_embed' => '', // Video Embed HTML Custom Field.
'plugin_cf_vid_url' => '', // Video URL Custom Field.
/*
* Premium Licenses.
*/
'plugin_wpsso_tid' => '',
), // End of 'defaults' array.
/*
* Multisite options.
*
* Automatically includes all advanced plugin options.
*
* See the WpssoOptions->get_site_defaults() method.
*/
'site_defaults' => array(
'checksum' => '', // Checksum of plugin versions.
'opt_checksum' => '', // Checksum of option versions.
'opt_versions' => array(),
),
/*
* Contact method and social options prefix.
*
* The options prefix is used for contact method options (for example, 'plugin_cm_fb_enabled') and
* social sharing buttons options (for example, 'fb_utm_source').
*/
'cm_prefix' => array(
'behance' => 'behance',
'email' => 'email',
'facebook' => 'fb',
'twitter' => 'twitter',
'instagram' => 'instagram',
'linkedin' => 'linkedin',
'medium' => 'medium',
'myspace' => 'myspace',
'pinterest' => 'pin',
'pocket' => 'pocket',
'buffer' => 'buffer',
'reddit' => 'reddit',
'managewp' => 'managewp',
'soundcloud' => 'sc',
'tiktok' => 'tiktok',
'tumblr' => 'tumblr',
'skype' => 'skype',
'vk' => 'vk',
'whatsapp' => 'wa',
'wikipedia' => 'wikipedia',
'youtube' => 'yt',
),
/*
* WpssoConfig::$cf[ 'opt' ][ 'attr_md_index' ]
*
* Provides a key index for product attributes to meta data options.
*/
'attr_md_index' => array(
'plugin_attr_book_author_name' => 'schema_book_author_name', // Book Author Name (note schema prefix).
'plugin_attr_book_isbn' => 'schema_book_isbn', // Book ISBN (note schema prefix).
'plugin_attr_product_adult_type' => 'product_adult_type',
'plugin_attr_product_age_group' => 'product_age_group',
'plugin_attr_product_brand' => 'product_brand',
'plugin_attr_product_color' => 'product_color',
'plugin_attr_product_condition' => 'product_condition',
'plugin_attr_product_energy_efficiency' => 'product_energy_efficiency',
'plugin_attr_product_fluid_volume_value' => 'product_fluid_volume_value',
'plugin_attr_product_gtin14' => 'product_gtin14',
'plugin_attr_product_gtin13' => 'product_gtin13',
'plugin_attr_product_gtin12' => 'product_gtin12',
'plugin_attr_product_gtin8' => 'product_gtin8',
'plugin_attr_product_gtin' => 'product_gtin',
'plugin_attr_product_height_value' => 'product_height_value',
'plugin_attr_product_isbn' => 'product_isbn',
'plugin_attr_product_length_value' => 'product_length_value',
'plugin_attr_product_material' => 'product_material',
'plugin_attr_product_mfr_part_no' => 'product_mfr_part_no',
'plugin_attr_product_pattern' => 'product_pattern',
'plugin_attr_product_size' => 'product_size',
'plugin_attr_product_size_group' => 'product_size_group',
'plugin_attr_product_size_system' => 'product_size_system',
'plugin_attr_product_target_gender' => 'product_target_gender',
'plugin_attr_product_weight_value' => 'product_weight_value',
'plugin_attr_product_width_value' => 'product_width_value',
),
/*
* WpssoConfig::$cf[ 'opt' ][ 'cf_md_index' ]
*
* Provides a key index for custom fields to meta data options.
*/
'cf_md_index' => array(
'plugin_cf_addl_type_urls' => 'schema_addl_type_url', // Microdata Type URLs Custom Field.
'plugin_cf_book_author_name' => 'schema_book_author_name', // Book Author Name (note schema prefix).
'plugin_cf_book_isbn' => 'schema_book_isbn', // Book ISBN (note schema prefix).
'plugin_cf_img_url' => 'og_img_url',
'plugin_cf_product_adult_type' => 'product_adult_type',
'plugin_cf_product_age_group' => 'product_age_group',
'plugin_cf_product_avail' => 'product_avail',
'plugin_cf_product_brand' => 'product_brand', // Product Brand Custom Field.
'plugin_cf_product_category' => 'product_category', // Product Google Category Custom Field.
'plugin_cf_product_color' => 'product_color',
'plugin_cf_product_condition' => 'product_condition', // Product Condition Custom Field.
'plugin_cf_product_currency' => 'product_currency',
'plugin_cf_product_energy_efficiency' => 'product_energy_efficiency', // Product Energy Rating Custom Field.
'plugin_cf_product_fluid_volume_value' => 'product_fluid_volume_value', // Product Fluid Volume Custom Field.
'plugin_cf_product_gtin14' => 'product_gtin14',
'plugin_cf_product_gtin13' => 'product_gtin13',
'plugin_cf_product_gtin12' => 'product_gtin12',
'plugin_cf_product_gtin8' => 'product_gtin8',
'plugin_cf_product_gtin' => 'product_gtin',
'plugin_cf_product_height_value' => 'product_height_value', // Product Net Height Custom Field.
'plugin_cf_product_isbn' => 'product_isbn',
'plugin_cf_product_length_value' => 'product_length_value', // Product Net Len. / Depth Custom Field.
'plugin_cf_product_material' => 'product_material',
'plugin_cf_product_mfr_part_no' => 'product_mfr_part_no',
'plugin_cf_product_min_advert_price' => 'product_min_advert_price',
'plugin_cf_product_pattern' => 'product_pattern',
'plugin_cf_product_price' => 'product_price',
'plugin_cf_product_price_type' => 'product_price_type',
'plugin_cf_product_retailer_part_no' => 'product_retailer_part_no',
'plugin_cf_product_shipping_height_value' => 'product_shipping_height_value', // Product Shipping Height Custom Field.
'plugin_cf_product_shipping_length_value' => 'product_shipping_length_value', // Product Shipping Length Custom Field.
'plugin_cf_product_shipping_weight_value' => 'product_shipping_weight_value', // Product Shipping Weight Custom Field.
'plugin_cf_product_shipping_width_value' => 'product_shipping_width_value', // Product Shipping Width Custom Field.
'plugin_cf_product_size' => 'product_size',
'plugin_cf_product_size_group' => 'product_size_group',
'plugin_cf_product_size_system' => 'product_size_system',
'plugin_cf_product_target_gender' => 'product_target_gender',
'plugin_cf_product_weight_value' => 'product_weight_value', // Product Net Weight Custom Field.
'plugin_cf_product_width_value' => 'product_width_value', // Product Net Width Custom Field.
'plugin_cf_review_item_name' => 'schema_review_item_name', // Review Subject Name Custom Field.
'plugin_cf_review_item_desc' => 'schema_review_item_desc', // Review Subject Desc Custom Field.
'plugin_cf_review_rating' => 'schema_review_rating', // Review Rating Custom Field.
'plugin_cf_review_rating_alt_name' => 'schema_review_rating_alt_name', // Review Rating Alt Name Custom Field.
'plugin_cf_sameas_urls' => 'schema_sameas_url',
'plugin_cf_vid_embed' => 'og_vid_embed',
'plugin_cf_vid_url' => 'og_vid_url',
),
/*
* WpssoConfig::$cf[ 'opt' ][ 'md_keys_multi' ]
*
* Provides information to re-number multiple input/textarea fields and read/split custom field
* values into numbered options.
*/
'md_keys_multi' => array(
'contact_sameas_url' => true,
'contact_service_area_id' => true,
'org_award' => true, // Organization Awards.
'org_contact_id' => true, // Organization Contact Points.
'org_offer_catalog' => array( // Offer Catalog Name.
'org_offer_catalog_text', // Offer Catalog Description.
'org_offer_catalog_url', // Offer Catalog URL.
),
'org_service_area_id' => true,
'place_sameas_url' => true,
'product_award' => true, // Product Awards.
'product_size_group' => true, // Product Size Group.
'schema_addl_type_url' => true, // Microdata Type URLs.
'schema_award' => true, // Creative Work Awards.
'schema_book_offer' => array(
'schema_book_offer_name',
'schema_book_offer_price',
'schema_book_offer_currency',
'schema_book_offer_avail',
),
'schema_citation' => true, // Reference Citations.
'schema_event_offer' => array(
'schema_event_offer_name',
'schema_event_offer_price',
'schema_event_offer_currency',
'schema_event_offer_avail',
),
'schema_howto_step' => array( // How-To Name.
'schema_howto_step_section', // How-To Step or Section.
'schema_howto_step_text', // How-To Step Description.
'schema_howto_step_anchor_id', // How-To Step Anchor ID.
'schema_howto_step_img_id', // How-To Step Image ID.
'schema_howto_step_img_id_lib',
),
'schema_howto_supply' => true, // How-To Supplies.
'schema_howto_tool' => true, // How-To Tools.
'schema_ispartof_url' => true, // Is Part of URLs.
'schema_movie_actor_person_name' => true,
'schema_movie_director_person_name' => true,
'schema_recipe_ingredient' => true, // Recipe Ingredients.
'schema_recipe_instruction' => array( // Recipe Instructions.
'schema_recipe_instruction_section', // Recipe Instruction or Section.
'schema_recipe_instruction_text', // Recipe Instruction Description.
'schema_recipe_instruction_anchor_id', // Recipe Instruction Anchor ID.
'schema_recipe_instruction_img_id', // Recipe Instruction Image ID.
'schema_recipe_instruction_img_id_lib',
),
'schema_review_item_cw_movie_actor_person_name' => true,
'schema_review_item_cw_movie_director_person_name' => true,
'schema_review_item_product_offer' => array(
'schema_review_item_product_offer_name',
'schema_review_item_product_offer_price',
'schema_review_item_product_offer_currency',
'schema_review_item_product_offer_avail',
),
'schema_review_item_software_app_offer' => array(
'schema_review_item_software_app_offer_name',
'schema_review_item_software_app_offer_price',
'schema_review_item_software_app_offer_currency',
'schema_review_item_software_app_offer_avail',
),
'schema_sameas_url' => true, // Same-As URLs.
'schema_service_award' => true, // Service Awards.
'schema_service_offer' => array(
'schema_service_offer_name',
'schema_service_offer_price',
'schema_service_offer_currency',
'schema_service_offer_avail',
),
'schema_service_offer_catalog' => array( // Offer Catalog Name.
'schema_service_offer_catalog_text', // Offer Catalog Description.
'schema_service_offer_catalog_url', // Offer Catalog URL.
),
'schema_service_area_id' => true,
'schema_webpage_reviewed_by_org_id' => true,
'schema_webpage_reviewed_by_person_id' => true,
),
/*
* Fallback order for custom Document SSO metadata keys.
*/
'md_keys_fallback' => array(
/*
* SEO and Schema metadata keys.
*/
'seo_title' => array( 'seo_title' ),
'seo_desc' => array( 'seo_desc' ),
'schema_title' => array( 'schema_title', 'seo_title' ),
'schema_title_alt' => array( 'schema_title_alt', 'schema_title', 'seo_title' ),
'schema_title_bc' => array( 'schema_title_bc', 'schema_title_alt', 'schema_title', 'seo_title' ),
'schema_headline' => array( 'schema_headline', 'schema_title', 'seo_title' ),
'schema_job_title' => array( 'schema_job_title', 'schema_title', 'seo_title' ),
'schema_desc' => array( 'schema_desc', 'seo_desc' ),
'schema_text' => array( 'schema_text' ),
/*
* Open Graph and Social metadata keys.
*/
'og_title' => array( 'og_title', 'seo_title' ),
'og_desc' => array( 'og_desc', 'seo_desc' ),
'og_caption' => array( 'og_caption' ),
'tc_title' => array( 'tc_title', 'og_title', 'seo_title' ),
'tc_desc' => array( 'tc_desc', 'og_desc', 'seo_desc' ),
'pin_img_desc' => array( 'pin_img_desc', 'og_desc', 'seo_desc' ),
),
/*
* Additional fields for the user profile About Yourself / About the user sections.
*/
'user_about' => array(
'job_title' => 'Job Title',
'honorific_prefix' => 'Honorific Prefix',
'honorific_suffix' => 'Honorific Suffix',
'additional_name' => 'Middle or Additional Name',
'award' => 'Awards',
),
'site_verify_meta_names' => array(
'ahrefs_site_verify' => 'ahrefs-site-verification', // Ahrefs Website Verification ID.
'baidu_site_verify' => 'baidu-site-verification', // Baidu Website Verification ID.
'fb_site_verify' => 'facebook-domain-verification', // Facebook Domain Verification ID.
'g_site_verify' => 'google-site-verification', // Google Website Verification ID.
'bing_site_verify' => 'msvalidate.01', // Microsoft Bing Website Verification ID.
'pin_site_verify' => 'p:domain_verify', // Pinterest Website Verification ID.
'yandex_site_verify' => 'yandex-verification', // Yandex Website Verification ID.
),
), // End of 'opt' array.
/*
* Update manager.
*/
'um' => array(
'min_version' => '7.2.0', // Released on 2024/09/18.
'rec_version' => '7.3.0', // Released on 2025/10/13.
'version_filter' => array(
'dev' => 'Development and Up',
'alpha' => 'Alpha and Up',
'beta' => 'Beta and Up',
'rc' => 'Release Candidate and Up',
'stable' => 'Stable / Production',
),
'version_regex' => array(
'dev' => '/^[0-9][0-9\.\-]+((dev|a|alpha|b|beta|rc)[0-9\.\-]+)?$/',
'alpha' => '/^[0-9][0-9\.\-]+((a|alpha|b|beta|rc)[0-9\.\-]+)?$/',
'beta' => '/^[0-9][0-9\.\-]+((b|beta|rc)[0-9\.\-]+)?$/',
'rc' => '/^[0-9][0-9\.\-]+((rc)[0-9\.\-]+)?$/',
'stable' => '/^[0-9][0-9\.\-]+$/',
),
), // End of 'um' array.
/*
* PHP.
*/
'php' => array(
'label' => 'PHP',
'min_version' => '7.4.33', // Hard limit - deactivate the plugin when activating.
'rec_version' => '7.4.33', // Soft limit - issue warning if lower version found.
'version_url' => 'https://www.php.net/supported-versions.php',
'extensions' => array(
'curl' => array( // PHP extension name.
'label' => 'Client URL Library (cURL)',
'url' => 'https://www.php.net/manual/en/book.curl.php',
),
'dom' => array( // PHP extension name.
'label' => 'Document Object Model',
'url' => 'https://www.php.net/manual/en/book.dom.php',
'classes' => array( // Extra checks to make sure the PHP extension is complete.
'DOMDocument',
),
),
'gd' => array( // PHP extension name.
'label' => 'Image Processing (GD)',
'url' => 'https://www.php.net/manual/en/book.image.php',
'wp_image_editor' => array(
'class' => 'WP_Image_Editor_GD',
'url' => 'https://developer.wordpress.org/reference/classes/wp_image_editor_gd/',
),
),
'json' => array( // PHP extension name.
'label' => 'JavaScript Object Notation (JSON)',
'url' => 'https://www.php.net/manual/en/book.json.php',
),
'libxml' => array( // PHP extension name.
'label' => 'libxml',
'url' => 'https://www.php.net/manual/en/book.libxml.php',
'functions' => array( // Extra checks to make sure the PHP extension is complete.
'libxml_use_internal_errors',
),
),
'mbstring' => array( // PHP extension name.
'label' => 'Multibyte String',
'url' => 'https://www.php.net/manual/en/book.mbstring.php',
'functions' => array( // Extra checks to make sure the PHP extension is complete.
'mb_convert_encoding',
'mb_decode_numericentity',
'mb_detect_encoding',
'mb_strlen',
'mb_strtolower',
'mb_substr',
),
),
'simplexml' => array( // PHP extension name.
'label' => 'SimpleXML',
'url' => 'https://www.php.net/manual/en/book.simplexml.php',
'functions' => array( // Extra checks to make sure the PHP extension is complete.
'simplexml_load_string',
),
),
'xml' => array( // PHP extension name.
'label' => 'XML Parser',
'url' => 'https://www.php.net/manual/en/book.xml.php',
'functions' => array( // Extra checks to make sure the PHP extension is complete.
'utf8_encode',
),
),
),
), // End of 'php' array.
/*
* WordPress.
*/
'wp' => array(
'label' => 'WordPress',
'min_version' => '5.9', // Hard limit - deactivate the plugin when activating.
'rec_version' => '6.6.2', // Soft limit - issue warning if lower version found.
'version_url' => 'https://codex.wordpress.org/Supported_Versions?nocache=1',
'tb_iframe' => array( // Thickbox iframe.
'width' => 772, // Url query argument.
'height' => 550, // Url query argument.
),
'cm_names' => array(
'aim' => 'AIM',
'jabber' => 'Google Talk',
'yim' => 'Yahoo Messenger',
),
'admin' => array(
'dashboard' => array(
'page' => 'index.php',
'cap' => 'manage_options',
),
'plugins' => array(
'page' => 'plugins.php',
'cap' => 'install_plugins',
),
'profile' => array(
'page' => 'profile.php',
'cap' => 'publish_posts',
),
'settings' => array(
'page' => 'options-general.php',
'cap' => 'manage_options',
),
'sitesubmenu' => array(
'page' => 'admin.php',
'cap' => 'manage_options',
),
'submenu' => array(
'page' => 'admin.php',
'cap' => 'manage_options',
),
'tools' => array(
'page' => 'tools.php',
'cap' => 'manage_options',
),
'users' => array(
'page' => 'users.php',
'cap' => 'list_users',
'sub' => array(
'add-person' => array(
'cap' => 'create_users',
'pos' => 2,
),
),
),
),
'roles' => array(
'all' => array(
'administrator',
'editor',
'author',
'contributor',
'subscriber',
),
'creator' => array( // Users that can create content.
'administrator',
'editor',
'author',
'contributor',
),
'publisher' => array( // Users that can publish content.
'administrator',
'editor',
'author',
),
'owner' => array( // Users that can manage content (edit, publish, delete, etc.).
'administrator',
'editor',
),
'admin' => array(
'administrator',
),
'person' => array( // Users for Schema Person select.
'person',
),
),
/*
* See WpssoAdmin->get_ext_file_content().
*/
'cache' => array(
'file' => array(
/*
* See WpssoAdmin->get_ext_file_content().
*/
'wpsso_c_' => array(
'label' => 'File Content',
'value' => DAY_IN_SECONDS,
'filter' => 'wpsso_cache_expire_file_content',
),
/*
* See WpssoProMediaYoutube->filter_video_details().
*/
'wpsso_y_' => array(
'label' => 'YouTube Video Details',
'value' => WEEK_IN_SECONDS,
'filter' => 'wpsso_cache_expire_youtube_video_details',
),
'wpsso_' => array(
'label' => 'All Files',
),
),
'transient' => array(
'wpsso_!_' => array(
),
/*
* See WpssoProMediaFacebook->filter_video_details().
* See WpssoProMediaSlideshare->filter_video_details().
* See WpssoProMediaVimeo->filter_video_details().
* See WpssoProMediaWistia->filter_video_details().
* See WpssoProReviewJudgeme->filter_og().
* See WpssoProReviewShopperApproved->filter_og().
* See WpssoProReviewStamped->filter_og().
*/
'wpsso_a_' => array(
'label' => 'API Response Info',
'value' => DAY_IN_SECONDS,
'filter' => 'wpsso_cache_expire_api_response',
),
/*
* See WpssoAdmin->settings_saved_notice().
* See WpssoHead->clear_head_array().
* See WpssoHead->get_head_array().
*/
'wpsso_h_' => array(
'label' => 'Document Markup',
'value' => WEEK_IN_SECONDS,
'filter' => 'wpsso_cache_expire_head_markup',
/*
* If the $mod array condition is true, then use the associated value.
*/
'conditional_values' => array(
'is_404' => 0,
'is_attachment' => 0,
'is_date' => 0,
'is_search' => 0,
),
),
'wpsso_i_' => array(
'label' => 'Image URL Info',
'value' => DAY_IN_SECONDS,
'filter' => 'wpsso_cache_expire_image_info',
),
/*
* See WpssoAdmin->get_readme_info().
*/
'wpsso_r_' => array(
'label' => 'Plugin Readme Info',
'value' => DAY_IN_SECONDS,
'filter' => 'wpsso_cache_expire_readme_info',
),
'wpsso_s_' => array(
'label' => 'Short URLs Info',
'value' => 3 * MONTH_IN_SECONDS,
'filter' => 'wpsso_cache_expire_short_url',
),
/*
* See WpssoSchema->get_schema_types().
* See WpssoSchema->get_schema_type_child_family().
* See WpssoSchema->get_schema_type_children().
* See WpssoSchema->get_schema_type_row_class().
*/
'wpsso_t_' => array(
'label' => 'Schema Types Info',
'value' => WEEK_IN_SECONDS,
'filter' => 'wpsso_cache_expire_schema_types',
),
'wpsso_' => array(
'label' => 'All Transients',
),
),
'wp_cache' => array(
/*
* See WpssoPage->get_the_content().
*/
'wpsso_c_' => array(
'label' => 'Filtered Content',
'value' => HOUR_IN_SECONDS,
'filter' => 'wpsso_cache_expire_the_content',
),
'wpsso_' => array(
'label' => 'All WP Objects',
),
),
), // End of 'cache' array.
), // End of 'wp' array.
/*
* Used by WpssoScript->admin_enqueue_scripts().
*
* See http://qtip2.com/download.
*/
'jquery-qtip' => array(
'label' => 'jQuery qTip',
'version' => '3.0.3',
),
/*
* Required for the datepicker popup.
*
* See https://developers.google.com/speed/libraries/.
*
* See WpssoStyle->admin_enqueue_styles().
*/
'jquery-ui' => array(
'label' => 'jQuery UI',
'version' => '1.13.3',
),
'menu' => array(
'title' => 'SSO - Social and Search Optimization', // Menu title.
'icon-font' => 'WpssoIcons', // Icon font family.
'icon-code' => '\e838', // Icon CSS code, .icon-orange-6.
'dashicons' => array(
'add-person' => 'admin-users',
'addons' => 'admin-plugins',
'advanced' => 'superhero',
'dashboard' => 'dashboard',
'essential' => 'star-filled',
'general' => 'admin-settings',
'licenses' => 'admin-network',
'setup' => 'welcome-learn-more',
'debug' => 'code-standards',
'site-addons' => 'admin-plugins',
'site-licenses' => 'admin-network',
'site-setup' => 'welcome-learn-more',
'site-debug' => 'code-standards',
'tools' => 'admin-tools',
'your-sso' => 'id-alt',
'*' => 'admin-generic', // Default icon.
),
'must_load' => array( // Settings pages that cannot be disabled.
'general' => true,
'advanced' => true,
'licenses' => true,
'site-advanced' => true,
'site-licenses' => true,
),
),
'notice' => array(
'title' => 'SSO', // Notice title.
),
'meta' => array( // Post, term, user add_meta_box() settings.
'id' => 'sso',
'title' => 'Document SSO',
),
'edit' => array( // Post, term, user lists.
/*
* Array is defined by the preferred table column order.
*/
'columns' => array(
'schema_type_name' => array(
'header' => 'SSO Schema', // First column.
'mt_name' => 'schema:type:name',
'meta_key' => '_wpsso_head_info_schema_type_name',
'orderby' => 'meta_value',
'width' => '10em',
'height' => 'auto',
'def_val' => 'none',
),
'schema_lang' => array(
'header' => 'SSO Lang', // Second column.
'mt_name' => 'schema:language',
'meta_key' => '_wpsso_head_info_schema_lang',
'orderby' => 'meta_value',
'width' => '8em',
'height' => 'auto',
'def_val' => 'none',
),
'og_img' => array(
'header' => 'SSO Image', // Third column.
'mt_name' => 'og:image',
'meta_key' => '_wpsso_head_info_og_img_thumb',
'orderby' => false, // Do not offer column sorting.
'width' => '75px',
'height' => '40px',
'def_val' => 'none',
),
'og_desc' => array(
'header' => 'SSO Desc', // Fourth column.
'mt_name' => 'og:description',
'meta_key' => '_wpsso_head_info_og_desc',
'orderby' => true,
'width' => '200px',
'height' => 'auto',
'def_val' => 'none',
),
'og_type' => array( // Open Graph Type ID.
'mt_name' => 'og:type',
'meta_key' => '_wpsso_head_info_og_type',
'def_val' => 'none',
),
'schema_type' => array( // Schema Type ID.
'mt_name' => 'schema:type:id',
'meta_key' => '_wpsso_head_info_schema_type',
'def_val' => 'none',
),
'schema_review_rating' => array(
'mt_name' => 'schema:review:rating',
'meta_key' => '_wpsso_head_info_schema_review_rating',
'def_val' => '0.0', // The review rating option value type is 'pos_fnum1'.
),
'is_noindex' => array(
'mt_name' => 'is_noindex',
'meta_key' => '_wpsso_head_info_is_noindex',
'def_val' => '0',
),
'is_redirect' => array(
'mt_name' => 'is_redirect',
'meta_key' => '_wpsso_head_info_is_redirect',
'def_val' => '0',
),
),
),
'form' => array(
'max_hashtags' => 5,
'max_media_items' => 5,
'tooltip_class' => 'sucom-tooltip',
'yes_no' => array(
1 => 'Yes',
0 => 'No',
),
'true_false' => array(
1 => 'True',
0 => 'False',
),
'on_off' => array(
1 => 'On',
0 => 'Off',
),
'weekdays' => array(
'sunday' => 'Sunday',
'monday' => 'Monday',
'tuesday' => 'Tuesday',
'wednesday' => 'Wednesday',
'thursday' => 'Thursday',
'friday' => 'Friday',
'saturday' => 'Saturday',
'publicholidays' => 'Public Holidays',
),
'salary_period' => array(
'hour' => 'Hour',
'day' => 'Day',
'week' => 'Week',
'month' => 'Month',
'year' => 'Year',
),
'notice_timeouts' => array(
-1 => 'Do Not Auto Show',
0 => 'Auto Show (No Timeout)',
1000 => 'Auto Show for 1s',
2000 => 'Auto Show for 2s',
3000 => 'Auto Show for 3s',
4000 => 'Auto Show for 4s',
5000 => 'Auto Show for 5s',
6000 => 'Auto Show for 6s',
7000 => 'Auto Show for 7s',
8000 => 'Auto Show for 8s',
5000 => 'Auto Show for 9s',
),
'qualifiers' => array(
'(default)',
'(no images)',
'(no videos)',
'(settings value)',
'(option disabled)',
'%1$s (default is %2$s)',
'default is %s',
'checked',
'unchecked',
'Enabled',
'Disabled',
'enabled',
'disabled',
'at',
'tz',
/*
* See SucomForm->get_checklist_post_types().
* See SucomForm->get_checklist_post_tax_user_values().
*/
'Post Type',
'Taxonomy',
'User Profiles',
),
'document_title' => array( // Webpage Title Tag.
'wp_title' => '[WordPress Title]',
'seo_title' => 'SEO Title Tag',
'schema_title' => 'Schema Name',
'schema_title_alt' => 'Schema Alternate Name',
),
'show_options' => array(
'basic' => 'Basic Options',
'all' => 'All Options',
),
'site_option_use' => array( // Site Use.
'default' => 'First Activation',
'empty' => 'If Option Is Empty',
'force' => 'Always Force Value',
),
'script_locations' => array(
'none' => '[None]',
'header' => 'Header',
'footer' => 'Footer',
),
'caption_types' => array(
'none' => '[None]',
'title' => 'Title Only',
'excerpt' => 'Excerpt Only',
'both' => 'Title and Excerpt',
),
'author_types' => array(
'none' => '[None]',
'organization' => 'Organization',
'person' => 'Person',
),
'publisher_types' => array(
'organization' => 'Organization',
'person' => 'Person',
),
'user_name_fields' => array(
'none' => '[None]',
'fullname' => 'First and Last Names',
'display_name' => 'Display Name',
'nickname' => 'Nickname',
),
'addr_select' => array(
'none' => '[None]',
'custom' => '[Custom Address]',
'new' => '[New Address]',
),
'org_select' => array(
'none' => '[None]',
'new' => '[New Organization]',
'site' => '[Site Organization]',
),
'og_schema_types_select_format' => array(
'id' => 'ID',
'id_url' => 'ID | Host/Name',
'id_name' => 'ID | Name',
'name_id' => 'Name [ID]',
'name' => 'Name',
),
/*
* Image preferred cropping.
*/
'position_crop_x' => array(
'left' => 'Left',
'center' => 'Center',
'right' => 'Right',
),
'position_crop_y' => array(
'top' => 'Top',
'center' => 'Center',
'bottom' => 'Bottom',
),
/*
* Robots meta.
*
* See https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag#max-image-preview.
*/
'robots_max_image_preview' => array(
'none' => '[None]',
'standard' => 'Standard',
'large' => 'Large',
),
/*
* Breadcrumbs settings.
*/
'breadcrumbs_for_posts' => array( // Breadcrumbs by Post Type.
'none' => '[No Breadcrumbs]',
'categories' => 'Home Page(s) and Categories',
'ancestors' => 'Home Page(s) and Parents',
'primary_cat' => 'Home Page(s) and Primary Category',
),
'breadcrumbs_for_terms' => array( // Breadcrumbs by Taxonomy.
'none' => '[No Breadcrumbs]',
'ancestors' => 'Home Page(s) and Parents',
),
/*
* Shortening service.
*/
'shorteners' => array(
'none' => '[None]',
'bitly' => 'Bitly', // Requires lib/pro/com/bitly.php.
'dlmyapp' => 'DLMY.App', // Requires lib/pro/ext/dlmy.php.
'owly' => 'Ow.ly', // Requires lib/pro/ext/owly.php.
'tinyurl' => 'TinyURL', // Requires lib/pro/ext/tinyurl.php.
'yourls' => 'YOURLS', // Requires lib/pro/ext/yourls.php.
),
/*
* Ratings and reviews services.
*/
'ratings_reviews' => array(
'none' => '[None]',
'judgeme' => 'Judge.me',
'shopperapproved' => 'Shopper Approved',
'stamped' => 'Stamped.io',
),
/*
* Social account keys and labels for Organization SameAs.
*/
'social_accounts' => array(
'behance_publisher_url' => 'Behance Business Profile URL',
'fb_publisher_url' => 'Facebook Business Page URL',
'instagram_publisher_url' => 'Instagram Business Profile URL',
'linkedin_publisher_url' => 'LinkedIn Business Page URL',
'medium_publisher_url' => 'Medium Business Page URL',
'myspace_publisher_url' => 'Myspace Business Page URL',
'pin_publisher_url' => 'Pinterest Business Page URL',
'sc_publisher_url' => 'Soundcloud Business Page URL',
'tiktok_publisher_url' => 'TikTok Business Page URL',
'tumblr_publisher_url' => 'Tumblr Business Page URL',
'wikipedia_publisher_url' => 'Wikipedia Organization Page URL',
'tc_site' => 'X (Twitter) Business @username',
'yt_publisher_url' => 'YouTube Business Channel URL',
),
'embed_media' => array( // Check for Embedded Media.
'plugin_media_facebook' => 'Facebook Videos',
'plugin_media_slideshare' => 'Slideshare Presentations',
'plugin_media_soundcloud' => 'Soundcloud Tracks',
'plugin_media_vimeo' => 'Vimeo Videos',
'plugin_media_wistia' => 'Wistia Videos',
'plugin_media_wpvideoblock' => 'WP Media Library Video Blocks',
'plugin_media_wpvideoshortcode' => 'WP Media Library Video Shortcodes',
'plugin_media_youtube' => 'YouTube Videos and Playlists',
),
/*
* Attribute option labels.
*/
'attr_labels' => array(
'plugin_attr_book_author_name' => 'Book Author Name Attribute',
'plugin_attr_book_isbn' => 'Book ISBN Attribute',
'plugin_attr_product_adult_type' => 'Adult Type Attribute',
'plugin_attr_product_age_group' => 'Age Group Attribute',
'plugin_attr_product_brand' => 'Brand Attribute',
'plugin_attr_product_color' => 'Color Attribute',
'plugin_attr_product_condition' => 'Condition Attribute',
'plugin_attr_product_energy_efficiency' => 'Energy Rating Attribute',
'plugin_attr_product_fluid_volume_value' => 'Fluid Volume Attribute',
'plugin_attr_product_gtin14' => 'GTIN-14 Attribute',
'plugin_attr_product_gtin13' => 'GTIN-13 (EAN) Attribute',
'plugin_attr_product_gtin12' => 'GTIN-12 (UPC) Attribute',
'plugin_attr_product_gtin8' => 'GTIN-8 Attribute',
'plugin_attr_product_gtin' => 'GTIN Attribute',
'plugin_attr_product_height_value' => 'Net Height Attribute',
'plugin_attr_product_isbn' => 'ISBN Attribute',
'plugin_attr_product_length_value' => 'Net Len. / Depth Attribute',
'plugin_attr_product_material' => 'Material Attribute',
'plugin_attr_product_mfr_part_no' => 'MPN Attribute',
'plugin_attr_product_pattern' => 'Pattern Attribute',
'plugin_attr_product_size' => 'Size Attribute',
'plugin_attr_product_size_group' => 'Size Group Attribute',
'plugin_attr_product_size_system' => 'Size System Attribute',
'plugin_attr_product_target_gender' => 'Target Gender Attribute',
'plugin_attr_product_weight_value' => 'Net Weight Attribute',
'plugin_attr_product_width_value' => 'Net Width Attribute',
),
/*
* Custom field option labels.
*/
'cf_labels' => array(
'plugin_cf_addl_type_urls' => 'Microdata Type URLs Custom Field',
'plugin_cf_book_author_name' => 'Book Author Name Custom Field',
'plugin_cf_book_isbn' => 'Book ISBN Custom Field',
'plugin_cf_img_url' => 'Image URL Custom Field',
'plugin_cf_product_adult_type' => 'Product Adult Type Custom Field',
'plugin_cf_product_age_group' => 'Product Age Group Custom Field',
'plugin_cf_product_avail' => 'Product Availability Custom Field',
'plugin_cf_product_brand' => 'Product Brand Custom Field',
'plugin_cf_product_category' => 'Product Google Cat. ID Custom Field',
'plugin_cf_product_color' => 'Product Color Custom Field',
'plugin_cf_product_condition' => 'Product Condition Custom Field',
'plugin_cf_product_currency' => 'Product Currency Custom Field',
'plugin_cf_product_energy_efficiency' => 'Product Energy Rating Custom Field',
'plugin_cf_product_fluid_volume_value' => 'Product Fluid Volume Custom Field',
'plugin_cf_product_gtin14' => 'Product GTIN-14 Custom Field',
'plugin_cf_product_gtin13' => 'Product GTIN-13 (EAN) Custom Field',
'plugin_cf_product_gtin12' => 'Product GTIN-12 (UPC) Custom Field',
'plugin_cf_product_gtin8' => 'Product GTIN-8 Custom Field',
'plugin_cf_product_gtin' => 'Product GTIN Custom Field',
'plugin_cf_product_isbn' => 'Product ISBN Custom Field',
'plugin_cf_product_height_value' => 'Product Net Height Custom Field',
'plugin_cf_product_length_value' => 'Product Net Len. / Depth Custom Field',
'plugin_cf_product_material' => 'Product Material Custom Field',
'plugin_cf_product_mfr_part_no' => 'Product MPN Custom Field',
'plugin_cf_product_min_advert_price' => 'Product Min Advert Price Custom Field',
'plugin_cf_product_pattern' => 'Product Pattern Custom Field',
'plugin_cf_product_price' => 'Product Price Custom Field',
'plugin_cf_product_price_type' => 'Product Price Type Custom Field',
'plugin_cf_product_retailer_part_no' => 'Product SKU Custom Field',
'plugin_cf_product_shipping_height_value' => 'Product Shipping Height Custom Field',
'plugin_cf_product_shipping_length_value' => 'Product Shipping Length Custom Field',
'plugin_cf_product_shipping_weight_value' => 'Product Shipping Weight Custom Field',
'plugin_cf_product_shipping_width_value' => 'Product Shipping Width Custom Field',
'plugin_cf_product_size' => 'Product Size Custom Field',
'plugin_cf_product_size_group' => 'Product Size Group Custom Field',
'plugin_cf_product_size_system' => 'Product Size System Custom Field',
'plugin_cf_product_target_gender' => 'Product Target Gender Custom Field',
'plugin_cf_product_weight_value' => 'Product Net Weight Custom Field',
'plugin_cf_product_width_value' => 'Product Net Width Custom Field',
'plugin_cf_review_item_name' => 'Review Subject Name Custom Field',
'plugin_cf_review_item_desc' => 'Review Subject Desc Custom Field',
'plugin_cf_review_rating' => 'Review Rating Custom Field',
'plugin_cf_review_rating_alt_name' => 'Review Rating Alt Name Custom Field',
'plugin_cf_sameas_urls' => 'Same-As URLs Custom Field',
'plugin_cf_vid_url' => 'Video URL Custom Field',
'plugin_cf_vid_embed' => 'Video Embed HTML Custom Field',
),
/*
* Used with array_intersect_key() to determine which metadata keys can be inherited.
*
* See WpssoAbstractWpMeta->get_inherited_md_opts().
*/
'inherit_md_opts' => array(
/*
* Inherited image options.
*/
'og_img_max' => null,
'og_img_id' => null,
'og_img_id_lib' => null,
'og_img_url' => null,
'pin_img_id' => null,
'pin_img_id_lib' => null,
'pin_img_url' => null,
'schema_img_id' => null,
'schema_img_id_lib' => null,
'schema_img_url' => null,
'tc_lrg_img_id' => null,
'tc_lrg_img_id_lib' => null,
'tc_lrg_img_url' => null,
'tc_sum_img_id' => null,
'tc_sum_img_id_lib' => null,
'tc_sum_img_url' => null,
/*
* Inherited product options.
*/
'product_adult_type' => null,
'product_age_group' => null,
'product_brand' => null,
'product_category' => null, // Product Google Category.
'product_energy_efficiency' => null,
'product_energy_efficiency_min' => null,
'product_energy_efficiency_max' => null,
'product_min_advert_price' => null,
'product_mrp' => null, // Product Return Policy.
'product_price_type' => null,
'product_size_group_0' => null,
'product_size_group_1' => null,
'product_size_system' => null,
'product_target_gender' => null,
/*
* Inherited Schema options.
*/
'schema_article_section' => null,
),
/*
* Inherit required properties from the product group for Google.
*
* Use an associative array to avoid property names from being translated.
*
* See WpssoJsonTypeProductGroup->filter_json_data_https_schema_org_productgroup().
*/
'inherit_variant_props' => array(
'name' => null,
'description' => null,
'brand' => null,
),
'excl_varies_by_props' => array(
'@id' => null,
'@context' => null,
'@type' => null,
'url' => null,
'name' => null,
'description' => null,
'image' => null,
'subjectOf' => null,
'inProductGroupWithID' => null,
),
/*
* Organization and Place default selection.
*/
'contact_is_defaults' => array(
),
'org_is_defaults' => array(
'schema_def_pub_org_id' => 'Default Creative Work Publisher Organization',
'schema_def_prov_org_id' => 'Default Creative Work Provider Organization',
'schema_def_fund_org_id' => 'Default Creative Work Funder Organization',
'schema_def_event_performer_org_id' => 'Default Event Performer Organization',
'schema_def_event_organizer_org_id' => 'Default Event Organizer Organization',
'schema_def_event_fund_org_id' => 'Default Event Funder Organization',
'schema_def_job_hiring_org_id' => 'Default Job Hiring Organization',
'schema_def_service_prov_org_id' => 'Default Service Provider Organization',
),
'place_is_defaults' => array(
'schema_def_event_location_id' => 'Default Event Venue',
'schema_def_job_location_id' => 'Default Job Location',
),
/*
* Validated on 2022/12/26.
*
* Used for the Schema Product and Offer 'hasAdultConsideration' property.
*
* See https://schema.org/AdultOrientedEnumeration.
* See https://support.google.com/merchants/answer/6324508.
*/
'adult_type' => array(
'none' => '[None]', // Removed for checklists.
'https://schema.org/AlcoholConsideration' => 'Alcohol',
'https://schema.org/DangerousGoodConsideration' => 'Dangerous Good',
'https://schema.org/HealthcareConsideration' => 'Healthcare',
'https://schema.org/NarcoticConsideration' => 'Narcotic',
'https://schema.org/ReducedRelevanceForChildrenConsideration' => 'Reduced Relevance for Children',
'https://schema.org/SexualContentConsideration' => 'Sexual Content',
'https://schema.org/TobaccoNicotineConsideration' => 'Tobacco Nicotine',
'https://schema.org/UnclassifiedAdultConsideration' => 'Unclassified Adult',
'https://schema.org/ViolenceConsideration' => 'Violence',
'https://schema.org/WeaponConsideration' => 'Weapon',
),
/*
* Validated on 2022/09/24.
*
* See https://developers.facebook.com/docs/marketing-api/catalog/reference/.
* See https://support.google.com/merchants/answer/6324463.
*/
'age_group' => array(
'none' => '[None]', // Removed for checklists.
'adult' => 'Adult (13 years old or more)',
'all ages' => 'All Ages (13 years old or more)',
'infant' => 'Infant (3–12 months old)',
'kids' => 'Kids (5–13 years old)',
'newborn' => 'Newborn (0-3 months old)',
'teen' => 'Teen (13 years old or more)',
'toddler' => 'Toddler (1–5 years old)',
),
/*
* Validated on 2022/12/26.
*
* See https://schema.org/BookFormatType.
*/
'book_format' => array(
'none' => '[None]', // Removed for checklists.
'https://schema.org/AudiobookFormat' => 'Audiobook',
'https://schema.org/EBook' => 'eBook',
'https://schema.org/GraphicNovel' => 'Graphic Novel',
'https://schema.org/Hardcover' => 'Hardcover',
'https://schema.org/Paperback' => 'Paperback',
),
/*
* Validated on 2025/06/13.
*
* See https://schema.org/ContactPointOption.
*/
'contact_point_option' => array(
'none' => '[None]', // Removed for checklists.
'https://schema.org/HearingImpairedSupported' => 'Hearing Impaired',
'https://schema.org/TollFree' => 'Toll Free',
),
/*
* Validated on 2026/05/25.
*
* See https://schema.org/DayOfWeek.
*/
'day_of_week' => array(
'sunday' => 'https://schema.org/Sunday',
'monday' => 'https://schema.org/Monday',
'tuesday' => 'https://schema.org/Tuesday',
'wednesday' => 'https://schema.org/Wednesday',
'thursday' => 'https://schema.org/Thursday',
'friday' => 'https://schema.org/Friday',
'saturday' => 'https://schema.org/Saturday',
'publicholidays' => 'https://schema.org/PublicHolidays',
),
/*
* Validated on 2020/08/17.
*
* See https://developers.google.com/search/docs/data-types/job-postings.
*/
'employment_type' => array(
'none' => '[None]', // Removed for checklists.
'FULL_TIME' => 'Full Time',
'PART_TIME' => 'Part Time',
'CONTRACTOR' => 'Contractor',
'TEMPORARY' => 'Temporary',
'INTERN' => 'Intern',
'VOLUNTEER' => 'Volunteer',
'PER_DIEM' => 'Per Diem',
'OTHER' => 'Other',
),
/*
* Validated on 2022/12/26.
*
* See https://schema.org/EUEnergyEfficiencyEnumeration.
* See https://support.google.com/merchants/answer/7562785.
*/
'energy_efficiency' => array(
'none' => '[None]', // Removed for checklists.
'https://schema.org/EUEnergyEfficiencyCategoryA3Plus' => 'A+++',
'https://schema.org/EUEnergyEfficiencyCategoryA2Plus' => 'A++',
'https://schema.org/EUEnergyEfficiencyCategoryA1Plus' => 'A+',
'https://schema.org/EUEnergyEfficiencyCategoryA' => 'A',
'https://schema.org/EUEnergyEfficiencyCategoryB' => 'B',
'https://schema.org/EUEnergyEfficiencyCategoryC' => 'C',
'https://schema.org/EUEnergyEfficiencyCategoryD' => 'D',
'https://schema.org/EUEnergyEfficiencyCategoryE' => 'E',
'https://schema.org/EUEnergyEfficiencyCategoryF' => 'F',
'https://schema.org/EUEnergyEfficiencyCategoryG' => 'G',
),
/*
* Validated on 2022/12/26.
*
* Used by WpssoSchema->filter_sanitize_md_options().
*
* See https://schema.org/EventAttendanceModeEnumeration.
*/
'event_attendance' => array(
'none' => '[None]', // Removed for checklists.
'https://schema.org/MixedEventAttendanceMode' => 'Mixed',
'https://schema.org/OnlineEventAttendanceMode' => 'Online',
'https://schema.org/OfflineEventAttendanceMode' => 'Physical Location',
),
/*
* Validated on 2022/12/26.
*
* Used by WpssoSchema->filter_sanitize_md_options().
*
* See https://schema.org/EventStatusType.
*/
'event_status' => array(
'none' => '[None]', // Removed for checklists.
'https://schema.org/EventCancelled' => 'Cancelled',
'https://schema.org/EventMovedOnline' => 'Moved Online',
'https://schema.org/EventPostponed' => 'Postponed',
'https://schema.org/EventRescheduled' => 'Rescheduled',
'https://schema.org/EventScheduled' => 'Scheduled', // Default.
),
/*
* Validated on 2022/12/26.
*
* Used by WpssoSchema->filter_sanitize_md_options().
*
* See https://schema.org/ItemAvailability.
*/
'item_availability' => array(
'none' => '[None]', // Removed for checklists.
'https://schema.org/BackOrder' => 'Back Order', // Indicates that the item is available on back order.
'https://schema.org/Discontinued' => 'Discontinued',
'https://schema.org/InStock' => 'In Stock',
'https://schema.org/InStoreOnly' => 'In Store Only',
'https://schema.org/LimitedAvailability' => 'Limited Availability',
'https://schema.org/OnlineOnly' => 'Online Only',
'https://schema.org/OutOfStock' => 'Out Of Stock',
'https://schema.org/PreOrder' => 'Pre-Order',
'https://schema.org/PreSale' => 'Pre-Sale',
'https://schema.org/SoldOut' => 'Sold Out',
),
/*
* Validated on 2022/12/26.
*
* Used by WpssoSchema->filter_sanitize_md_options().
*
* See https://schema.org/OfferItemCondition.
* See https://support.google.com/merchants/answer/6324469.
*/
'item_condition' => array(
'none' => '[None]', // Removed for checklists.
'https://schema.org/DamagedCondition' => 'Damaged',
'https://schema.org/NewCondition' => 'New',
'https://schema.org/RefurbishedCondition' => 'Refurbished',
'https://schema.org/UsedCondition' => 'Used',
),
/*
* Validated on 2021/04/15.
*
* See https://developers.google.com/search/docs/data-types/job-postings.
*/
'job_location_type' => array(
'none' => '[None]', // Removed for checklists.
'TELECOMMUTE' => 'Telecommute (100% Remote)',
),
/*
* Validated on 2025/07/09.
*
* See https://schema.org/RefundTypeEnumeration.
* See https://developers.google.com/search/docs/appearance/structured-data/return-policy.
*/
'refund_type' => array(
'https://schema.org/ExchangeRefund' => 'Exchange Refund',
'https://schema.org/FullRefund' => 'Full Refund',
'https://schema.org/StoreCreditRefund' => 'Store Credit Refund',
),
/*
* Validated on 2024/07/31.
*
* See https://schema.org/MerchantReturnEnumeration.
* See https://developers.google.com/search/docs/appearance/structured-data/return-policy.
*/
'merchant_return' => array(
'https://schema.org/MerchantReturnFiniteReturnWindow' => 'Limited Return Window',
'https://schema.org/MerchantReturnNotPermitted' => 'Not Permitted',
'https://schema.org/MerchantReturnUnlimitedWindow' => 'Unlimited Window',
'https://schema.org/MerchantReturnUnspecified' => 'Unspecified',
),
/*
* Validated on 2025/01/21.
*
* Used by WpssoSchema->filter_sanitize_md_options().
*
* See https://schema.org/PriceTypeEnumeration.
*/
'price_type' => array(
'none' => '[None]', // Removed for checklists.
'https://schema.org/InvoicePrice' => 'Invoice Price',
'https://schema.org/ListPrice' => 'List Price',
'https://schema.org/MSRP' => 'Manufacturer Suggested Retail Price',
'https://schema.org/MinimumAdvertisedPrice' => 'Minimum Advertised Price',
'https://schema.org/RegularPrice' => 'Regular Price',
'https://schema.org/SalePrice' => 'Sale Price',
'https://schema.org/SRP' => 'Suggested Retail Price',
'https://schema.org/StrikethroughPrice' => 'Strikethrough Price',
),
/*
* Validated on 2024/07/31.
*
* See https://schema.org/ReturnFeesEnumeration.
*/
'return_fees' => array(
'https://schema.org/FreeReturn' => 'Free Return',
'https://schema.org/ReturnFeesCustomerResponsibility' => 'Customer Pays Shipping',
'https://schema.org/ReturnShippingFees' => 'Return Has Shipping Fees',
),
/*
* Validated on 2025/07/09.
*
* See https://schema.org/ReturnLabelSourceEnumeration.
* See https://developers.google.com/search/docs/appearance/structured-data/return-policy.
*/
'return_label_source' => array(
'https://schema.org/ReturnLabelCustomerResponsibility' => 'Customer Responsibility',
'https://schema.org/ReturnLabelDownloadAndPrint' => 'Download And Print',
'https://schema.org/ReturnLabelInBox' => 'Label In Box',
),
/*
* Validated on 2023/06/02.
*
* See https://schema.org/ReturnMethodEnumeration.
* See https://developers.google.com/search/docs/appearance/structured-data/merchant-listing#returns.
*/
'return_method' => array(
'https://schema.org/ReturnAtKiosk' => 'At Kiosk',
'https://schema.org/ReturnByMail' => 'By Mail',
'https://schema.org/ReturnInStore' => 'In Store',
),
/*
* Validated on 2021/11/09.
*
* Used by WpssoSchema->filter_sanitize_md_options().
*
* See https://support.google.com/merchants/answer/6324497.
*/
'size_group' => array(
'none' => '[None]', // Removed for checklists.
'https://schema.org/WearableSizeGroupRegular' => 'Regular',
'https://schema.org/WearableSizeGroupPetite' => 'Petite',
'https://schema.org/WearableSizeGroupPlus' => 'Plus',
'https://schema.org/WearableSizeGroupTall' => 'Tall',
'https://schema.org/WearableSizeGroupBig' => 'Big',
'https://schema.org/WearableSizeGroupMaternity' => 'Maternity',
),
/*
* Validated on 2022/12/26.
*
* Used by WpssoSchema->filter_sanitize_md_options().
*
* Not supposed by Google:
*
* https://schema.org/WearableSizeSystemContinental
* https://schema.org/WearableSizeSystemEN13402
* https://schema.org/WearableSizeSystemGS1
*
* See https://support.google.com/merchants/answer/6324502.
*/
'size_system' => array(
'none' => '[None]', // Removed for checklists.
'https://schema.org/WearableSizeSystemAU' => 'AU',
'https://schema.org/WearableSizeSystemBR' => 'BR',
'https://schema.org/WearableSizeSystemCN' => 'CN',
'https://schema.org/WearableSizeSystemDE' => 'DE',
'https://schema.org/WearableSizeSystemEurope' => 'EU',
'https://schema.org/WearableSizeSystemFR' => 'FR',
'https://schema.org/WearableSizeSystemIT' => 'IT',
'https://schema.org/WearableSizeSystemJP' => 'JP',
'https://schema.org/WearableSizeSystemMX' => 'MX',
'https://schema.org/WearableSizeSystemUK' => 'UK',
'https://schema.org/WearableSizeSystemUS' => 'US',
),
/*
* Validated on 2020/08/17.
*
* See https://developers.facebook.com/docs/marketing-api/catalog/reference/.
* See https://schema.org/suggestedGender.
* See https://support.google.com/merchants/answer/6324479.
*/
'target_gender' => array(
'none' => '[None]', // Removed for checklists.
'female' => 'Female',
'male' => 'Male',
'unisex' => 'Unisex',
),
/*
* The default warning is 90% of the maximum length.
*
* See sucomTextLen() in wpsso/live/js/com/jquery-admin-page.js.
*/
'input_limits' => array(
/*
* While Google does not specify a recommended length for title tags, most desktop and
* mobile browsers are able to display the first 50–60 characters of a title tag. If you
* keep your titles under 60 characters, our research suggests that you can expect about
* 90% of your titles to display properly in the SERPs. (There's no exact character limit
* because characters can vary in pixel width. Google SERPs can usually display up to 600
* pixels.) While writing concise titles is important for human readability and
* comprehension, Google’s spiders will take into account the entire title tag (within
* reason) when they crawl the page, even if it is not displayed in full in the SERPs.
*
* See https://moz.com/learn/seo/title-tag.
*/
'seo_title' => array(
'min' => 10,
'warn' => 60,
'max' => 70,
),
/*
* Meta descriptions can technically be any length, but Google generally truncates snippets
* to ~155-160 characters. It's best to keep meta descriptions long enough that they're
* sufficiently descriptive, so we recommend descriptions between 50 and 160 characters.
*
* See https://moz.com/learn/seo/meta-description.
*/
'seo_desc' => array(
'min' => 50,
'warn' => 150,
'max' => 180,
),
/*
* Keep it short to prevent overflow. There’s no official guidance on this, but 40
* characters for mobile and 60 for desktop is roughly the sweet spot.
*
* See https://ahrefs.com/blog/open-graph-meta-tags/.
*/
'og_title' => array(
'warn' => 40,
'max' => 70,
),
/*
* Keep it short and sweet. Facebook recommends 2–4 sentences, but that often truncates.
*
* See https://ahrefs.com/blog/open-graph-meta-tags/.
*/
'og_desc' => array(
'warn' => 200,
'max' => 300,
),
'schema_title' => array(
'min' => 10,
'warn' => 60,
'max' => 70,
),
'schema_title_alt' => array(
'max' => 110,
),
'schema_title_bc' => array(
'max' => 70,
),
/*
* The headline of the article. Headlines should not exceed 110 characters. For AMP
* stories, the headline should match the text in the first cover page in the AMP Story.
*
* See https://developers.google.com/search/docs/advanced/structured-data/article.
*/
'schema_headline' => array(
'max' => 110,
),
'schema_desc' => array(
'min' => 50,
'warn' => 150,
'max' => 300,
),
'schema_text' => array(
'max' => 10000,
),
'pin_img_desc' => array(
'warn' => 100,
'max' => 300,
),
'tc_title' => array(
'max' => 70,
),
'tc_desc' => array(
'max' => 200,
),
),
), // End of 'form' array.
/*
* Reference for meta tags and Schema property values (limits, conversions, etc.).
*/
'head' => array(
'limit' => array(
'schema_1x1_img_ratio' => 1.000,
'schema_4x3_img_ratio' => 1.333,
'schema_16x9_img_ratio' => 1.778,
'org_banner_width' => 600,
'org_banner_height' => 60,
),
'limit_min' => array(
'og_desc_len' => 160,
'og_img_width' => 200,
'og_img_height' => 200,
'schema_desc_len' => 156,
'seo_desc_len' => 156,
'tc_desc_len' => 160,
'tc_sum_img_width' => 144,
'tc_sum_img_height' => 144,
'tc_lrg_img_width' => 300,
'tc_lrg_img_height' => 157,
'schema_1x1_img_width' => 1200,
'schema_1x1_img_height' => 1200,
'schema_4x3_img_width' => 1200,
'schema_4x3_img_height' => 900,
'schema_16x9_img_width' => 1200,
'schema_16x9_img_height' => 675,
'thumb_img_width' => 300,
'thumb_img_height' => 200,
'org_logo_width' => 112,
'org_logo_height' => 112,
),
'limit_max' => array(
'og_img_ratio' => 3.000,
'schema_headline_len' => 110,
'tc_sum_img_width' => 4096,
'tc_sum_img_height' => 4096,
'tc_lrg_img_width' => 4096,
'tc_lrg_img_height' => 4096,
),
/*
* Hard-code the Open Graph type based on the WordPress post type.
*
* Example, if the post type is 'product', hard-code the Open Graph type to 'product'.
*/
'og_type_by_post_type' => array(
'book' => 'book',
'download' => 'product',
'organization' => 'website',
'place' => 'place',
'product' => 'product',
'profile' => 'profile',
'question' => 'article',
),
/*
* Hard-code the Open Graph type based on the Schema type.
*
* Example, if the Schema type is 'product', hard-code the Open Graph type to 'product'.
*/
'og_type_by_schema_type' => array(
'article' => 'article',
'book' => 'book',
'webpage.checkout' => 'website',
'event' => 'product',
'item.list' => 'website',
'place' => 'place', // Check for Schema place before Schema organization.
'organization' => 'website', // Check for Schema place before Schema organization.
'product' => 'product', // Allows for product offer options.
'question' => 'article',
'review' => 'article',
'service' => 'product',
'software.application' => 'product', // Allows for product offer options.
'webpage.profile' => 'profile',
'website' => 'website',
),
'og_type_ns' => array( // See https://ogp.me/#types.
'article' => 'https://ogp.me/ns/article#',
'book' => 'https://ogp.me/ns/book#',
'books.author' => 'https://ogp.me/ns/books#',
'books.book' => 'https://ogp.me/ns/books#',
'books.genre' => 'https://ogp.me/ns/books#',
'business.business' => 'https://ogp.me/ns/business#',
'music.album' => 'https://ogp.me/ns/music#',
'music.playlist' => 'https://ogp.me/ns/music#',
'music.radio_station' => 'https://ogp.me/ns/music#',
'music.song' => 'https://ogp.me/ns/music#',
'place' => 'https://ogp.me/ns/place#', // Supported by Facebook and Pinterest.
'product' => 'https://ogp.me/ns/product#', // Supported by Facebook and Pinterest.
'profile' => 'https://ogp.me/ns/profile#',
'video.episode' => 'https://ogp.me/ns/video#',
'video.movie' => 'https://ogp.me/ns/video#',
'video.other' => 'https://ogp.me/ns/video#',
'video.tv_show' => 'https://ogp.me/ns/video#',
'website' => 'https://ogp.me/ns/website#',
),
'og_type_ns_compat' => array(
'article' => 'https://ogp.me/ns/article#',
'book' => 'https://ogp.me/ns/book#',
'place' => 'https://ogp.me/ns/place#', // Supported by Facebook and Pinterest.
'product' => 'https://ogp.me/ns/product#', // Supported by Facebook and Pinterest.
'profile' => 'https://ogp.me/ns/profile#',
'website' => 'https://ogp.me/ns/website#',
),
/*
* An array of Open Graph types, their meta tags, and their associated metadata keys.
*
* See WpssoOpengraph->add_data_og_type_md().
* See WpssoOpengraph->sanitize_mt_array().
* See https://developers.facebook.com/docs/reference/opengraph/.
*/
'og_type_mt' => array(
/*
* See https://developers.facebook.com/docs/reference/opengraph/object-type/article/.
*/
'article' => array(
'article:author' => '',
'article:publisher' => '',
'article:published_time' => '',
'article:modified_time' => '',
'article:expiration_time' => '',
'article:section' => 'schema_article_section',
'article:tag' => '',
),
'book' => array(
'book:author' => 'schema_book_author_url',
'book:isbn' => 'schema_book_isbn',
'book:release_date' => '',
'book:tag' => '',
),
'books.author' => array(
'books:book' => '',
'books:gender' => '',
'books:genre' => '',
'books:official_site' => '',
),
'books.book' => array(
'books:author' => '',
'books:genre' => '',
'books:initial_release_date' => '',
'books:isbn' => '',
'books:language:locale' => '',
'books:language:alternate' => '',
'books:page_count' => '',
'books:rating:value' => '',
'books:rating:scale' => '',
'books:rating:normalized_value' => '',
'books:release_date' => '',
'books:sample' => '',
),
'books.genre' => array(
'books:author' => '',
'books:book' => '',
'books:canonical_name' => '',
),
'business.business' => array(
'business:contact_data:street_address' => '',
'business:contact_data:locality' => '',
'business:contact_data:region' => '',
'business:contact_data:postal_code' => '',
'business:contact_data:country_name' => '',
'business:contact_data:email' => '',
'business:contact_data:phone_number' => '',
'business:contact_data:phone_number' => '',
'business:contact_data:website' => '',
'business:hours:day' => '',
'business:hours:start' => '',
'business:hours:end' => '',
),
'music.album' => array(
'music:song' => '',
'music:song:disc' => '',
'music:song:track' => '',
'music:musician' => '',
'music:release_date' => '',
),
'music.playlist' => array(
'music:creator' => '',
'music:song' => '',
'music:song:disc' => '',
'music:song:track' => '',
),
'music.radio_station' => array(
'music:creator' => '',
),
'music.song' => array(
'music:album' => '',
'music:album:disc' => '',
'music:album:track' => '',
'music:duration' => '',
'music:musician' => '',
),
'place' => array(
'place:location:latitude' => '',
'place:location:longitude' => '',
'place:location:altitude' => '',
'place:street_address' => '',
'place:locality' => '',
'place:region' => '',
'place:postal_code' => '',
'place:country_name' => '',
),
/*
* See https://developers.facebook.com/docs/marketing-api/catalog/reference/.
*/
'product' => array(
'product:adult_type' => 'product_adult_type', // Internal meta tag.
'product:age_group' => 'product_age_group',
'product:availability' => 'product_avail',
'product:awards' => '', // Internal meta tag.
'product:brand' => 'product_brand',
'product:category' => 'product_category', // Product Google Category.
'product:color' => 'product_color',
'product:condition' => 'product_condition',
'product:ean' => 'product_gtin13',
'product:energy_efficiency:value' => 'product_energy_efficiency', // Internal meta tag.
'product:energy_efficiency:min_value' => 'product_energy_efficiency_min', // Internal meta tag.
'product:energy_efficiency:max_value' => 'product_energy_efficiency_max', // Internal meta tag.
'product:expiration_time' => '',
'product:fluid_volume:value' => 'product_fluid_volume_value', // Internal meta tag.
'product:fluid_volume:units' => 'product_fluid_volume_units', // Internal meta tag.
'product:gtin14' => 'product_gtin14', // Internal meta tag.
'product:gtin13' => 'product_gtin13', // Internal meta tag.
'product:gtin12' => 'product_gtin12', // Internal meta tag.
'product:gtin8' => 'product_gtin8', // Internal meta tag.
'product:gtin' => 'product_gtin', // Internal meta tag.
'product:height:value' => 'product_height_value', // Internal meta tag.
'product:height:units' => 'product_height_units', // Internal meta tag.
'product:isbn' => 'product_isbn',
'product:item_group_id' => '', // Product variant group ID.
'product:length:value' => 'product_length_value', // Internal meta tag.
'product:length:units' => 'product_length_units', // Internal meta tag.
'product:material' => 'product_material',
'product:mfr_part_no' => 'product_mfr_part_no', // Product MPN.
'product:min_advert_price:amount' => 'product_min_advert_price', // Internal meta tag.
'product:min_advert_price:currency' => '', // Internal meta tag.
'product:mrp_id' => 'product_mrp', // Internal meta tag.
'product:original_price:amount' => '', // Used by WooCommerce module.
'product:original_price:currency' => '', // Used by WooCommerce module.
'product:pattern' => 'product_pattern',
'product:pretax_price:amount' => '', // Used by WooCommerce module.
'product:pretax_price:currency' => '', // Used by WooCommerce module.
'product:price:type' => 'product_price_type', // Internal meta tag.
'product:price:amount' => 'product_price',
'product:price:currency' => 'product_currency',
'product:purchase_limit' => '',
'product:retailer_category' => '', // Internal meta tag.
'product:retailer_item_id' => '', // Product ID.
'product:retailer_part_no' => 'product_retailer_part_no', // Product SKU.
'product:sale_price:amount' => '', // Used by WooCommerce module.
'product:sale_price:currency' => '', // Used by WooCommerce module.
'product:sale_price_dates:start' => '', // Used by WooCommerce module.
'product:sale_price_dates:end' => '', // Used by WooCommerce module.
'product:shipping_cost:amount' => '',
'product:shipping_cost:currency' => '',
'product:shipping_height:value' => 'product_shipping_height_value', // Internal meta tag.
'product:shipping_height:units' => 'product_shipping_height_units', // Internal meta tag.
'product:shipping_length:value' => 'product_shipping_length_value', // Internal meta tag.
'product:shipping_length:units' => 'product_shipping_length_units', // Internal meta tag.
'product:shipping_weight:value' => 'product_shipping_weight_value',
'product:shipping_weight:units' => 'product_shipping_weight_units',
'product:shipping_width:value' => 'product_shipping_width_value', // Internal meta tag.
'product:shipping_width:units' => 'product_shipping_width_units', // Internal meta tag.
'product:size' => 'product_size',
'product:size_group' => 'product_size_group', // Internal meta tag.
'product:size_system' => 'product_size_system', // Internal meta tag.
'product:target_gender' => 'product_target_gender',
'product:upc' => 'product_gtin12',
'product:weight:value' => 'product_weight_value',
'product:weight:units' => 'product_weight_units',
'product:width:value' => 'product_width_value', // Internal meta tag.
'product:width:units' => 'product_width_units', // Internal meta tag.
),
'profile' => array(
'profile:first_name' => '',
'profile:last_name' => '',
'profile:username' => '',
'profile:gender' => '',
),
'video.episode' => array(
'video:actor' => '',
'video:actor:role' => '',
'video:director' => '',
'video:writer' => '',
'video:duration' => '',
'video:release_date' => '',
'video:tag' => '',
'video:series' => '',
),
'video.movie' => array(
'video:actor' => '',
'video:actor:role' => '',
'video:director' => '',
'video:writer' => '',
'video:duration' => '',
'video:release_date' => '',
'video:tag' => '',
),
'video.other' => array(
'video:actor' => '',
'video:actor:role' => '',
'video:director' => '',
'video:writer' => '',
'video:duration' => '',
'video:release_date' => '',
'video:tag' => '',
),
'video.tv_show' => array(
'video:actor' => '',
'video:actor:role' => '',
'video:director' => '',
'video:writer' => '',
'video:duration' => '',
'video:release_date' => '',
'video:tag' => '',
),
),
'og_content_map' => array( // Element of 'head' array.
/*
* Validated on 2021/07/22.
*
* See https://developers.facebook.com/docs/marketing-api/catalog/reference/#og-tags.
*
* Required. Current availability of the item: in stock, out of stock, available for order,
* discontinued. Supports pixel-based catalogs.
*/
'product:availability' => array(
'https://schema.org/BackOrder' => 'available for order',
'https://schema.org/Discontinued' => 'discontinued',
'https://schema.org/InStock' => 'in stock',
'https://schema.org/InStoreOnly' => 'in stock',
'https://schema.org/LimitedAvailability' => 'in stock',
'https://schema.org/OnlineOnly' => 'in stock',
'https://schema.org/OutOfStock' => 'out of stock',
'https://schema.org/PreOrder' => 'available for order',
'https://schema.org/PreSale' => 'available for order',
'https://schema.org/SoldOut' => 'out of stock',
),
/*
* Validated on 2020/08/17.
*
* See https://developers.facebook.com/docs/marketing-api/catalog/reference/#og-tags.
*
* Required. Current condition of the item: new, refurbished, used. Supports pixel-based
* catalogs.
*/
'product:condition' => array(
'https://schema.org/DamagedCondition' => 'used',
'https://schema.org/NewCondition' => 'new',
'https://schema.org/RefurbishedCondition' => 'refurbished',
'https://schema.org/UsedCondition' => 'used',
),
),
'schema_type' => array( // Element of 'head' array.
'thing' => array( // Most generic type.
'creative.work' => array( // Creative work, including books, movies, photographs, software programs, etc.
'amp.story' => 'https://schema.org/AmpStory',
'article' => array(
'article' => 'https://schema.org/Article',
'article.advertiser.content' => 'https://schema.org/AdvertiserContentArticle',
'article.news' => array(
'article.news' => 'https://schema.org/NewsArticle',
'article.news.analysis' => 'https://schema.org/AnalysisNewsArticle',
'article.news.ask.public' => 'https://schema.org/AskPublicNewsArticle',
'article.news.background' => 'https://schema.org/BackgroundNewsArticle',
'article.news.opinion' => 'https://schema.org/OpinionNewsArticle',
'article.news.reportage' => 'https://schema.org/ReportageNewsArticle',
'article.news.review' => 'https://schema.org/ReviewNewsArticle',
),
'article.satirical' => 'https://schema.org/SatiricalArticle',
'article.scholarly' => array(
'article.scholarly' => 'https://schema.org/ScholarlyArticle',
'article.scholarly.medical' => 'https://schema.org/MedicalScholarlyArticle',
),
'article.tech' => array(
'article.tech' => 'https://schema.org/TechArticle',
'article.tech.reference.api' => 'https://schema.org/APIReference',
),
'report' => 'https://schema.org/Report',
'social.media.posting' => array(
'blog.posting' => array(
'blog.posting' => 'https://schema.org/BlogPosting',
'blog.posting.live' => 'https://schema.org/LiveBlogPosting',
),
'discussion.forum.posting' => 'https://schema.org/DiscussionForumPosting',
'social.media.posting' => 'https://schema.org/SocialMediaPosting',
),
),
'blog' => 'https://schema.org/Blog',
'book' => array(
'book' => 'https://schema.org/Book',
'book.audio' => 'https://schema.org/Audiobook',
),
'claim' => 'https://schema.org/Claim',
'clip' => 'https://schema.org/Clip',
'comic.story' => 'https://schema.org/ComicStory',
'comment' => array(
'answer' => 'https://schema.org/Answer',
'comment' => 'https://schema.org/Comment',
'question' => 'https://schema.org/Question',
),
'conversation' => 'https://schema.org/Conversation',
'course' => 'https://schema.org/Course',
'creative.work' => 'https://schema.org/CreativeWork',
'creative.work.season' => array(
'creative.work.season' => 'https://schema.org/CreativeWorkSeason',
'podcast.season' => 'https://schema.org/PodcastSeason',
'radio.season' => 'https://schema.org/RadioSeason',
'tv.season' => 'https://schema.org/TVSeason',
),
'creative.work.series' => array(
'book.series' => 'https://schema.org/BookSeries',
'creative.work.series' => 'https://schema.org/CreativeWorkSeries',
'movie.series' => 'https://schema.org/MovieSeries',
'periodical' => 'https://schema.org/Periodical',
'podcast.series' => 'https://schema.org/PodcastSeries',
'radio.series' => 'https://schema.org/RadioSeries',
'tv.series' => 'https://schema.org/TVSeries',
'video.game.series' => 'https://schema.org/VideoGameSeries',
),
'data.catalog' => 'https://schema.org/DataCatalog',
'data.set' => 'https://schema.org/DataSet',
'digital.document' => 'https://schema.org/DigitalDocument',
'episode' => array(
'episode' => 'https://schema.org/Episode',
'episode.podcast' => 'https://schema.org/PodcastEpisode',
'episode.radio' => 'https://schema.org/RadioEpisode',
'episode.tv' => 'https://schema.org/TVEpisode',
),
'game' => 'https://schema.org/Game',
'howto' => array(
'howto' => 'https://schema.org/HowTo',
'recipe' => 'https://schema.org/Recipe', // Recipe is a sub-type of HowTo.
),
'learning.resource' => array(
'learning.course' => 'https://schema.org/Course',
'learning.resource' => 'https://schema.org/LearningResource',
'learning.quiz' => 'https://schema.org/Quiz',
'learning.syllabus' => 'https://schema.org/Syllabus',
),
'map' => 'https://schema.org/Map',
'media.object' => array(
'audio.object' => array(
'audio.object' => 'https://schema.org/AudioObject',
'book.audio' => 'https://schema.org/Audiobook',
),
'data.download' => 'https://schema.org/DataDownload',
'image.object' => 'https://schema.org/ImageObject',
'media.object' => 'https://schema.org/MediaObject',
'music.video.object' => 'https://schema.org/MusicVideoObject',
'video.object' => 'https://schema.org/VideoObject',
),
'menu' => 'https://schema.org/Menu',
'menu.section' => 'https://schema.org/MenuSection',
'message' => 'https://schema.org/Message',
'movie' => 'https://schema.org/Movie',
'music.composition' => 'https://schema.org/MusicComposition',
'music.playlist' => array(
'music.album' => 'https://schema.org/MusicAlbum',
'music.playlist' => 'https://schema.org/MusicPlaylist',
'music.release' => 'https://schema.org/MusicRelease',
),
'music.recording' => 'https://schema.org/MusicRecording',
'painting' => 'https://schema.org/Painting',
'photograph' => 'https://schema.org/Photograph',
'publication.issue' => 'https://schema.org/PublicationIssue',
'publication.volume' => 'https://schema.org/PublicationVolume',
'review' => array(
'review' => 'https://schema.org/Review',
'review.claim' => 'https://schema.org/ClaimReview',
'review.critic' => array(
'review.critic' => 'https://schema.org/CriticReview',
'article.news.review' => 'https://schema.org/ReviewNewsArticle',
),
'review.employer' => 'https://schema.org/EmployerReview',
'review.media' => 'https://schema.org/MediaReview',
'review.recommendation' => 'https://schema.org/Recommendation',
'review.user' => 'https://schema.org/UserReview',
),
'sculpture' => 'https://schema.org/Sculpture',
'series' => 'https://schema.org/Series',
'software.application' => array(
'software.application' => 'https://schema.org/SoftwareApplication',
'software.application.mobile' => 'https://schema.org/MobileApplication',
'software.application.video.game' => 'https://schema.org/VideoGame',
'software.application.web' => 'https://schema.org/WebApplication',
),
'software.source.code' => 'https://schema.org/SoftwareSourceCode',
'special.announcement' => 'https://schema.org/SpecialAnnouncement',
'tv.season' => 'https://schema.org/TVSeason',
'tv.series' => 'https://schema.org/TVSeries',
'visual.artwork' => 'https://schema.org/VisualArtwork',
'webpage' => array(
'webpage' => 'https://schema.org/WebPage',
'webpage.about' => 'https://schema.org/AboutPage',
'webpage.checkout' => 'https://schema.org/CheckoutPage',
'webpage.collection' => array(
'webpage.collection' => 'https://schema.org/CollectionPage',
'webpage.gallery.media' => array(
'webpage.gallery.media' => 'https://schema.org/MediaGallery',
'webpage.gallery.image' => 'https://schema.org/ImageGallery',
'webpage.gallery.video' => 'https://schema.org/VideoGallery',
),
),
'webpage.contact' => 'https://schema.org/ContactPage',
'webpage.faq' => 'https://schema.org/FAQPage',
'webpage.item' => 'https://schema.org/ItemPage',
'webpage.medical' => 'https://schema.org/MedicalWebPage',
'webpage.profile' => 'https://schema.org/ProfilePage',
'webpage.qa' => 'https://schema.org/QAPage',
'webpage.real.estate.listing' => 'https://schema.org/RealEstateListing',
'webpage.search.results' => 'https://schema.org/SearchResultsPage',
),
'webpage.element' => 'https://schema.org/WebPageElement',
'website' => 'https://schema.org/WebSite',
),
'event' => array(
'event' => 'https://schema.org/Event',
'event.business' => 'https://schema.org/BusinessEvent',
'event.childrens' => 'https://schema.org/ChildrensEvent',
'event.comedy' => 'https://schema.org/ComedyEvent',
'event.dance' => 'https://schema.org/DanceEvent',
'event.delivery' => 'https://schema.org/DeliveryEvent',
'event.education' => 'https://schema.org/EducationEvent',
'event.exhibition' => 'https://schema.org/ExhibitionEvent',
'event.festival' => 'https://schema.org/Festival',
'event.food' => 'https://schema.org/FoodEvent',
'event.literary' => 'https://schema.org/LiteraryEvent',
'event.music' => 'https://schema.org/MusicEvent',
'event.publication' => 'https://schema.org/PublicationEvent',
'event.sale' => 'https://schema.org/SaleEvent',
'event.screening' => 'https://schema.org/ScreeningEvent',
'event.social' => 'https://schema.org/SocialEvent',
'event.sports' => 'https://schema.org/SportsEvent',
'event.theater' => 'https://schema.org/TheaterEvent',
'event.visual.arts' => 'https://schema.org/VisualArtsEvent',
),
'intangible' => array(
'alignment.object' => 'https://schema.org/AlignmentObject',
'audience' => array(
'audience' => 'https://schema.org/Audience',
'audience.business' => 'https://schema.org/BusinessAudience',
'audience.educational' => 'https://schema.org/EducationalAudience',
'audience.medical' => 'https://schema.org/MedicalAudience',
'audience.people' => 'https://schema.org/PeopleAudience',
),
'bed.details' => 'https://schema.org/BedDetails',
'brand' => 'https://schema.org/Brand',
'broadcast.channel' => 'https://schema.org/BroadcastChannel',
'computer.language' => 'https://schema.org/ComputerLanguage',
'data.feed.item' => 'https://schema.org/DataFeedItem',
'demand' => 'https://schema.org/Demand',
'digital.document.permission' => 'https://schema.org/DigitalDocumentPermission',
'entry.point' => 'https://schema.org/EntryPoint',
'enumeration' => array(
'action.status.type' => 'https://schema.org/ActionStatusType',
'boarding.policy.type' => 'https://schema.org/BoardingPolicyType',
'book.format.type' => 'https://schema.org/BookFormatType',
'business.entity.type' => 'https://schema.org/BusinessEntityType',
'business.function' => 'https://schema.org/BusinessFunction',
'contact.point.option' => 'https://schema.org/ContactPointOption',
'day.of.week' => 'https://schema.org/DayOfWeek',
'delivery.method' => 'https://schema.org/DeliveryMethod',
'digital.document.permission.type' => 'https://schema.org/DigitalDocumentPermissionType',
'enumeration' => 'https://schema.org/Enumeration',
'event.status.type' => 'https://schema.org/EventStatusType',
'game.play.mode' => 'https://schema.org/GamePlayMode',
'game.server.status' => 'https://schema.org/GameServerStatus',
'gender.type' => 'https://schema.org/GenderType',
'item.availability' => 'https://schema.org/ItemAvailability',
'item.list.order.type' => 'https://schema.org/ItemListOrderType',
'map.category.type' => 'https://schema.org/MapCategoryType',
'medical.enumeration' => array(
'audience.medical' => 'https://schema.org/MedicalAudience',
'medical.enumeration' => 'https://schema.org/MedicalEnumeration',
'medical.specialty' => array(
'anesthesia.specialty' => 'https://schema.org/Anesthesia',
'cardiovascular.specialty' => 'https://schema.org/Cardiovascular',
'community.health.specialty' => 'https://schema.org/CommunityHealth',
'dentistry.specialty' => 'https://schema.org/Dentistry',
'dermatologic.specialty' => 'https://schema.org/Dermatologic',
'dermatology.specialty' => 'https://schema.org/Dermatology',
'diet.nutrition.specialty' => 'https://schema.org/DietNutrition',
'emergency.specialty' => 'https://schema.org/Emergency',
'endocrine.specialty' => 'https://schema.org/Endocrine',
'gastroenterologic.specialty' => 'https://schema.org/Gastroenterologic',
'genetic.specialty' => 'https://schema.org/Genetic',
'geriatric.specialty' => 'https://schema.org/Geriatric',
'gynecologic.specialty' => 'https://schema.org/Gynecologic',
'hematologic.specialty' => 'https://schema.org/Hematologic',
'infectious.specialty' => 'https://schema.org/Infectious',
'laboratory.science.specialty' => 'https://schema.org/LaboratoryScience',
'medical.specialty' => 'https://schema.org/MedicalSpecialty',
'midwifery.specialty' => 'https://schema.org/Midwifery',
'musculoskeletal.specialty' => 'https://schema.org/Musculoskeletal',
'neurologic.specialty' => 'https://schema.org/Neurologic',
'nursing.specialty' => 'https://schema.org/Nursing',
'obstetric.specialty' => 'https://schema.org/Obstetric',
'occupational.therapy.specialty' => 'https://schema.org/OccupationalTherapy',
'oncologic.specialty' => 'https://schema.org/Oncologic',
'optometric.specialty' => 'https://schema.org/Optometric',
'otolaryngologic.specialty' => 'https://schema.org/Otolaryngologic',
'pathology.specialty' => 'https://schema.org/Pathology',
'pediatric.specialty' => 'https://schema.org/Pediatric',
'pharmacy.specialty' => 'https://schema.org/PharmacySpecialty',
'physiotherapy.specialty' => 'https://schema.org/Physiotherapy',
'plastic.surgery.specialty' => 'https://schema.org/PlasticSurgery',
'podiatric.specialty' => 'https://schema.org/Podiatric',
'primary.care.specialty' => 'https://schema.org/PrimaryCare',
'psychiatric.specialty' => 'https://schema.org/Psychiatric',
'public.health.specialty' => 'https://schema.org/PublicHealth',
'pulmonary.specialty' => 'https://schema.org/Pulmonary',
'radiography.specialty' => 'https://schema.org/Radiography',
'renal.specialty' => 'https://schema.org/Renal',
'respiratory.therapy.specialty' => 'https://schema.org/RespiratoryTherapy',
'rheumatologic.specialty' => 'https://schema.org/Rheumatologic',
'speech.pathology.specialty' => 'https://schema.org/SpeechPathology',
'surgical.specialty' => 'https://schema.org/Surgical',
'toxicologic.specialty' => 'https://schema.org/Toxicologic',
'urologic.specialty' => 'https://schema.org/Urologic',
),
'medicine.system' => array(
'ayurvedic.system' => 'https://schema.org/Ayurvedic',
'chiropractic.system' => 'https://schema.org/Chiropractic',
'homeopathic.system' => 'https://schema.org/Homeopathic',
'medicine.system' => 'https://schema.org/MedicineSystem',
'osteopathic.system' => 'https://schema.org/Osteopathic',
'traditional.chinese.system' => 'https://schema.org/TraditionalChinese',
'western.conventional.system' => 'https://schema.org/WesternConventional',
),
),
'music.album.production.type' => 'https://schema.org/MusicAlbumProductionType',
'music.album.release.type' => 'https://schema.org/MusicAlbumReleaseType',
'music.release.format.type' => 'https://schema.org/MusicReleaseFormatType',
'offer.item.condition' => 'https://schema.org/OfferItemCondition',
'order.status' => 'https://schema.org/OrderStatus',
'payment.method' => array(
'payment.card' => array(
'credit.card' => 'https://schema.org/CreditCard',
'payment.card' => 'https://schema.org/PaymentCard',
),
'payment.method' => 'https://schema.org/PaymentMethod',
),
'payment.status.type' => 'https://schema.org/PaymentStatusType',
'qualitative.value' => 'https://schema.org/QualitativeValue',
'reservation.status.type' => 'https://schema.org/ReservationStatusType',
'restricted.diet' => 'https://schema.org/RestrictedDiet',
'rsvp.response.type' => 'https://schema.org/RsvpResponseType',
'specialty' => array(
// 'medical.specialty' array added by WpssoSchema::add_schema_type_xrefs().
'specialty' => 'https://schema.org/Specialty',
),
'warranty.scope' => 'https://schema.org/WarrantyScope',
),
'game.server' => 'https://schema.org/GameServer',
'intangible' => 'https://schema.org/Intangible',
'invoice' => 'https://schema.org/Invoice',
'item.list' => array(
'breadcrumb.list' => 'https://schema.org/BreadcrumbList',
'howto.section' => 'https://schema.org/HowToSection',
'howto.step' => 'https://schema.org/HowToStep',
'item.list' => 'https://schema.org/ItemList',
'offer.catalog' => 'https://schema.org/OfferCatalog',
),
'job.posting' => 'https://schema.org/JobPosting',
'language' => 'https://schema.org/Language',
'list.item' => array(
'howto.direction' => 'https://schema.org/HowToDirection',
'howto.item' => array(
'howto.item' => 'https://schema.org/HowToItem',
'howto.supply' => 'https://schema.org/HowToSupply',
'howto.tool' => 'https://schema.org/HowToTool',
),
'howto.section' => 'https://schema.org/HowToSection',
'howto.step' => 'https://schema.org/HowToStep',
'howto.tip' => 'https://schema.org/HowToTip',
'list.item' => 'https://schema.org/ListItem',
),
'menu.item' => 'https://schema.org/MenuItem',
'offer' => array(
'offer' => 'https://schema.org/Offer',
'offer.aggregate' => 'https://schema.org/AggregateOffer',
),
'order' => 'https://schema.org/Order',
'order.item' => 'https://schema.org/OrderItem',
'parcel.delivery' => 'https://schema.org/ParcelDelivery',
'permit' => 'https://schema.org/Permit',
'program.membership' => 'https://schema.org/ProgramMembership',
'property.value.specification' => 'https://schema.org/PropertyValueSpecification',
'quantity' => 'https://schema.org/Quantity',
'rating' => array(
'rating' => 'https://schema.org/Rating',
'rating.aggregate' => 'https://schema.org/AggregateRating',
),
'reservation' => 'https://schema.org/Reservation',
'role' => 'https://schema.org/Role',
'seat' => 'https://schema.org/Seat',
/*
* A service provided by an organization, e.g. delivery service, print services, etc.
*/
'service' => array(
'service' => 'https://schema.org/Service',
'service.broadcast' => array(
'service.broadcast' => 'https://schema.org/BroadcastService',
'service.broadcast.radio' => 'https://schema.org/RadioBroadcastService',
),
'service.cable.or.satellite' => 'https://schema.org/CableOrSatelliteService',
'service.financial.product' => array(
'bank.account' => array(
'bank.account' => 'https://schema.org/BankAccount',
'deposit.account' => 'https://schema.org/DepositAccount',
),
'service.currency.conversion' => 'https://schema.org/CurrencyConversionService',
'service.financial.product' => 'https://schema.org/FinancialProduct',
'service.investment.or.deposit' => array(
'brokerage.account' => 'https://schema.org/BrokerageAccount',
'deposit.account' => 'https://schema.org/DepositAccount',
'service.investment.or.deposit' => 'https://schema.org/InvestmentOrDeposit',
'service.investment.fund' => 'https://schema.org/InvestmentFund',
),
'service.loan.or.credit' => array(
'credit.card' => 'https://schema.org/CreditCard',
'mortgage.loan' => 'https://schema.org/MortgageLoan',
'service.loan.or.credit' => 'https://schema.org/LoanOrCredit',
),
// 'payment.card' array added by WpssoSchema::add_schema_type_xrefs().
'service.payment' => 'https://schema.org/PaymentService',
),
'service.food' => 'https://schema.org/FoodService',
'service.government' => 'https://schema.org/GovernmentService',
'service.taxi' => 'https://schema.org/TaxiService',
'service.webapi' => 'https://schema.org/WebAPI',
),
'service.channel' => 'https://schema.org/ServiceChannel',
'structured.value' => array(
'cdc.pmd.record' => 'https://schema.org/CDCPMDRecord',
'contact.point' => array(
'contact.point' => 'https://schema.org/ContactPoint',
'postal.address' => 'https://schema.org/PostalAddress',
),
'defined.region' => 'https://schema.org/DefinedRegion',
'engine.specification' => 'https://schema.org/EngineSpecification',
'exchange.rate.specification' => 'https://schema.org/ExchangeRateSpecification',
'geo.coordinates' => 'https://schema.org/GeoCoordinates',
'geo.shape' => array(
'geo.circle' => 'https://schema.org/GeoCircle',
'geo.shape' => 'https://schema.org/GeoShape',
),
'interaction.counter' => 'https://schema.org/InteractionCounter',
'monetary.amount' => 'https://schema.org/MonetaryAmount',
'nutrition.information' => 'https://schema.org/NutritionInformation',
'offer.shipping.details' => 'https://schema.org/OfferShippingDetails',
'opening.hours.specification' => 'https://schema.org/OpeningHoursSpecification',
'ownership.info' => 'https://schema.org/OwnershipInfo',
'postal.code.range.specification' => 'https://schema.org/PostalCodeRangeSpecification',
'price.specification' => 'https://schema.org/PriceSpecification',
'property.value' => 'https://schema.org/PropertyValue',
'quantitative.value' => 'https://schema.org/QuantitativeValue',
'quantitative.value.distribution' => 'https://schema.org/QuantitativeValueDistribution',
'repayment.specification' => 'https://schema.org/RepaymentSpecification',
'service.period' => 'https://schema.org/ServicePeriod',
'shipping.conditions' => 'https://schema.org/ShippingConditions',
'shipping.delivery.time' => 'https://schema.org/ShippingDeliveryTime',
'Shipping.rate.settings' => 'https://schema.org/ShippingRateSettings',
'Shipping.service' => 'https://schema.org/ShippingService',
'structured.value' => 'https://schema.org/StructuredValue',
'type.and.quantity.node' => 'https://schema.org/TypeAndQuantityNode',
'warranty.promise' => 'https://schema.org/WarrantyPromise',
),
'ticket' => 'https://schema.org/Ticket',
'trip' => array(
'trip' => 'https://schema.org/Trip',
'trip.bus' => 'https://schema.org/BusTrip',
'trip.flight' => 'https://schema.org/Flight',
'trip.train' => 'https://schema.org/TrainTrip',
'trip.tourist' => 'https://schema.org/TouristTrip',
),
'virtual.location' => 'https://schema.org/VirtualLocation',
),
'medical.entity' => array(
'medical.anatomical.structure' => 'https://schema.org/AnatomicalStructure',
'medical.anatomical.systems' => 'https://schema.org/AnatomicalSystem',
'medical.cause' => 'https://schema.org/MedicalCause',
'medical.condition' => array(
'medical.condition' => 'https://schema.org/MedicalCondition',
'medical.infectious.disease' => 'https://schema.org/InfectiousDisease',
'medical.sign.or.symptom' => array(
'medical.sign.or.symptom' => 'https://schema.org/MedicalSignOrSymptom',
'medical.sign' => array(
'medical.sign' => 'https://schema.org/MedicalSign',
'medical.sign.vital' => 'https://schema.org/MedicalVitalSign',
),
'medical.symptom' => 'https://schema.org/MedicalSymptom',
),
),
'medical.contraindication' => 'https://schema.org/MedicalContraindication',
'medical.device' => 'https://schema.org/MedicalDevice',
'medical.entity' => 'https://schema.org/MedicalEntity',
'medical.guideline' => 'https://schema.org/MedicalGuideline',
'medical.indication' => 'https://schema.org/MedicalIndication',
'medical.intangible' => 'https://schema.org/MedicalIntangible',
'medical.lifestyle.modifications' => 'https://schema.org/LifestyleModification',
'medical.procedure' => 'https://schema.org/MedicalProcedure',
'medical.risk.estimator' => 'https://schema.org/MedicalRiskEstimator',
'medical.risk.factor' => 'https://schema.org/MedicalRiskFactor',
'medical.study' => 'https://schema.org/MedicalStudy',
'medical.substance' => 'https://schema.org/Substance',
'medical.superficial.anatomy' => 'https://schema.org/SuperficialAnatomy',
'medical.test' => 'https://schema.org/MedicalTest',
),
'organization' => array(
'airline' => 'https://schema.org/Airline',
'consortium' => 'https://schema.org/Consortium',
'corporation' => 'https://schema.org/Corporation',
// 'educational.organization' array added by WpssoSchema::add_schema_type_xrefs().
'funding.scheme' => 'https://schema.org/FundingScheme',
'government.organization' => 'https://schema.org/GovernmentOrganization',
'library.system' => 'https://schema.org/LibrarySystem',
// 'local.business' array added by WpssoSchema::add_schema_type_xrefs().
'medical.organization' => array(
'dentist.organization' => 'https://schema.org/Dentist',
'diagnostic.lab.organization' => 'https://schema.org/DiagnosticLab',
'hospital' => 'https://schema.org/Hospital',
'medical.clinic' => array(
'medical.clinic' => 'https://schema.org/MedicalClinic',
'covid.testing.facility' => 'https://schema.org/CovidTestingFacility',
),
'pharmacy.organization' => 'https://schema.org/Pharmacy',
'physician.organization' => 'https://schema.org/Physician',
'veterinary.care' => 'https://schema.org/VeterinaryCare',
),
'non-governmental.organization' => 'https://schema.org/NGO',
'news.media.organization' => 'https://schema.org/NewsMediaOrganization',
'online.business' => array(
'online.business' => 'https://schema.org/OnlineBusiness',
'online.store' => 'https://schema.org/OnlineStore',
),
'organization' => 'https://schema.org/Organization',
'performing.group' => array(
'dance.group' => 'https://schema.org/DanceGroup',
'music.group' => 'https://schema.org/MusicGroup',
'performing.group' => 'https://schema.org/PerformingGroup',
'theater.group' => 'https://schema.org/TheaterGroup',
),
'project' => array(
'funding.agency' => 'https://schema.org/FundingAgency',
'project' => 'https://schema.org/Project',
'research.project' => 'https://schema.org/ResearchProject',
),
'research.organization' => 'https://schema.org/ResearchOrganization',
'search.rescue.organization' => 'https://schema.org/SearchRescueOrganization',
'sports.organization' => array(
'sports.team' => 'https://schema.org/SportsTeam',
'sports.organization' => 'https://schema.org/SportsOrganization',
),
'workers.union' => 'https://schema.org/WorkersUnion',
),
'person' => 'https://schema.org/Person',
'place' => array(
'accommodation' => array(
'accommodation' => 'https://schema.org/Accommodation',
'apartment' => 'https://schema.org/Apartment',
'camping.pitch' => 'https://schema.org/CampingPitch',
'house' => array(
'house' => 'https://schema.org/House',
'house.single.family' => 'https://schema.org/SingleFamilyResidence',
),
'room' => array(
'room' => 'https://schema.org/Room',
'room.hotel' => 'https://schema.org/HotelRoom',
'room.meeting' => 'https://schema.org/MeetingRoom',
),
'suite' => 'https://schema.org/Suite',
),
'administrative.area' => array(
'administrative.area' => 'https://schema.org/AdministrativeArea',
'city' => 'https://schema.org/City',
'country' => 'https://schema.org/Country',
'state' => 'https://schema.org/State',
),
'civic.structure' => array(
'airport' => 'https://schema.org/Airport',
'aquarium' => 'https://schema.org/Aquarium',
'beach' => 'https://schema.org/Beach',
'boat.terminal' => 'https://schema.org/BoatTerminal',
'bridge' => 'https://schema.org/Bridge',
'bus.station' => 'https://schema.org/BusStation',
'bus.stop' => 'https://schema.org/BusStop',
'campground' => 'https://schema.org/Campground',
'cemetary' => 'https://schema.org/Cemetery',
'civic.structure' => 'https://schema.org/CivicStructure',
'crematorium' => 'https://schema.org/Crematorium',
'educational.organization' => array(
'college.or.university' => 'https://schema.org/CollegeOrUniversity',
'educational.organization' => 'https://schema.org/EducationalOrganization',
'elementary.school' => 'https://schema.org/ElementarySchool',
'high.school' => 'https://schema.org/HighSchool',
'middle.school' => 'https://schema.org/MiddleSchool',
'preschool' => 'https://schema.org/Preschool',
'school' => 'https://schema.org/School',
),
'event.venue' => 'https://schema.org/EventVenue',
'fire.station' => 'https://schema.org/FireStation',
'government.building' => 'https://schema.org/GovernmentBuilding',
'hospital' => 'https://schema.org/Hospital',
'movie.theater' => 'https://schema.org/MovieTheater',
'museum' => 'https://schema.org/Museum',
'music.venue' => 'https://schema.org/MusicVenue',
'park' => 'https://schema.org/Park',
'parking.facility' => 'https://schema.org/ParkingFacility',
'performing.arts.theatre' => 'https://schema.org/PerformingArtsTheater',
'place.of.worship' => 'https://schema.org/PlaceOfWorship',
'playground' => 'https://schema.org/Playground',
'rv.park' => 'https://schema.org/RVPark',
'police.station' => 'https://schema.org/PoliceStation',
'public.toilet' => 'https://schema.org/PublicToilet',
'stadium.or.arena' => 'https://schema.org/StadiumOrArena',
'subway.station' => 'https://schema.org/SubwayStation',
'taxi.stand' => 'https://schema.org/TaxiStand',
'train.station' => 'https://schema.org/TrainStation',
'zoo' => 'https://schema.org/Zoo',
),
'landform' => 'https://schema.org/Landform',
'landmarks.or.historical.buildings' => 'https://schema.org/LandmarksOrHistoricalBuildings',
'local.business' => array(
'animal.shelter' => 'https://schema.org/AnimalShelter',
'automotive.business' => array(
'auto.body.shop' => 'https://schema.org/AutoBodyShop',
'auto.dealer' => 'https://schema.org/AutoDealer',
'auto.parts.store' => 'https://schema.org/AutoPartsStore',
'auto.rental' => 'https://schema.org/AutoRental',
'auto.repair' => 'https://schema.org/AutoRepair',
'auto.wash' => 'https://schema.org/AutoWash',
'automotive.business' => 'https://schema.org/AutomotiveBusiness',
'gas.station' => 'https://schema.org/GasStation',
'motorcycle.dealer' => 'https://schema.org/MotorcycleDealer',
'motorcycle.repair' => 'https://schema.org/MotorcycleRepair',
),
'child.care' => 'https://schema.org/ChildCare',
'dentist.organization' => 'https://schema.org/Dentist',
'dry.cleaning.or.laundry' => 'https://schema.org/DryCleaningOrLaundry',
'emergency.service' => array(
'emergency.service' => 'https://schema.org/EmergencyService',
'fire.station' => 'https://schema.org/FireStation',
'hospital' => 'https://schema.org/Hospital',
'police.station' => 'https://schema.org/PoliceStation',
),
'employment.agency' => 'https://schema.org/EmploymentAgency',
'entertainment.business' => array(
'adult.entertainment' => 'https://schema.org/AdultEntertainment',
'amusement.park' => 'https://schema.org/AmusementPark',
'art.gallery' => 'https://schema.org/ArtGallery',
'casino' => 'https://schema.org/Casino',
'comedy.club' => 'https://schema.org/ComedyClub',
'entertainment.business' => 'https://schema.org/EntertainmentBusiness',
'movie.theater' => 'https://schema.org/MovieTheater',
'night.club' => 'https://schema.org/NightClub',
),
'financial.service' => 'https://schema.org/FinancialService',
'food.establishment' => array(
'bakery' => 'https://schema.org/Bakery',
'bar.or.pub' => 'https://schema.org/BarOrPub',
'brewery' => 'https://schema.org/Brewery',
'cafe.or.coffee.shop' => 'https://schema.org/CafeOrCoffeeShop',
'fast.food.restaurant' => 'https://schema.org/FastFoodRestaurant',
'food.establishment' => 'https://schema.org/FoodEstablishment',
'ice.cream.shop' => 'https://schema.org/IceCreamShop',
'restaurant' => 'https://schema.org/Restaurant',
'winery' => 'https://schema.org/Winery',
),
'government.office' => 'https://schema.org/GovernmentOffice',
'health.and.beauty.business' => array(
'beauty.salon' => 'https://schema.org/BeautySalon',
'day.spa' => 'https://schema.org/DaySpa',
'health.and.beauty.business' => 'https://schema.org/HealthAndBeautyBusiness',
'hair.salon' => 'https://schema.org/HairSalon',
'health.club' => 'https://schema.org/HealthClub',
'nail.salon' => 'https://schema.org/NailSalon',
'tattoo.parlor' => 'https://schema.org/TattooParlor',
),
'home.and.construction.business' => array(
'electrician' => 'https://schema.org/Electrician',
'general.contractor' => 'https://schema.org/GeneralContractor',
'hvac.business' => 'https://schema.org/HVACBusiness',
'home.and.construction.business' => 'https://schema.org/HomeAndConstructionBusiness',
'house.painter' => 'https://schema.org/HousePainter',
'locksmith' => 'https://schema.org/Locksmith',
'moving.company' => 'https://schema.org/MovingCompany',
'plumber' => 'https://schema.org/Plumber',
'roofing.contractor' => 'https://schema.org/RoofingContractor',
),
'internet.cafe' => 'https://schema.org/InternetCafe',
'legal.service' => array(
'attorney' => 'https://schema.org/Attorney',
'legal.service' => 'https://schema.org/LegalService',
'notary' => 'https://schema.org/Notary',
),
'library' => 'https://schema.org/Library',
'local.business' => 'https://schema.org/LocalBusiness',
'lodging.business' => array(
'bed.and.breakfast' => 'https://schema.org/BedAndBreakfast',
'campground' => 'https://schema.org/Campground',
'lodging.business' => 'https://schema.org/LodgingBusiness',
'hostel' => 'https://schema.org/Hostel',
'hotel' => 'https://schema.org/Hotel',
'motel' => 'https://schema.org/Motel',
'resort' => 'https://schema.org/Resort',
),
'medical.business' => array(
'community.health.business' => 'https://schema.org/CommunityHealth',
'dentist.business' => 'https://schema.org/Dentist',
'dermatology.business' => 'https://schema.org/Dermatology',
'diet.nutrition.business' => 'https://schema.org/DietNutrition',
'emergency.business' => 'https://schema.org/Emergency',
'geriatric.business' => 'https://schema.org/Geriatric',
'gynecologic.business' => 'https://schema.org/Gynecologic',
'medical.business' => 'https://schema.org/MedicalBusiness',
'medical.clinic' => array(
'medical.clinic' => 'https://schema.org/MedicalClinic',
'covid.testing.facility' => 'https://schema.org/CovidTestingFacility',
),
'midwifery.business' => 'https://schema.org/Midwifery',
'nursing.business' => 'https://schema.org/Nursing',
'obstetric.business' => 'https://schema.org/Obstetric',
'oncologic.business' => 'https://schema.org/Oncologic',
'optician.business' => 'https://schema.org/Optician',
'optometric.business' => 'https://schema.org/Optometric',
'otolaryngologic.business' => 'https://schema.org/Otolaryngologic',
'pediatric.business' => 'https://schema.org/Pediatric',
'pharmacy.business' => 'https://schema.org/Pharmacy',
'physician.business' => 'https://schema.org/Physician',
'physiotherapy.business' => 'https://schema.org/Physiotherapy',
'plastic.surgery.business' => 'https://schema.org/PlasticSurgery',
'podiatric.business' => 'https://schema.org/Podiatric',
'primary.care.business' => 'https://schema.org/PrimaryCare',
'psychiatric.business' => 'https://schema.org/Psychiatric',
'public.health.business' => 'https://schema.org/PublicHealth',
),
'professional.service' => 'https://schema.org/ProfessionalService',
'radio.station' => 'https://schema.org/RadioStation',
'real.estate.agent' => 'https://schema.org/RealEstateAgent',
'recycling.center' => 'https://schema.org/RecyclingCenter',
'self.storage' => 'https://schema.org/SelfStorage',
'shopping.center' => 'https://schema.org/ShoppingCenter',
'sports.activity.location' => array(
'sports.activity.location' => 'https://schema.org/SportsActivityLocation',
'stadium.or.arena' => 'https://schema.org/StadiumOrArena',
),
'store' => array(
'auto.parts.store' => 'https://schema.org/AutoPartsStore',
'bike.store' => 'https://schema.org/BikeStore',
'book.store' => 'https://schema.org/BookStore',
'clothing.store' => 'https://schema.org/ClothingStore',
'computer.store' => 'https://schema.org/ComputerStore',
'convenience.store' => 'https://schema.org/ConvenienceStore',
'department.store' => 'https://schema.org/DepartmentStore',
'electronics.store' => 'https://schema.org/ElectronicsStore',
'florist' => 'https://schema.org/Florist',
'flower.shop' => 'https://schema.org/Florist',
'furniture.store' => 'https://schema.org/FurnitureStore',
'garden.store' => 'https://schema.org/GardenStore',
'grocery.store' => 'https://schema.org/GroceryStore',
'hardware.store' => 'https://schema.org/HardwareStore',
'hobby.shop' => 'https://schema.org/HobbyShop',
'home.goods.store' => 'https://schema.org/HomeGoodsStore',
'jewelry.store' => 'https://schema.org/JewelryStore',
'liquor.store' => 'https://schema.org/LiquorStore',
'mens.clothing.store' => 'https://schema.org/MensClothingStore',
'mobile.phone.store' => 'https://schema.org/MobilePhoneStore',
'movie.rental.store' => 'https://schema.org/MovieRentalStore',
'music.store' => 'https://schema.org/MusicStore',
'office.equipment.store' => 'https://schema.org/OfficeEquipmentStore',
'outlet.store' => 'https://schema.org/OutletStore',
'pawn.shop' => 'https://schema.org/PawnShop',
'pet.store' => 'https://schema.org/PetStore',
'shoe.store' => 'https://schema.org/ShoeStore',
'sporting.goods.store' => 'https://schema.org/SportingGoodsStore',
'store' => 'https://schema.org/Store',
'tire.shop' => 'https://schema.org/TireShop',
'toy.store' => 'https://schema.org/ToyStore',
'wholesale.store' => 'https://schema.org/WholesaleStore',
),
'television.station' => 'https://schema.org/TelevisionStation',
'tourist.information.center' => 'https://schema.org/TouristInformationCenter',
'travel.agency' => 'https://schema.org/TravelAgency',
),
'place' => 'https://schema.org/Place',
'residence' => array(
'residence' => 'https://schema.org/Residence',
'residence.apartment.complex' => 'https://schema.org/ApartmentComplex',
'residence.gated.community' => 'https://schema.org/GatedResidenceCommunity',
),
'tourist.attraction' => 'https://schema.org/TouristAttraction',
'tourist.destination' => 'https://schema.org/TouristDestination',
),
'product' => array(
'individual.product' => 'https://schema.org/IndividualProduct', // Individual product with unique serial number.
'product' => 'https://schema.org/Product',
'product.group' => 'https://schema.org/ProductGroup',
'product.model' => 'https://schema.org/ProductModel',
'some.products' => 'https://schema.org/SomeProducts',
'vehicle' => array(
'bus.or.coach' => 'https://auto.schema.org/BusOrCoach',
'car' => 'https://auto.schema.org/Car',
'motorcycle' => 'https://auto.schema.org/Motorcycle',
'motorized.bicycle' => 'https://auto.schema.org/MotorizedBicycle',
'vehicle' => 'https://auto.schema.org/Vehicle',
),
),
'thing' => 'https://schema.org/Thing',
),
), // End of 'schema_type' array.
'schema_renamed' => array( // Element of 'head' array.
'anesthesia' => 'anesthesia.specialty',
'cardiovascular' => 'cardiovascular.specialty',
'community.health' => 'community.health.specialty',
'dentist' => 'dentist.organization',
'dentistry' => 'dentistry.specialty',
'dermatologic' => 'dermatologic.specialty',
'dermatology' => 'dermatology.specialty',
'diet.nutrition' => 'diet.nutrition.specialty',
'emergency' => 'emergency.specialty',
'endocrine' => 'endocrine.specialty',
'event.venu' => 'event.venue',
'gastroenterologic' => 'gastroenterologic.specialty',
'genetic' => 'genetic.specialty',
'geriatric' => 'geriatric.specialty',
'gynecologic' => 'gynecologic.specialty',
'hematologic' => 'hematologic.specialty',
'how.to' => 'howto',
'infectious' => 'infectious.specialty',
'laboratory.science' => 'laboratory.science.specialty',
'medical.clinic.business' => 'medical.clinic',
'medical.audience' => 'audience.medical',
'midwifery' => 'midwifery.specialty',
'movie.theatre' => 'movie.theater',
'musculoskeletal' => 'musculoskeletal.specialty',
'music.venu' => 'music.venue',
'neurologic' => 'neurologic.specialty',
'nursing' => 'nursing.specialty',
'obstetric' => 'obstetric.specialty',
'occupational.therapy' => 'occupational.therapy.specialty',
'oncologic' => 'oncologic.specialty',
'optometric' => 'optometric.specialty',
'otolaryngologic' => 'otolaryngologic.specialty',
'pathology' => 'pathology.specialty',
'pediatric' => 'pediatric.specialty',
'pharmacy' => 'pharmacy.organization',
'physician' => 'physician.organization',
'physiotherapy' => 'physiotherapy.specialty',
'plastic.surgery' => 'plastic.surgery.specialty',
'podiatric' => 'podiatric.specialty',
'primary.care' => 'primary.care.specialty',
'psychiatric' => 'psychiatric.specialty',
'public.health' => 'public.health.specialty',
'pulmonary' => 'pulmonary.specialty',
'radiography' => 'radiography.specialty',
'renal' => 'renal.specialty',
'respiratory.therapy' => 'respiratory.therapy.specialty',
'rheumatologic' => 'rheumatologic.specialty',
'service.bank.account' => 'bank.account',
'service.credit.card' => 'credit.card',
'service.deposit.account' => 'deposit.account',
'residence.single.family' => 'house.single.family',
'speech.pathology' => 'speech.pathology.specialty',
'surgical' => 'surgical.specialty',
'toxicologic' => 'toxicologic.specialty',
'train.trip' => 'trip.train',
'urologic' => 'urologic.specialty',
),
/*
* See http://wiki.goodrelations-vocabulary.org/Documentation/UN/CEFACT_Common_Codes.
*/
'schema_units' => array( // Element of 'head' array.
'fluid_volume' => array( // Unitcode index value.
'additionalProperty' => array( // Schema property name.
'@context' => 'https://schema.org',
'@type' => 'PropertyValue',
'propertyID' => 'fluid_volume',
'name' => 'Fluid Volume',
'unitText' => 'ml',
'unitCode' => 'MLT',
),
),
'height' => array( // Unitcode index value.
'height' => array( // Schema property name.
'@context' => 'https://schema.org',
'@type' => 'QuantitativeValue',
'name' => 'Height',
'unitText' => 'cm',
'unitCode' => 'CMT',
),
),
'height_px' => array( // Unitcode index value.
'height' => array( // Schema property name.
'@context' => 'https://schema.org',
'@type' => 'QuantitativeValue',
'name' => 'Height',
'unitText' => 'px',
'unitCode' => 'E37',
),
),
'length' => array( // Unitcode index value.
'depth' => array( // Schema property name.
'@context' => 'https://schema.org',
'@type' => 'QuantitativeValue',
'name' => 'Length or Depth',
'unitText' => 'cm',
'unitCode' => 'CMT',
),
),
'size' => array( // Unitcode index value.
'additionalProperty' => array( // Schema property name.
'@context' => 'https://schema.org',
'@type' => 'PropertyValue',
'propertyID' => 'size',
'name' => 'Size',
),
),
'weight' => array( // Unitcode index value.
'weight' => array( // Schema property name.
'@context' => 'https://schema.org',
'@type' => 'QuantitativeValue',
'name' => 'Weight',
'unitText' => 'kg',
'unitCode' => 'KGM',
),
),
'width' => array( // Unitcode index value.
'width' => array( // Schema property name.
'@context' => 'https://schema.org',
'@type' => 'QuantitativeValue',
'name' => 'Width',
'unitText' => 'cm',
'unitCode' => 'CMT',
),
),
'width_px' => array( // Unitcode index value.
'width' => array( // Schema property name.
'@context' => 'https://schema.org',
'@type' => 'QuantitativeValue',
'name' => 'Width',
'unitText' => 'px',
'unitCode' => 'E37',
),
),
),
/*
* See https://developers.google.com/search/docs/appearance/structured-data/review-snippet.
*
* Google allows the 'aggregateRating' property only for these types:
*
* Book
* Course
* Event
* HowTo (includes Recipe)
* LocalBusiness
* Movie
* Product
* SoftwareApplication
*
* Google allows the 'review' property only for these types:
*
* Book
* Course
* CreativeWorkSeason
* CreativeWorkSeries
* Episode
* Event
* Game
* HowTo (includes Recipe)
* LocalBusiness
* MediaObject
* Movie
* MusicPlaylist
* MusicRecording
* Organization
* Product
* SoftwareApplication
*/
'schema_aggregate_rating_parents' => array( // Element of 'head' array.
'book',
'course',
'event',
'howto',
'local.business',
'movie',
'product',
'software.application',
),
'schema_review_parents' => array( // Element of 'head' array.
'book',
'course',
'creative.work.season',
'creative.work.series',
'episode',
'event',
'game',
'howto',
'local.business',
'media.object',
'movie',
'music.playlist',
'music.recording',
'organization',
'product',
'software.application',
),
/*
* Good Relations.
*/
'schema_gr' => array( // Element of 'head' array.
'DeliveryMethod' => array(
'Download' => 'http://purl.org/goodrelations/v1#DeliveryModeDirectDownload',
'Freight' => 'http://purl.org/goodrelations/v1#DeliveryModeFreight',
'Mail' => 'http://purl.org/goodrelations/v1#DeliveryModeMail',
'Fleet' => 'http://purl.org/goodrelations/v1#DeliveryModeOwnFleet',
'PickUp' => 'http://purl.org/goodrelations/v1#DeliveryModePickUp',
'DHL' => 'http://purl.org/goodrelations/v1#DHL',
'FedEx' => 'http://purl.org/goodrelations/v1#FederalExpress',
'UPS' => 'http://purl.org/goodrelations/v1#UPS',
),
),
), // End of 'head' array.
'extend' => array(
'https://wpsso.com/extend/plugins/',
),
); // End of 'cf' array.
public static function get_version( $add_slug = false ) {
$info = self::$cf[ 'plugin' ][ 'wpsso' ];
return $add_slug ? $info[ 'slug' ] . '-' . $info[ 'version' ] : $info[ 'version' ];
}
public static function get_config( $read_cache = true ) {
if ( $read_cache ) {
if ( ! empty( self::$cf[ 'config_filtered' ] ) ) { // Only if already filtered.
return self::$cf;
}
}
self::$cf[ '*' ] = array(
'base' => array(),
'lib' => array(
'pro' => array(),
'std' => array(),
),
'version' => '',
);
self::$cf[ 'opt' ][ 'version' ] = '';
self::$cf[ 'config_filtered' ] = false;
/*
* Wpsso->__construct() calls WpssoConfig::get_config() before WpssoConfig::set_constants(), which defines
* 'WPSSO_VERSION', so use 'WPSSO_VERSION' as a signal to skip applying filters until later.
*/
if ( ! defined( 'WPSSO_VERSION' ) ) {
return self::$cf;
}
/*
* Apply filters to have add-ons include their config.
*/
if ( empty( self::$cf[ 'config_filtered' ] ) ) {
self::$cf = apply_filters( 'wpsso_get_config', self::$cf );
}
self::$cf[ 'config_filtered' ] = true;
$pro_disable = defined( 'WPSSO_PRO_DISABLE' ) && WPSSO_PRO_DISABLE ? true : false;
foreach ( self::$cf[ 'plugin' ] as $ext => $info ) {
$pkg_dir = 'std';
if ( ! $pro_disable ) {
$ext_dir = self::get_ext_dir( $ext, $read_cache );
if ( is_dir( $ext_dir . 'lib/pro/' ) ) {
$pkg_dir = 'pro';
}
}
if ( isset( $info[ 'slug' ] ) ) {
self::$cf[ '*' ][ 'slug' ][ $info[ 'slug' ] ] = $ext;
}
if ( isset( $info[ 'base' ] ) ) {
self::$cf[ '*' ][ 'base' ][ $info[ 'base' ] ] = $ext;
}
if ( isset( $info[ 'lib' ] ) && is_array( $info[ 'lib' ] ) ) {
self::$cf[ '*' ][ 'lib' ] = SucomUtil::array_merge_recursive_distinct( self::$cf[ '*' ][ 'lib' ], $info[ 'lib' ] );
}
if ( isset( $info[ 'version' ] ) ) {
self::$cf[ '*' ][ 'version' ] .= '-' . $ext . $info[ 'version' ] . $pkg_dir;
}
if ( isset( $info[ 'opt_version' ] ) ) {
self::$cf[ 'opt' ][ 'version' ] .= '-' . $ext . $info[ 'opt_version' ] . $pkg_dir;
}
/*
* Maybe complete relative paths in the assets array.
*/
if ( ! empty( $info[ 'base' ] ) ) { // Just in case.
/*
* Returns a plugin base URL like 'https://wpsso.com/wp-content/plugins/wpsso/'.
*/
$plugins_url_base = trailingslashit( plugins_url( '', $info[ 'base' ] ) );
array_walk_recursive( self::$cf[ 'plugin' ][ $ext ][ 'assets' ], array( __CLASS__, 'maybe_prefix_base_url' ), $plugins_url_base );
}
}
return self::$cf;
}
private static function maybe_prefix_base_url( &$url, $key, $plugins_url_base ) {
if ( ! empty( $url ) && false === strpos( $url, '//' ) ) {
$url = $plugins_url_base . $url;
}
}
public static function set_constants( $plugin_file ) {
if ( defined( 'WPSSO_VERSION' ) ) { // Define constants only once.
return;
}
$info =& self::$cf[ 'plugin' ][ 'wpsso' ];
$nonce_key = defined( 'NONCE_KEY' ) ? NONCE_KEY : '';
/*
* Define fixed constants.
*/
define( 'WPSSO_DATA_ID', 'wpsso structured data' );
define( 'WPSSO_FILEPATH', $plugin_file );
define( 'WPSSO_NONCE_NAME', md5( $nonce_key . var_export( $info, $return = true ) ) );
define( 'WPSSO_PLUGINBASE', $info[ 'base' ] ); // Example: wpsso/wpsso.php.
define( 'WPSSO_PLUGINDIR', trailingslashit( realpath( dirname( $plugin_file ) ) ) );
define( 'WPSSO_PLUGINSLUG', $info[ 'slug' ] ); // Example: wpsso.
define( 'WPSSO_UNDEF', -1 ); // Default undefined image width / height value.
define( 'WPSSO_URLPATH', trailingslashit( plugins_url( '', $plugin_file ) ) );
define( 'WPSSO_VERSION', $info[ 'version' ] );
define( 'WPSSO_INIT_CONFIG_PRIORITY', -10 );
define( 'WPSSO_INIT_OPTIONS_PRIORITY', 9 );
define( 'WPSSO_INIT_OBJECTS_PRIORITY', 10 );
define( 'WPSSO_INIT_JSON_FILTERS_PRIORITY', 11 );
define( 'WPSSO_INIT_SHORTCODES_PRIORITY', 11 );
define( 'WPSSO_INIT_PLUGIN_PRIORITY', 12 );
/*
* Define variable constants.
*/
self::set_variable_constants();
}
public static function set_variable_constants( $var_const = null ) {
if ( ! is_array( $var_const ) ) {
$var_const = self::get_variable_constants();
}
/*
* Define the variable constants, if not already defined.
*/
foreach ( $var_const as $name => $value ) {
if ( ! defined( $name ) ) {
define( $name, $value );
}
}
}
public static function get_variable_constants() {
$var_const = array();
if ( defined( 'WPSSO_PLUGINDIR' ) ) {
$var_const[ 'WPSSO_ARTICLE_SECTIONS_LIST' ] = WPSSO_PLUGINDIR . 'share/article-sections.txt';
$var_const[ 'WPSSO_PRODUCT_CATEGORIES_LIST' ] = WPSSO_PLUGINDIR . 'share/product-categories.txt';
}
/*
* MENU_ORDER (aka menu_position):
*
* null – below Comments
* 5 – below Posts
* 10 – below Media
* 15 – below Links
* 20 – below Pages
* 25 – below comments
* 60 – below first separator
* 65 – below Plugins
* 70 – below Users
* 75 – below Tools
* 80 – below Settings
* 100 – below second separator
*/
$var_const[ 'WPSSO_MENU_ORDER' ] = 85; // Position of the SSO settings menu item.
$var_const[ 'WPSSO_TB_NOTICE_MENU_ORDER' ] = 55; // Position of the SSO notices toolbar menu item.
$var_const[ 'WPSSO_TB_NOTICE_TIME_ERR' ] = 3000; // Show notification (-1 don't show, 0 show until clicked, ms to auto-show).
$var_const[ 'WPSSO_TB_NOTICE_TIME_WARN' ] = -1; // Show notification (-1 don't show, 0 show until clicked, ms to auto-show).
$var_const[ 'WPSSO_TB_NOTICE_TIME_INF' ] = -1; // Show notification (-1 don't show, 0 show until clicked, ms to auto-show).
$var_const[ 'WPSSO_TB_NOTICE_TIME_UPD' ] = 2000; // Show notification (-1 don't show, 0 show until clicked, ms to auto-show).
$var_const[ 'WPSSO_TB_LOCALE_MENU_ORDER' ] = 56; // Position of the user locale toolbar menu item.
$var_const[ 'WPSSO_TB_VALIDATE_MENU_ORDER' ] = 57; // Position of the validate menu item.
$var_const[ 'WPSSO_TB_VIEW_PROFILE_MENU_ORDER' ] = 80; // Position of the view profile menu item.
$var_const[ 'WPSSO_ADD_ROLE_MAX_TIME' ] = 300; // 5 minutes.
$var_const[ 'WPSSO_REMOVE_ROLE_MAX_TIME' ] = 300; // 5 minutes.
$var_const[ 'WPSSO_CACHE_ARRAY_FIFO_MAX' ] = 8;
$var_const[ 'WPSSO_CACHE_DIR' ] = self::get_cache_dir();
$var_const[ 'WPSSO_CACHE_FILES_EXP_SECS' ] = WEEK_IN_SECONDS; // See WpssoUtilCache->clear_cache_files_expired().
$var_const[ 'WPSSO_CACHE_REFRESH_MAX_TIME' ] = 1800; // 30 mins by default.
$var_const[ 'WPSSO_CACHE_SELECT_JSON_EXP_SECS' ] = WEEK_IN_SECONDS; // JS URLs for Schema types, article sections, and product categories.
$var_const[ 'WPSSO_CACHE_URL' ] = self::get_cache_url();
$var_const[ 'WPSSO_CONTENT_BLOCK_FILTER_OUTPUT' ] = true; // Monitor and fix incorrectly coded filter hooks.
$var_const[ 'WPSSO_CONTENT_FILTERS_MAX_TIME' ] = 1.50; // Issue a warning if the content filter takes longer than 1 second.
$var_const[ 'WPSSO_CONTENT_IMAGES_MAX' ] = 5; // Maximum number of images extracted from the content.
$var_const[ 'WPSSO_DUPE_CHECK_HEADER_COUNT' ] = 3; // Maximum number of times to check for duplicates.
$var_const[ 'WPSSO_DUPE_CHECK_TIMEOUT_TIME' ] = 3.00; // Hard-limit - most crawlers time-out after 3 seconds.
$var_const[ 'WPSSO_DUPE_CHECK_WARNING_TIME' ] = 2.50; // Issue a warning if getting shortlink took more than 2.5 seconds.
$var_const[ 'WPSSO_IMAGE_MAKE_SIZE_MAX_TIME' ] = 5.00; // Error to trigger_error() if image_make_intermediate_size() takes longer.
$var_const[ 'WPSSO_METABOX_TAB_LAYOUT' ] = 'vertical'; // Default tab layout (vertical or horizontal).
$var_const[ 'WPSSO_PHP_GETIMGSIZE_MAX_TIME' ] = 3.00; // Send an error to trigger_error() if getimagesize() takes longer.
$var_const[ 'WPSSO_READING_WORDS_PER_MIN' ] = 200; // Estimated reading words per minute.
$var_const[ 'WPSSO_SCHEDULE_SINGLE_EVENT_TIME' ] = 10; // Schedule single events for now + 10 seconds.
$var_const[ 'WPSSO_SELECT_PERSON_NAMES_MAX' ] = 200; // Maximum number of persons to include in a form select.
/*
* Schema limits.
*/
$var_const[ 'WPSSO_SCHEMA_ADDL_TYPE_URL_MAX' ] = 8;
$var_const[ 'WPSSO_SCHEMA_SERVICE_AREAS_MAX' ] = 5;
$var_const[ 'WPSSO_SCHEMA_AWARDS_MAX' ] = 5;
$var_const[ 'WPSSO_SCHEMA_CITATIONS_MAX' ] = 5;
$var_const[ 'WPSSO_SCHEMA_COMMENTS_MAX' ] = 50; // Maximum number of comments when "Break comments into pages" is unchecked.
$var_const[ 'WPSSO_SCHEMA_CONTACT_POINTS_MAX' ] = 5;
$var_const[ 'WPSSO_SCHEMA_HOWTO_STEPS_MAX' ] = 40;
$var_const[ 'WPSSO_SCHEMA_HOWTO_SUPPLIES_MAX' ] = 30;
$var_const[ 'WPSSO_SCHEMA_HOWTO_TOOLS_MAX' ] = 20;
$var_const[ 'WPSSO_SCHEMA_ISPARTOF_URLS_MAX' ] = 10;
$var_const[ 'WPSSO_SCHEMA_METADATA_OFFERS_MAX' ] = 5;
$var_const[ 'WPSSO_SCHEMA_MOVIE_ACTORS_MAX' ] = 10;
$var_const[ 'WPSSO_SCHEMA_MOVIE_DIRECTORS_MAX' ] = 5;
$var_const[ 'WPSSO_SCHEMA_OFFER_CATALOGS_MAX' ] = 5;
$var_const[ 'WPSSO_SCHEMA_ORGANIZATION_TYPE_ID' ] = 'organization';
$var_const[ 'WPSSO_SCHEMA_RECIPE_INGREDIENTS_MAX' ] = 40;
$var_const[ 'WPSSO_SCHEMA_RECIPE_INSTRUCTIONS_MAX' ] = 40;
$var_const[ 'WPSSO_SCHEMA_REVIEWS_MAX' ] = 100;
$var_const[ 'WPSSO_SCHEMA_SAMEAS_URLS_MAX' ] = 5;
$var_const[ 'WPSSO_SCHEMA_WEBPAGE_REVIEWED_BY_MAX' ] = 5;
/*
* Setting and meta array names.
*/
$var_const[ 'WPSSO_DISMISS_NAME' ] = 'wpsso_dismissed';
$var_const[ 'WPSSO_NOTICES_NAME' ] = 'wpsso_notices';
$var_const[ 'WPSSO_META_NAME' ] = '_wpsso_meta';
$var_const[ 'WPSSO_META_ATTACHED_NAME' ] = '_wpsso_meta_attached';
$var_const[ 'WPSSO_META_RATING_NAME' ] = 'rating';
$var_const[ 'WPSSO_PREF_NAME' ] = '_wpsso_pref';
$var_const[ 'WPSSO_OPTIONS_NAME' ] = 'wpsso_options';
$var_const[ 'WPSSO_REG_TS_NAME' ] = 'wpsso_timestamps';
$var_const[ 'WPSSO_SITE_OPTIONS_NAME' ] = 'wpsso_site_options';
$var_const[ 'WPSSO_POST_CHECK_COUNT_NAME' ] = 'wpsso_post_check_count';
$var_const[ 'WPSSO_TMPL_HEAD_CHECK_NAME' ] = 'wpsso_tmpl_head_check';
$var_const[ 'WPSSO_WP_CONFIG_CHECK_NAME' ] = 'wpsso_wp_config_check';
$var_const[ 'WPSSO_PAGE_TAG_TAXONOMY' ] = 'page_tag';
/*
* Hook priorities.
*/
$var_const[ 'WPSSO_ADD_MENU_PRIORITY' ] = -20; // 'admin_menu' hook priority.
$var_const[ 'WPSSO_ADD_SUBMENU_PRIORITY' ] = -10; // 'admin_menu' hook priority.
$var_const[ 'WPSSO_ADD_COLUMN_PRIORITY' ] = 100;
$var_const[ 'WPSSO_ADMIN_SCRIPTS_PRIORITY' ] = -1000; // 'admin_enqueue_scripts' hook priority.
$var_const[ 'WPSSO_BLOCK_ASSETS_PRIORITY' ] = -1000; // 'enqueue_block_editor_assets' hook priority.
$var_const[ 'WPSSO_HEAD_PRIORITY' ] = -10;
$var_const[ 'WPSSO_META_SAVE_PRIORITY' ] = -1000; // Save custom post/term/user meta before clearing the cache.
$var_const[ 'WPSSO_META_CLEAR_PRIORITY' ] = -100; // Clear cache before priority 10 (where most caching plugins are hooked).
$var_const[ 'WPSSO_META_REFRESH_PRIORITY' ] = -10; // Refresh cache before priority 10 (where most caching plugins are hooked).
$var_const[ 'WPSSO_TITLE_TAG_PRIORITY' ] = 1000; // Priority for the WordPress 'document_title' filters.
/*
* PHP cURL library settings.
*/
$var_const[ 'WPSSO_PHP_CURL_CAINFO' ] = ABSPATH . WPINC . '/certificates/ca-bundle.crt';
$var_const[ 'WPSSO_PHP_CURL_USERAGENT' ] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:128.0) Gecko/20100101 Firefox/128.0';
$var_const[ 'WPSSO_PHP_CURL_USERAGENT_FACEBOOK' ] = 'facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)';
/*
* Maybe override the default constant value with a pre-defined constant value.
*/
foreach ( $var_const as $name => $value ) {
if ( defined( $name ) ) {
$var_const[ $name ] = constant( $name );
}
}
return $var_const;
}
/*
* Load all essential library files.
*
* Avoid calling is_admin() here as it can be unreliable this early in the load process - some plugins that operate
* outside of the standard WordPress load process do not define WP_ADMIN as they should (which is required by
* is_admin() this early in the WordPress load process).
*/
public static function require_libs( $plugin_file ) {
require_once WPSSO_PLUGINDIR . 'lib/com/cache.php';
require_once WPSSO_PLUGINDIR . 'lib/com/nodebug.php'; // Always load the debug fallback class.
require_once WPSSO_PLUGINDIR . 'lib/com/nonotice.php'; // Always load the notice fallback class.
require_once WPSSO_PLUGINDIR . 'lib/com/plugin.php';
require_once WPSSO_PLUGINDIR . 'lib/com/util.php';
require_once WPSSO_PLUGINDIR . 'lib/com/util-options.php';
require_once WPSSO_PLUGINDIR . 'lib/com/util-wp.php';
require_once WPSSO_PLUGINDIR . 'lib/check.php';
require_once WPSSO_PLUGINDIR . 'lib/exception.php'; // Extends ErrorException.
require_once WPSSO_PLUGINDIR . 'lib/functions.php';
require_once WPSSO_PLUGINDIR . 'lib/head.php';
require_once WPSSO_PLUGINDIR . 'lib/media.php';
require_once WPSSO_PLUGINDIR . 'lib/options.php';
require_once WPSSO_PLUGINDIR . 'lib/page.php';
require_once WPSSO_PLUGINDIR . 'lib/register.php';
require_once WPSSO_PLUGINDIR . 'lib/script.php';
require_once WPSSO_PLUGINDIR . 'lib/style.php';
require_once WPSSO_PLUGINDIR . 'lib/util.php'; // Extends SucomUtil.
/*
* Comment, post, term, user modules.
*/
require_once WPSSO_PLUGINDIR . 'lib/abstract/wp-meta.php';
require_once WPSSO_PLUGINDIR . 'lib/comment.php'; // Extends WpssoAbstractWpMeta.
require_once WPSSO_PLUGINDIR . 'lib/post.php'; // Extends WpssoAbstractWpMeta.
require_once WPSSO_PLUGINDIR . 'lib/term.php'; // Extends WpssoAbstractWpMeta.
require_once WPSSO_PLUGINDIR . 'lib/user.php'; // Extends WpssoAbstractWpMeta.
/*
* Meta tags and markup.
*/
require_once WPSSO_PLUGINDIR . 'lib/link-rel.php';
require_once WPSSO_PLUGINDIR . 'lib/meta-name.php';
require_once WPSSO_PLUGINDIR . 'lib/oembed.php';
require_once WPSSO_PLUGINDIR . 'lib/opengraph.php';
require_once WPSSO_PLUGINDIR . 'lib/pinterest.php';
require_once WPSSO_PLUGINDIR . 'lib/schema.php';
require_once WPSSO_PLUGINDIR . 'lib/twittercard.php';
/*
* Module library loader.
*/
require_once WPSSO_PLUGINDIR . 'lib/loader.php';
/*
* Add-ons library.
*/
require_once WPSSO_PLUGINDIR . 'lib/abstract/add-on.php';
add_filter( 'wpsso_load_lib', array( __CLASS__, 'load_lib' ), 10, 3 );
}
public static function load_lib( $success = false, $filespec = '', $classname = '' ) {
if ( false !== $success ) {
return $success;
}
if ( ! empty( $classname ) ) {
if ( class_exists( $classname ) ) {
return $classname;
}
}
if ( ! empty( $filespec ) ) {
$file_path = WPSSO_PLUGINDIR . 'lib/' . $filespec . '.php';
if ( file_exists( $file_path ) ) {
require_once $file_path;
if ( empty( $classname ) ) {
return SucomUtil::sanitize_classname( 'wpsso' . $filespec, $allow_underscore = false );
}
return $classname;
}
}
return $success;
}
public static function get_cache_dir() {
if ( defined( 'WPSSO_CACHE_DIR' ) ) {
return WPSSO_CACHE_DIR;
}
if ( defined( 'WP_CONTENT_DIR' ) ) {
$content_dir = trailingslashit( WP_CONTENT_DIR );
if ( self::is_cache_dir( $content_dir . 'cache/wpsso/' ) ) {
return $content_dir . 'cache/wpsso/';
}
}
if ( defined( 'WPSSO_PLUGINDIR' ) ) {
if ( self::is_cache_dir( WPSSO_PLUGINDIR . 'cache/' ) ) {
return WPSSO_PLUGINDIR . 'cache/';
}
}
return false;
}
public static function get_cache_url() {
if ( defined( 'WPSSO_CACHE_URL' ) ) {
return WPSSO_CACHE_URL;
}
if ( defined( 'WP_CONTENT_DIR' ) ) {
$content_dir = trailingslashit( WP_CONTENT_DIR );
if ( self::is_cache_dir( $content_dir . 'cache/wpsso/' ) ) {
return content_url( 'cache/wpsso/' );
}
}
if ( defined( 'WPSSO_PLUGINDIR' ) ) {
if ( self::is_cache_dir( WPSSO_PLUGINDIR . 'cache/' ) ) {
if ( defined( 'WPSSO_URLPATH' ) ) { // Just in case.
return WPSSO_URLPATH . 'cache/';
}
}
}
return false;
}
private static function is_cache_dir( $dir ) {
$dir = trailingslashit( $dir ); // Just in case.
$index_file = $dir . 'index.php';
$access_file = $dir . '.htaccess';
if ( file_exists( $index_file ) ) { // Assume directory permissions are good.
return true;
}
$index_str = '<?php // These aren\'t the droids you\'re looking for.' . "\n";
$access_str = '<FilesMatch "\.(php|pl|cgi|shtml)$">
# Apache 2.2
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
# Apache 2.4
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
</FilesMatch>' . "\n";
if ( is_dir( $dir ) || @mkdir( $dir, $mode = 0755, $recursive = true ) ) {
if ( ( $index_fh = @fopen( $index_file, $mode = 'wb' ) ) &&
( $access_fh = @fopen( $access_file, $mode = 'wb' ) ) ) {
if ( @fwrite( $index_fh, $index_str ) && @fwrite( $access_fh, $access_str ) ) {
fclose( $index_fh );
fclose( $access_fh );
@chmod( $index_file, $mode = 0644 );
@chmod( $access_file, $mode = 0644 );
return true;
}
}
}
return false;
}
/*
* Returns $cf[ 'plugin' ] with 'wpsso' as the first array element and all other plugins sorted by translated name.
*/
public static function get_ext_sorted() {
$cf = self::get_config();
/*
* Sort the array by plugin name and maintain index association.
*/
uasort( $cf[ 'plugin' ], array( __CLASS__, 'sort_plugin_by_name_key' ) );
reset( $cf[ 'plugin' ] ); // Just in case.
$first_key = key( $cf[ 'plugin' ] );
/*
* Make sure the core plugin is listed first.
*/
if ( 'wpsso' !== $first_key ) {
SucomUtil::move_to_front( $cf[ 'plugin' ], 'wpsso' );
}
return $cf[ 'plugin' ];
}
/*
* Returns 'plugin' or 'add-on' translated string.
*/
public static function get_ext_type_transl( $ext ) {
return 'wpsso' === $ext ? _x( 'plugin', 'plugin type', 'wpsso' ) : _x( 'add-on', 'plugin type', 'wpsso' );
}
public static function get_ext_text_domain( $ext ) {
$cf = self::get_config();
$text_domain = false;
if ( isset( $cf[ 'plugin' ][ $ext ][ 'text_domain' ] ) ) {
$text_domain = $cf[ 'plugin' ][ $ext ][ 'text_domain' ];
}
return $text_domain;
}
/*
* Returns false or a slashed directory path.
*/
public static function get_ext_dir( $ext, $read_cache = true ) {
static $local_cache = array();
if ( $read_cache ) {
if ( isset( $local_cache[ $ext ] ) ) {
return $local_cache[ $ext ];
}
}
/*
* Check for active plugin constant first.
*/
$ext_dir_const = strtoupper( $ext ) . '_PLUGINDIR';
if ( defined( $ext_dir_const ) && is_dir( $ext_dir = constant( $ext_dir_const ) ) ) {
return $local_cache[ $ext ] = trailingslashit( $ext_dir );
}
/*
* Fallback to checking for inactive plugin folder.
*/
$cf = self::get_config();
if ( isset( $cf[ 'plugin' ][ $ext ][ 'slug' ] ) ) {
$slug = $cf[ 'plugin' ][ $ext ][ 'slug' ];
if ( defined ( 'WPMU_PLUGIN_DIR' ) && is_dir( $ext_dir = trailingslashit( WPMU_PLUGIN_DIR ) . $slug . '/' ) ) {
return $local_cache[ $ext ] = $ext_dir;
}
if ( defined ( 'WP_PLUGIN_DIR' ) && is_dir( $ext_dir = trailingslashit( WP_PLUGIN_DIR ) . $slug . '/' ) ) {
return $local_cache[ $ext ] = $ext_dir;
}
}
return $local_cache[ $ext ] = false;
}
/*
* Returns false, a slashed directory path, or the file name path.
*
* Use $file_is_dir = true when specifically checking for a sub-folder path.
*/
public static function get_ext_file_path( $ext, $rel_file, $file_is_dir = false ) {
$file_path = false;
if ( $ext_dir = self::get_ext_dir( $ext ) ) { // Returns false or a slashed directory path.
$rel_file = SucomUtil::sanitize_file_path( $rel_file );
if ( $file_is_dir ) { // Must be a directory.
if ( is_dir( trailingslashit( $ext_dir . $rel_file ) ) ) {
$file_path = trailingslashit( $ext_dir . $rel_file );
}
} elseif ( file_exists( $ext_dir . $rel_file ) ) {
$file_path = $ext_dir . $rel_file;
}
}
return $file_path;
}
public static function get_ext_file_url( $ext, $rel_file ) {
$cf = self::get_config();
$url_key = SucomUtil::sanitize_hookname( basename( $rel_file ) ); // Changes html/setup.html to setup_html (note underscore).
$file_url = false;
if ( isset( $cf[ 'plugin' ][ $ext ][ 'url' ][ $url_key ] ) ) {
/*
* Returns URL or false on failure.
*
* See https://developer.wordpress.org/reference/functions/wp_http_validate_url/
*/
$file_url = wp_http_validate_url( $cf[ 'plugin' ][ $ext ][ 'url' ][ $url_key ] );
}
return $file_url;
}
public static function get_schema_units() {
static $local_cache = null;
if ( null === $local_cache ) {
$local_cache = apply_filters( 'wpsso_schema_units', self::$cf[ 'head' ][ 'schema_units' ] );
}
return $local_cache;
}
public static function get_social_accounts( $key = false ) {
static $local_cache = null;
if ( null === $local_cache ) {
$local_cache = apply_filters( 'wpsso_social_accounts', self::$cf[ 'form' ][ 'social_accounts' ] );
foreach ( $local_cache as $k => $label ) {
$local_cache[ $k ] = _x( $label, 'option value', 'wpsso' );
}
/*
* Sort the associative array by value (ie. the translated label).
*/
method_exists( 'SucomUtil', 'natasort' ) ? SucomUtil::natasort( $local_cache ) : uasort( $local_cache, 'strnatcasecmp' );
}
if ( false !== $key ) {
if ( $key && is_string( $key ) ) {
if ( isset( $local_cache[ $key ] ) ) { // Just in case.
return $local_cache[ $key ];
}
}
return null;
}
return $local_cache;
}
public static function get_input_limits( $opt_key = false ) {
static $local_cache = null;
if ( null === $local_cache ) {
$local_cache = self::$cf[ 'form' ][ 'input_limits' ];
foreach ( $local_cache as $key => $input_limits ) {
$filter_name = SucomUtil::sanitize_hookname( 'wpsso_input_limits_' . $key );
$local_cache[ $key ] = apply_filters( $filter_name, $input_limits );
}
}
if ( false !== $opt_key ) {
if ( $opt_key && is_string( $opt_key ) ) {
if ( isset( $local_cache[ $opt_key ] ) ) {
return $local_cache[ $opt_key ];
}
}
return null;
}
return $local_cache;
}
/*
* Provides a key index for attributes to meta data options.
*
* Returns false or an options key.
*/
public static function get_attr_md_index( $md_key = false ) {
return self::get_opt_md_info( $md_index = 'attr_md_index', $md_key );
}
/*
* Provides a key index for custom fields to meta data options.
*
* Returns false or an options key.
*/
public static function get_cf_md_index( $md_key = false ) {
return self::get_opt_md_info( $md_index = 'cf_md_index', $md_key );
}
/*
* Provides information to help read and split custom field values into numbered options.
*
* Returns true, false, or an array.
*/
public static function get_md_keys_multi( $md_key = false ) {
return self::get_opt_md_info( $md_index = 'md_keys_multi', $md_key );
}
/*
* Returns an array of metadata keys (can be empty).
*
* $md_key = true | false | string | array
*/
public static function get_md_keys_fallback( $md_key = false ) {
static $local_cache = null;
if ( is_array( $md_key ) ) { // Just in case.
return $md_key; // Return an array.
} elseif ( null === $local_cache ) {
$local_cache = self::$cf[ 'opt' ][ 'md_keys_fallback' ];
foreach ( $local_cache as $key => $fallback ) {
$filter_name = SucomUtil::sanitize_hookname( 'wpsso_md_keys_fallback_' . $key );
$local_cache[ $key ] = apply_filters( $filter_name, $fallback );
}
}
if ( false !== $md_key ) {
if ( $md_key && is_string( $md_key ) ) {
if ( isset( $local_cache[ $md_key ] ) ) {
return $local_cache[ $md_key ]; // Return an array.
}
return array( $md_key ); // Return an array.
}
return array(); // Return an array.
}
return $local_cache; // Return an array.
}
/*
* Provides a key index for attributes and custom fields to meta data options.
*
* Provides information to help read and split attribute and custom field values into numbered options.
*
* Example $md_index values: 'attr_md_index', 'cf_md_index', or 'md_keys_multi'.
*/
private static function get_opt_md_info( $md_index, $md_key = false ) {
static $local_cache = array();
if ( ! isset( $local_cache[ $md_index ] ) ) {
$local_cache[ $md_index ] = isset( self::$cf[ 'opt' ][ $md_index ] ) ? self::$cf[ 'opt' ][ $md_index ] : array();
/*
* See WpssoIntegRecipeWpRecipeMaker->filter_cf_md_index().
*/
$local_cache[ $md_index ] = apply_filters( 'wpsso_' . $md_index, $local_cache[ $md_index ] );
}
if ( false !== $md_key ) {
if ( isset( $local_cache[ $md_index ][ $md_key ] ) ) {
return $local_cache[ $md_index ][ $md_key ];
}
return false;
}
return $local_cache[ $md_index ];
}
private static function sort_plugin_by_name_key( $a, $b ) {
if ( isset( $a[ 'name' ] ) && isset( $b[ 'name' ] ) ) {
$a[ 'name' ] = _x( $a[ 'name' ], 'plugin name', 'wpsso' );
$b[ 'name' ] = _x( $b[ 'name' ], 'plugin name', 'wpsso' );
/*
* Case insensitive string comparisons using a "natural order" algorithm.
*/
return strnatcasecmp( $a[ 'name' ], $b[ 'name' ] );
}
return 0; // No change.
}
}
}