WordPress SEO Plugin – Rank Math - Version 1.0.32

Version Description

[Aug 28, 2019] = * Improved WooCommerce's module for speed and readability * Added complete compatibility for the BuddyPress plugin * Added Rank Math's options in the Screen options for users with onpage_general capability (like Editors etc.) * Added redirection to old product links, to the new ones, when Remove Product Base option was turned on. Previously the plugin was only adding a Canonical URL * Added changes in the Setup wizard to make it more GDPR-friendly * Added a filter to hide SEO scores * Updated all date() to date_i18n() functions * Removed default Schema from About & Contact pages * Fixed an issue where the plugin was not obeying the DISALLOW_FILE_EDIT rule * Fixed Dashboard widget showing an empty box instead of hiding itself when the permissions were not correct * Fixed Redirection issues when + or ? were used in the source URLs. They should be working fine now * Fixed an issue with the redirection to the document file showing a 404 page. Document files should normally open now as expected * Fixed a CSS overflow in SEO Analysis when long URLs were displayed * Fixed Robots.txt editor not working when the site was set to NoIndex * Fixed an issue where the auto-generated description was removing diacritics from the preview area * Fixed an issue where About Us and Contact pages were not showing in the Organization data of Schema Markup

Full changelog can be found here - Rank Math SEO changelog

Download this release

Release Info

Developer MyThemeShop
Plugin Icon 128x128 WordPress SEO Plugin – Rank Math
Version 1.0.32
Comparing to
See all releases

Code changes from version 1.0.31 to 1.0.32

Files changed (77) hide show
  1. assets/admin/css/metabox.css +1 -1
  2. assets/admin/css/post-list.css +1 -1
  3. assets/admin/css/setup-wizard.css +1 -1
  4. assets/admin/js/assessor.js +0 -0
  5. assets/admin/js/common.js +1 -1
  6. assets/admin/js/dashboard.js +1 -1
  7. assets/admin/js/feedback.js +1 -1
  8. assets/admin/js/import-export.js +1 -1
  9. assets/admin/js/option-panel.js +1 -1
  10. assets/admin/js/post-list.js +1 -1
  11. assets/admin/js/post-metabox.js +0 -0
  12. assets/admin/js/term-metabox.js +0 -0
  13. assets/admin/js/user-metabox.js +0 -0
  14. assets/admin/js/validate.js +1 -1
  15. assets/admin/js/wizard.js +1 -1
  16. assets/admin/js/wplink.js +1 -1
  17. includes/admin/class-admin-helper.php +0 -33
  18. includes/admin/class-admin.php +5 -0
  19. includes/admin/class-assets.php +1 -0
  20. includes/admin/class-import-export.php +2 -2
  21. includes/admin/class-option-center.php +0 -6
  22. includes/admin/class-options.php +12 -3
  23. includes/admin/class-post-columns.php +4 -4
  24. includes/admin/class-registration.php +31 -17
  25. includes/admin/class-setup-wizard.php +5 -5
  26. includes/admin/views/import-export/backup-panel.php +1 -1
  27. includes/admin/views/plugin-activation.php +2 -1
  28. includes/admin/wizard/{class-misc.php → class-schema-markup.php} +5 -14
  29. includes/class-installer.php +2 -2
  30. includes/class-module-manager.php +15 -0
  31. includes/class-tracking.php +1 -1
  32. includes/frontend/class-breadcrumbs.php +43 -6
  33. includes/frontend/class-frontend.php +0 -20
  34. includes/frontend/paper/class-paper.php +23 -18
  35. includes/helpers/class-conditional.php +26 -0
  36. includes/modules/404-monitor/class-table.php +40 -29
  37. includes/modules/buddypress/class-admin.php +55 -0
  38. includes/modules/buddypress/class-buddypress.php +160 -0
  39. includes/modules/buddypress/paper/class-bp-group.php +71 -0
  40. includes/modules/buddypress/paper/class-bp-user.php +78 -0
  41. includes/modules/buddypress/views/options-titles.php +50 -0
  42. includes/modules/local-seo/class-kml-file.php +2 -2
  43. includes/modules/local-seo/class-local-seo.php +1 -2
  44. includes/modules/redirections/class-db.php +1 -1
  45. includes/modules/redirections/class-export.php +1 -1
  46. includes/modules/redirections/class-form.php +18 -8
  47. includes/modules/redirections/class-redirector.php +5 -2
  48. includes/modules/rich-snippet/snippets/class-event.php +3 -3
  49. includes/modules/rich-snippet/snippets/class-jobposting.php +2 -2
  50. includes/modules/rich-snippet/snippets/class-product-woocommerce.php +7 -7
  51. includes/modules/rich-snippet/snippets/class-review.php +31 -6
  52. includes/modules/rich-snippet/snippets/class-singular.php +5 -0
  53. includes/modules/robots-txt/class-robots-txt.php +112 -0
  54. includes/modules/robots-txt/options.php +58 -0
  55. includes/modules/search-console/class-db.php +2 -2
  56. includes/modules/search-console/class-search-console-common.php +1 -1
  57. includes/modules/search-console/class-search-console.php +7 -7
  58. includes/modules/search-console/class-sitemaps-list.php +1 -1
  59. includes/modules/search-console/views/options.php +1 -1
  60. includes/modules/seo-analysis/assets/seo-analysis.css +1 -1
  61. includes/modules/seo-analysis/class-result.php +27 -22
  62. includes/modules/seo-analysis/class-seo-analyzer.php +3 -1
  63. includes/modules/sitemap/providers/class-author.php +1 -1
  64. includes/modules/woocommerce/class-admin.php +25 -51
  65. includes/modules/woocommerce/class-opengraph.php +137 -0
  66. includes/modules/woocommerce/class-product-redirection.php +116 -0
  67. includes/modules/woocommerce/class-sitemap.php +123 -0
  68. includes/modules/woocommerce/class-wc-vars.php +152 -0
  69. includes/modules/woocommerce/class-woocommerce.php +117 -425
  70. includes/modules/woocommerce/views/options-general.php +12 -12
  71. includes/settings/general/htaccess.php +3 -2
  72. includes/settings/general/robots.php +0 -26
  73. rank-math.php +2 -2
  74. readme.txt +18 -16
  75. vendor/composer/autoload_classmap.php +10 -1
  76. vendor/composer/autoload_static.php +10 -1
  77. vendor/composer/installed.json +90 -90
assets/admin/css/metabox.css CHANGED
@@ -2,4 +2,4 @@
2
  * Plugin: Rank Math
3
  * URL: https://rankmath.com/wordpress/plugin/seo-suite/
4
  * Name: metabox.css
5
- */#rank_math_metabox .inside{margin:0;padding:0}.rank-math-metabox-frame{position:relative;min-width:255px;max-width:1000px;margin-bottom:25px;border:1px solid #e5e5e5;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,0.04)}.rank-math-metabox-frame-title{font-size:14px;line-height:1.4;margin:0;padding:8px 12px;border-bottom:1px solid #e5e5e5}.rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation){padding:30px 20px 0;border-bottom:1px solid #e5e5e5;background:#fafafa}.rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a{font-size:14px;font-weight:600;position:relative;float:left;box-sizing:border-box;margin-left:7px;padding:8px 16px 4px 12px;white-space:nowrap;text-decoration:none;color:#555;border:1px solid #e6e6e6;border-bottom:0;outline:none;background:#f5f5f5;box-shadow:none}@media (max-width: 768px){.rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a{margin-left:-1px;padding:8px 12px 4px 8px}}.rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a[href="#setting-panel-askreview"]{padding-right:12px;float:right;color:#e93f30}.rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a .dashicons,.rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a .fa{font-size:14px;line-height:inherit;min-width:20px;text-align:center}.rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a.active{bottom:-1px;margin-top:-1px;padding-bottom:5px;color:#069de3;border-top-color:#069de3;background:#fff}.rank-math-metabox-wrap .social-tabs-navigation{display:inline-block;border-radius:3px;box-shadow:0 1px 6px 0 rgba(35,40,45,0.18)}.rank-math-metabox-wrap .social-tabs-navigation-wrapper{padding-bottom:30px;text-align:center}.rank-math-metabox-wrap .social-tabs-navigation a{font-size:16px;float:left;box-sizing:border-box;width:130px;padding:11px;text-decoration:none;color:#939393;border:1px solid #e5e5e5;outline:none;background:#efefef;box-shadow:none}.rank-math-metabox-wrap .social-tabs-navigation a .dashicons{margin-right:8px}.rank-math-metabox-wrap .social-tabs-navigation .tab-facebook{border-right:0;border-radius:3px 0 0 3px}.rank-math-metabox-wrap .social-tabs-navigation .tab-facebook.tab-active{color:#fff;border-color:#3b5998;background:#3b5998}.rank-math-metabox-wrap .social-tabs-navigation .tab-twitter{border-left:0;border-radius:0 3px 3px 0}.rank-math-metabox-wrap .social-tabs-navigation .tab-twitter.tab-active{color:#fff;border-color:#55acee;background:#55acee}.rank-math-metabox-wrap .rank-math-tab{display:none;padding:30px}.serp-preview .highlight{pointer-events:none}.serp-preview-title:before{font-size:13px;font-weight:600;display:inline-block;padding-bottom:6px;content:attr(data-title);letter-spacing:.05em;text-transform:uppercase}.serp-preview-wrapper{position:relative;transition:all .6s ease}.serp-preview-body{padding:15px 0;transition:width .5s ease, padding .5s ease, margin .5s ease}.serp-preview-body .serp-star-rating{display:inline-block;position:relative;color:#ccc;margin-right:5px}.serp-preview-body .serp-star-rating .dashicons{font-size:16px;width:16px;height:16px}.serp-preview-body .serp-star-rating .serp-result{position:absolute;top:0;left:0;height:22px;overflow:hidden;white-space:nowrap;color:#e7711b}.serp-preview-body .cmb-row .cmb-td{width:100%;max-width:680px}.serp-preview-body .cmb-row .cmb-td .cmb2_textarea{width:100% !important}.serp-preview-footer{padding:15px 0}.serp-preview-footer .button.button-secondary{line-height:41px;padding:0 12px}.serp-preview-footer .button.button-secondary .dashicons{font-size:20px;line-height:41px}.serp-preview-bg{overflow:hidden;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:opacity .5s ease, height .5s ease;opacity:0;background-color:#fafafa;height:0;width:100%}.serp-preview-bg .serp-preview-input{position:relative;max-width:600px;pointer-events:none}.serp-preview-bg .serp-preview-input input{font:16px arial,sans-serif;padding:5px 9px 5px 16px;transition:box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1);vertical-align:top;color:#000;border:none;border-radius:2px;outline:none;background-color:#fff;box-shadow:0 2px 2px 0 rgba(0,0,0,0.16),0 0 0 1px rgba(0,0,0,0.08);height:44px;width:100%}.serp-preview-bg .serp-preview-input .serp-mike{position:absolute;top:0;right:50px;bottom:0;display:inline-block;width:24px;padding:0 2px 0 8px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACrElEQVR42u2Xz2sTQRSAX8VSb1K8iNqKooJH2Ux6Ksn+iPQqxZMIehJB0do/IMhmQWsvHr2KSEGk0tSLIoWIYNUKij20F2/N7iaUZnYT0kYzzhMKs0HDJiTdLcwHDwKZSd63781LBiQSSW9JZdkhzfKm1Rz9mjZp/W9YdEU3vXv4HsQZ40FtNG36q5rls//Ej4tmbSS2T15Mvp3ExOPmEMQNbBtMMEyoljcFcQN7PqyAlqNfIG7gYQ0tYNIaxA1MrJPY3wImbUqBKAXSFv0tBSIVMOkvKRDtGKWN/T6FdqRAxFNoWwpEPIXqUqBT6ALU/UVgu8GW4GD3f6f9TRDYNJTDrk7YbtiqUumHwIYoUJuHERDAS0r4CvgFECgbY+cFAR7KT+g1POmCKFDNw6WggHc3fBtVb4CAoyauBgXIG+g1Xh5mRAGah6cggBd11fK/h7lOprIs0H6uRl6KAo5O7kOv4QmPiwJ4Jqqv4FiwCtXjvD2+tRmfK6kZ/ygI2HritK0rDVGgrClJ6DWMwYC/AGuCBMYcIC2V0CzvjmbRz3j3xUjn6CfeYreUJ2wQkGD75INPX1mFfsEFrrcIYCvdhC4paWQakxajpJMr0C9YFg54i7AsClRmh9/xnr0NHcInzZStk2aLwAcGMAD9pPIazvFKVDD5rdnhJeHLX5RTyRPQHpz5o66emMc9wdlPtvA8wF7Aq2BUHh1525qEo5JtR1WeOXpickO9cJIpyuD6xJmhYiZ5ytWSl3mlnuOaf+2zDaLDXmJrSgZ/MYVEugo+gSh+FkSBa4yd5Ul87DZ5XpFl/AyIEjzYjkau8WqshU2cr13HPbgX4gJOD97n465GZlyVvC9mSKloKI2iTnbwNT+gBX54H+IaXAtxJzE3ycSAFqSAFJACUkAikXD+AHj5/wx2o5osAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:right center;background-size:24px 24px}.serp-preview-bg .serp-preview-input .serp-search{line-height:46px;position:absolute;top:0;right:15px;bottom:0;height:46px;text-align:center;border:0;outline:0}.serp-preview-bg .serp-preview-input .serp-search svg{width:25px;height:46px;fill:#4285f4}.serp-preview-bg .serp-preview-menus{overflow:hidden;max-width:600px}.serp-preview-bg .serp-preview-menus ul{float:left;overflow:hidden;margin:0;padding:0;list-style:none}.serp-preview-bg .serp-preview-menus ul li{font-family:arial,sans-serif;font-size:13px;line-height:19px;float:left;height:15px;margin:0;padding:28px 16px 12px;color:#777}.serp-preview-bg .serp-preview-menus ul li.current{font-weight:bold;color:#1a73e8;border-bottom:3px solid #1a73e8}.serp-preview-bg .serp-preview-menus ul.menus-right{float:right}.serp-preview-bg .serp-preview-result-stats{font-family:arial,sans-serif;font-size:small;line-height:43px;margin:0 -20px;padding-right:20px;padding-left:20px;white-space:nowrap;text-overflow:ellipsis;color:#808080;background-color:#fff}.serp-preview-noindex{z-index:1;display:none;padding:15px 0;background:rgba(255,255,255,0.8);position:absolute;top:0;right:0;bottom:0;left:0}.serp-preview-noindex h3{font-weight:700;margin:0;letter-spacing:1px;text-transform:uppercase}.serp-preview-noindex p{font-size:14px;line-height:2;margin:5px 0;color:#000}.serp-preview .serp-description,.serp-preview .serp-title,.serp-preview .serp-url{font-family:arial, sans-serif;position:relative;z-index:1;display:block;overflow:hidden;width:100%;max-width:680px;margin:0;cursor:pointer}.serp-preview .serp-description:focus:before,.serp-preview .serp-description:hover:before,.serp-preview .serp-title:focus:before,.serp-preview .serp-title:hover:before,.serp-preview .serp-url:focus:before,.serp-preview .serp-url:hover:before{font-family:dashicons;z-index:-1;content:'\f464';text-align:right;background:#f0f1f3;position:absolute;top:0;right:0;bottom:0;left:0}.serp-preview .serp-description:empty:after,.serp-preview .serp-title:empty:after,.serp-preview .serp-url:empty:after{content:attr(data-empty-title)}.serp-preview .serp-title{font-size:18px;font-weight:normal;line-height:19px;white-space:nowrap;text-overflow:ellipsis;color:#1a0dab}.serp-preview .serp-url{font-size:14px;line-height:16px;margin:3px 0 5px;white-space:nowrap;text-overflow:ellipsis;color:#006621}.serp-preview .serp-description{font-size:13px;line-height:1.4;clear:left;word-wrap:break-word;color:#545454}.serp-preview .group{position:relative;min-height:10px}.serp-preview .group .cmb-row{display:none;padding:20px 0 !important;border:0}.serp-preview .group .serp-close{position:absolute;top:10px;right:10px;display:none;cursor:pointer}.serp-preview:not(.expanded-preview):not(.mobile-preview) .group.active{margin-top:20px;padding:30px 20px 20px;background:#f6f6f6}.serp-preview:not(.expanded-preview):not(.mobile-preview) .group.active .cmb-row{display:block}.serp-preview:not(.expanded-preview):not(.mobile-preview) .group.active .cmb-row.cmb2-id-rank-math-title .rank-math-variables-button{right:0}.serp-preview:not(.expanded-preview):not(.mobile-preview) .group.active .cmb-row.cmb2-id-rank-math-description .rank-math-variables-dropdown{top:60px}.serp-preview:not(.expanded-preview):not(.mobile-preview) .group.active .serp-close{display:block}.serp-preview:not(.expanded-preview):not(.mobile-preview) .group.active+.group,.serp-preview:not(.expanded-preview):not(.mobile-preview) .group+.group.active{margin-top:20px}.serp-preview:not(.expanded-preview):not(.mobile-preview) .group.active+.group+.serp-rating,.serp-preview:not(.expanded-preview):not(.mobile-preview) .group+.group.active+.serp-rating{display:none}.serp-preview .button{height:auto;padding:0 5px;outline:0}.serp-preview .button,.serp-preview .button .dashicons{font-size:15px;line-height:30px;height:auto}.serp-preview .button-secondary{margin-bottom:0;color:#818181;border-color:#e5e5e5;background:#fff !important;box-shadow:0 1px 2px 0 #e5e5e5 !important}.serp-preview .button-secondary.active,.serp-preview .button-secondary.active:hover{color:#fff;border-color:#0392d4;background:#069de3 !important}.serp-preview .button-secondary:hover{color:#069de3;border-color:#0392d4}.serp-preview-title .alignright{margin-top:-9px}.serp-preview.desktop-preview .serp-snippet-mobile{display:none}.serp-preview.desktop-preview .serp-snippet-data{color:#808080;line-height:18px;font-size:small;font-weight:normal;margin-bottom:3px}.serp-preview.desktop-preview .serp-snippet-data .serp-desktop-rating{float:left;margin-top:1px}.serp-preview.desktop-preview .serp-snippet-data .separator:first-child{display:none}.serp-preview.desktop-preview .serp-snippet-data .serp-event_name{color:#1a0dab;cursor:pointer}.serp-preview.desktop-preview .serp-snippet-data .serp-event_name:hover{text-decoration:underline}.serp-preview.desktop-preview .serp-snippet-data .serp-event_name,.serp-preview.desktop-preview .serp-snippet-data .serp-event_place{padding-left:15px}.serp-preview.desktop-preview .serp-preview-footer .alignright .dashicons{margin-right:0}.serp-preview.mobile-preview.expanded-preview .group:nth-child(2){margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #dfe1e5}.serp-preview.mobile-preview .serp-snippet-mobile{display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-align-items:stretch;align-items:stretch;margin:8px -5px 0}.serp-preview.mobile-preview .serp-snippet-mobile .inner-wrapper{-webkit-flex:1;flex:1;margin-left:5px;margin-right:5px}.serp-preview.mobile-preview .serp-snippet-mobile .inner-wrapper .serp-mobile-label{display:block;font-size:14px;line-height:20px;margin-bottom:4px;color:#202124;font-weight:500}.serp-preview.mobile-preview .serp-snippet-mobile .inner-wrapper .serp-rating-count{float:left}.serp-preview.mobile-preview .serp-snippet-mobile .inner-wrapper .serp-rating{float:left;margin-left:5px}.serp-preview.mobile-preview .serp-snippet-mobile .serp-rating-count{color:#808080}.serp-preview.mobile-preview .serp-snippet-data{display:none}.mobile-preview .serp-preview-title:before{content:attr(data-mobile)}.mobile-preview .serp-preview-bg{position:relative;overflow:visible;width:400px;max-width:100%;margin:auto;border-radius:8px;background-color:transparent;box-shadow:0 1px 6px rgba(32,33,36,0.28)}.mobile-preview .serp-preview-bg .serp-preview-input input{height:41px;border-bottom:1px solid rgba(0,0,0,0.12);border-radius:8px 8px 0 0;box-shadow:none}.mobile-preview .serp-preview-bg .serp-preview-input .serp-mike{display:none}.mobile-preview .serp-preview-bg .serp-preview-input .serp-search{right:0;width:40px;height:40px;margin-right:-1px;padding:0;border:1px solid #3367d6;border-radius:0 8px 0 0;-webkit-border-top-right-radius:8px;background-color:#3b78e7;-webkit-flex:0 0 auto;flex:0 0 auto}.mobile-preview .serp-preview-bg .serp-preview-input .serp-search svg{fill:#fff}.mobile-preview .serp-preview-bg .serp-preview-menus ul{display:-webkit-flex;display:flex;width:100%;border-bottom-right-radius:8px;border-bottom-left-radius:8px}.mobile-preview .serp-preview-bg .serp-preview-menus ul li{font-size:12px;line-height:40px;height:40px;padding:0 16px;text-align:center;text-transform:uppercase;-webkit-flex:1;flex:1}.mobile-preview .serp-preview-bg .serp-preview-menus ul li:last-child{display:none}.mobile-preview .serp-preview-bg .serp-preview-menus ul.menus-right{display:none}.mobile-preview .serp-preview-bg .serp-preview-result-stats{display:none}.mobile-preview .serp-preview-body{box-sizing:border-box;width:400px;max-width:100%;margin:auto;padding-top:30px;word-wrap:break-word}.mobile-preview.expanded-preview .serp-preview-body{margin-top:10px;padding:20px;border-radius:8px;background-color:#fff;box-shadow:0 1px 6px rgba(32,33,36,0.28)}.expanded-preview .serp-description,.expanded-preview .serp-title,.expanded-preview .serp-url,.mobile-preview .serp-description,.mobile-preview .serp-title,.mobile-preview .serp-url{overflow:hidden;pointer-events:none}.expanded-preview .serp-preview-footer,.mobile-preview .serp-preview-footer{display:none}.expanded-preview.desktop-preview .serp-preview-footer{padding:15px 0}.expanded-preview.desktop-preview .serp-preview-wrapper{padding:0}.expanded-preview.desktop-preview .serp-preview-title:before{content:attr(data-desktop)}@media (min-width: 768px){.expanded-preview.desktop-preview .serp-preview-bg{height:auto;padding:15px 20px 0;opacity:1}.expanded-preview.desktop-preview .serp-preview-body{padding-left:20px}}.expanded-preview.mobile-preview .serp-preview-bg{height:auto;margin-top:20px;opacity:1}.noindex-preview .serp-preview-wrapper{position:relative}.noindex-preview .serp-preview-body{pointer-events:none;opacity:.2}.noindex-preview .serp-preview-noindex{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-box-align:center;-webkit-box-pack:center;-ms-flex-align:center;-webkit-justify-content:center;justify-content:center}.noindex-preview .serp-preview-footer .alignright{display:none}body.rtl .serp-preview-bg .serp-preview-input input{padding-right:16px;padding-left:9px}body.rtl .serp-preview-bg .serp-preview-input .serp-search{right:auto;left:15px}body.rtl .serp-preview-bg .serp-preview-input .serp-mike{right:auto;left:50px;padding-right:8px;padding-left:2px}body.rtl .serp-preview-bg .serp-preview-menus ul,body.rtl .serp-preview-bg .serp-preview-menus li{float:right}body.rtl .serp-preview-bg .serp-preview-menus ul.menus-right,body.rtl .serp-preview-bg .serp-preview-menus li.menus-right{float:left}body.rtl .mobile-preview .serp-preview-bg .serp-search{left:0;border-radius:0;border-top-left-radius:8px}body.rtl .serp-preview .serp-description:focus:before,body.rtl .serp-preview .serp-description:hover:before,body.rtl .serp-preview .serp-title:focus:before,body.rtl .serp-preview .serp-title:hover:before,body.rtl .serp-preview .serp-url:focus:before,body.rtl .serp-preview .serp-url:hover:before{text-align:left}body.rtl .rank-math-variables-dropdown{right:auto;left:37px}.snippet-fields{padding:45px 0 15px}.length-indicator-wrapper{position:relative;display:block}.length-indicator-wrapper .length-indicator{overflow:hidden;border-radius:2px;background:linear-gradient(to right, #e33e2b 0%, #f06818 18%, #fff 19%, #fff 19%, #f16b17 20%, #f1a104 38%, #fff 39%, #fff 39%, #f1a404 40%, #d9b507 58%, #fff 59%, #fff 59%, #d4b509 60%, #7bb02c 78%, #fff 79%, #fff 79%, #76ae2e 80%, #2da24c 100%);position:absolute;top:-13px;right:60px;height:8px;width:180px}.length-indicator-wrapper .length-indicator span{position:absolute;z-index:11;background:#e0e0e0;height:100%;width:100%}.length-indicator-wrapper .length-indicator.invalid{background:linear-gradient(to right, #e33d2a 0%, #e33d2a 18%, #fff 19%, #fff 19%, #e33d2a 20%, #e33d2a 38%, #fff 39%, #fff 39%, #e33d2a 40%, #e33d2a 58%, #fff 59%, #fff 59%, #e33d2a 60%, #e33d2a 78%, #fff 79%, #fff 79%, #e33d2a 80%, #e33d2a 100%)}.length-indicator-wrapper input:focus+.length-indicator,.length-indicator-wrapper textarea:focus+.length-indicator{display:block}.length-indicator-wrapper .length-count{font-size:12px;position:absolute;top:-17px;right:0;color:#afafaf}.tag-editor{overflow:hidden;box-sizing:border-box;width:100%;padding:7px 80px 7px 10px;cursor:text;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;border:1px solid #e5e5e5;border-radius:3px;background:#fff;box-shadow:inset 0 1px 6px rgba(0,0,0,0.08)}.tag-editor>li{line-height:inherit;position:relative;float:left;margin:3px 10px 3px 0;padding:3px 5px;cursor:pointer;white-space:nowrap;color:#85878b;border-radius:2px;background:#e9e9ea}.tag-editor>li:nth-child(1){margin:0;padding:0;border-color:transparent;background:transparent}.tag-editor div{float:left;padding:0 4px}.tag-editor .placeholder{color:#bbb}.tag-editor-hidden-src{position:absolute !important;left:-99999px}.tag-editor .tag-editor-spacer{display:none}.tag-editor ::-ms-clear{display:none}.tag-editor .tag-editor-tag input[type=text]{margin:0;padding:0;cursor:text;border:0;outline:none;background:none;box-shadow:none !important}.tag-editor .tag-editor-tag.active+.tag-editor-delete,.tag-editor .tag-editor-tag.active+.tag-editor-delete i{visibility:hidden;cursor:text}.tag-editor .tag-editor-delete i{line-height:18px;display:inline-block}.tag-editor .tag-editor-delete i:before{font-size:16px;font-style:normal;content:'×'}.tag-editor .tag-editor-delete:hover i:before{color:#000 !important}.tag-editor>li.selected-fk{color:#000;border-color:#fbbc05;background:#fbbc05}.tag-editor>li.bad-fk{color:#e93f30;background:#fdeae8}.tag-editor>li.bad-fk.selected-fk{color:#fdeae8;background:#e93f30}.tag-editor>li.ok-fk{color:#fbbc05;background:#fef2ce}.tag-editor>li.ok-fk.selected-fk{color:#fef2ce;background:#fbbc05}.tag-editor>li.good-fk{color:#58bb58;background:#e9f6e9}.tag-editor>li.good-fk.selected-fk{color:#e9f6e9;background:#58bb58}.tag-editor>li.selected-fk .tag-editor-tag.active input[type=text],.tag-editor>li.selected-fk .tag-editor-delete:hover i:before{color:#fff}.tag-editor>li:nth-child(2):before{font-family:'dashicons';font-size:7px;line-height:12px;position:absolute;top:-4px;left:-6px;width:12px;content:'\f155';text-align:center;color:#fff;border:1px solid #fff;border-radius:50%;background:#4285f4}.cmb2-wrap .cmb2-id-rank-math-focus-keyword{padding-top:10px}.cmb2-wrap .cmb2-id-rank-math-focus-keyword .cmb-th{width:100%;margin-bottom:10px}.cmb2-wrap .cmb2-id-rank-math-focus-keyword .cmb-td{width:100%}.cmb2-wrap .cmb2-id-rank-math-focus-keyword .notice{margin:20px 0 0;background:#fefcee}.cmb2-wrap .cmb2-id-rank-math-focus-keyword .cmb-td{position:relative}.ui-autocomplete{font-size:14px;position:absolute;top:0;left:0;cursor:default}.ui-autocomplete.ui-autocomplete-loading{background:none}.ui-autocomplete.ui-widget-content{z-index:1111111}.ui-front{z-index:9999}.ui-menu{display:block;margin:0;padding:1px;list-style:none;outline:none}.ui-menu .ui-menu-item a{line-height:1.4;display:block;min-height:0;padding:2px .4em;text-decoration:none}.ui-widget-content{color:#555;border:1px solid #bbb;background:#fff}.ui-widget-content a{color:#46799b}.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{background:#e0eaf1}.ui-helper-hidden-accessible{display:none}.rank-math-seo-score{font-weight:600;position:absolute;top:1px;right:1px;box-sizing:border-box;width:105px;padding:13.5px 15px;text-align:center;border-radius:0 3px 3px 0;background:#f1f1f1}.rank-math-seo-score.misc-pub-section{position:relative;top:auto;right:auto;width:100%;padding:13.5px 12px;text-align:left;border-radius:0}.rank-math-seo-score.misc-pub-section .dashicons{font-size:18px;margin-right:2px}.rank-math-seo-score.misc-pub-section .score-icon{float:left;margin-right:4px}.rank-math-seo-score.good-fk{color:#58bb58;background:#e9f6e9}.rank-math-seo-score.good-fk .score-icon g{fill:#58bb58}.rank-math-seo-score.ok-fk{color:#ca9703;background:#fef2ce}.rank-math-seo-score.ok-fk .score-icon g{fill:#ca9703}.rank-math-seo-score.bad-fk{color:#e93f30;background:#fdeae8}.rank-math-seo-score.bad-fk .score-icon g{fill:#e93f30}.cmb2-wrap .cmb2-id-rank-math-pillar-content .cmb-th{display:none}.cmb2-wrap .cmb2-id-rank-math-pillar-content .cmb-td{width:100%}.rank-math-primary-term-li{position:relative;display:block}.rank-math-primary-term-li .rank-math-tooltip{position:absolute;right:0;display:none}.rank-math-primary-term-li .rank-math-tooltip>span{top:50%;right:32px;bottom:auto;left:auto;width:110px;-webkit-transform:translate3d(-70%, -50%, 0);transform:translate3d(-70%, -50%, 0)}.rank-math-primary-term-li .rank-math-tooltip>span:after{content:'';-webkit-transform:translate3d(0, -50%, 0);transform:translate3d(0, -50%, 0);top:50%;right:-8px;left:auto;border-style:solid;height:0;width:0;border-color:transparent transparent transparent #555d66;border-width:7px 0 7px 8px}.rank-math-primary-term-li .rank-math-tooltip:hover span{bottom:auto;-webkit-transform:translate3d(0, -50%, 0);transform:translate3d(0, -50%, 0);opacity:1}.rank-math-primary-term-li.term-checked>label>.rank-math-tooltip{display:inline-block}.rank-math-compare-keywords-trigger{position:absolute;right:0;top:-38px;text-decoration:none;color:#069de3}.rank-math-compare-keywords-trigger>.dashicons{vertical-align:-4px}.rank-math-compare-keywords-wrapper .media-modal{top:10%;right:10%;bottom:10%;left:10%}.rank-math-compare-keywords-wrapper .aligncenter{text-align:center}.rank-math-compare-keywords-wrapper .media-frame-menu{width:300px}.rank-math-compare-keywords-wrapper .media-frame-content,.rank-math-compare-keywords-wrapper .media-frame-title{left:300px}.rank-math-compare-keywords-wrapper .media-menu-item{font-size:23px;font-weight:400;line-height:30px;margin-bottom:8px}.rank-math-compare-keywords-wrapper h1{line-height:50px;padding:0 16px}.rank-math-compare-keywords-wrapper .keyword-input{padding:8px 20px}.rank-math-compare-keywords-wrapper .keyword-input input{margin:0;font-size:14px;height:32px;width:75%}.rank-math-compare-keywords-wrapper .keyword-input input:focus{box-shadow:none}.rank-math-compare-keywords-wrapper .keyword-input .button.add-new-keywords{height:31px;width:25%;padding:0 4px 1px;margin-left:-5px;border-radius:0 3px 3px 0;border-bottom-width:0px}.rank-math-compare-keywords-wrapper .keyword-input .button.add-new-keywords:focus{box-shadow:none;border:1px solid #ccc}.rank-math-compare-keywords-wrapper .button-link.remove-keyword{float:right;margin-right:20px;padding:0;text-decoration:none;box-shadow:none}.rank-math-compare-keywords-wrapper .add-new-keywords .dashicons{font-size:16px;vertical-align:-4px;margin-right:-2px}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields{margin:20px 0;padding:0 22px}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields>div{position:relative;background:#fbfbfb;padding:10px 10px 10px 35px;margin:0 0 8px;border-radius:3px;box-shadow:0px 0px 3px rgba(0,0,0,0.1)}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields>div:before{position:absolute;top:13px;left:12px;width:12px;height:12px;content:'';border-radius:3px;background:#2196f3}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields>div:nth-child(2):before{background:#f44336}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields>div:nth-child(3):before{background:#ffca28}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields>div:nth-child(4):before{background:#43a047}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields>div:nth-child(5):before{background:#9c27b0}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields .remove-keyword{width:20px;padding:4px 4px 4px 8px;position:absolute;right:5px;top:6px;cursor:pointer;border-left:1px solid #e9ebed}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields .compare-keyword{font-size:14px}.rank-math-compare-keywords-wrapper .use-these-keywords{display:inline-block;margin-top:10px;font-size:13px}.rank-math-compare-keywords-wrapper .use-these-keywords .dashicons{text-decoration:none}.rank-math-compare-keywords-wrapper .source-credit{position:absolute;bottom:14px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);text-align:center;font-size:11px}.rank-math-compare-keywords-wrapper .button-actions{width:254px;margin:0 auto 8px}.rank-math-compare-keywords-wrapper .separator{position:absolute;bottom:54px;width:100%;left:-20px}.rank-math-compare-keywords-wrapper .attachments-browser{background:#fff}.rank-math-compare-keywords-wrapper .attachments-browser iframe{position:relative;overflow:hidden;top:-48px;height:420px;width:100%}.cmb2-id-rank-math-pillar-content .cmb-th label{visibility:hidden}@media only screen and (max-width: 1176px){.rank-math-compare-keywords-wrapper .attachments-browser iframe{top:0px}}@media only screen and (max-width: 900px){#setting-panel-container-rank_math_metabox .media-frame-menu .media-menu{left:0px;width:100%;max-width:100%;position:relative}#setting-panel-container-rank_math_metabox .aligncenter{margin-bottom:68px}#setting-panel-container-rank_math_metabox .media-frame-menu{width:100%}#setting-panel-container-rank_math_metabox .media-frame-content{position:relative}#setting-panel-container-rank_math_metabox .media-frame{overflow:auto}}.rank-math-serp-group li:before,.rank-math-serp-group.state-closed .group-status:before{font-family:dashicons;font-size:18px;line-height:1;float:left;margin:4px 10px 0 -30px;content:'\f335';color:#fff;border:1px solid #eac0c2;border-radius:50em;background:#eac0c2;height:18px;width:18px}.rank-math-serp-group .test-ok:before,.rank-math-serp-group .test-gallery:before,.rank-math-serp-group.state-closed .group-status.passed:before{content:'\f147';border-color:#58bb58;background:#58bb58}.rank-math-serp-checklist .group-handle{position:relative;padding:15px 20px;cursor:pointer;background:#ededee}.rank-math-serp-checklist h4{margin:0;color:#23282d}.rank-math-serp-checklist .group-handlediv{cursor:pointer;-webkit-transform:translateY(-50%);transform:translateY(-50%);border:0;background:0;position:absolute;top:50%;right:10px}.rank-math-serp-checklist .group-handlediv:focus{outline:0;box-shadow:none}.rank-math-serp-group{margin-top:20px;background:#f5f5f5}.rank-math-serp-group:first-of-type{margin-top:0}.rank-math-serp-group ul{padding:15px 20px}.rank-math-serp-group li{font-size:15px;line-height:28px;position:relative;clear:both;padding-left:30px;color:#444}.rank-math-serp-group li section{display:none}.rank-math-serp-group .test-ok .rank-math-tooltip,.rank-math-serp-group .test-gallery .rank-math-tooltip{display:none}.rank-math-serp-group .test-fail,.rank-math-serp-group .test-empty{color:#a0a0a0}.rank-math-serp-group .rank-math-tooltip{top:4px;right:-2px}.rank-math-serp-group .toggle-indicator:before{font:normal 20px/1 dashicons;display:inline-block;content:'\f142';text-decoration:none !important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rank-math-serp-group.state-closed ul{display:none}.rank-math-serp-group.state-closed .toggle-indicator:before{content:'\f140' !important}.rank-math-serp-group.state-closed .group-status{float:left}.rank-math-serp-group.state-closed .group-status:before{margin:0 10px 0 0}.rank-math-serp-group li.seo-check-calculateFleschReading.okay:before,.rank-math-serp-group li.seo-check-calculateFleschReading.fairlyDifficult:before{border-color:#ffbe5f;background:#ffbe5f}.rank-math-serp-group li.seo-check-calculateFleschReading.difficult:before{border-color:#eac0c2;background:#eac0c2}#setting-panel-richsnippet .cmb-row-50,#setting-panel-richsnippet .cmb-row-33{vertical-align:top;border-top:1px solid #e9e9e9;border-bottom:0}#setting-panel-richsnippet .cmb2-id-rank-math-snippet-music-type{border-top:0}#setting-panel-richsnippet .cmb2-id-rank-math-snippet-music-type .cmb-th,#setting-panel-richsnippet .cmb2-id-rank-math-snippet-music-type .cmb-td{margin-left:0;padding:0}#setting-panel-richsnippet .cmb2-id-rank-math-snippet-recipe-ingredients,#setting-panel-richsnippet .cmb2-id-rank-math-snippet-recipe-instructions{border-top:1px solid #e9e9e9}#setting-panel-richsnippet .cmb2-id-rank-math-snippet-recipe-instruction-type{border-top:1px solid #e9e9e9}#setting-panel-richsnippet .cmb2-id-rank-math-snippet-recipe-single-instructions,#setting-panel-richsnippet .cmb2-id-rank-math-snippet-recipe-instruction-name,#setting-panel-richsnippet .cmb2-id-rank-math-snippet-recipe-instructions{border-top:none}#setting-panel-richsnippet .notice-warning{margin:10px 0 0;background-color:#fefcee}#setting-panel-social .rank-math-tab{padding:30px 0 0}#setting-panel-social .rank-math-social-preview+.notice{margin-top:20px}#setting-panel-social .cmb-row.cmb-row-33{vertical-align:top;min-height:118px}.rank-math-social-preview-button{font-size:13px;display:inline-block;padding:4px 8px;text-decoration:none;text-transform:uppercase;color:#555555;border:0;outline:none;background:#ededee;box-shadow:none !important}.rank-math-social-preview-button .dashicons{position:relative;top:-2px}.open .rank-math-social-preview-button{color:#fff;background:#069de3}.rank-math-social-preview-item{display:none;padding:30px}.rank-math-social-preview-item-wrapper{overflow:hidden;width:474px;max-width:100%;margin:auto;background:#fff;border:1px solid;border-radius:0 0 3px 3px;border-color:#dadada #dadada #ccc;box-sizing:border-box}.rank-math-social-preview-item .error-msg{width:528px;max-width:100%;margin:auto;padding-top:10px;display:none;line-height:1}.rank-math-social-preview-item .error-msg.show{display:block}.rank-math-social-preview-image{line-height:0;position:relative;z-index:1}.rank-math-social-preview-image img{display:none;max-width:100%;height:100%;min-height:initial}.rank-math-social-preview-image-overlay{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%) scale(0.22126);transform:translate(-50%, -50%) scale(0.22126)}.rank-math-social-preview-image .error-msg{display:none;line-height:1}.rank-math-social-preview .rank-math-social-preview-caption{font-size:12px;background:#f2f3f5;padding:10px 10px 5px;color:#1d2129}.rank-math-social-preview .rank-math-social-preview-title{font-size:16px;font-weight:600;line-height:22px;margin:0 0 8px;padding:0;letter-spacing:normal;word-wrap:break-word}.rank-math-social-preview-description,.rank-math-social-preview-publisher{line-height:16px;margin:0}.rank-math-social-preview-publisher{font-size:12px;font-weight:normal;padding-bottom:5px;color:#90949c}.rank-math-social-preview-publisher.facebook{text-transform:uppercase}.rank-math-social-preview-social-meta{display:none;width:474px;margin:0 auto;clear:both;display:block;position:relative;margin-bottom:15px}.rank-math-social-preview-social-meta .social-profile-image{width:48px;height:48px;background:#dcc7c7;border-radius:50%;float:left;position:absolute;left:-58px}.rank-math-social-preview-social-meta .social-name{color:#14171a;font-size:14px;font-weight:bold}.rank-math-social-preview-social-meta .social-username,.rank-math-social-preview-social-meta .social-time{font-size:14px;color:#657786;font-weight:normal;margin-left:3px}.rank-math-social-preview-social-meta .social-time{margin-left:5px}.rank-math-social-preview-social-meta .social-time:before{content:"\00B7";margin-right:5px}.rank-math-social-preview-social-meta .social-text{margin-top:5px}.rank-math-social-preview-facebook .rank-math-social-preview-button strong:before{content:attr(data-facebook)}.rank-math-social-preview-facebook .facebook-thumbnail{display:block}.rank-math-social-preview-facebook .no-facebook-image .facebook-thumbnail{display:none}.rank-math-social-preview-facebook .rank-math-social-preview-social-meta.twitter-meta{display:none}.rank-math-social-preview-facebook .rank-math-social-preview-description{overflow:hidden;max-height:1.3em;margin-bottom:2px;white-space:nowrap;text-overflow:ellipsis;display:none}.rank-math-social-preview-facebook .rank-math-social-preview-social-meta.facebook-meta{display:block;border:1px solid #dadada;border-bottom:0;border-radius:3px 3px 0;padding:12px;margin-bottom:0;box-sizing:border-box}.rank-math-social-preview-facebook .rank-math-social-preview-social-meta.facebook-meta .social-profile-image{width:40px;height:40px;left:auto;position:relative;margin-right:10px;margin-left:-2px}.rank-math-social-preview-facebook .rank-math-social-preview-social-meta.facebook-meta .social-name{color:#365899;margin-bottom:3px}.rank-math-social-preview-facebook .rank-math-social-preview-social-meta.facebook-meta .social-time:before{display:none}.rank-math-social-preview-facebook .rank-math-social-preview-social-meta.facebook-meta .social-time span:first-child:after{content:"\00B7";margin-right:3px;margin-left:5px}.rank-math-social-preview-facebook .rank-math-social-preview-social-meta.facebook-meta .dashicons.dashicons-admin-site{font-size:14px;line-height:17px}.rank-math-social-preview-facebook .twitter{display:none}.rank-math-social-preview-twitter.app,.rank-math-social-preview-twitter.player{display:none !important}.rank-math-social-preview-twitter .rank-math-social-preview-item-wrapper{max-width:100%;border:1px solid rgba(136,153,166,0.5);border-radius:10px;clear:both}.rank-math-social-preview-twitter .rank-math-social-preview-item-wrapper .twitter-thumbnail{display:block;max-width:100%}.rank-math-social-preview-twitter .rank-math-social-preview-item-wrapper .rank-math-social-preview-caption{background:#ffffff}.rank-math-social-preview-twitter .rank-math-social-preview-item-wrapper:hover{background:#F5F8FA}.rank-math-social-preview-twitter .rank-math-social-preview-item-wrapper:hover .rank-math-social-preview-caption{background:#F5F8FA}.rank-math-social-preview-twitter .rank-math-social-preview-title{font:normal normal bold 14px/1.4 Helvetica,Roboto,'Segoe UI',Calibri,sans-serif;overflow:hidden;max-height:1.3em;margin-bottom:2px;white-space:nowrap;text-overflow:ellipsis}.rank-math-social-preview-twitter .rank-math-social-preview-description{font-size:14px;line-height:20px;overflow:hidden;max-height:4.5em;margin-top:.32333em}.rank-math-social-preview-twitter .rank-math-social-preview-publisher{padding-top:5px}.rank-math-social-preview-twitter .rank-math-social-preview-publisher.facebook{display:none}.rank-math-social-preview-twitter .no-twitter-image .twitter-thumbnail{display:none}.rank-math-social-preview-twitter .rank-math-social-preview-button strong:before{content:attr(data-twitter)}.rank-math-social-preview-twitter.summary_card .rank-math-social-preview-image{float:left}.rank-math-social-preview-twitter.summary_card .rank-math-social-preview-image img{height:125px;width:125px}.rank-math-social-preview-twitter.summary_card .rank-math-social-preview-caption{overflow:hidden;box-sizing:border-box;max-height:125px;padding:5px 0 0 15px}.rank-math-social-preview-twitter .rank-math-social-preview-social-meta.facebook-meta{display:none}.rank-math-social-preview-twitter .rank-math-social-preview-social-meta.twitter-meta{display:block}.suggestion-item{overflow:hidden;margin-bottom:5px;padding-bottom:5px;border-bottom:1px dotted #e5e5e5}.suggestion-item a{text-decoration:none;box-shadow:none !important}.suggestion-item .suggestion-actions{float:right;margin-left:5px}.suggestion-item .dashicons{margin-top:5px;cursor:pointer}#rank_math_keyword_density{font-weight:600;display:none;float:right;cursor:pointer;color:#888}#rank_math_keyword_density span{float:right}#rank_math_keyword_density .inner-wrapper{position:absolute;z-index:1;right:30px;margin-top:8px;padding:5px 15px;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,0.1)}#rank_math_keyword_density .inner-wrapper ul{margin-top:15px}#rank_math_keyword_density.state-closed span:before{content:'\f140' !important}#rank_math_keyword_density.state-closed .inner-wrapper{display:none}body.rtl .rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a{float:right;margin-right:-1px;margin-left:0;padding-right:8px;padding-left:12px}body.rtl .rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a .dashicons,body.rtl .rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a .fa{margin-right:0;margin-left:5px}body.rtl .rank-math-metabox-wrap .social-tabs-navigation a .dashicons{margin-right:0;margin-left:8px}body.rtl .serp-preview .group .serp-close{left:10px;right:auto}body.rtl .serp-preview .rank-math-variables-wrap input,body.rtl .serp-preview .rank-math-variables-wrap textarea{padding-right:0.6em !important;padding-left:50px}body.rtl .serp-preview .length-indicator-wrapper .length-count{left:0;right:auto}body.rtl .serp-preview .length-indicator-wrapper .length-indicator{left:60px;right:auto}body.rtl .tag-editor{padding:7px 10px 7px 80px}body.rtl .tag-editor>li{float:right;margin-right:0;margin-left:10px}body.rtl .tag-editor>li:nth-child(2):before{right:-6px;left:auto}body.rtl .tag-editor div{float:right}body.rtl .tag-editor-hidden-src{right:-99999px}body.rtl .rank-math-seo-score{right:auto;left:1px}body.rtl .rank-math-serp-checklist .group-handlediv{right:auto;left:10px}body.rtl .rank-math-serp-group.state-closed .group-status{float:right}body.rtl .rank-math-serp-group.state-closed .group-status:before{margin:0 0 0 10px}body.rtl .rank-math-serp-group li{padding-left:0;padding-right:30px}body.rtl .rank-math-serp-group li:before{float:right;margin:4px -30px 0 10px}body.rtl .rank-math-primary-term-li .rank-math-make-primary,body.rtl .rank-math-primary-term-li .text-primary{right:auto;left:0}body.rtl .rank-math-primary-term-li .rank-math-tooltip{right:auto;left:0}body.rtl .rank-math-primary-term-li .rank-math-tooltip>span{right:auto;left:32px;-webkit-transform:translate3d(70%, -50%, 0);transform:translate3d(70%, -50%, 0)}body.rtl .rank-math-primary-term-li .rank-math-tooltip>span:after{left:-8px;right:auto;top:30%;-webkit-transform:rotate(180deg);transform:rotate(180deg)}body.rtl .rank-math-primary-term-li .rank-math-tooltip:hover>span{-webkit-transform:translate3d(0, -50%, 0);transform:translate3d(0, -50%, 0)}body.rtl .suggestion-item .suggestion-actions{float:left;margin-right:5px}body.rtl input[type=checkbox]:checked:before{margin:-3px}body.rtl .postbox-container #side-sortables{overflow:hidden}.ask-review{text-align:center}.ask-review p{font-size:14px;margin-bottom:20px}.ask-review .stars-wrapper{line-height:60px;width:316px;margin:0 auto;margin-bottom:20px;border:1px solid #ddd;border-radius:6px}.ask-review .stars-wrapper .stars a{position:relative;top:9px;display:inline-block;height:40px;width:40px;text-decoration:none;color:#aaa}.ask-review .stars-wrapper .stars a span{font-size:40px;height:40px;width:40px}.ask-review .stars-wrapper .stars a.highlighted,.ask-review .stars-wrapper .stars a:hover{color:#f9cb12}.ask-review .stars-wrapper .face{float:right;width:70px;height:60px;border-left:1px solid #ddd;background:#fafafa}.smiley{position:relative;top:50%;left:50%;height:22px;width:22px;padding:12px;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);border-radius:100%;background:linear-gradient(135deg, #ffe919 0%, #fbc000 100%)}.mouth{position:absolute;bottom:18%;left:50%;box-sizing:border-box;width:60%;height:30%;margin-left:-30%;transition:all 300ms cubic-bezier(0.645, 0.045, 0.355, 1);border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:22px;border-bottom-left-radius:22px;background:#b57700}.eyes{box-sizing:border-box;width:100%;margin-top:15%;padding:0 1px;transition:all 300ms cubic-bezier(0.645, 0.045, 0.355, 1)}.eyes .eye{position:relative;float:left;height:5px;width:5px;border-radius:100%;background:#b57700}.eyes .eye:nth-of-type(2){float:right}.eyes .eye::after{position:absolute;top:-5px;left:2px;display:block;height:0;width:0;content:'';transition:all 300ms cubic-bezier(0.645, 0.045, 0.355, 1);-webkit-transform:rotate(0deg);transform:rotate(0deg);background:#fed800}.eyes .eye:first-of-type::after{right:5px;left:auto;-webkit-transform:rotate(0deg);transform:rotate(0deg)}.smiley.normal .mouth{bottom:25%;width:40%;height:10%;margin-left:-20%;border-top-left-radius:22px;border-top-right-radius:22px;border-bottom-right-radius:22px;border-bottom-left-radius:22px}.smiley.normal .eyes{margin-top:30%}.smiley.angry .mouth{bottom:25%;left:50%;width:40%;height:10%;margin-left:-20%;border-bottom:0;border-top-left-radius:100%;border-top-right-radius:100%;border-bottom-right-radius:0;border-bottom-left-radius:0}.smiley.happy .mouth{-webkit-animation:move-mouth-down .8s;animation:move-mouth-down .8s;-webkit-animation-delay:.3s;animation-delay:.3s}@-webkit-keyframes move-mouth-down{0%{bottom:18%}35%{bottom:16%}65%{bottom:16%}100%{bottom:18%}}@keyframes move-mouth-down{0%{bottom:18%}35%{bottom:16%}65%{bottom:16%}100%{bottom:18%}}.smiley.happy .eyes{-webkit-animation:move-eyes-down .8s;animation:move-eyes-down .8s;-webkit-animation-delay:.3s;animation-delay:.3s}@-webkit-keyframes move-eyes-down{0%{margin-top:15%}35%{margin-top:19%}65%{margin-top:19%}100%{margin-top:15%}}@keyframes move-eyes-down{0%{margin-top:15%}35%{margin-top:19%}65%{margin-top:19%}100%{margin-top:15%}}.smiley.happy .eye:nth-of-type(2){height:5px;margin-top:0;-webkit-animation:wink .8s;animation:wink .8s;-webkit-animation-delay:.3s;animation-delay:.3s}@-webkit-keyframes wink{0%{height:5px;margin-top:0}30%{height:2px;margin-top:1px}70%{height:2px;margin-top:1px}100%{height:5px;margin-top:0}}@keyframes wink{0%{height:5px;margin-top:0}30%{height:2px;margin-top:1px}70%{height:2px;margin-top:1px}100%{height:5px;margin-top:0}}.smiley.normal .eye{height:5px;margin-top:0;-webkit-animation:blink .6s;animation:blink .6s;-webkit-animation-delay:.3s;animation-delay:.3s}@-webkit-keyframes blink{0%{height:5px;margin-top:0}25%{height:2px;margin-top:1px}50%{height:5px;margin-top:0}75%{height:2px;margin-top:1px}100%{height:5px;margin-top:0}}@keyframes blink{0%{height:5px;margin-top:0}25%{height:2px;margin-top:1px}50%{height:5px;margin-top:0}75%{height:2px;margin-top:1px}100%{height:5px;margin-top:0}}.smiley.angry .eyes,.smiley.angry .mouth{-webkit-animation:move-angry-head .6s;animation:move-angry-head .6s;-webkit-animation-delay:.3s;animation-delay:.3s}@-webkit-keyframes move-angry-head{0%{-webkit-transform:translateX(0%);transform:translateX(0%)}20%{-webkit-transform:translateX(-20%);transform:translateX(-20%)}40%{-webkit-transform:translateX(15%);transform:translateX(15%)}60%{-webkit-transform:translateX(-10%);transform:translateX(-10%)}80%{-webkit-transform:translateX(5%);transform:translateX(5%)}100%{-webkit-transform:translateX(0%);transform:translateX(0%)}}@keyframes move-angry-head{0%{-webkit-transform:translateX(0%);transform:translateX(0%)}20%{-webkit-transform:translateX(-20%);transform:translateX(-20%)}40%{-webkit-transform:translateX(15%);transform:translateX(15%)}60%{-webkit-transform:translateX(-10%);transform:translateX(-10%)}80%{-webkit-transform:translateX(5%);transform:translateX(5%)}100%{-webkit-transform:translateX(0%);transform:translateX(0%)}}
2
  * Plugin: Rank Math
3
  * URL: https://rankmath.com/wordpress/plugin/seo-suite/
4
  * Name: metabox.css
5
+ */#rank_math_metabox .inside{margin:0;padding:0}.rank-math-metabox-frame{position:relative;min-width:255px;max-width:1000px;margin-bottom:25px;border:1px solid #e5e5e5;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,0.04)}.rank-math-metabox-frame-title{font-size:14px;line-height:1.4;margin:0;padding:8px 12px;border-bottom:1px solid #e5e5e5}.rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation){padding:30px 20px 0;border-bottom:1px solid #e5e5e5;background:#fafafa}.rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a{font-size:14px;font-weight:600;position:relative;float:left;box-sizing:border-box;margin-left:7px;padding:8px 16px 4px 12px;white-space:nowrap;text-decoration:none;color:#555;border:1px solid #e6e6e6;border-bottom:0;outline:none;background:#f5f5f5;box-shadow:none}@media (max-width: 768px){.rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a{margin-left:-1px;padding:8px 12px 4px 8px}}.rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a[href="#setting-panel-askreview"]{padding-right:12px;float:right;color:#e93f30}.rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a .dashicons,.rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a .fa{font-size:14px;line-height:inherit;min-width:20px;text-align:center}.rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a.active{bottom:-1px;margin-top:-1px;padding-bottom:5px;color:#069de3;border-top-color:#069de3;background:#fff}.rank-math-metabox-wrap .social-tabs-navigation{display:inline-block;border-radius:3px;box-shadow:0 1px 6px 0 rgba(35,40,45,0.18)}.rank-math-metabox-wrap .social-tabs-navigation-wrapper{padding-bottom:30px;text-align:center}.rank-math-metabox-wrap .social-tabs-navigation a{font-size:16px;float:left;box-sizing:border-box;width:130px;padding:11px;text-decoration:none;color:#939393;border:1px solid #e5e5e5;outline:none;background:#efefef;box-shadow:none}.rank-math-metabox-wrap .social-tabs-navigation a .dashicons{margin-right:8px}.rank-math-metabox-wrap .social-tabs-navigation .tab-facebook{border-right:0;border-radius:3px 0 0 3px}.rank-math-metabox-wrap .social-tabs-navigation .tab-facebook.tab-active{color:#fff;border-color:#3b5998;background:#3b5998}.rank-math-metabox-wrap .social-tabs-navigation .tab-twitter{border-left:0;border-radius:0 3px 3px 0}.rank-math-metabox-wrap .social-tabs-navigation .tab-twitter.tab-active{color:#fff;border-color:#55acee;background:#55acee}.rank-math-metabox-wrap .rank-math-tab{display:none;padding:30px}.serp-preview .highlight{pointer-events:none}.serp-preview-title:before{font-size:13px;font-weight:600;display:inline-block;padding-bottom:6px;content:attr(data-title);letter-spacing:.05em;text-transform:uppercase}.serp-preview-wrapper{position:relative;transition:all .6s ease}.serp-preview-body{padding:15px 0;transition:width .5s ease, padding .5s ease, margin .5s ease}.serp-preview-body .serp-star-rating{display:inline-block;position:relative;color:#ccc;margin-right:5px}.serp-preview-body .serp-star-rating .dashicons{font-size:16px;width:16px;height:16px}.serp-preview-body .serp-star-rating .serp-result{position:absolute;top:0;left:0;height:22px;overflow:hidden;white-space:nowrap;color:#e7711b}.serp-preview-body .cmb-row .cmb-td{width:100%;max-width:680px}.serp-preview-body .cmb-row .cmb-td .cmb2_textarea{width:100% !important}.serp-preview-footer{padding:15px 0}.serp-preview-footer .button.button-secondary{line-height:41px;padding:0 12px}.serp-preview-footer .button.button-secondary .dashicons{font-size:20px;line-height:41px}.serp-preview-bg{overflow:hidden;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:opacity .5s ease, height .5s ease;opacity:0;background-color:#fafafa;height:0;width:100%}.serp-preview-bg .serp-preview-input{position:relative;max-width:600px;pointer-events:none}.serp-preview-bg .serp-preview-input input{font:16px arial,sans-serif;padding:5px 9px 5px 16px;transition:box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1);vertical-align:top;color:#000;border:none;border-radius:2px;outline:none;background-color:#fff;box-shadow:0 2px 2px 0 rgba(0,0,0,0.16),0 0 0 1px rgba(0,0,0,0.08);height:44px;width:100%}.serp-preview-bg .serp-preview-input .serp-mike{position:absolute;top:0;right:50px;bottom:0;display:inline-block;width:24px;padding:0 2px 0 8px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACrElEQVR42u2Xz2sTQRSAX8VSb1K8iNqKooJH2Ux6Ksn+iPQqxZMIehJB0do/IMhmQWsvHr2KSEGk0tSLIoWIYNUKij20F2/N7iaUZnYT0kYzzhMKs0HDJiTdLcwHDwKZSd63781LBiQSSW9JZdkhzfKm1Rz9mjZp/W9YdEU3vXv4HsQZ40FtNG36q5rls//Ej4tmbSS2T15Mvp3ExOPmEMQNbBtMMEyoljcFcQN7PqyAlqNfIG7gYQ0tYNIaxA1MrJPY3wImbUqBKAXSFv0tBSIVMOkvKRDtGKWN/T6FdqRAxFNoWwpEPIXqUqBT6ALU/UVgu8GW4GD3f6f9TRDYNJTDrk7YbtiqUumHwIYoUJuHERDAS0r4CvgFECgbY+cFAR7KT+g1POmCKFDNw6WggHc3fBtVb4CAoyauBgXIG+g1Xh5mRAGah6cggBd11fK/h7lOprIs0H6uRl6KAo5O7kOv4QmPiwJ4Jqqv4FiwCtXjvD2+tRmfK6kZ/ygI2HritK0rDVGgrClJ6DWMwYC/AGuCBMYcIC2V0CzvjmbRz3j3xUjn6CfeYreUJ2wQkGD75INPX1mFfsEFrrcIYCvdhC4paWQakxajpJMr0C9YFg54i7AsClRmh9/xnr0NHcInzZStk2aLwAcGMAD9pPIazvFKVDD5rdnhJeHLX5RTyRPQHpz5o66emMc9wdlPtvA8wF7Aq2BUHh1525qEo5JtR1WeOXpickO9cJIpyuD6xJmhYiZ5ytWSl3mlnuOaf+2zDaLDXmJrSgZ/MYVEugo+gSh+FkSBa4yd5Ul87DZ5XpFl/AyIEjzYjkau8WqshU2cr13HPbgX4gJOD97n465GZlyVvC9mSKloKI2iTnbwNT+gBX54H+IaXAtxJzE3ycSAFqSAFJACUkAikXD+AHj5/wx2o5osAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:right center;background-size:24px 24px}.serp-preview-bg .serp-preview-input .serp-search{line-height:46px;position:absolute;top:0;right:15px;bottom:0;height:46px;text-align:center;border:0;outline:0}.serp-preview-bg .serp-preview-input .serp-search svg{width:25px;height:46px;fill:#4285f4}.serp-preview-bg .serp-preview-menus{overflow:hidden;max-width:600px}.serp-preview-bg .serp-preview-menus ul{float:left;overflow:hidden;margin:0;padding:0;list-style:none}.serp-preview-bg .serp-preview-menus ul li{font-family:arial,sans-serif;font-size:13px;line-height:19px;float:left;height:15px;margin:0;padding:28px 16px 12px;color:#777}.serp-preview-bg .serp-preview-menus ul li.current{font-weight:bold;color:#1a73e8;border-bottom:3px solid #1a73e8}.serp-preview-bg .serp-preview-menus ul.menus-right{float:right}.serp-preview-bg .serp-preview-result-stats{font-family:arial,sans-serif;font-size:small;line-height:43px;margin:0 -20px;padding-right:20px;padding-left:20px;white-space:nowrap;text-overflow:ellipsis;color:#808080;background-color:#fff}.serp-preview-noindex{z-index:1;display:none;padding:15px 0;background:rgba(255,255,255,0.8);position:absolute;top:0;right:0;bottom:0;left:0}.serp-preview-noindex h3{font-weight:700;margin:0;letter-spacing:1px;text-transform:uppercase}.serp-preview-noindex p{font-size:14px;line-height:2;margin:5px 0;color:#000}.serp-preview .serp-description,.serp-preview .serp-title,.serp-preview .serp-url{font-family:arial, sans-serif;position:relative;z-index:1;display:block;overflow:hidden;width:100%;max-width:680px;margin:0;cursor:pointer}.serp-preview .serp-description:focus:before,.serp-preview .serp-description:hover:before,.serp-preview .serp-title:focus:before,.serp-preview .serp-title:hover:before,.serp-preview .serp-url:focus:before,.serp-preview .serp-url:hover:before{font-family:dashicons;z-index:-1;content:'\f464';text-align:right;background:#f0f1f3;position:absolute;top:0;right:0;bottom:0;left:0}.serp-preview .serp-description:empty:after,.serp-preview .serp-title:empty:after,.serp-preview .serp-url:empty:after{content:attr(data-empty-title)}.serp-preview .serp-title{font-size:18px;font-weight:normal;line-height:19px;white-space:nowrap;text-overflow:ellipsis;color:#1a0dab}.serp-preview .serp-url{font-size:14px;line-height:16px;margin:3px 0 5px;white-space:nowrap;text-overflow:ellipsis;color:#006621}.serp-preview .serp-description{font-size:13px;line-height:1.4;clear:left;word-wrap:break-word;color:#545454}.serp-preview .group{position:relative;min-height:10px}.serp-preview .group .cmb-row{display:none;padding:20px 0 !important;border:0}.serp-preview .group .serp-close{position:absolute;top:10px;right:10px;display:none;cursor:pointer}.serp-preview:not(.expanded-preview):not(.mobile-preview) .group.active{margin-top:20px;padding:30px 20px 20px;background:#f6f6f6}.serp-preview:not(.expanded-preview):not(.mobile-preview) .group.active .cmb-row{display:block}.serp-preview:not(.expanded-preview):not(.mobile-preview) .group.active .cmb-row.cmb2-id-rank-math-title .rank-math-variables-button{right:0}.serp-preview:not(.expanded-preview):not(.mobile-preview) .group.active .cmb-row.cmb2-id-rank-math-description .rank-math-variables-dropdown{top:60px}.serp-preview:not(.expanded-preview):not(.mobile-preview) .group.active .serp-close{display:block}.serp-preview:not(.expanded-preview):not(.mobile-preview) .group.active+.group,.serp-preview:not(.expanded-preview):not(.mobile-preview) .group+.group.active{margin-top:20px}.serp-preview:not(.expanded-preview):not(.mobile-preview) .group.active+.group+.serp-rating,.serp-preview:not(.expanded-preview):not(.mobile-preview) .group+.group.active+.serp-rating{display:none}.serp-preview .button{height:auto;padding:0 5px;outline:0}.serp-preview .button,.serp-preview .button .dashicons{font-size:15px;line-height:30px;height:auto}.serp-preview .button-secondary{margin-bottom:0;color:#818181;border-color:#e5e5e5;background:#fff !important;box-shadow:0 1px 2px 0 #e5e5e5 !important}.serp-preview .button-secondary.active,.serp-preview .button-secondary.active:hover{color:#fff;border-color:#0392d4;background:#069de3 !important}.serp-preview .button-secondary:hover{color:#069de3;border-color:#0392d4}.serp-preview-title .alignright{margin-top:-9px}.serp-preview.desktop-preview .serp-snippet-mobile{display:none}.serp-preview.desktop-preview .serp-snippet-data{color:#808080;line-height:18px;font-size:small;font-weight:normal;margin-bottom:3px}.serp-preview.desktop-preview .serp-snippet-data .serp-desktop-rating{float:left;margin-top:1px}.serp-preview.desktop-preview .serp-snippet-data .separator:first-child{display:none}.serp-preview.desktop-preview .serp-snippet-data .serp-event_name{color:#1a0dab;cursor:pointer}.serp-preview.desktop-preview .serp-snippet-data .serp-event_name:hover{text-decoration:underline}.serp-preview.desktop-preview .serp-snippet-data .serp-event_name,.serp-preview.desktop-preview .serp-snippet-data .serp-event_place{padding-left:15px}.serp-preview.desktop-preview .serp-preview-footer .alignright .dashicons{margin-right:0}.serp-preview.mobile-preview.expanded-preview .group:nth-child(2){margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #dfe1e5}.serp-preview.mobile-preview .serp-snippet-mobile{display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-align-items:stretch;align-items:stretch;margin:8px -5px 0}.serp-preview.mobile-preview .serp-snippet-mobile .inner-wrapper{-webkit-flex:1;flex:1;margin-left:5px;margin-right:5px}.serp-preview.mobile-preview .serp-snippet-mobile .inner-wrapper .serp-mobile-label{display:block;font-size:14px;line-height:20px;margin-bottom:4px;color:#202124;font-weight:500}.serp-preview.mobile-preview .serp-snippet-mobile .inner-wrapper .serp-rating-count{float:left}.serp-preview.mobile-preview .serp-snippet-mobile .inner-wrapper .serp-rating{float:left;margin-left:5px}.serp-preview.mobile-preview .serp-snippet-mobile .serp-rating-count{color:#808080}.serp-preview.mobile-preview .serp-snippet-data{display:none}.mobile-preview .serp-preview-title:before{content:attr(data-mobile)}.mobile-preview .serp-preview-bg{position:relative;overflow:visible;width:400px;max-width:100%;margin:auto;border-radius:8px;background-color:transparent;box-shadow:0 1px 6px rgba(32,33,36,0.28)}.mobile-preview .serp-preview-bg .serp-preview-input input{height:41px;border-bottom:1px solid rgba(0,0,0,0.12);border-radius:8px 8px 0 0;box-shadow:none}.mobile-preview .serp-preview-bg .serp-preview-input .serp-mike{display:none}.mobile-preview .serp-preview-bg .serp-preview-input .serp-search{right:0;width:40px;height:40px;margin-right:-1px;padding:0;border:1px solid #3367d6;border-radius:0 8px 0 0;-webkit-border-top-right-radius:8px;background-color:#3b78e7;-webkit-flex:0 0 auto;flex:0 0 auto}.mobile-preview .serp-preview-bg .serp-preview-input .serp-search svg{fill:#fff}.mobile-preview .serp-preview-bg .serp-preview-menus ul{display:-webkit-flex;display:flex;width:100%;border-bottom-right-radius:8px;border-bottom-left-radius:8px}.mobile-preview .serp-preview-bg .serp-preview-menus ul li{font-size:12px;line-height:40px;height:40px;padding:0 16px;text-align:center;text-transform:uppercase;-webkit-flex:1;flex:1}.mobile-preview .serp-preview-bg .serp-preview-menus ul li:last-child{display:none}.mobile-preview .serp-preview-bg .serp-preview-menus ul.menus-right{display:none}.mobile-preview .serp-preview-bg .serp-preview-result-stats{display:none}.mobile-preview .serp-preview-body{box-sizing:border-box;width:400px;max-width:100%;margin:auto;padding-top:30px;word-wrap:break-word}.mobile-preview.expanded-preview .serp-preview-body{margin-top:10px;padding:20px;border-radius:8px;background-color:#fff;box-shadow:0 1px 6px rgba(32,33,36,0.28)}.expanded-preview .serp-description,.expanded-preview .serp-title,.expanded-preview .serp-url,.mobile-preview .serp-description,.mobile-preview .serp-title,.mobile-preview .serp-url{overflow:hidden;pointer-events:none}.expanded-preview .serp-preview-footer,.mobile-preview .serp-preview-footer{display:none}.expanded-preview.desktop-preview .serp-preview-footer{padding:15px 0}.expanded-preview.desktop-preview .serp-preview-wrapper{padding:0}.expanded-preview.desktop-preview .serp-preview-title:before{content:attr(data-desktop)}@media (min-width: 768px){.expanded-preview.desktop-preview .serp-preview-bg{height:auto;padding:15px 20px 0;opacity:1}.expanded-preview.desktop-preview .serp-preview-body{padding-left:20px}}.expanded-preview.mobile-preview .serp-preview-bg{height:auto;margin-top:20px;opacity:1}.noindex-preview .serp-preview-wrapper{position:relative}.noindex-preview .serp-preview-body{pointer-events:none;opacity:.2}.noindex-preview .serp-preview-noindex{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-box-align:center;-webkit-box-pack:center;-ms-flex-align:center;-webkit-justify-content:center;justify-content:center}.noindex-preview .serp-preview-footer .alignright{display:none}body.rtl .serp-preview-bg .serp-preview-input input{padding-right:16px;padding-left:9px}body.rtl .serp-preview-bg .serp-preview-input .serp-search{right:auto;left:15px}body.rtl .serp-preview-bg .serp-preview-input .serp-mike{right:auto;left:50px;padding-right:8px;padding-left:2px}body.rtl .serp-preview-bg .serp-preview-menus ul,body.rtl .serp-preview-bg .serp-preview-menus li{float:right}body.rtl .serp-preview-bg .serp-preview-menus ul.menus-right,body.rtl .serp-preview-bg .serp-preview-menus li.menus-right{float:left}body.rtl .mobile-preview .serp-preview-bg .serp-search{left:0;border-radius:0;border-top-left-radius:8px}body.rtl .serp-preview .serp-description:focus:before,body.rtl .serp-preview .serp-description:hover:before,body.rtl .serp-preview .serp-title:focus:before,body.rtl .serp-preview .serp-title:hover:before,body.rtl .serp-preview .serp-url:focus:before,body.rtl .serp-preview .serp-url:hover:before{text-align:left}body.rtl .rank-math-variables-dropdown{right:auto;left:37px}.snippet-fields{padding:45px 0 15px}.length-indicator-wrapper{position:relative;display:block}.length-indicator-wrapper .length-indicator{overflow:hidden;border-radius:2px;background:linear-gradient(to right, #e33e2b 0%, #f06818 18%, #fff 19%, #fff 19%, #f16b17 20%, #f1a104 38%, #fff 39%, #fff 39%, #f1a404 40%, #d9b507 58%, #fff 59%, #fff 59%, #d4b509 60%, #7bb02c 78%, #fff 79%, #fff 79%, #76ae2e 80%, #2da24c 100%);position:absolute;top:-13px;right:60px;height:8px;width:180px}.length-indicator-wrapper .length-indicator span{position:absolute;z-index:11;background:#e0e0e0;height:100%;width:100%}.length-indicator-wrapper .length-indicator.invalid{background:linear-gradient(to right, #e33d2a 0%, #e33d2a 18%, #fff 19%, #fff 19%, #e33d2a 20%, #e33d2a 38%, #fff 39%, #fff 39%, #e33d2a 40%, #e33d2a 58%, #fff 59%, #fff 59%, #e33d2a 60%, #e33d2a 78%, #fff 79%, #fff 79%, #e33d2a 80%, #e33d2a 100%)}.length-indicator-wrapper input:focus+.length-indicator,.length-indicator-wrapper textarea:focus+.length-indicator{display:block}.length-indicator-wrapper .length-count{font-size:12px;position:absolute;top:-17px;right:0;color:#afafaf}.tag-editor{overflow:hidden;box-sizing:border-box;width:100%;padding:7px 80px 7px 10px;cursor:text;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;border:1px solid #e5e5e5;border-radius:3px;background:#fff;box-shadow:inset 0 1px 6px rgba(0,0,0,0.08)}.tag-editor>li{line-height:inherit;position:relative;float:left;margin:3px 10px 3px 0;padding:3px 5px;cursor:pointer;white-space:nowrap;color:#85878b;border-radius:2px;background:#e9e9ea}.tag-editor>li:nth-child(1){margin:0;padding:0;border-color:transparent;background:transparent}.tag-editor div{float:left;padding:0 4px}.tag-editor .placeholder{color:#bbb}.tag-editor-hidden-src{position:absolute !important;left:-99999px}.tag-editor .tag-editor-spacer{display:none}.tag-editor ::-ms-clear{display:none}.tag-editor .tag-editor-tag input[type=text]{margin:0;padding:0;cursor:text;border:0;outline:none;background:none;box-shadow:none !important}.tag-editor .tag-editor-tag.active+.tag-editor-delete,.tag-editor .tag-editor-tag.active+.tag-editor-delete i{visibility:hidden;cursor:text}.tag-editor .tag-editor-delete i{line-height:18px;display:inline-block}.tag-editor .tag-editor-delete i:before{font-size:16px;font-style:normal;content:'×'}.tag-editor .tag-editor-delete:hover i:before{color:#000 !important}.tag-editor>li.selected-fk{color:#000;border-color:#fbbc05;background:#fbbc05}.tag-editor>li.bad-fk{color:#e93f30;background:#fdeae8}.tag-editor>li.bad-fk.selected-fk{color:#fdeae8;background:#e93f30}.tag-editor>li.ok-fk{color:#fbbc05;background:#fef2ce}.tag-editor>li.ok-fk.selected-fk{color:#fef2ce;background:#fbbc05}.tag-editor>li.good-fk{color:#58bb58;background:#e9f6e9}.tag-editor>li.good-fk.selected-fk{color:#e9f6e9;background:#58bb58}.tag-editor>li.selected-fk .tag-editor-tag.active input[type=text],.tag-editor>li.selected-fk .tag-editor-delete:hover i:before{color:#fff}.tag-editor>li:nth-child(2):before{font-family:'dashicons';font-size:7px;line-height:12px;position:absolute;top:-4px;left:-6px;width:12px;content:'\f155';text-align:center;color:#fff;border:1px solid #fff;border-radius:50%;background:#4285f4}.cmb2-wrap .cmb2-id-rank-math-focus-keyword{padding-top:10px}.cmb2-wrap .cmb2-id-rank-math-focus-keyword .cmb-th{width:100%;margin-bottom:10px}.cmb2-wrap .cmb2-id-rank-math-focus-keyword .cmb-td{width:100%}.cmb2-wrap .cmb2-id-rank-math-focus-keyword .notice{margin:20px 0 0;background:#fefcee}.cmb2-wrap .cmb2-id-rank-math-focus-keyword .cmb-td{position:relative}.ui-autocomplete{font-size:14px;position:absolute;top:0;left:0;cursor:default}.ui-autocomplete.ui-autocomplete-loading{background:none}.ui-autocomplete.ui-widget-content{z-index:1111111}.ui-front{z-index:9999}.ui-menu{display:block;margin:0;padding:1px;list-style:none;outline:none}.ui-menu .ui-menu-item a{line-height:1.4;display:block;min-height:0;padding:2px .4em;text-decoration:none}.ui-widget-content{color:#555;border:1px solid #bbb;background:#fff}.ui-widget-content a{color:#46799b}.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{background:#e0eaf1}.ui-helper-hidden-accessible{display:none}.rank-math-seo-score{font-weight:600;position:absolute;top:1px;right:1px;box-sizing:border-box;width:105px;padding:13.5px 15px;text-align:center;border-radius:0 3px 3px 0;background:#f1f1f1;height:44px}.rank-math-seo-score.misc-pub-section{position:relative;top:auto;right:auto;width:100%;padding:13.5px 12px;text-align:left;border-radius:0}.rank-math-seo-score.misc-pub-section .dashicons{font-size:18px;margin-right:2px}.rank-math-seo-score.misc-pub-section .score-icon{float:left;margin-right:4px}.rank-math-seo-score.good-fk{color:#58bb58;background:#e9f6e9}.rank-math-seo-score.good-fk .score-icon g{fill:#58bb58}.rank-math-seo-score.ok-fk{color:#ca9703;background:#fef2ce}.rank-math-seo-score.ok-fk .score-icon g{fill:#ca9703}.rank-math-seo-score.bad-fk{color:#e93f30;background:#fdeae8}.rank-math-seo-score.bad-fk .score-icon g{fill:#e93f30}.cmb2-wrap .cmb2-id-rank-math-pillar-content .cmb-th{display:none}.cmb2-wrap .cmb2-id-rank-math-pillar-content .cmb-td{width:100%}.rank-math-primary-term-li{position:relative;display:block}.rank-math-primary-term-li .rank-math-tooltip{position:absolute;right:0;display:none}.rank-math-primary-term-li .rank-math-tooltip>span{top:50%;right:32px;bottom:auto;left:auto;width:110px;-webkit-transform:translate3d(-70%, -50%, 0);transform:translate3d(-70%, -50%, 0)}.rank-math-primary-term-li .rank-math-tooltip>span:after{content:'';-webkit-transform:translate3d(0, -50%, 0);transform:translate3d(0, -50%, 0);top:50%;right:-8px;left:auto;border-style:solid;height:0;width:0;border-color:transparent transparent transparent #555d66;border-width:7px 0 7px 8px}.rank-math-primary-term-li .rank-math-tooltip:hover span{bottom:auto;-webkit-transform:translate3d(0, -50%, 0);transform:translate3d(0, -50%, 0);opacity:1}.rank-math-primary-term-li.term-checked>label>.rank-math-tooltip{display:inline-block}.rank-math-compare-keywords-trigger{position:absolute;right:0;top:-38px;text-decoration:none;color:#069de3}.rank-math-compare-keywords-trigger>.dashicons{vertical-align:-4px}.rank-math-compare-keywords-wrapper .media-modal{top:10%;right:10%;bottom:10%;left:10%}.rank-math-compare-keywords-wrapper .aligncenter{text-align:center}.rank-math-compare-keywords-wrapper .media-frame-menu{width:300px}.rank-math-compare-keywords-wrapper .media-frame-content,.rank-math-compare-keywords-wrapper .media-frame-title{left:300px}.rank-math-compare-keywords-wrapper .media-menu-item{font-size:23px;font-weight:400;line-height:30px;margin-bottom:8px}.rank-math-compare-keywords-wrapper h1{line-height:50px;padding:0 16px}.rank-math-compare-keywords-wrapper .keyword-input{padding:8px 20px}.rank-math-compare-keywords-wrapper .keyword-input input{margin:0;font-size:14px;height:32px;width:75%}.rank-math-compare-keywords-wrapper .keyword-input input:focus{box-shadow:none}.rank-math-compare-keywords-wrapper .keyword-input .button.add-new-keywords{height:31px;width:25%;padding:0 4px 1px;margin-left:-5px;border-radius:0 3px 3px 0;border-bottom-width:0px}.rank-math-compare-keywords-wrapper .keyword-input .button.add-new-keywords:focus{box-shadow:none;border:1px solid #ccc}.rank-math-compare-keywords-wrapper .button-link.remove-keyword{float:right;margin-right:20px;padding:0;text-decoration:none;box-shadow:none}.rank-math-compare-keywords-wrapper .add-new-keywords .dashicons{font-size:16px;vertical-align:-4px;margin-right:-2px}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields{margin:20px 0;padding:0 22px}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields>div{position:relative;background:#fbfbfb;padding:10px 10px 10px 35px;margin:0 0 8px;border-radius:3px;box-shadow:0px 0px 3px rgba(0,0,0,0.1)}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields>div:before{position:absolute;top:13px;left:12px;width:12px;height:12px;content:'';border-radius:3px;background:#2196f3}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields>div:nth-child(2):before{background:#f44336}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields>div:nth-child(3):before{background:#ffca28}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields>div:nth-child(4):before{background:#43a047}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields>div:nth-child(5):before{background:#9c27b0}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields .remove-keyword{width:20px;padding:4px 4px 4px 8px;position:absolute;right:5px;top:6px;cursor:pointer;border-left:1px solid #e9ebed}.rank-math-compare-keywords-wrapper .rank-math-keywords-fields .compare-keyword{font-size:14px}.rank-math-compare-keywords-wrapper .use-these-keywords{display:inline-block;margin-top:10px;font-size:13px}.rank-math-compare-keywords-wrapper .use-these-keywords .dashicons{text-decoration:none}.rank-math-compare-keywords-wrapper .source-credit{position:absolute;bottom:14px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);text-align:center;font-size:11px}.rank-math-compare-keywords-wrapper .button-actions{width:254px;margin:0 auto 8px}.rank-math-compare-keywords-wrapper .separator{position:absolute;bottom:54px;width:100%;left:-20px}.rank-math-compare-keywords-wrapper .attachments-browser{background:#fff}.rank-math-compare-keywords-wrapper .attachments-browser iframe{position:relative;overflow:hidden;top:-48px;height:420px;width:100%}.cmb2-id-rank-math-pillar-content .cmb-th label{visibility:hidden}@media only screen and (max-width: 1176px){.rank-math-compare-keywords-wrapper .attachments-browser iframe{top:0px}}@media only screen and (max-width: 900px){#setting-panel-container-rank_math_metabox .media-frame-menu .media-menu{left:0px;width:100%;max-width:100%;position:relative}#setting-panel-container-rank_math_metabox .aligncenter{margin-bottom:68px}#setting-panel-container-rank_math_metabox .media-frame-menu{width:100%}#setting-panel-container-rank_math_metabox .media-frame-content{position:relative}#setting-panel-container-rank_math_metabox .media-frame{overflow:auto}}.rank-math-serp-group li:before,.rank-math-serp-group.state-closed .group-status:before{font-family:dashicons;font-size:18px;line-height:1;float:left;margin:4px 10px 0 -30px;content:'\f335';color:#fff;border:1px solid #eac0c2;border-radius:50em;background:#eac0c2;height:18px;width:18px}.rank-math-serp-group .test-ok:before,.rank-math-serp-group .test-gallery:before,.rank-math-serp-group.state-closed .group-status.passed:before{content:'\f147';border-color:#58bb58;background:#58bb58}.rank-math-serp-checklist .group-handle{position:relative;padding:15px 20px;cursor:pointer;background:#ededee}.rank-math-serp-checklist h4{margin:0;color:#23282d}.rank-math-serp-checklist .group-handlediv{cursor:pointer;-webkit-transform:translateY(-50%);transform:translateY(-50%);border:0;background:0;position:absolute;top:50%;right:10px}.rank-math-serp-checklist .group-handlediv:focus{outline:0;box-shadow:none}.rank-math-serp-group{margin-top:20px;background:#f5f5f5}.rank-math-serp-group:first-of-type{margin-top:0}.rank-math-serp-group ul{padding:15px 20px}.rank-math-serp-group li{font-size:15px;line-height:28px;position:relative;clear:both;padding-left:30px;color:#444}.rank-math-serp-group li section{display:none}.rank-math-serp-group .test-ok .rank-math-tooltip,.rank-math-serp-group .test-gallery .rank-math-tooltip{display:none}.rank-math-serp-group .test-fail,.rank-math-serp-group .test-empty{color:#a0a0a0}.rank-math-serp-group .rank-math-tooltip{top:4px;right:-2px}.rank-math-serp-group .toggle-indicator:before{font:normal 20px/1 dashicons;display:inline-block;content:'\f142';text-decoration:none !important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rank-math-serp-group.state-closed ul{display:none}.rank-math-serp-group.state-closed .toggle-indicator:before{content:'\f140' !important}.rank-math-serp-group.state-closed .group-status{float:left}.rank-math-serp-group.state-closed .group-status:before{margin:0 10px 0 0}.rank-math-serp-group li.seo-check-calculateFleschReading.okay:before,.rank-math-serp-group li.seo-check-calculateFleschReading.fairlyDifficult:before{border-color:#ffbe5f;background:#ffbe5f}.rank-math-serp-group li.seo-check-calculateFleschReading.difficult:before{border-color:#eac0c2;background:#eac0c2}#setting-panel-richsnippet .cmb-row-50,#setting-panel-richsnippet .cmb-row-33{vertical-align:top;border-top:1px solid #e9e9e9;border-bottom:0}#setting-panel-richsnippet .cmb2-id-rank-math-snippet-music-type{border-top:0}#setting-panel-richsnippet .cmb2-id-rank-math-snippet-music-type .cmb-th,#setting-panel-richsnippet .cmb2-id-rank-math-snippet-music-type .cmb-td{margin-left:0;padding:0}#setting-panel-richsnippet .cmb2-id-rank-math-snippet-recipe-ingredients,#setting-panel-richsnippet .cmb2-id-rank-math-snippet-recipe-instructions{border-top:1px solid #e9e9e9}#setting-panel-richsnippet .cmb2-id-rank-math-snippet-recipe-instruction-type{border-top:1px solid #e9e9e9}#setting-panel-richsnippet .cmb2-id-rank-math-snippet-recipe-single-instructions,#setting-panel-richsnippet .cmb2-id-rank-math-snippet-recipe-instruction-name,#setting-panel-richsnippet .cmb2-id-rank-math-snippet-recipe-instructions{border-top:none}#setting-panel-richsnippet .notice-warning{margin:10px 0 0;background-color:#fefcee}#setting-panel-social .rank-math-tab{padding:30px 0 0}#setting-panel-social .rank-math-social-preview+.notice{margin-top:20px}#setting-panel-social .cmb-row.cmb-row-33{vertical-align:top;min-height:118px}.rank-math-social-preview-button{font-size:13px;display:inline-block;padding:4px 8px;text-decoration:none;text-transform:uppercase;color:#555555;border:0;outline:none;background:#ededee;box-shadow:none !important}.rank-math-social-preview-button .dashicons{position:relative;top:-2px}.open .rank-math-social-preview-button{color:#fff;background:#069de3}.rank-math-social-preview-item{display:none;padding:30px}.rank-math-social-preview-item-wrapper{overflow:hidden;width:474px;max-width:100%;margin:auto;background:#fff;border:1px solid;border-radius:0 0 3px 3px;border-color:#dadada #dadada #ccc;box-sizing:border-box}.rank-math-social-preview-item .error-msg{width:528px;max-width:100%;margin:auto;padding-top:10px;display:none;line-height:1}.rank-math-social-preview-item .error-msg.show{display:block}.rank-math-social-preview-image{line-height:0;position:relative;z-index:1}.rank-math-social-preview-image img{display:none;max-width:100%;height:100%;min-height:initial}.rank-math-social-preview-image-overlay{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%) scale(0.22126);transform:translate(-50%, -50%) scale(0.22126)}.rank-math-social-preview-image .error-msg{display:none;line-height:1}.rank-math-social-preview .rank-math-social-preview-caption{font-size:12px;background:#f2f3f5;padding:10px 10px 5px;color:#1d2129}.rank-math-social-preview .rank-math-social-preview-title{font-size:16px;font-weight:600;line-height:22px;margin:0 0 8px;padding:0;letter-spacing:normal;word-wrap:break-word}.rank-math-social-preview-description,.rank-math-social-preview-publisher{line-height:16px;margin:0}.rank-math-social-preview-publisher{font-size:12px;font-weight:normal;padding-bottom:5px;color:#90949c}.rank-math-social-preview-publisher.facebook{text-transform:uppercase}.rank-math-social-preview-social-meta{display:none;width:474px;margin:0 auto;clear:both;display:block;position:relative;margin-bottom:15px}.rank-math-social-preview-social-meta .social-profile-image{width:48px;height:48px;background:#dcc7c7;border-radius:50%;float:left;position:absolute;left:-58px}.rank-math-social-preview-social-meta .social-name{color:#14171a;font-size:14px;font-weight:bold}.rank-math-social-preview-social-meta .social-username,.rank-math-social-preview-social-meta .social-time{font-size:14px;color:#657786;font-weight:normal;margin-left:3px}.rank-math-social-preview-social-meta .social-time{margin-left:5px}.rank-math-social-preview-social-meta .social-time:before{content:"\00B7";margin-right:5px}.rank-math-social-preview-social-meta .social-text{margin-top:5px}.rank-math-social-preview-facebook .rank-math-social-preview-button strong:before{content:attr(data-facebook)}.rank-math-social-preview-facebook .facebook-thumbnail{display:block}.rank-math-social-preview-facebook .no-facebook-image .facebook-thumbnail{display:none}.rank-math-social-preview-facebook .rank-math-social-preview-social-meta.twitter-meta{display:none}.rank-math-social-preview-facebook .rank-math-social-preview-description{overflow:hidden;max-height:1.3em;margin-bottom:2px;white-space:nowrap;text-overflow:ellipsis;display:none}.rank-math-social-preview-facebook .rank-math-social-preview-social-meta.facebook-meta{display:block;border:1px solid #dadada;border-bottom:0;border-radius:3px 3px 0;padding:12px;margin-bottom:0;box-sizing:border-box}.rank-math-social-preview-facebook .rank-math-social-preview-social-meta.facebook-meta .social-profile-image{width:40px;height:40px;left:auto;position:relative;margin-right:10px;margin-left:-2px}.rank-math-social-preview-facebook .rank-math-social-preview-social-meta.facebook-meta .social-name{color:#365899;margin-bottom:3px}.rank-math-social-preview-facebook .rank-math-social-preview-social-meta.facebook-meta .social-time:before{display:none}.rank-math-social-preview-facebook .rank-math-social-preview-social-meta.facebook-meta .social-time span:first-child:after{content:"\00B7";margin-right:3px;margin-left:5px}.rank-math-social-preview-facebook .rank-math-social-preview-social-meta.facebook-meta .dashicons.dashicons-admin-site{font-size:14px;line-height:17px}.rank-math-social-preview-facebook .twitter{display:none}.rank-math-social-preview-twitter.app,.rank-math-social-preview-twitter.player{display:none !important}.rank-math-social-preview-twitter .rank-math-social-preview-item-wrapper{max-width:100%;border:1px solid rgba(136,153,166,0.5);border-radius:10px;clear:both}.rank-math-social-preview-twitter .rank-math-social-preview-item-wrapper .twitter-thumbnail{display:block;max-width:100%}.rank-math-social-preview-twitter .rank-math-social-preview-item-wrapper .rank-math-social-preview-caption{background:#ffffff}.rank-math-social-preview-twitter .rank-math-social-preview-item-wrapper:hover{background:#F5F8FA}.rank-math-social-preview-twitter .rank-math-social-preview-item-wrapper:hover .rank-math-social-preview-caption{background:#F5F8FA}.rank-math-social-preview-twitter .rank-math-social-preview-title{font:normal normal bold 14px/1.4 Helvetica,Roboto,'Segoe UI',Calibri,sans-serif;overflow:hidden;max-height:1.3em;margin-bottom:2px;white-space:nowrap;text-overflow:ellipsis}.rank-math-social-preview-twitter .rank-math-social-preview-description{font-size:14px;line-height:20px;overflow:hidden;max-height:4.5em;margin-top:.32333em}.rank-math-social-preview-twitter .rank-math-social-preview-publisher{padding-top:5px}.rank-math-social-preview-twitter .rank-math-social-preview-publisher.facebook{display:none}.rank-math-social-preview-twitter .no-twitter-image .twitter-thumbnail{display:none}.rank-math-social-preview-twitter .rank-math-social-preview-button strong:before{content:attr(data-twitter)}.rank-math-social-preview-twitter.summary_card .rank-math-social-preview-image{float:left}.rank-math-social-preview-twitter.summary_card .rank-math-social-preview-image img{height:125px;width:125px}.rank-math-social-preview-twitter.summary_card .rank-math-social-preview-caption{overflow:hidden;box-sizing:border-box;max-height:125px;padding:5px 0 0 15px}.rank-math-social-preview-twitter .rank-math-social-preview-social-meta.facebook-meta{display:none}.rank-math-social-preview-twitter .rank-math-social-preview-social-meta.twitter-meta{display:block}.suggestion-item{overflow:hidden;margin-bottom:5px;padding-bottom:5px;border-bottom:1px dotted #e5e5e5}.suggestion-item a{text-decoration:none;box-shadow:none !important}.suggestion-item .suggestion-actions{float:right;margin-left:5px}.suggestion-item .dashicons{margin-top:5px;cursor:pointer}#rank_math_keyword_density{font-weight:600;display:none;float:right;cursor:pointer;color:#888}#rank_math_keyword_density span{float:right}#rank_math_keyword_density .inner-wrapper{position:absolute;z-index:1;right:30px;margin-top:8px;padding:5px 15px;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,0.1)}#rank_math_keyword_density .inner-wrapper ul{margin-top:15px}#rank_math_keyword_density.state-closed span:before{content:'\f140' !important}#rank_math_keyword_density.state-closed .inner-wrapper{display:none}body.rtl .rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a{float:right;margin-right:-1px;margin-left:0;padding-right:8px;padding-left:12px}body.rtl .rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a .dashicons,body.rtl .rank-math-metabox-wrap .rank-math-tabs-navigation:not(.social-tabs-navigation) a .fa{margin-right:0;margin-left:5px}body.rtl .rank-math-metabox-wrap .social-tabs-navigation a .dashicons{margin-right:0;margin-left:8px}body.rtl .serp-preview .group .serp-close{left:10px;right:auto}body.rtl .serp-preview .rank-math-variables-wrap input,body.rtl .serp-preview .rank-math-variables-wrap textarea{padding-right:0.6em !important;padding-left:50px}body.rtl .serp-preview .length-indicator-wrapper .length-count{left:0;right:auto}body.rtl .serp-preview .length-indicator-wrapper .length-indicator{left:60px;right:auto}body.rtl .tag-editor{padding:7px 10px 7px 80px}body.rtl .tag-editor>li{float:right;margin-right:0;margin-left:10px}body.rtl .tag-editor>li:nth-child(2):before{right:-6px;left:auto}body.rtl .tag-editor div{float:right}body.rtl .tag-editor-hidden-src{right:-99999px}body.rtl .rank-math-seo-score{right:auto;left:1px}body.rtl .rank-math-serp-checklist .group-handlediv{right:auto;left:10px}body.rtl .rank-math-serp-group.state-closed .group-status{float:right}body.rtl .rank-math-serp-group.state-closed .group-status:before{margin:0 0 0 10px}body.rtl .rank-math-serp-group li{padding-left:0;padding-right:30px}body.rtl .rank-math-serp-group li:before{float:right;margin:4px -30px 0 10px}body.rtl .rank-math-primary-term-li .rank-math-make-primary,body.rtl .rank-math-primary-term-li .text-primary{right:auto;left:0}body.rtl .rank-math-primary-term-li .rank-math-tooltip{right:auto;left:0}body.rtl .rank-math-primary-term-li .rank-math-tooltip>span{right:auto;left:32px;-webkit-transform:translate3d(70%, -50%, 0);transform:translate3d(70%, -50%, 0)}body.rtl .rank-math-primary-term-li .rank-math-tooltip>span:after{left:-8px;right:auto;top:30%;-webkit-transform:rotate(180deg);transform:rotate(180deg)}body.rtl .rank-math-primary-term-li .rank-math-tooltip:hover>span{-webkit-transform:translate3d(0, -50%, 0);transform:translate3d(0, -50%, 0)}body.rtl .suggestion-item .suggestion-actions{float:left;margin-right:5px}body.rtl input[type=checkbox]:checked:before{margin:-3px}body.rtl .postbox-container #side-sortables{overflow:hidden}.ask-review{text-align:center}.ask-review p{font-size:14px;margin-bottom:20px}.ask-review .stars-wrapper{line-height:60px;width:316px;margin:0 auto;margin-bottom:20px;border:1px solid #ddd;border-radius:6px}.ask-review .stars-wrapper .stars a{position:relative;top:9px;display:inline-block;height:40px;width:40px;text-decoration:none;color:#aaa}.ask-review .stars-wrapper .stars a span{font-size:40px;height:40px;width:40px}.ask-review .stars-wrapper .stars a.highlighted,.ask-review .stars-wrapper .stars a:hover{color:#f9cb12}.ask-review .stars-wrapper .face{float:right;width:70px;height:60px;border-left:1px solid #ddd;background:#fafafa}.smiley{position:relative;top:50%;left:50%;height:22px;width:22px;padding:12px;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);border-radius:100%;background:linear-gradient(135deg, #ffe919 0%, #fbc000 100%)}.mouth{position:absolute;bottom:18%;left:50%;box-sizing:border-box;width:60%;height:30%;margin-left:-30%;transition:all 300ms cubic-bezier(0.645, 0.045, 0.355, 1);border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:22px;border-bottom-left-radius:22px;background:#b57700}.eyes{box-sizing:border-box;width:100%;margin-top:15%;padding:0 1px;transition:all 300ms cubic-bezier(0.645, 0.045, 0.355, 1)}.eyes .eye{position:relative;float:left;height:5px;width:5px;border-radius:100%;background:#b57700}.eyes .eye:nth-of-type(2){float:right}.eyes .eye::after{position:absolute;top:-5px;left:2px;display:block;height:0;width:0;content:'';transition:all 300ms cubic-bezier(0.645, 0.045, 0.355, 1);-webkit-transform:rotate(0deg);transform:rotate(0deg);background:#fed800}.eyes .eye:first-of-type::after{right:5px;left:auto;-webkit-transform:rotate(0deg);transform:rotate(0deg)}.smiley.normal .mouth{bottom:25%;width:40%;height:10%;margin-left:-20%;border-top-left-radius:22px;border-top-right-radius:22px;border-bottom-right-radius:22px;border-bottom-left-radius:22px}.smiley.normal .eyes{margin-top:30%}.smiley.angry .mouth{bottom:25%;left:50%;width:40%;height:10%;margin-left:-20%;border-bottom:0;border-top-left-radius:100%;border-top-right-radius:100%;border-bottom-right-radius:0;border-bottom-left-radius:0}.smiley.happy .mouth{-webkit-animation:move-mouth-down .8s;animation:move-mouth-down .8s;-webkit-animation-delay:.3s;animation-delay:.3s}@-webkit-keyframes move-mouth-down{0%{bottom:18%}35%{bottom:16%}65%{bottom:16%}100%{bottom:18%}}@keyframes move-mouth-down{0%{bottom:18%}35%{bottom:16%}65%{bottom:16%}100%{bottom:18%}}.smiley.happy .eyes{-webkit-animation:move-eyes-down .8s;animation:move-eyes-down .8s;-webkit-animation-delay:.3s;animation-delay:.3s}@-webkit-keyframes move-eyes-down{0%{margin-top:15%}35%{margin-top:19%}65%{margin-top:19%}100%{margin-top:15%}}@keyframes move-eyes-down{0%{margin-top:15%}35%{margin-top:19%}65%{margin-top:19%}100%{margin-top:15%}}.smiley.happy .eye:nth-of-type(2){height:5px;margin-top:0;-webkit-animation:wink .8s;animation:wink .8s;-webkit-animation-delay:.3s;animation-delay:.3s}@-webkit-keyframes wink{0%{height:5px;margin-top:0}30%{height:2px;margin-top:1px}70%{height:2px;margin-top:1px}100%{height:5px;margin-top:0}}@keyframes wink{0%{height:5px;margin-top:0}30%{height:2px;margin-top:1px}70%{height:2px;margin-top:1px}100%{height:5px;margin-top:0}}.smiley.normal .eye{height:5px;margin-top:0;-webkit-animation:blink .6s;animation:blink .6s;-webkit-animation-delay:.3s;animation-delay:.3s}@-webkit-keyframes blink{0%{height:5px;margin-top:0}25%{height:2px;margin-top:1px}50%{height:5px;margin-top:0}75%{height:2px;margin-top:1px}100%{height:5px;margin-top:0}}@keyframes blink{0%{height:5px;margin-top:0}25%{height:2px;margin-top:1px}50%{height:5px;margin-top:0}75%{height:2px;margin-top:1px}100%{height:5px;margin-top:0}}.smiley.angry .eyes,.smiley.angry .mouth{-webkit-animation:move-angry-head .6s;animation:move-angry-head .6s;-webkit-animation-delay:.3s;animation-delay:.3s}@-webkit-keyframes move-angry-head{0%{-webkit-transform:translateX(0%);transform:translateX(0%)}20%{-webkit-transform:translateX(-20%);transform:translateX(-20%)}40%{-webkit-transform:translateX(15%);transform:translateX(15%)}60%{-webkit-transform:translateX(-10%);transform:translateX(-10%)}80%{-webkit-transform:translateX(5%);transform:translateX(5%)}100%{-webkit-transform:translateX(0%);transform:translateX(0%)}}@keyframes move-angry-head{0%{-webkit-transform:translateX(0%);transform:translateX(0%)}20%{-webkit-transform:translateX(-20%);transform:translateX(-20%)}40%{-webkit-transform:translateX(15%);transform:translateX(15%)}60%{-webkit-transform:translateX(-10%);transform:translateX(-10%)}80%{-webkit-transform:translateX(5%);transform:translateX(5%)}100%{-webkit-transform:translateX(0%);transform:translateX(0%)}}
assets/admin/css/post-list.css CHANGED
@@ -2,4 +2,4 @@
2
  * Plugin: Rank Math
3
  * URL: https://rankmath.com/wordpress/plugin/seo-suite/
4
  * Name: post-list.css
5
- */.wp-list-table th>span:nth-child(2){display:none}.wp-list-table th.bulk-editing span:nth-child(1){display:none}.wp-list-table th.bulk-editing span:nth-child(2){display:inline-block}.wp-list-table th.sorted a{display:inline-block}.wp-list-table th#rank_math_seo_details span:first-child a{display:inline-block;padding-right:0}.wp-list-table th#rank_math_seo_details span:first-child a.dashicons{padding-left:0}.wp-list-table td.rank_math_seo_details label{display:none}.wp-list-table td .rank-math-column-display{display:block;margin-bottom:5px}.wp-list-table td .rank-math-column-display.rank-math-link-count span{opacity:0.7}.wp-list-table td .rank-math-column-display.rank-math-link-count .dashicons{margin:0 0 0 -2px;font-size:17px}.wp-list-table td .rank-math-column-display.rank-math-link-count .divider{height:10px;width:1px;background:rgba(0,0,0,0.35);position:relative;display:inline-block;margin-left:5px;margin-right:5px}.wp-list-table td .rank-math-column-display.seo-score{margin-bottom:8px}.wp-list-table td .rank-math-column-display.seo-score strong{display:inline-block;padding:5px 10px;border-radius:4px}.wp-list-table td .rank-math-column-display.seo-score.no-score strong{color:#616161;background:#dedede}.wp-list-table td .rank-math-column-display.seo-score.bad strong{color:#e12925;background:#fce5e2}.wp-list-table td .rank-math-column-display.seo-score.good strong{color:#bf890d;background:#fdf0c4}.wp-list-table td .rank-math-column-display.seo-score.great strong{color:#e3f4e3;background:#4ab147}.wp-list-table td .rank-math-column-display .is-pillar{vertical-align:top;margin-left:3px;margin-top:2px}.wp-list-table td .rank-math-column-value{display:none;padding:3px;border:1px solid #e5e5e5;background-color:#fff;box-shadow:inset 0 1px 2px rgba(0,0,0,0.07)}.wp-list-table td .rank-math-column-edit{display:none}.wp-list-table td.bulk-editing .rank-math-column-value,.wp-list-table td.bulk-editing label{display:block}.wp-list-table td.bulk-editing .rank-math-column-display{display:none}.wp-list-table td.dirty .rank-math-column-edit{display:block}
2
  * Plugin: Rank Math
3
  * URL: https://rankmath.com/wordpress/plugin/seo-suite/
4
  * Name: post-list.css
5
+ */.wp-list-table th>span:nth-child(2){display:none}.wp-list-table th.bulk-editing span:nth-child(1){display:none}.wp-list-table th.bulk-editing span:nth-child(2){display:inline-block}.wp-list-table th.sorted a{display:inline-block}.wp-list-table th#rank_math_seo_details span:first-child a{display:inline-block;padding-right:0}.wp-list-table th#rank_math_seo_details span:first-child a.dashicons{padding-left:0}.wp-list-table td.rank_math_seo_details label{display:none}.wp-list-table td .rank-math-column-display{display:block;margin-bottom:5px}.wp-list-table td .rank-math-column-display.rank-math-link-count span{opacity:0.7}.wp-list-table td .rank-math-column-display.rank-math-link-count .dashicons{margin:0 0 0 -2px;font-size:17px}.wp-list-table td .rank-math-column-display.rank-math-link-count .divider{height:10px;width:1px;background:rgba(0,0,0,0.35);position:relative;display:inline-block;margin-left:5px;margin-right:5px}.wp-list-table td .rank-math-column-display.seo-score{margin-bottom:8px}.wp-list-table td .rank-math-column-display.seo-score strong{display:inline-block;padding:5px 10px;border-radius:4px}.wp-list-table td .rank-math-column-display.seo-score.no-score strong{color:#616161;background:#dedede}.wp-list-table td .rank-math-column-display.seo-score.bad strong{color:#e12925;background:#fce5e2}.wp-list-table td .rank-math-column-display.seo-score.good strong{color:#bf890d;background:#fdf0c4}.wp-list-table td .rank-math-column-display.seo-score.great strong{color:#e3f4e3;background:#4ab147}.wp-list-table td .rank-math-column-display.seo-score.disabled strong{width:20px;height:20px;padding:0;border-radius:50%}.wp-list-table td .rank-math-column-display .is-pillar{vertical-align:top;margin-left:3px;margin-top:2px}.wp-list-table td .rank-math-column-value{display:none;padding:3px;border:1px solid #e5e5e5;background-color:#fff;box-shadow:inset 0 1px 2px rgba(0,0,0,0.07)}.wp-list-table td .rank-math-column-edit{display:none}.wp-list-table td.bulk-editing .rank-math-column-value,.wp-list-table td.bulk-editing label{display:block}.wp-list-table td.bulk-editing .rank-math-column-display{display:none}.wp-list-table td.dirty .rank-math-column-edit{display:block}
assets/admin/css/setup-wizard.css CHANGED
@@ -2,4 +2,4 @@
2
  * Plugin: Rank Math
3
  * URL: https://rankmath.com/wordpress/plugin/seo-suite/
4
  * Name: setup-wizard.css
5
- */.rank-math-wizard-body--requirements h2>.dashicons,.rank-math-wizard-body--ready .cmb-form>header .dashicons-yes{margin-right:5px;padding:4px;vertical-align:-3px;color:#fff;border-radius:50%;background:#58bb58}.rank-math-wizard{background:#f1f1f1}.rank-math-wizard :focus{outline:none;box-shadow:none}.rank-math-wizard a{text-decoration:none}.rank-math-wizard .notice-error{position:relative;margin-right:auto;margin-left:auto;background:#ffebee}.rank-math-wizard .text-center{text-align:center}.rank-math-wizard .wrapper{box-sizing:border-box;max-width:970px;margin:40px auto;padding:60px 40px 50px;border-radius:5px;background:#fff;box-shadow:0 4px 8px rgba(0,0,0,0.06)}.rank-math-wizard .cmb-form>header,.rank-math-wizard .cmb-form header.redirections-header{margin-bottom:30px;text-align:center}.rank-math-wizard .cmb-form>header h1,.rank-math-wizard .cmb-form header.redirections-header h1{font-size:30px;font-weight:700;margin:0}.rank-math-wizard .cmb-form>header p,.rank-math-wizard .cmb-form header.redirections-header p{font-size:15px;max-width:715px;margin:10px auto;color:#939596}.rank-math-wizard .cmb-form header.redirections-header{margin-bottom:0}.rank-math-wizard .cmb-form header.redirections-header h1{margin-top:.67em}.rank-math-wizard .cmb-form .cmb-type-file .cmb-th label,.rank-math-wizard .cmb-form .cmb-type-switch .cmb-th label,.rank-math-wizard .cmb-form .cmb-type-multicheck .cmb-th label,.rank-math-wizard .cmb-form .cmb-type-radio-inline .cmb-th label{cursor:default}.rank-math-wizard .cmb-form .cmb-type-file .cmb-multicheck-toggle,.rank-math-wizard .cmb-form .cmb-type-switch .cmb-multicheck-toggle,.rank-math-wizard .cmb-form .cmb-type-multicheck .cmb-multicheck-toggle,.rank-math-wizard .cmb-form .cmb-type-radio-inline .cmb-multicheck-toggle{cursor:pointer}.rank-math-wizard .cmb-form .cmb-td button{cursor:pointer}.rank-math-wizard .form-footer:not(.custom){width:calc(100% + 80px);margin:75px -40px -50px;border-radius:0 0 5px 5px;overflow:hidden}.rank-math-wizard .form-footer:not(.custom) .button{border-radius:25px}.rank-math-wizard .form-footer:not(.custom) .button-secondary{margin-right:10px}.rank-math-collapsible-trigger{letter-spacing:.5px}.rank-math-collapsible-trigger .dashicons{font-size:16px;display:inline}.rank-math-collapsible-trigger .dashicons:before{font-size:22px;vertical-align:-2px}.rank-math-collapsible-trigger .dashicons span{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;font-size:12px;vertical-align:3px;color:rgba(36,41,46,0.65)}.rank-math-collapsible-trigger .dashicons-arrow-up{display:none}.rank-math-collapsible-trigger.open .dashicons-arrow-up{display:inline}.rank-math-collapsible-trigger.open .dashicons-arrow-down{display:none}.rank-math-collapsible-content{display:none}.rank-math-collapsible-content.open{display:block}.return-to-dashboard{margin-bottom:50px;text-align:center}.return-to-dashboard i{line-height:46px;color:#0474ab}.return-to-dashboard a{line-height:44px;display:inline-block;padding:0 25px 0 20px;-webkit-transition:color 150ms ease,opacity 300ms cubic-bezier(0.694, 0, 0.335, 1) 150ms;transition:color 150ms ease,opacity 300ms cubic-bezier(0.694, 0, 0.335, 1) 150ms;text-align:center;text-decoration:none;color:rgba(36,41,46,0.65);border-radius:25px;background:#fff;-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,0.09),0 2px 2px rgba(0,0,0,0.12);box-shadow:inset 0 1px 0 rgba(0,0,0,0.09),0 2px 2px rgba(0,0,0,0.12)}.return-to-dashboard a:hover{color:#0073aa}@media screen and (prefers-reduced-motion: reduce){.return-to-dashboard{opacity:1 !important}}.cmb2-wrap .cmb-row.features-child{padding:25px 20px !important;border-bottom-color:#ebebeb;background:#f4f4f4}.responsive-video{position:relative;overflow:hidden;padding-top:56.25%}.responsive-video iframe{border:0;position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%}.cmb-row.cmb-multicheck-inline .cmb2-checkbox-list,.cmb-row.cmb-multicheck-inline .cmb2-checkbox-list li,.cmb-row.cmb-multicheck-inline.with-description .cmb2-metabox-description{display:inline-block;width:48%;vertical-align:top}.cmb-row.cmb-multicheck-inline .cmb2-checkbox-list{width:420px;max-width:100%}.cmb-row.cmb-multicheck-inline.with-description .cmb-td{width:100%}.cmb-row.cmb-multicheck-inline.with-description .cmb2-checkbox-list{padding-top:20px}.cmb-row.cmb-multicheck-inline.with-description .cmb2-metabox-description{font-size:15px;line-height:1.5;padding:0;color:#21262c}.rank-math-wizard .rank-math-ui .button{font-size:17px;line-height:50px;height:50px;padding:0 50px;border:0}.rank-math-wizard .rank-math-ui .button.button-small{border-radius:10px}.rank-math-wizard .rank-math-ui .button-secondary:not(.cmb-multicheck-toggle):not(.cmb2-upload-button):not(.custom){background:#fff;box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 1px 4px rgba(0,0,0,0.2)}.rank-math-wizard .rank-math-ui .button-primary{background:#069de3;box-shadow:0 2px 4px rgba(0,0,0,0.2)}@media screen and (max-width: 782px){.rank-math-wizard .rank-math-ui .button{font-size:15px;padding:0 20px}}.rank-math-wizard .rank-math-ui .cmb-type-multicheck .cmb-td p:first-of-type{margin:0}.rank-math-wizard .rank-math-ui .cmb-multicheck-toggle{padding:0;cursor:pointer;color:#008ec3;border:0;background:transparent;box-shadow:none}.rank-math-wizard .rank-math-ui .cmb-multicheck-toggle:active{-webkit-transform:none;transform:none;box-shadow:none}.wizard-navigation{display:-webkit-flex;display:flex;margin:50px auto;text-align:center;-webkit-justify-content:space-between;justify-content:space-between}.wizard-navigation a{font-size:12px;position:relative;display:block;text-transform:uppercase;color:#b2b4b6;-webkit-flex:1;flex:1}.wizard-navigation a:before{font-weight:600;display:block;padding-bottom:10px;content:attr(title);color:#b2b4b6}.wizard-navigation a:after{content:'';-webkit-transform:translate(-50%, 23px);transform:translate(-50%, 23px);background-color:#e5e5e5;position:absolute;top:15px;left:0;height:1px;width:100%}.wizard-navigation span{line-height:20px;position:relative;z-index:10;display:inline-block;border:1px solid #e5e5e5;border-radius:50%;background:#fff;height:20px;width:20px}.wizard-navigation .step-label:before{color:#069de3}.wizard-navigation .step-label:after{display:none}.wizard-navigation .step-label+a:after{width:162%;-webkit-transform:translate(-60%, 23px);transform:translate(-60%, 23px)}.wizard-navigation a.active span{margin-top:-2px;color:#fff;border:2px solid #fff;background:#069de3;box-shadow:0 0 0 1px #069de3}.wizard-navigation a.active:after{background:linear-gradient(to right, #58bb58 0%, #069de3 100%)}.wizard-navigation a.active:before{color:#069de3}.wizard-navigation a.done span{color:#fff;border-color:#58bb58;background-color:#58bb58}.wizard-navigation a.done:after{background-color:#58bb58}@-webkit-keyframes hvr-ripple-out{100%{opacity:0;top:-20px;right:-20px;bottom:-20px;left:-20px}}@-webkit-keyframes hvr-ripple-out{100%{opacity:0;top:-20px;right:-20px;bottom:-20px;left:-20px}}@keyframes hvr-ripple-out{100%{opacity:0;top:-20px;right:-20px;bottom:-20px;left:-20px}}.rank-math-wizard-body--requirements h2{font-size:20px}.rank-math-wizard-body--requirements h2>.dashicons-warning{background:#e8cb57}.rank-math-wizard-body--requirements .form-table{margin-top:50px;border-top:1px solid #ededed}.rank-math-wizard-body--requirements .form-table tr:nth-child(odd){background:#fafafa}.rank-math-wizard-body--requirements .form-table td,.rank-math-wizard-body--requirements .form-table th{padding:10px 20px;border-bottom:1px solid #ededed}.rank-math-wizard-body--requirements .form-table th{width:auto}.rank-math-wizard-body--requirements .form-table th .description{font-size:12px;font-weight:normal;font-style:normal;color:#939596}.rank-math-wizard-body--requirements .form-table td{vertical-align:top;color:#58bb58}.rank-math-wizard-body--requirements .form-table td:last-child{text-align:right}.rank-math-wizard-body--requirements .form-table td:last-child .dashicons{font-size:24px}.rank-math-wizard-body--requirements .form-table .check-no th{border-left:3px solid #ee6a5e}.rank-math-wizard-body--requirements .form-table .check-no td{color:#ee6a5e}.rank-math-wizard-body--requirements .checklist-ok,.rank-math-wizard-body--requirements .checklist-not-ok{margin-top:10px;color:#969696}.rank-math-wizard-body--requirements .checklist-not-ok{color:#ee6a5e}.rank-math-wizard-body--requirements .conflict-text{font-size:15px;font-weight:500;margin-top:50px;color:#ee6a5e}.rank-math-wizard-body--requirements .noconflict{color:#58bb58}.rank-math-wizard-body--requirements .wizard-conflicts{margin-top:10px}.rank-math-wizard-body--requirements .wizard-conflicts .import-info{font-size:12px;font-weight:normal;color:#777}.rank-math-wizard-body--requirements .wizard-conflicts .import-info:before{content:' - '}.rank-math-wizard-body--requirements .wizard-conflicts td{padding:8px 10px}.rank-math-wizard-body--requirements .wizard-conflicts td:first-child{width:20px;padding-right:0;color:#ee6a5e}.rank-math-wizard-body--requirements .wizard-conflicts td:first-child .dashicons-yes{color:#58bb58}.rank-math-wizard-body--requirements .wizard-conflicts td a.disabled{cursor:not-allowed}.rank-math-wizard-body--requirements .form-footer{margin:60px 0 25px}.rank-math-wizard-body--requirements .form-footer .button{font-size:24px;line-height:82px;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);border-radius:82px;height:auto;width:280px}.rank-math-wizard-body--requirements .form-footer .button i{line-height:80px}.rank-math-wizard-body--requirements .form-footer .button:before{content:'';-webkit-animation:hvr-ripple-out 1s linear infinite;border:#bcdbea solid 6px;border-radius:55px;position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.rank-math-wizard-body--requirements .rank-math-collapsible-trigger{margin-left:10px;padding:0 12px 0 5px;transition:color 150ms ease,opacity 300ms cubic-bezier(0.694, 0, 0.335, 1) 150ms;border-radius:44px;box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 2px 4px rgba(0,0,0,0.2)}.rank-math-wizard-body--requirements .rank-math-collapsible-trigger:hover{background:#fafafa}.rank-math-wizard-body--import .cmb-field-list{position:relative;overflow:hidden}.rank-math-wizard-body--import .cmb-field-list h3.import-label{display:inline-block;width:20%}.rank-math-wizard-body--import .cmb-field-list .cmb-type-group{float:right;width:80%}.rank-math-wizard-body--import .cmb-field-list .cmb-group-description{position:absolute;z-index:1;top:6px;left:20px}.rank-math-wizard-body--import .cmb-field-list .cmb-row{padding:0;margin-bottom:5px;border:none}.rank-math-wizard-body--import .cmb-field-list .cmb-row .cmbhandle{top:14px;right:20px;width:30px;height:30px;border-radius:50%;text-align:center;background-color:#059de2;color:#fff}.rank-math-wizard-body--import .cmb-field-list .cmb-row .cmbhandle:before{content:"\f343";padding:0;right:0;left:1px;top:5px;bottom:0}.rank-math-wizard-body--import .cmb-field-list .cmb-row.closed .inside{display:none}.rank-math-wizard-body--import .cmb-field-list .cmb-row.closed .cmbhandle{background-color:#fff;color:#a4a4a4;box-shadow:1px -1px 62px -13px rgba(0,0,0,0.14)}.rank-math-wizard-body--import .cmb-field-list .cmb-row.closed .cmbhandle:before{content:"\f347";left:0;top:6px}.rank-math-wizard-body--import .cmb-field-list .cmb-row h3{margin:0;background-color:#f1f1f1;padding:14px 20px 13px 50px;font-size:18px;cursor:pointer}.rank-math-wizard-body--import .cmb-field-list .cmb-row .cmb-td{width:100%}.rank-math-wizard-body--import .cmb-field-list .cmb-row .cmb-td>p{margin:0}.rank-math-wizard-body--import .cmb-field-list .cmb-row .cmb-td>p .cmb-multicheck-toggle{font-size:15px;color:#0474ab}.rank-math-wizard-body--import .cmb-field-list .cmb-row .inside{width:100%;margin:0;background-color:#f6f6f6;padding:30px 20px;overflow:visible}.rank-math-wizard-body--import .cmb-field-list .cmb-row .inside .cmb2-list{width:100%}.rank-math-wizard-body--import .cmb-field-list .cmb-row .inside .cmb2-list li{margin-bottom:9px}.rank-math-wizard-body--import .cmb-field-list .cmb-row .inside .cmb2-list li label{font-size:16px;color:#24292e}.rank-math-wizard-body--import .cmb-field-list .cmb-row .inside .cmb2-metabox-description{width:100%;color:#888;font-size:13px;font-style:italic;margin-top:20px}.rank-math-wizard-body--import .import-progress-area{display:none;margin:20px 0;background:#eee;width:80%;float:right}.rank-math-wizard-body--import .cmb2-id-import-from .cmb-th{width:auto}#import-progress-bar{display:none;width:80%;float:right;font-size:15px;color:#959798}#import-progress-bar #importProgress{margin-top:30px;margin-bottom:10px;background-color:#dddfe0;border-radius:50px}#import-progress-bar #importProgress #importBar{width:1%;height:8px;background-color:#069de3;border-radius:50px;transition:width 1s}#import-progress-bar .left{float:left}#import-progress-bar .left strong{color:#65676a}#import-progress-bar .right{float:right}.rank-math-wizard-body--yoursite .rank-math-wizard-tutorial{margin-bottom:30px}.rank-math-wizard-body--yoursite .rank-math-wizard-tutorial header{padding:12px 15px;background:#f0f0f0}.rank-math-wizard-body--yoursite .rank-math-wizard-tutorial header a{color:#069de3}.rank-math-wizard-body--yoursite .rank-math-tabs-navigation{padding:0 32px;border-bottom:1px solid #e5e5e5;background:#fbfbfb}.rank-math-wizard-body--yoursite .rank-math-tabs-navigation a{font-size:16px;font-weight:600;display:inline-block;padding:22px 16px 16px;color:#555}.rank-math-wizard-body--yoursite .rank-math-tabs-navigation a.active{color:#069de3;border-bottom:2px solid #069de3}.rank-math-wizard-body--yoursite .rank-math-tabs-navigation a .dashicons{margin-right:15px}.rank-math-wizard-body--yoursite .rank-math-tabs-content{padding:32px;background:#f4f4f4}.rank-math-wizard-body--yoursite .search-form:not(.media-toolbar-primary) label{display:block;margin-bottom:5px}.rank-math-wizard-body--yoursite .search-form:not(.media-toolbar-primary) input{font-size:1.3em;margin-right:15px;padding:0 8px 0 15px;height:51px;width:77.5%}.rank-math-wizard-body--yoursite .search-form:not(.media-toolbar-primary) button.button{width:20%;letter-spacing:.05em}.rank-math-wizard-body--searchconsole .cmb2-id-console-authorization-code a.button-secondary{line-height:1;padding:10px 0 5px;color:#008ec3;border-bottom:1px dotted;border-radius:0;background:transparent;box-shadow:none}.rank-math-wizard-body--searchconsole .cmb2-id-console-profile select{margin-top:0}.rank-math-wizard-body--optimization .rank-math-collapsible-trigger{display:block;margin-top:-14px;text-align:center;box-shadow:none !important}.rank-math-wizard-body--optimization .rank-math-collapsible-trigger span{background:#fff}.rank-math-wizard-body--optimization .rank-math-collapsible-content .cmb-row:not(.cmb-type-title):first-of-type{padding-top:25px}.rank-math-wizard-body--ready .cmb-form>header h1{font-size:20px}.rank-math-wizard-body--ready .wizard-usage-tracking{margin-top:35px;padding:25px 35px;background:#f5f5f5}.rank-math-wizard-body--ready .wizard-usage-tracking p{font-size:16px;margin-top:0}.rank-math-wizard-body--ready .wizard-next-steps{margin-top:60px}.rank-math-wizard-body--ready .wizard-next-steps>div{float:left;box-sizing:border-box;width:50%}.rank-math-wizard-body--ready .wizard-next-steps .learn-more{padding-left:35px}.rank-math-wizard-body--ready .wizard-next-steps .learn-more h2{margin-top:0}.rank-math-wizard-body--ready .wizard-next-steps .learn-more li{font-size:18px;line-height:1.5;margin-bottom:12px}.rank-math-wizard-body--ready .wizard-next-steps .learn-more a{color:#089ce6}.rank-math-wizard-body--ready .wizard-next-steps .learn-more .dashicons{font-size:24px;margin-top:2px;margin-right:13px;color:#bcbdbf}.rank-math-wizard-body--ready .score-100{margin-top:-20px;text-align:right}.rank-math-wizard-body--ready .score-100 img{max-width:250px}.rank-math-wizard-body--ready .rank-math-additional-options{text-align:center;margin-top:60px}.rank-math-wizard-body--ready .rank-math-additional-options h3{display:inline-block;color:#434343;font-size:17px;font-weight:500;margin:0}.rank-math-wizard-body--ready .rank-math-additional-options .rank-math-score-wrapper{margin-top:30px}.rank-math-wizard-body--ready .rank-math-additional-options .rank-math-score-wrapper .rank-math-score-image{margin-top:30px}.rank-math-wizard-body--ready .rank-math-additional-options .rank-math-score-wrapper .rank-math-score-image img{max-width:100%;cursor:pointer}.rank-math-wizard-body--ready .rank-math-additional-options .switch{position:relative;display:inline-block;cursor:pointer;width:70px;height:28px;border-radius:18px;margin-left:15px;margin-top:-10px}.rank-math-wizard-body--ready .rank-math-additional-options .switch-input{position:absolute;top:0;left:0;opacity:0}.rank-math-wizard-body--ready .rank-math-additional-options .switch-label{position:relative;display:block;height:inherit;font-size:16px;font-weight:bold;line-height:1;border-radius:inherit;border:2px solid #4a535b}.rank-math-wizard-body--ready .rank-math-additional-options .switch-label:before,.rank-math-wizard-body--ready .rank-math-additional-options .switch-label:after{position:absolute;top:50%;margin-top:-.5em;transition:inherit}.rank-math-wizard-body--ready .rank-math-additional-options .switch-label:before{content:attr(data-off);right:11px;color:#4a535b}.rank-math-wizard-body--ready .rank-math-additional-options .switch-label:after{content:attr(data-on);left:11px;color:#FFFFFF;opacity:0}.rank-math-wizard-body--ready .rank-math-additional-options .switch-handle{position:absolute;top:9px;left:10px;width:15px;height:15px;background:#6e7780;border-radius:100%}.rank-math-wizard-body--ready .rank-math-additional-options .switch-label,.rank-math-wizard-body--ready .rank-math-additional-options .switch-handle{transition:All 0.3s ease;-webkit-transition:All 0.3s ease;-moz-transition:All 0.3s ease;-o-transition:All 0.3s ease}.rank-math-wizard-body--ready .rank-math-additional-options .switch-input:checked ~ .switch-label{background:#069de3;border-color:#069de3}.rank-math-wizard-body--ready .rank-math-additional-options .switch-input:checked ~ .switch-label:before{opacity:0}.rank-math-wizard-body--ready .rank-math-additional-options .switch-input:checked ~ .switch-label:after{opacity:1}.rank-math-wizard-body--ready .rank-math-additional-options .switch-input:checked ~ .switch-handle{left:45px;background:#fff}.rank-math-wizard-body--register .wrapper{max-width:700px}.rank-math-wizard-body--register .notice{margin-bottom:30px;display:none}.rank-math-wizard-body--register .notice-error{display:block}.rank-math-wizard-body--register .notice.is-dismissible{display:none}.rank-math-wizard-body--register .rank-math-registration-notice{display:block;margin:30px auto;text-align:left;background:#fefcee}.cmb2-id-accept-terms .cmb-td label{display:inline-block;width:80%}.cmb2-id-rank-math-usage-tracking .cmb-th{font-weight:normal;float:right;width:95% !important;max-width:none !important;color:#8c8c8c}.cmb2-id-rank-math-usage-tracking .cmb-th label{padding-top:0 !important;padding-right:0 !important}.cmb2-id-rank-math-usage-tracking .cmb-td{width:5% !important}@media screen and (max-width: 905px){.rank-math-wizard #cmb2-metabox-rank-math-wizard .cmb2-id-console-authorization-code .button-primary,.rank-math-wizard #cmb2-metabox-rank-math-wizard .cmb2-id-console-profile .button-primary{display:block;margin-top:10px;margin-left:0}.rank-math-wizard .cmb-row.cmb-multicheck-inline.with-description .cmb2-metabox-description{width:100%;margin-top:20px}}@media screen and (max-width: 782px){.rank-math-wizard .wizard-navigation a:before{font-size:12px}.rank-math-wizard .cmb2-wrap .cmb-row input[type=checkbox]:checked:before{font-size:30px}.rank-math-wizard #rank-math-compatibility-collapsible .form-table th,.rank-math-wizard #rank-math-compatibility-collapsible .form-table td{display:table-cell}}@media screen and (max-width: 782px) and (max-width: 640px){.rank-math-wizard .logo img{width:190px}.rank-math-wizard .wrapper{padding:30px 15px 35px}.rank-math-wizard .form-footer{margin-top:15px}.rank-math-wizard .cmb2-wrap .cmb-row .regular-text,.rank-math-wizard #cmb2-metabox-rank-math-wizard select{width:100%;max-width:100%}.rank-math-wizard .form-footer:not(.custom){text-align:center}}@media screen and (max-width: 782px) and (max-width: 595px){.rank-math-wizard .wizard-navigation{margin:25px auto 50px}.rank-math-wizard .wizard-navigation a:before{display:none}.rank-math-wizard .wizard-navigation a:first-child:before{position:relative;z-index:1;display:block;margin-top:-7px;background:#fff}.rank-math-wizard .wizard-navigation a:after{top:-12px}.rank-math-wizard.rank-math-wizard .cmb-form>header h1{font-size:24px}.rank-math-wizard.rank-math-wizard .cmb-form>header p{margin-top:10px}.rank-math-wizard.rank-math-wizard-body--ready .wizard-usage-tracking{padding:15px}.rank-math-wizard.rank-math-wizard-body--ready .wizard-share{margin-top:25px}.rank-math-wizard.rank-math-wizard-body--ready .wizard-next-steps{margin:25px 0 0}.rank-math-wizard.rank-math-wizard-body--ready .wizard-next-steps>div{width:100%;padding:0 0 25px}}body.rtl.rank-math-wizard-body--requirements .rank-math-collapsible-trigger{display:inline-block;margin-right:10px;margin-left:0;padding:0 5px 0 12px}body.rtl.rank-math-wizard-body--requirements h2>.dashicons{margin-right:0;margin-left:5px}body.rtl.rank-math-wizard-body--requirements .form-table td:last-child{text-align:left}body.rtl.rank-math-wizard-body--requirements .form-footer .button .dashicons-arrow-right-alt2:before{content:'\f341'}body.rtl .wizard-navigation .step-label+a:after{-webkit-transform:translate(20%, 23px);transform:translate(20%, 23px)}body.rtl .wizard-navigation a:after{-webkit-transform:translate(50%, 23px);transform:translate(50%, 23px)}body.rtl .return-to-dashboard a .dashicons-arrow-left-alt2:before{content:'\f345'}body.rtl.rank-math-wizard .form-footer:not(.custom) .button-secondary{margin-right:0;margin-left:10px}body.rtl.rank-math-wizard-body--ready .cmb-form>header .dashicons-yes{margin-right:0;margin-left:5px}body.rtl.rank-math-wizard-body--ready .wizard-share{margin-right:10px;margin-left:0}body.rtl.rank-math-wizard-body--ready .wizard-share a{display:inline-block;margin-right:5px;margin-left:0;padding-right:15px;padding-left:20px}body.rtl.rank-math-wizard-body--ready .wizard-share .dashicons{margin-right:0 !important;margin-left:5px !important}body.rtl.rank-math-wizard-body--ready .wizard-next-steps>div{float:right}body.rtl.rank-math-wizard-body--ready .wizard-next-steps .learn-more{padding-right:35px;padding-left:0}body.rtl.rank-math-wizard-body--ready .wizard-next-steps .learn-more .dashicons{margin-right:0;margin-left:13px}body.rtl.rank-math-wizard-body--ready .rank-math-score-wrapper .switch{margin-left:0;margin-right:15px}
2
  * Plugin: Rank Math
3
  * URL: https://rankmath.com/wordpress/plugin/seo-suite/
4
  * Name: setup-wizard.css
5
+ */.rank-math-wizard-body--requirements h2>.dashicons,.rank-math-wizard-body--ready .cmb-form>header .dashicons-yes{margin-right:5px;padding:4px;vertical-align:-3px;color:#fff;border-radius:50%;background:#58bb58}.rank-math-wizard{background:#f1f1f1}.rank-math-wizard :focus{outline:none;box-shadow:none}.rank-math-wizard a{text-decoration:none}.rank-math-wizard .notice-error{position:relative;margin-right:auto;margin-left:auto;background:#ffebee}.rank-math-wizard .text-center{text-align:center}.rank-math-wizard .wrapper{box-sizing:border-box;max-width:970px;margin:40px auto;padding:60px 40px 50px;border-radius:5px;background:#fff;box-shadow:0 4px 8px rgba(0,0,0,0.06)}.rank-math-wizard .cmb-form>header,.rank-math-wizard .cmb-form header.redirections-header{margin-bottom:30px;text-align:center}.rank-math-wizard .cmb-form>header h1,.rank-math-wizard .cmb-form header.redirections-header h1{font-size:30px;font-weight:700;margin:0}.rank-math-wizard .cmb-form>header p,.rank-math-wizard .cmb-form header.redirections-header p{font-size:15px;max-width:715px;margin:10px auto;color:#939596}.rank-math-wizard .cmb-form header.redirections-header{margin-bottom:0}.rank-math-wizard .cmb-form header.redirections-header h1{margin-top:.67em}.rank-math-wizard .cmb-form .cmb-type-file .cmb-th label,.rank-math-wizard .cmb-form .cmb-type-switch .cmb-th label,.rank-math-wizard .cmb-form .cmb-type-multicheck .cmb-th label,.rank-math-wizard .cmb-form .cmb-type-radio-inline .cmb-th label{cursor:default}.rank-math-wizard .cmb-form .cmb-type-file .cmb-multicheck-toggle,.rank-math-wizard .cmb-form .cmb-type-switch .cmb-multicheck-toggle,.rank-math-wizard .cmb-form .cmb-type-multicheck .cmb-multicheck-toggle,.rank-math-wizard .cmb-form .cmb-type-radio-inline .cmb-multicheck-toggle{cursor:pointer}.rank-math-wizard .cmb-form .cmb-td button{cursor:pointer}.rank-math-wizard .form-footer:not(.custom){width:calc(100% + 80px);margin:75px -40px -50px;border-radius:0 0 5px 5px;overflow:hidden}.rank-math-wizard .form-footer:not(.custom) .button{border-radius:25px}.rank-math-wizard .form-footer:not(.custom) .button-secondary{margin-right:10px}.rank-math-collapsible-trigger{letter-spacing:.5px}.rank-math-collapsible-trigger .dashicons{font-size:16px;display:inline}.rank-math-collapsible-trigger .dashicons:before{font-size:22px;vertical-align:-2px}.rank-math-collapsible-trigger .dashicons span{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;font-size:12px;vertical-align:3px;color:rgba(36,41,46,0.65)}.rank-math-collapsible-trigger .dashicons-arrow-up{display:none}.rank-math-collapsible-trigger.open .dashicons-arrow-up{display:inline}.rank-math-collapsible-trigger.open .dashicons-arrow-down{display:none}.rank-math-collapsible-content{display:none}.rank-math-collapsible-content.open{display:block}.return-to-dashboard{margin-bottom:50px;text-align:center}.return-to-dashboard i{line-height:46px;color:#0474ab}.return-to-dashboard a{line-height:44px;display:inline-block;padding:0 25px 0 20px;-webkit-transition:color 150ms ease,opacity 300ms cubic-bezier(0.694, 0, 0.335, 1) 150ms;transition:color 150ms ease,opacity 300ms cubic-bezier(0.694, 0, 0.335, 1) 150ms;text-align:center;text-decoration:none;color:rgba(36,41,46,0.65);border-radius:25px;background:#fff;-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,0.09),0 2px 2px rgba(0,0,0,0.12);box-shadow:inset 0 1px 0 rgba(0,0,0,0.09),0 2px 2px rgba(0,0,0,0.12)}.return-to-dashboard a:hover{color:#0073aa}@media screen and (prefers-reduced-motion: reduce){.return-to-dashboard{opacity:1 !important}}.cmb2-wrap .cmb-row.features-child{padding:25px 20px !important;border-bottom-color:#ebebeb;background:#f4f4f4}.responsive-video{position:relative;overflow:hidden;padding-top:56.25%}.responsive-video iframe{border:0;position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%}.cmb-row.cmb-multicheck-inline .cmb2-checkbox-list,.cmb-row.cmb-multicheck-inline .cmb2-checkbox-list li,.cmb-row.cmb-multicheck-inline.with-description .cmb2-metabox-description{display:inline-block;width:48%;vertical-align:top}.cmb-row.cmb-multicheck-inline .cmb2-checkbox-list{width:420px;max-width:100%}.cmb-row.cmb-multicheck-inline.with-description .cmb-td{width:100%}.cmb-row.cmb-multicheck-inline.with-description .cmb2-checkbox-list{padding-top:20px}.cmb-row.cmb-multicheck-inline.with-description .cmb2-metabox-description{font-size:15px;line-height:1.5;padding:0;color:#21262c}.rank-math-wizard .rank-math-ui .button{font-size:17px;line-height:50px;height:50px;padding:0 50px;border:0}.rank-math-wizard .rank-math-ui .button.button-small{border-radius:10px}.rank-math-wizard .rank-math-ui .button-secondary:not(.cmb-multicheck-toggle):not(.cmb2-upload-button):not(.custom){background:#fff;box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 1px 4px rgba(0,0,0,0.2)}.rank-math-wizard .rank-math-ui .button-primary{background:#069de3;box-shadow:0 2px 4px rgba(0,0,0,0.2)}@media screen and (max-width: 782px){.rank-math-wizard .rank-math-ui .button{font-size:15px;padding:0 20px}}.rank-math-wizard .rank-math-ui .cmb-type-multicheck .cmb-td p:first-of-type{margin:0}.rank-math-wizard .rank-math-ui .cmb-multicheck-toggle{padding:0;cursor:pointer;color:#008ec3;border:0;background:transparent;box-shadow:none}.rank-math-wizard .rank-math-ui .cmb-multicheck-toggle:active{-webkit-transform:none;transform:none;box-shadow:none}.wizard-navigation{display:-webkit-flex;display:flex;margin:50px auto;text-align:center;-webkit-justify-content:space-between;justify-content:space-between}.wizard-navigation a{font-size:12px;position:relative;display:block;text-transform:uppercase;color:#b2b4b6;-webkit-flex:1;flex:1}.wizard-navigation a:before{font-weight:600;display:block;padding-bottom:10px;content:attr(title);color:#b2b4b6}.wizard-navigation a:after{content:'';-webkit-transform:translate(-50%, 23px);transform:translate(-50%, 23px);background-color:#e5e5e5;position:absolute;top:15px;left:0;height:1px;width:100%}.wizard-navigation span{line-height:20px;position:relative;z-index:10;display:inline-block;border:1px solid #e5e5e5;border-radius:50%;background:#fff;height:20px;width:20px}.wizard-navigation .step-label:before{color:#069de3}.wizard-navigation .step-label:after{display:none}.wizard-navigation .step-label+a:after{width:162%;-webkit-transform:translate(-60%, 23px);transform:translate(-60%, 23px)}.wizard-navigation a.active span{margin-top:-2px;color:#fff;border:2px solid #fff;background:#069de3;box-shadow:0 0 0 1px #069de3}.wizard-navigation a.active:after{background:linear-gradient(to right, #58bb58 0%, #069de3 100%)}.wizard-navigation a.active:before{color:#069de3}.wizard-navigation a.done span{color:#fff;border-color:#58bb58;background-color:#58bb58}.wizard-navigation a.done:after{background-color:#58bb58}@-webkit-keyframes hvr-ripple-out{100%{opacity:0;top:-20px;right:-20px;bottom:-20px;left:-20px}}@-webkit-keyframes hvr-ripple-out{100%{opacity:0;top:-20px;right:-20px;bottom:-20px;left:-20px}}@keyframes hvr-ripple-out{100%{opacity:0;top:-20px;right:-20px;bottom:-20px;left:-20px}}.rank-math-wizard-body--requirements h2{font-size:20px}.rank-math-wizard-body--requirements h2>.dashicons-warning{background:#e8cb57}.rank-math-wizard-body--requirements .form-table{margin-top:50px;border-top:1px solid #ededed}.rank-math-wizard-body--requirements .form-table tr:nth-child(odd){background:#fafafa}.rank-math-wizard-body--requirements .form-table td,.rank-math-wizard-body--requirements .form-table th{padding:10px 20px;border-bottom:1px solid #ededed}.rank-math-wizard-body--requirements .form-table th{width:auto}.rank-math-wizard-body--requirements .form-table th .description{font-size:12px;font-weight:normal;font-style:normal;color:#939596}.rank-math-wizard-body--requirements .form-table td{vertical-align:top;color:#58bb58}.rank-math-wizard-body--requirements .form-table td:last-child{text-align:right}.rank-math-wizard-body--requirements .form-table td:last-child .dashicons{font-size:24px}.rank-math-wizard-body--requirements .form-table .check-no th{border-left:3px solid #ee6a5e}.rank-math-wizard-body--requirements .form-table .check-no td{color:#ee6a5e}.rank-math-wizard-body--requirements .checklist-ok,.rank-math-wizard-body--requirements .checklist-not-ok{margin-top:10px;color:#969696}.rank-math-wizard-body--requirements .checklist-not-ok{color:#ee6a5e}.rank-math-wizard-body--requirements .conflict-text{font-size:15px;font-weight:500;margin-top:50px;color:#ee6a5e}.rank-math-wizard-body--requirements .noconflict{color:#58bb58}.rank-math-wizard-body--requirements .wizard-conflicts{margin-top:10px}.rank-math-wizard-body--requirements .wizard-conflicts .import-info{font-size:12px;font-weight:normal;color:#777}.rank-math-wizard-body--requirements .wizard-conflicts .import-info:before{content:' - '}.rank-math-wizard-body--requirements .wizard-conflicts td{padding:8px 10px}.rank-math-wizard-body--requirements .wizard-conflicts td:first-child{width:20px;padding-right:0;color:#ee6a5e}.rank-math-wizard-body--requirements .wizard-conflicts td:first-child .dashicons-yes{color:#58bb58}.rank-math-wizard-body--requirements .wizard-conflicts td a.disabled{cursor:not-allowed}.rank-math-wizard-body--requirements .form-footer{margin:60px 0 25px}.rank-math-wizard-body--requirements .form-footer .button{font-size:24px;line-height:82px;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);border-radius:82px;height:auto;width:280px}.rank-math-wizard-body--requirements .form-footer .button i{line-height:80px}.rank-math-wizard-body--requirements .form-footer .button:before{content:'';-webkit-animation:hvr-ripple-out 1s linear infinite;border:#bcdbea solid 6px;border-radius:55px;position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.rank-math-wizard-body--requirements .rank-math-collapsible-trigger{margin-left:10px;padding:0 12px 0 5px;transition:color 150ms ease,opacity 300ms cubic-bezier(0.694, 0, 0.335, 1) 150ms;border-radius:44px;box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 2px 4px rgba(0,0,0,0.2)}.rank-math-wizard-body--requirements .rank-math-collapsible-trigger:hover{background:#fafafa}.rank-math-wizard-body--import .cmb-field-list{position:relative;overflow:hidden}.rank-math-wizard-body--import .cmb-field-list h3.import-label{display:inline-block;width:20%}.rank-math-wizard-body--import .cmb-field-list .cmb-type-group{float:right;width:80%}.rank-math-wizard-body--import .cmb-field-list .cmb-group-description{position:absolute;z-index:1;top:6px;left:20px}.rank-math-wizard-body--import .cmb-field-list .cmb-row{padding:0;margin-bottom:5px;border:none}.rank-math-wizard-body--import .cmb-field-list .cmb-row .cmbhandle{top:14px;right:20px;width:30px;height:30px;border-radius:50%;text-align:center;background-color:#059de2;color:#fff}.rank-math-wizard-body--import .cmb-field-list .cmb-row .cmbhandle:before{content:"\f343";padding:0;right:0;left:1px;top:5px;bottom:0}.rank-math-wizard-body--import .cmb-field-list .cmb-row.closed .inside{display:none}.rank-math-wizard-body--import .cmb-field-list .cmb-row.closed .cmbhandle{background-color:#fff;color:#a4a4a4;box-shadow:1px -1px 62px -13px rgba(0,0,0,0.14)}.rank-math-wizard-body--import .cmb-field-list .cmb-row.closed .cmbhandle:before{content:"\f347";left:0;top:6px}.rank-math-wizard-body--import .cmb-field-list .cmb-row h3{margin:0;background-color:#f1f1f1;padding:14px 20px 13px 50px;font-size:18px;cursor:pointer}.rank-math-wizard-body--import .cmb-field-list .cmb-row .cmb-td{width:100%}.rank-math-wizard-body--import .cmb-field-list .cmb-row .cmb-td>p{margin:0}.rank-math-wizard-body--import .cmb-field-list .cmb-row .cmb-td>p .cmb-multicheck-toggle{font-size:15px;color:#0474ab}.rank-math-wizard-body--import .cmb-field-list .cmb-row .inside{width:100%;margin:0;background-color:#f6f6f6;padding:30px 20px;overflow:visible}.rank-math-wizard-body--import .cmb-field-list .cmb-row .inside .cmb2-list{width:100%}.rank-math-wizard-body--import .cmb-field-list .cmb-row .inside .cmb2-list li{margin-bottom:9px}.rank-math-wizard-body--import .cmb-field-list .cmb-row .inside .cmb2-list li label{font-size:16px;color:#24292e}.rank-math-wizard-body--import .cmb-field-list .cmb-row .inside .cmb2-metabox-description{width:100%;color:#888;font-size:13px;font-style:italic;margin-top:20px}.rank-math-wizard-body--import .import-progress-area{display:none;margin:20px 0;background:#eee;width:80%;float:right}.rank-math-wizard-body--import .cmb2-id-import-from .cmb-th{width:auto}#import-progress-bar{display:none;width:80%;float:right;font-size:15px;color:#959798}#import-progress-bar #importProgress{margin-top:30px;margin-bottom:10px;background-color:#dddfe0;border-radius:50px}#import-progress-bar #importProgress #importBar{width:1%;height:8px;background-color:#069de3;border-radius:50px;transition:width 1s}#import-progress-bar .left{float:left}#import-progress-bar .left strong{color:#65676a}#import-progress-bar .right{float:right}.rank-math-wizard-body--yoursite .rank-math-wizard-tutorial{margin-bottom:30px}.rank-math-wizard-body--yoursite .rank-math-wizard-tutorial header{padding:12px 15px;background:#f0f0f0}.rank-math-wizard-body--yoursite .rank-math-wizard-tutorial header a{color:#069de3}.rank-math-wizard-body--yoursite .rank-math-tabs-navigation{padding:0 32px;border-bottom:1px solid #e5e5e5;background:#fbfbfb}.rank-math-wizard-body--yoursite .rank-math-tabs-navigation a{font-size:16px;font-weight:600;display:inline-block;padding:22px 16px 16px;color:#555}.rank-math-wizard-body--yoursite .rank-math-tabs-navigation a.active{color:#069de3;border-bottom:2px solid #069de3}.rank-math-wizard-body--yoursite .rank-math-tabs-navigation a .dashicons{margin-right:15px}.rank-math-wizard-body--yoursite .rank-math-tabs-content{padding:32px;background:#f4f4f4}.rank-math-wizard-body--yoursite .search-form:not(.media-toolbar-primary) label{display:block;margin-bottom:5px}.rank-math-wizard-body--yoursite .search-form:not(.media-toolbar-primary) input{font-size:1.3em;margin-right:15px;padding:0 8px 0 15px;height:51px;width:77.5%}.rank-math-wizard-body--yoursite .search-form:not(.media-toolbar-primary) button.button{width:20%;letter-spacing:.05em}.rank-math-wizard-body--searchconsole .cmb2-id-console-authorization-code a.button-secondary{line-height:1;padding:10px 0 5px;color:#008ec3;border-bottom:1px dotted;border-radius:0;background:transparent;box-shadow:none}.rank-math-wizard-body--searchconsole .cmb2-id-console-profile select{margin-top:0}.rank-math-wizard-body--optimization .rank-math-collapsible-trigger{display:block;margin-top:-14px;text-align:center;box-shadow:none !important}.rank-math-wizard-body--optimization .rank-math-collapsible-trigger span{background:#fff}.rank-math-wizard-body--optimization .rank-math-collapsible-content .cmb-row:not(.cmb-type-title):first-of-type{padding-top:25px}.rank-math-wizard-body--ready .cmb-form>header h1{font-size:20px}.rank-math-wizard-body--ready .wizard-usage-tracking{margin-top:35px;padding:25px 35px;background:#f5f5f5}.rank-math-wizard-body--ready .wizard-usage-tracking p{font-size:16px;margin-top:0}.rank-math-wizard-body--ready .wizard-next-steps{margin-top:60px}.rank-math-wizard-body--ready .wizard-next-steps>div{float:left;box-sizing:border-box;width:50%}.rank-math-wizard-body--ready .wizard-next-steps .learn-more{padding-left:35px}.rank-math-wizard-body--ready .wizard-next-steps .learn-more h2{margin-top:0}.rank-math-wizard-body--ready .wizard-next-steps .learn-more li{font-size:18px;line-height:1.5;margin-bottom:12px}.rank-math-wizard-body--ready .wizard-next-steps .learn-more a{color:#089ce6}.rank-math-wizard-body--ready .wizard-next-steps .learn-more .dashicons{font-size:24px;margin-top:2px;margin-right:13px;color:#bcbdbf}.rank-math-wizard-body--ready .score-100{margin-top:-20px;text-align:right}.rank-math-wizard-body--ready .score-100 img{max-width:250px}.rank-math-wizard-body--ready .rank-math-additional-options{text-align:center;margin-top:60px}.rank-math-wizard-body--ready .rank-math-additional-options h3{display:inline-block;color:#434343;font-size:17px;font-weight:500;margin:0}.rank-math-wizard-body--ready .rank-math-additional-options .rank-math-score-wrapper{margin-top:30px}.rank-math-wizard-body--ready .rank-math-additional-options .rank-math-score-wrapper .rank-math-score-image{margin-top:30px}.rank-math-wizard-body--ready .rank-math-additional-options .rank-math-score-wrapper .rank-math-score-image img{max-width:100%;cursor:pointer}.rank-math-wizard-body--ready .rank-math-additional-options .switch{position:relative;display:inline-block;cursor:pointer;width:70px;height:28px;border-radius:18px;margin-left:15px;margin-top:-10px}.rank-math-wizard-body--ready .rank-math-additional-options .switch-input{position:absolute;top:0;left:0;opacity:0}.rank-math-wizard-body--ready .rank-math-additional-options .switch-label{position:relative;display:block;height:inherit;font-size:16px;font-weight:bold;line-height:1;border-radius:inherit;border:2px solid #4a535b}.rank-math-wizard-body--ready .rank-math-additional-options .switch-label:before,.rank-math-wizard-body--ready .rank-math-additional-options .switch-label:after{position:absolute;top:50%;margin-top:-.5em;transition:inherit}.rank-math-wizard-body--ready .rank-math-additional-options .switch-label:before{content:attr(data-off);right:11px;color:#4a535b}.rank-math-wizard-body--ready .rank-math-additional-options .switch-label:after{content:attr(data-on);left:11px;color:#FFFFFF;opacity:0}.rank-math-wizard-body--ready .rank-math-additional-options .switch-handle{position:absolute;top:9px;left:10px;width:15px;height:15px;background:#6e7780;border-radius:100%}.rank-math-wizard-body--ready .rank-math-additional-options .switch-label,.rank-math-wizard-body--ready .rank-math-additional-options .switch-handle{transition:All 0.3s ease;-webkit-transition:All 0.3s ease;-moz-transition:All 0.3s ease;-o-transition:All 0.3s ease}.rank-math-wizard-body--ready .rank-math-additional-options .switch-input:checked ~ .switch-label{background:#069de3;border-color:#069de3}.rank-math-wizard-body--ready .rank-math-additional-options .switch-input:checked ~ .switch-label:before{opacity:0}.rank-math-wizard-body--ready .rank-math-additional-options .switch-input:checked ~ .switch-label:after{opacity:1}.rank-math-wizard-body--ready .rank-math-additional-options .switch-input:checked ~ .switch-handle{left:45px;background:#fff}.rank-math-wizard-body--register .wrapper{max-width:700px}.rank-math-wizard-body--register .wrapper .cmb-row input.invalid+label{display:block !important}.rank-math-wizard-body--register .notice{margin-bottom:30px;display:none}.rank-math-wizard-body--register .notice-error{display:block}.rank-math-wizard-body--register .notice.is-dismissible{display:none}.rank-math-wizard-body--register .rank-math-registration-notice{display:block;margin:30px auto;text-align:left;background:#fefcee}.cmb2-id-accept-terms .cmb-td label{display:inline-block;width:80%}.cmb2-id-rank-math-usage-tracking .cmb-th{font-weight:normal;float:right;width:95% !important;max-width:none !important;color:#8c8c8c}.cmb2-id-rank-math-usage-tracking .cmb-th label{padding-top:0 !important;padding-right:0 !important}.cmb2-id-rank-math-usage-tracking .cmb-td{width:5% !important}@media screen and (max-width: 905px){.rank-math-wizard #cmb2-metabox-rank-math-wizard .cmb2-id-console-authorization-code .button-primary,.rank-math-wizard #cmb2-metabox-rank-math-wizard .cmb2-id-console-profile .button-primary{display:block;margin-top:10px;margin-left:0}.rank-math-wizard .cmb-row.cmb-multicheck-inline.with-description .cmb2-metabox-description{width:100%;margin-top:20px}}@media screen and (max-width: 782px){.rank-math-wizard .wizard-navigation a:before{font-size:12px}.rank-math-wizard .cmb2-wrap .cmb-row input[type=checkbox]:checked:before{font-size:30px}.rank-math-wizard #rank-math-compatibility-collapsible .form-table th,.rank-math-wizard #rank-math-compatibility-collapsible .form-table td{display:table-cell}}@media screen and (max-width: 782px) and (max-width: 640px){.rank-math-wizard .logo img{width:190px}.rank-math-wizard .wrapper{padding:30px 15px 35px}.rank-math-wizard .form-footer{margin-top:15px}.rank-math-wizard .cmb2-wrap .cmb-row .regular-text,.rank-math-wizard #cmb2-metabox-rank-math-wizard select{width:100%;max-width:100%}.rank-math-wizard .form-footer:not(.custom){text-align:center}}@media screen and (max-width: 782px) and (max-width: 595px){.rank-math-wizard .wizard-navigation{margin:25px auto 50px}.rank-math-wizard .wizard-navigation a:before{display:none}.rank-math-wizard .wizard-navigation a:first-child:before{position:relative;z-index:1;display:block;margin-top:-7px;background:#fff}.rank-math-wizard .wizard-navigation a:after{top:-12px}.rank-math-wizard.rank-math-wizard .cmb-form>header h1{font-size:24px}.rank-math-wizard.rank-math-wizard .cmb-form>header p{margin-top:10px}.rank-math-wizard.rank-math-wizard-body--ready .wizard-usage-tracking{padding:15px}.rank-math-wizard.rank-math-wizard-body--ready .wizard-share{margin-top:25px}.rank-math-wizard.rank-math-wizard-body--ready .wizard-next-steps{margin:25px 0 0}.rank-math-wizard.rank-math-wizard-body--ready .wizard-next-steps>div{width:100%;padding:0 0 25px}}body.rtl.rank-math-wizard-body--requirements .rank-math-collapsible-trigger{display:inline-block;margin-right:10px;margin-left:0;padding:0 5px 0 12px}body.rtl.rank-math-wizard-body--requirements h2>.dashicons{margin-right:0;margin-left:5px}body.rtl.rank-math-wizard-body--requirements .form-table td:last-child{text-align:left}body.rtl.rank-math-wizard-body--requirements .form-footer .button .dashicons-arrow-right-alt2:before{content:'\f341'}body.rtl .wizard-navigation .step-label+a:after{-webkit-transform:translate(20%, 23px);transform:translate(20%, 23px)}body.rtl .wizard-navigation a:after{-webkit-transform:translate(50%, 23px);transform:translate(50%, 23px)}body.rtl .return-to-dashboard a .dashicons-arrow-left-alt2:before{content:'\f345'}body.rtl.rank-math-wizard .form-footer:not(.custom) .button-secondary{margin-right:0;margin-left:10px}body.rtl.rank-math-wizard-body--ready .cmb-form>header .dashicons-yes{margin-right:0;margin-left:5px}body.rtl.rank-math-wizard-body--ready .wizard-share{margin-right:10px;margin-left:0}body.rtl.rank-math-wizard-body--ready .wizard-share a{display:inline-block;margin-right:5px;margin-left:0;padding-right:15px;padding-left:20px}body.rtl.rank-math-wizard-body--ready .wizard-share .dashicons{margin-right:0 !important;margin-left:5px !important}body.rtl.rank-math-wizard-body--ready .wizard-next-steps>div{float:right}body.rtl.rank-math-wizard-body--ready .wizard-next-steps .learn-more{padding-right:35px;padding-left:0}body.rtl.rank-math-wizard-body--ready .wizard-next-steps .learn-more .dashicons{margin-right:0;margin-left:13px}body.rtl.rank-math-wizard-body--ready .rank-math-score-wrapper .switch{margin-left:0;margin-right:15px}
assets/admin/js/assessor.js CHANGED
Binary file
assets/admin/js/common.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function a(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.m=e,a.c=t,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)a.d(n,r,function(t){return e[t]}.bind(null,r));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=204)}({204:function(e,t,a){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var r;r=jQuery,String.prototype.format||(String.prototype.format=function(){var e=arguments;return this.replace(/{(\d+)}/g,function(t,a){return void 0!==e[a]?e[a]:t})}),String.prototype.trimRight=function(e){return void 0===e&&(e="s"),this.replace(RegExp("["+e+"]+$"),"")},r(function(){window.rankMathAdmin={init:function(){this.misc(),this.tabs(),this.searchConsole(),this.dependencyManager()},misc:function(){void 0!==jQuery.fn.select2&&r("[data-s2]").select2(),r(".cmb-group-text-only,.cmb-group-fix-me").each(function(){var e=r(this),t=e.find(".cmb-repeatable-group"),a=t.find("> .cmb-row:eq(0) > .cmb-th");e.prepend('<div class="cmb-th"><label>'+a.find("h2").text()+"</label></div>"),t.find(".cmb-add-row").append('<span class="cmb2-metabox-description">'+a.find("p").text()+"</span>"),a.parent().remove()}),r(".rank-math-collapsible-trigger").on("click",function(e){e.preventDefault();var t=r(this),a=r("#"+t.data("target"));t.toggleClass("open"),a.toggleClass("open")})},searchConsole:function(){var e=this,t=null,a=r("#console_authorization_code"),i=r("#gsc-dp-info"),o=r("#console_profile"),c=a.parent(),s=o.parent(),l=s.find(".button-primary"),d=r("body").hasClass("rank-math-wizard-body--searchconsole")?r("> p:first-of-type",".cmb-form"):r("h1",".rank-math-wrap-settings");a.after(c.find(".button")),o.after(s.find(".button")),o.on("change",function(){null===o.val()||o.val().indexOf("sc-domain:")?i.addClass("hidden"):i.removeClass("hidden")}).change(),t=l.prev(),a.data("authorized")&&a.hide(),c.on("click",".button-secondary",function(e){e.preventDefault(),window.open(this.href,"","width=800, height=600")}),c.on("click",".button-primary",function(i){i.preventDefault();var o=r(this);o.prop("disabled",!0),a.data("authorized")?e.ajax("search_console_deauthentication").always(function(){o.prop("disabled",!1)}).done(function(){a.val(""),r("#submit-cmb").trigger("click"),"object"===("undefined"==typeof rankMathSetupWizard?"undefined":n(rankMathSetupWizard))&&(a.show(),a.data("authorized",!1),c.find(".button-secondary").show(),o.html("Authorize"),t.prop("disabled",!0),l.prop("disabled",!0))}):(a.addClass("input-loading"),e.ajax("search_console_authentication",{code:a.val()}).always(function(){o.prop("disabled",!1),a.removeClass("input-loading")}).done(function(n){n&&!n.success&&e.addNotice(n.error,"error",d),n&&"fail"===n.status&&e.addNotice(n.body.error_description,"error",d),n&&"success"===n.status&&(a.hide(),a.data("authorized",!0),c.find(".button-secondary").hide(),o.html("De-authorize Account"),l.trigger("click"),t.removeAttr("disabled"))}))}),l.on("click",function(a){a.preventDefault(),l.prop("disabled",!0),t.addClass("input-loading"),e.ajax("search_console_get_profiles").always(function(){l.prop("disabled",!1),r(".console-cache-update-manually").prop("disabled",!1),t.removeClass("input-loading")}).done(function(a){if(a&&!a.success&&e.addNotice(a.error,"error",d),a&&a.success){var n=a.selected||t.val();t.html(""),r.each(a.profiles,function(e,a){t.append('<option value="'+e+'">'+a+"</option>")}),t.val(n||Object.keys(a.profiles)[0]),l.removeClass("hidden")}})})},dependencyManager:function(){var e=this,t=r(".cmb-form, .rank-math-metabox-wrap");r(".cmb-repeat-group-wrap",t).each(function(){var e=r(this),t=e.next(".rank-math-cmb-dependency.hidden");t.length&&e.find("> .cmb-td").append(t)}),r(".rank-math-cmb-dependency",t).each(function(){e.loopDependencies(r(this))}),r("input, select",t).on("change",function(){var t=r(this).attr("name");r('span[data-field="'+t+'"]').each(function(){e.loopDependencies(r(this).closest(".rank-math-cmb-dependency"))})})},checkDependency:function(e,t,a){return"string"==typeof t&&t.includes(",")&&"="===a?t.includes(e):"string"==typeof t&&t.includes(",")&&"!="===a?!t.includes(e):"="===a&&e===t||"=="===a&&e===t||">="===a&&t<=e||"<="===a&&e<=t||">"===a&&t<e||"<"===a&&e<t||"!="===a&&e!==t},loopDependencies:function(e){var t,a=this,n=e.data("relation");e.find("span").each(function(){var e=r(this),i=e.data("value"),o=e.data("comparison"),c=r("[name='"+e.data("field")+"']"),s=c.val();c.is(":radio")&&(s=c.filter(":checked").val()),c.is(":checkbox")&&(s=c.is(":checked"));var l=a.checkDependency(s,i,o);if("or"===n&&l)return!(t=!0);"and"===n&&(t=void 0===t?l:t&&l)});var i=e.closest(".rank-math-cmb-group");i.length||(i=e.closest(".cmb-row")),t?i.slideDown(300):i.hide()},tabs:function(){var e=r(".rank-math-tabs-navigation");e.length&&e.each(function(){var t=r(this),a=t.closest(".rank-math-tabs"),n=r(">a",t),i=r(">.rank-math-tabs-content>.rank-math-tab",a),o=t.data("active-class")||"active";n.on("click",function(){var e=r(this),t=e.attr("href");return n.removeClass(o),i.hide(),e.addClass(o),r(t).show(),!1});var c=location.hash||localStorage.getItem(a.attr("id"));null===c?n.eq(0).trigger("click"):(c=r('a[href="'+c+'"]',t)).length?c.trigger("click"):n.eq(0).trigger("click"),e.next().css("min-height",t.outerHeight())})},variableInserter:function(e){var t=this,a=r("body"),n=r("input[type=text], textarea",".rank-math-supports-variables");if(e=void 0===e||e,n.length){n.attr("autocomplete","off"),n.wrap('<div class="rank-math-variables-wrap"/>'),r(".rank-math-variables-wrap").append('<a href="#" class="rank-math-variables-button button button-secondary"><span class="dashicons dashicons-arrow-down-alt2"></span></a>'),e&&(r(".rank-math-variables-wrap").after('<div class="rank-math-variables-preview" data-title="Example"/>'),n.on("rank_math_variable_change input",function(e){var a=r(e.currentTarget),n=t.replaceVariables(a.val());60<n.length&&~a.attr("name").indexOf("title")&&(n=n.substring(0,60)+"..."),a.parent().next(".rank-math-variables-preview").html(n)}),n.trigger("rank_math_variable_change"));var i=r("<ul/>"),o=r('<div class="rank-math-variables-dropdown"><input type="text" placeholder="Search &hellip;"></div>');r.each(rankMath.variables,function(e){i.append('<li data-var="%'+e+'%"'+(this.example?' data-example="'+this.example+'"':"")+"><strong>"+this.name+"</strong><span>"+this.desc+"</span></li>")}),o.append(i),r(".rank-math-variables-wrap:eq(0)").append(o);var c=r(".rank-math-variables-button, .rank-math-variables-button *, .rank-math-variables-dropdown, .rank-math-variables-dropdown *");r(a).on("click",function(e){r(e.target).is(c)||o.hide()});var s=o.find("input"),l=o.find("li");r(a).on("click",".rank-math-variables-button",function(e){e.preventDefault(),r(this).after(o),l.show(),o.show(),s.val("").focus()}),o.on("click","li",function(e){e.preventDefault();var t=r(this),a=t.closest(".rank-math-variables-wrap").find(">:first-child");a.val(r.trim(a.val())+" "+t.data("var")),a.trigger("rank_math_variable_change").trigger("input"),o.hide()}),o.on("keyup","input",function(e){e.preventDefault();var t=r(this).val().toLowerCase();t.length<2?l.show():l.hide().each(function(){var e=r(this);~e.text().toLowerCase().indexOf(t)&&e.show()})})}},replaceVariables:function(e){return r.each(rankMath.variables,function(t){if(!this.example)return!0;t=t.replace(/\([a-z]+\)/g,"\\(.*?\\)"),e=e.replace(RegExp("%+"+t+"%+","g"),this.example)}),e},ajax:function(e,t,a){return r.ajax({url:rankMath.ajaxurl,type:a||"POST",dataType:"json",data:r.extend(!0,{action:"rank_math_"+e,security:rankMath.security},t)})},addNotice:function(e,t,a,n){n=n||!1;var i=r('<div class="notice notice-'+(t=t||"error")+' is-dismissible"><p>'+e+"</p></div>").hide();a.next(".notice").remove(),a.after(i),i.slideDown(),r(document).trigger("wp-updates-notice-added"),n&&setTimeout(function(){i.fadeOut()},n)}},window.rankMathAdmin.init()})}});
1
+ !function(e){var t={};function a(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.m=e,a.c=t,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)a.d(n,r,function(t){return e[t]}.bind(null,r));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=324)}({324:function(e,t,a){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var r;r=jQuery,String.prototype.format||(String.prototype.format=function(){var e=arguments;return this.replace(/{(\d+)}/g,function(t,a){return void 0!==e[a]?e[a]:t})}),String.prototype.trimRight=function(e){return void 0===e&&(e="s"),this.replace(RegExp("["+e+"]+$"),"")},r(function(){window.rankMathAdmin={init:function(){this.misc(),this.tabs(),this.searchConsole(),this.dependencyManager()},misc:function(){void 0!==jQuery.fn.select2&&r("[data-s2]").select2(),r(".cmb-group-text-only,.cmb-group-fix-me").each(function(){var e=r(this),t=e.find(".cmb-repeatable-group"),a=t.find("> .cmb-row:eq(0) > .cmb-th");e.prepend('<div class="cmb-th"><label>'+a.find("h2").text()+"</label></div>"),t.find(".cmb-add-row").append('<span class="cmb2-metabox-description">'+a.find("p").text()+"</span>"),a.parent().remove()}),r(".rank-math-collapsible-trigger").on("click",function(e){e.preventDefault();var t=r(this),a=r("#"+t.data("target"));t.toggleClass("open"),a.toggleClass("open")})},searchConsole:function(){var e=this,t=null,a=r("#console_authorization_code"),i=r("#gsc-dp-info"),o=r("#console_profile"),c=a.parent(),s=o.parent(),l=s.find(".button-primary"),d=r("body").hasClass("rank-math-wizard-body--searchconsole")?r("> p:first-of-type",".cmb-form"):r("h1",".rank-math-wrap-settings");a.after(c.find(".button")),o.after(s.find(".button")),o.on("change",function(){null!==o.val()&&0===o.val().indexOf("sc-domain:")?i.removeClass("hidden"):i.addClass("hidden")}).change(),t=l.prev(),a.data("authorized")&&a.hide(),c.on("click",".button-secondary",function(e){e.preventDefault(),window.open(this.href,"","width=800, height=600")}),c.on("click",".button-primary",function(i){i.preventDefault();var o=r(this);o.prop("disabled",!0),a.data("authorized")?e.ajax("search_console_deauthentication").always(function(){o.prop("disabled",!1)}).done(function(){a.val(""),r("#submit-cmb").trigger("click"),"object"===("undefined"==typeof rankMathSetupWizard?"undefined":n(rankMathSetupWizard))&&(a.show(),a.data("authorized",!1),c.find(".button-secondary").show(),o.html("Authorize"),t.prop("disabled",!0),l.prop("disabled",!0))}):(a.addClass("input-loading"),e.ajax("search_console_authentication",{code:a.val()}).always(function(){o.prop("disabled",!1),a.removeClass("input-loading")}).done(function(n){n&&!n.success&&e.addNotice(n.error,"error",d),n&&"fail"===n.status&&e.addNotice(n.body.error_description,"error",d),n&&"success"===n.status&&(a.hide(),a.data("authorized",!0),c.find(".button-secondary").hide(),o.html("De-authorize Account"),l.trigger("click"),t.removeAttr("disabled"))}))}),l.on("click",function(a){a.preventDefault(),l.prop("disabled",!0),t.addClass("input-loading"),e.ajax("search_console_get_profiles").always(function(){l.prop("disabled",!1),r(".console-cache-update-manually").prop("disabled",!1),t.removeClass("input-loading")}).done(function(a){if(a&&!a.success&&e.addNotice(a.error,"error",d),a&&a.success){var n=a.selected||t.val();t.html(""),r.each(a.profiles,function(e,a){t.append('<option value="'+e+'">'+a+"</option>")}),t.val(n||Object.keys(a.profiles)[0]),l.removeClass("hidden")}})})},dependencyManager:function(){var e=this,t=r(".cmb-form, .rank-math-metabox-wrap");r(".cmb-repeat-group-wrap",t).each(function(){var e=r(this),t=e.next(".rank-math-cmb-dependency.hidden");t.length&&e.find("> .cmb-td").append(t)}),r(".rank-math-cmb-dependency",t).each(function(){e.loopDependencies(r(this))}),r("input, select",t).on("change",function(){var t=r(this).attr("name");r('span[data-field="'+t+'"]').each(function(){e.loopDependencies(r(this).closest(".rank-math-cmb-dependency"))})})},checkDependency:function(e,t,a){return"string"==typeof t&&t.includes(",")&&"="===a?t.includes(e):"string"==typeof t&&t.includes(",")&&"!="===a?!t.includes(e):"="===a&&e===t||"=="===a&&e===t||">="===a&&e>=t||"<="===a&&t>=e||">"===a&&e>t||"<"===a&&t>e||"!="===a&&e!==t},loopDependencies:function(e){var t,a=this,n=e.data("relation");e.find("span").each(function(){var e=r(this),i=e.data("value"),o=e.data("comparison"),c=r("[name='"+e.data("field")+"']"),s=c.val();c.is(":radio")&&(s=c.filter(":checked").val()),c.is(":checkbox")&&(s=c.is(":checked"));var l=a.checkDependency(s,i,o);if("or"===n&&l)return t=!0,!1;"and"===n&&(t=void 0===t?l:t&&l)});var i=e.closest(".rank-math-cmb-group");i.length||(i=e.closest(".cmb-row")),t?i.slideDown(300):i.hide()},tabs:function(){var e=r(".rank-math-tabs-navigation");e.length&&e.each(function(){var t=r(this),a=t.closest(".rank-math-tabs"),n=r(">a",t),i=r(">.rank-math-tabs-content>.rank-math-tab",a),o=t.data("active-class")||"active";n.on("click",function(){var e=r(this),t=e.attr("href");return n.removeClass(o),i.hide(),e.addClass(o),r(t).show(),!1});var c=location.hash||localStorage.getItem(a.attr("id"));null===c?n.eq(0).trigger("click"):(c=r('a[href="'+c+'"]',t)).length?c.trigger("click"):n.eq(0).trigger("click"),e.next().css("min-height",t.outerHeight())})},variableInserter:function(e){var t=this,a=r("body"),n=r("input[type=text], textarea",".rank-math-supports-variables");if(e=void 0===e||e,n.length){n.attr("autocomplete","off"),n.wrap('<div class="rank-math-variables-wrap"/>'),r(".rank-math-variables-wrap").append('<a href="#" class="rank-math-variables-button button button-secondary"><span class="dashicons dashicons-arrow-down-alt2"></span></a>'),e&&(r(".rank-math-variables-wrap").after('<div class="rank-math-variables-preview" data-title="Example"/>'),n.on("rank_math_variable_change input",function(e){var a=r(e.currentTarget),n=t.replaceVariables(a.val());n.length>60&&a.attr("name").indexOf("title")>=0&&(n=n.substring(0,60)+"..."),a.parent().next(".rank-math-variables-preview").html(n)}),n.trigger("rank_math_variable_change"));var i=r("<ul/>"),o=r('<div class="rank-math-variables-dropdown"><input type="text" placeholder="Search &hellip;"></div>');r.each(rankMath.variables,function(e){i.append('<li data-var="%'+e+'%"'+(this.example?' data-example="'+this.example+'"':"")+"><strong>"+this.name+"</strong><span>"+this.desc+"</span></li>")}),o.append(i),r(".rank-math-variables-wrap:eq(0)").append(o);var c=r(".rank-math-variables-button, .rank-math-variables-button *, .rank-math-variables-dropdown, .rank-math-variables-dropdown *");r(a).on("click",function(e){r(e.target).is(c)||o.hide()});var s=o.find("input"),l=o.find("li");r(a).on("click",".rank-math-variables-button",function(e){e.preventDefault(),r(this).after(o),l.show(),o.show(),s.val("").focus()}),o.on("click","li",function(e){e.preventDefault();var t=r(this),a=t.closest(".rank-math-variables-wrap").find(">:first-child");a.val(r.trim(a.val())+" "+t.data("var")),a.trigger("rank_math_variable_change").trigger("input"),o.hide()}),o.on("keyup","input",function(e){e.preventDefault();var t=r(this).val().toLowerCase();2>t.length?l.show():l.hide().each(function(){var e=r(this);-1!==e.text().toLowerCase().indexOf(t)&&e.show()})})}},replaceVariables:function(e){return r.each(rankMath.variables,function(t){if(!this.example)return!0;t=t.replace(/\([a-z]+\)/g,"\\(.*?\\)"),e=e.replace(RegExp("%+"+t+"%+","g"),this.example)}),e},ajax:function(e,t,a){return r.ajax({url:rankMath.ajaxurl,type:a||"POST",dataType:"json",data:r.extend(!0,{action:"rank_math_"+e,security:rankMath.security},t)})},addNotice:function(e,t,a,n){n=n||!1;var i=r('<div class="notice notice-'+(t=t||"error")+' is-dismissible"><p>'+e+"</p></div>").hide();a.next(".notice").remove(),a.after(i),i.slideDown(),r(document).trigger("wp-updates-notice-added"),n&&setTimeout(function(){i.fadeOut()},n)}},window.rankMathAdmin.init()})}});
assets/admin/js/dashboard.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=205)}({205:function(e,t,n){"use strict";var r;(r=jQuery)(".dashboard-deactivate-plugin").on("click",function(e){e.preventDefault();var t=r(this);return r.ajax({url:ajaxurl,type:"POST",data:{action:"rank_math_deactivate_plugins",security:rankMath.security,plugin:"all"}}).always(function(e){"1"===e?t.parents(".rank-math-notice").remove():console.log("Deactivation error")}),!1}),r(".rank-math-modules").on("change",function(){var e=r(this),t=e.closest(".rank-math-box"),n=e.is(":checked"),a=e.val(),o={"404-monitor":"404-monitor",redirections:"redirections","role-manager":"role-manager","search-console":"search-console","seo-analysis":"seo-analysis",sitemap:"options-sitemap"};t.addClass("saving"),r.ajax({url:rankMath.api.root+"rankmath/v1/saveModule",method:"POST",beforeSend:function(e){e.setRequestHeader("X-WP-Nonce",rankMath.api.nonce)},data:{module:a,state:n?"on":"off"}}).done(function(e){e?(t.removeClass("saving"),t.toggleClass("active",n),!n&&o.hasOwnProperty(a)&&r("#toplevel_page_rank-math").find('a[href="admin.php?page=rank-math-'+o[a]+'"]').parent("li").toggle()):alert("Something went wrong! Please try again.")})}),"undefined"!=typeof ClipboardJS&&(r(".get-debug-report").on("click",function(){return r("#debug-report").slideDown(),r("#debug-report textarea").focus().select(),r(this).parent().fadeOut(),!1}),new ClipboardJS("#copy-for-support"))}});
1
+ !function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=325)}({325:function(e,t,n){"use strict";var r;(r=jQuery)(".dashboard-deactivate-plugin").on("click",function(e){e.preventDefault();var t=r(this);return r.ajax({url:ajaxurl,type:"POST",data:{action:"rank_math_deactivate_plugins",security:rankMath.security,plugin:"all"}}).always(function(e){"1"===e?t.parents(".rank-math-notice").remove():console.log("Deactivation error")}),!1}),r(".rank-math-modules").on("change",function(){var e=r(this),t=e.closest(".rank-math-box"),n=e.is(":checked"),a=e.val(),o={"404-monitor":"404-monitor",redirections:"redirections","role-manager":"role-manager","search-console":"search-console","seo-analysis":"seo-analysis",sitemap:"options-sitemap"};t.addClass("saving"),r.ajax({url:rankMath.api.root+"rankmath/v1/saveModule",method:"POST",beforeSend:function(e){e.setRequestHeader("X-WP-Nonce",rankMath.api.nonce)},data:{module:a,state:n?"on":"off"}}).done(function(e){e?(t.removeClass("saving"),t.toggleClass("active",n),!n&&o.hasOwnProperty(a)&&r("#toplevel_page_rank-math").find('a[href="admin.php?page=rank-math-'+o[a]+'"]').parent("li").toggle()):alert("Something went wrong! Please try again.")})}),"undefined"!=typeof ClipboardJS&&(r(".get-debug-report").on("click",function(){return r("#debug-report").slideDown(),r("#debug-report textarea").focus().select(),r(this).parent().fadeOut(),!1}),new ClipboardJS("#copy-for-support"))}});
assets/admin/js/feedback.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=206)}({206:function(e,t,n){"use strict";var r;(r=jQuery)(function(){var e=r("#rank-math-feedback-form"),t=e.find(".rank-math-feedback-input-wrapper"),n=e.find("form"),o=r("#the-list").find('[data-slug="seo-by-rank-math"] span.deactivate a');o.on("click",function(t){t.preventDefault(),e.fadeIn()}),e.on("change","input:radio",function(){var e=r(this).parent();t.removeClass("checked"),e.toggleClass("checked")}),e.on("click",".button-skip",function(){location.href=o.attr("href")}),e.on("click",".button-close",function(t){t.preventDefault(),e.fadeOut()}),e.on("click",function(e){"rank-math-feedback-form"===e.target.id&&r(this).find(".button-close").trigger("click")}),n.on("submit",function(e){e.preventDefault(),n.find(".button-submit").text("").addClass("loading"),r.ajax({url:ajaxurl,type:"POST",dataType:"json",data:n.serialize()}).done(function(){location.href=o.attr("href")})})})}});
1
+ !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=326)}({326:function(e,t,n){"use strict";var r;(r=jQuery)(function(){var e=r("#rank-math-feedback-form"),t=e.find(".rank-math-feedback-input-wrapper"),n=e.find("form"),o=r("#the-list").find('[data-slug="seo-by-rank-math"] span.deactivate a');o.on("click",function(t){t.preventDefault(),e.fadeIn()}),e.on("change","input:radio",function(){var e=r(this).parent();t.removeClass("checked"),e.toggleClass("checked")}),e.on("click",".button-skip",function(){location.href=o.attr("href")}),e.on("click",".button-close",function(t){t.preventDefault(),e.fadeOut()}),e.on("click",function(e){"rank-math-feedback-form"===e.target.id&&r(this).find(".button-close").trigger("click")}),n.on("submit",function(e){e.preventDefault(),n.find(".button-submit").text("").addClass("loading"),r.ajax({url:ajaxurl,type:"POST",dataType:"json",data:n.serialize()}).done(function(){location.href=o.attr("href")})})})}});
assets/admin/js/import-export.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function r(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,a){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(a,n,function(t){return e[t]}.bind(null,n));return a},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=207)}({207:function(e,t,r){"use strict";var a;(a=jQuery)(function(){({init:function(){var e=this;a(document.body).on("click",".rank-math-action",function(t){var r=a(this).data("action");r in e&&e[r](t)}),this.importConfirm()},importConfirm:function(){var e=a("#import-me");e.on("change",function(){e.removeClass("invalid")}),a("#rank-math-import-form").on("submit",function(t){if(!e.get(0).files.length)return e.addClass("invalid"),void t.preventDefault();confirm(rankMath.importConfirm)||t.preventDefault()})},createBackup:function(e){var t=this,r=a(e.currentTarget);r.prop("disabled",!0),t.ajax("create_backup").always(function(){r.prop("disabled",!1)}).done(function(e){if(e.success){var n=r.parent().find("tbody"),o=n.find("tr:first").clone();o.removeClass("hidden").find("th").html(e.backup),o.find("[data-action]").attr("data-key",e.key),n.prepend(o),a("#rank-math-no-backup-message").addClass("hidden"),t.addNotice(e.message,"success",a(".wp-header-end"),2e3)}else t.addNotice(e.error,"error",a(".wp-header-end"),2e3)})},restoreBackup:function(e){if(confirm(rankMath.restoreConfirm)){var t=this,r=a(e.currentTarget);r.prop("disabled",!0),t.ajax("restore_backup",{key:r.attr("data-key")}).always(function(){r.prop("disabled",!1)}).done(function(e){e.success?t.addNotice(e.message,"success",a(".wp-header-end"),2e3):t.addNotice(e.error,"error",a(".wp-header-end"),2e3)})}},deleteBackup:function(e){if(confirm(rankMath.deleteBackupConfirm)){var t=this,r=a(e.currentTarget);r.prop("disabled",!0),t.ajax("delete_backup",{key:r.data("key")}).always(function(){r.prop("disabled",!1)}).done(function(e){if(e.success){var n=r.closest("table");r.closest("tr").fadeOut(function(){a(this).remove(),n.find("tr").length<1&&a("#rank-math-no-backup-message").show()}),t.addNotice(e.message,"success",a(".wp-header-end"),2e3)}else t.addNotice(e.error,"error",a(".wp-header-end"),2e3)})}},importPlugin:function(e){if(confirm(rankMath.importConfirm)){var t=this,r=a(e.currentTarget);r.prop("disabled",!0);var n=a.map(r.closest("tr").next("tr").find("input:checkbox:checked"),function(e){return e.value});if(n.length<1)t.addNotice("Select data to import.","error",a(".wp-header-end"),2e3);else{r.data("active")&&n.push("deactivate");var o=a('<textarea id="import-progress-area" class="import-progress-area large-text" disabled="disabled" rows="8" style="margin: 20px 0;background: #eee;"></textarea>');a("#import-progress-area").remove(),r.closest(".list-table").after(o),t.addLog("Import started...",o),t.ajaxImport(r.data("slug"),n,o,null,function(){r.prop("disabled",!1),setTimeout(function(){o.fadeOut(function(){o.remove()})},3e3)})}}},ajaxImport:function(e,t,r,a,n){var o=this;if(0===t.length)return o.addLog("Import finished.",r),void n();var i=t.shift();a=a||1,o.addLog("deactivate"===i?"Deactivating plugin":"Importing "+i,r),o.ajax("import_plugin",{perform:i,pluginSlug:e,paged:a}).done(function(a){var s=1;a&&a.page&&a.page<a.total_pages&&(s=a.page+1,t.unshift(i)),o.addLog(a.success?a.message:a.error,r),o.ajaxImport(e,t,r,s,n)}).fail(function(a){o.addLog(a.statusText,r),o.ajaxImport(e,t,r,null,n)})},addLog:function(e,t){var r=new Date,a=t.val()+"["+(r.getHours()<10?"0":"")+r.getHours()+":"+(r.getMinutes()<10?"0":"")+r.getMinutes()+":"+(r.getSeconds()<10?"0":"")+r.getSeconds()+"] "+e+"\n";t.text(a).scrollTop(t[0].scrollHeight-t.height()-20)},cleanPlugin:function(e){if(confirm(rankMath.cleanPluginConfirm)){var t=this,r=a(e.currentTarget);r.prop("disabled",!0),t.ajax("clean_plugin",{pluginSlug:r.data("slug")}).always(function(){r.prop("disabled",!1)}).done(function(e){e.success&&r.closest("tr").fadeOut(function(){a(this).remove()}),t.addNotice(e.success?e.message:e.error,e.success?"success":"error",a(".wp-header-end"),2e3)})}},ajax:function(e,t,r){return a.ajax({url:rankMath.ajaxurl,type:r||"POST",dataType:"json",data:a.extend(!0,{action:"rank_math_"+e,security:rankMath.security},t)})},addNotice:function(e,t,r,n){n=n||!1;var o=a('<div class="notice notice-'+(t=t||"error")+' is-dismissible"><p>'+e+"</p></div>").hide();a(".notice").hide(),r.after(o),o.slideDown(),a(document).trigger("wp-updates-notice-added"),n&&setTimeout(function(){o.fadeOut(function(){o.remove()})},n)}}).init()})}});
1
+ !function(e){var t={};function r(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,a){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(a,n,function(t){return e[t]}.bind(null,n));return a},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=327)}({327:function(e,t,r){"use strict";var a;(a=jQuery)(function(){({init:function(){var e=this;a(document.body).on("click",".rank-math-action",function(t){var r=a(this).data("action");r in e&&e[r](t)}),this.importConfirm()},importConfirm:function(){var e=a("#import-me");e.on("change",function(){e.removeClass("invalid")}),a("#rank-math-import-form").on("submit",function(t){if(!e.get(0).files.length)return e.addClass("invalid"),void t.preventDefault();confirm(rankMath.importConfirm)||t.preventDefault()})},createBackup:function(e){var t=this,r=a(e.currentTarget);r.prop("disabled",!0),t.ajax("create_backup").always(function(){r.prop("disabled",!1)}).done(function(e){if(e.success){var n=r.parent().find("tbody"),o=n.find("tr:first").clone();o.removeClass("hidden").find("th").html(e.backup),o.find("[data-action]").attr("data-key",e.key),n.prepend(o),a("#rank-math-no-backup-message").addClass("hidden"),t.addNotice(e.message,"success",a(".wp-header-end"),2e3)}else t.addNotice(e.error,"error",a(".wp-header-end"),2e3)})},restoreBackup:function(e){if(confirm(rankMath.restoreConfirm)){var t=this,r=a(e.currentTarget);r.prop("disabled",!0),t.ajax("restore_backup",{key:r.attr("data-key")}).always(function(){r.prop("disabled",!1)}).done(function(e){e.success?t.addNotice(e.message,"success",a(".wp-header-end"),2e3):t.addNotice(e.error,"error",a(".wp-header-end"),2e3)})}},deleteBackup:function(e){if(confirm(rankMath.deleteBackupConfirm)){var t=this,r=a(e.currentTarget);r.prop("disabled",!0),t.ajax("delete_backup",{key:r.data("key")}).always(function(){r.prop("disabled",!1)}).done(function(e){if(e.success){var n=r.closest("table");r.closest("tr").fadeOut(function(){a(this).remove(),1>n.find("tr").length&&a("#rank-math-no-backup-message").show()}),t.addNotice(e.message,"success",a(".wp-header-end"),2e3)}else t.addNotice(e.error,"error",a(".wp-header-end"),2e3)})}},importPlugin:function(e){if(confirm(rankMath.importConfirm)){var t=a(e.currentTarget);t.prop("disabled",!0);var r=a.map(t.closest("tr").next("tr").find("input:checkbox:checked"),function(e){return e.value});if(1>r.length)this.addNotice("Select data to import.","error",a(".wp-header-end"),2e3);else{t.data("active")&&r.push("deactivate");var n=a('<textarea id="import-progress-area" class="import-progress-area large-text" disabled="disabled" rows="8" style="margin: 20px 0;background: #eee;"></textarea>');a("#import-progress-area").remove(),t.closest(".list-table").after(n),this.addLog("Import started...",n),this.ajaxImport(t.data("slug"),r,n,null,function(){t.prop("disabled",!1),setTimeout(function(){n.fadeOut(function(){n.remove()})},3e3)})}}},ajaxImport:function(e,t,r,a,n){var o=this;if(0===t.length)return o.addLog("Import finished.",r),void n();var i=t.shift();a=a||1,o.addLog("deactivate"===i?"Deactivating plugin":"Importing "+i,r),o.ajax("import_plugin",{perform:i,pluginSlug:e,paged:a}).done(function(a){var s=1;a&&a.page&&a.total_pages>a.page&&(s=a.page+1,t.unshift(i)),o.addLog(a.success?a.message:a.error,r),o.ajaxImport(e,t,r,s,n)}).fail(function(a){o.addLog(a.statusText,r),o.ajaxImport(e,t,r,null,n)})},addLog:function(e,t){var r=new Date,a=t.val()+"["+(10>r.getHours()?"0":"")+r.getHours()+":"+(10>r.getMinutes()?"0":"")+r.getMinutes()+":"+(10>r.getSeconds()?"0":"")+r.getSeconds()+"] "+e+"\n";t.text(a).scrollTop(t[0].scrollHeight-t.height()-20)},cleanPlugin:function(e){if(confirm(rankMath.cleanPluginConfirm)){var t=this,r=a(e.currentTarget);r.prop("disabled",!0),t.ajax("clean_plugin",{pluginSlug:r.data("slug")}).always(function(){r.prop("disabled",!1)}).done(function(e){e.success&&r.closest("tr").fadeOut(function(){a(this).remove()}),t.addNotice(e.success?e.message:e.error,e.success?"success":"error",a(".wp-header-end"),2e3)})}},ajax:function(e,t,r){return a.ajax({url:rankMath.ajaxurl,type:r||"POST",dataType:"json",data:a.extend(!0,{action:"rank_math_"+e,security:rankMath.security},t)})},addNotice:function(e,t,r,n){n=n||!1;var o=a('<div class="notice notice-'+(t=t||"error")+' is-dismissible"><p>'+e+"</p></div>").hide();a(".notice").hide(),r.after(o),o.slideDown(),a(document).trigger("wp-updates-notice-added"),n&&setTimeout(function(){o.fadeOut(function(){o.remove()})},n)}}).init()})}});
assets/admin/js/option-panel.js CHANGED
@@ -1 +1 @@
1
- !function(t){var e={};function a(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.m=t,a.c=e,a.d=function(t,e,n){a.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.t=function(t,e){if(1&e&&(t=a(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)a.d(n,r,function(e){return t[e]}.bind(null,r));return n},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,"a",e),e},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.p="",a(a.s=208)}({208:function(t,e,a){"use strict";var n;(n=jQuery)(function(){window.rankMathOptions={init:function(){this.misc(),this.preview(),this.scCache(),rankMathAdmin.variableInserter(),this.searchEngine.init(),this.addressFormat()},searchEngine:{init:function(){this.form=n(".rank-math-search-options"),this.wrap=this.form.closest(".rank-math-wrap-settings"),this.input=this.form.find("input"),this.select=this.form.find("select"),this.tabs=this.wrap.find(".rank-math-tabs"),this.panels=this.wrap.find(".rank-math-tab"),this.indexes={},this.buildIndex(),this.events()},events:function(){var t=this,e=!0,a=t.tabs.find(">.rank-math-tabs-navigation"),r=n('<div class="rank-math-search-dropdown"></div>');t.tabs.find(">.rank-math-tabs-content").prepend('<div class="rank-math-setting-search-empty hidden">No results found.</div>'),t.form.append(r),t.select.val(rankMath.optionPage),r.hide().empty();var o=_.debounce(function(e){t.wrap.addClass("searching"),t.panels.show(),t.searchOptions(e,t.wrap)},300),i=_.debounce(function(e){t.wrap.addClass("searching"),t.searchIndexes(e,r)},300);t.form.on("click",".clear-search",function(e){e.preventDefault(),t.input.val(""),t.clearSearch(a)}),t.select.on("change",function(){e=t.select.val()===rankMath.optionPage,r.hide().empty(),e||(t.clearSearch(a),r.append(t.indexes[t.select.val()])),t.input.trigger("input")}),t.input.on("input",function(){if(""===t.input.val())return t.clearSearch(a,!e&&r),!1;e?o(t.input.val().toLowerCase()):i(t.input.val().toLowerCase())}),r.on("click",".cmb-row",function(){var e=n(this);window.location=location.pathname+"?page=rank-math-options-"+t.select.val()+"#"+e.closest(".dropdown-tab").attr("id")});var s=n(".rank-math-search-options, .rank-math-search-options *, .rank-math-search-dropdown, .rank-math-search-dropdown *");n("body").on("click",function(t){n(t.target).is(s)||r.hide()})},searchIndexes:function(t,e){if(1<=t.trim().length){var a=e.find(".cmb-row"),r=0;a.hide().each(function(){var e=n(this);e.text().trim().toLowerCase().includes(t)&&(e.show(),++r)}),e.show(),e.toggleClass("empty",0===r)}},searchOptions:function(t,e){if(1<=t.trim().length){n(".cmb-row").hide().each(function(){var e=n(this);e.hasClass("cmb-type-title")?e.hide():e.text().trim().toLowerCase().includes(t)&&e.show()});var a=n(".cmb-row:visible");0===a.length?e.addClass("search-no-results"):(e.removeClass("search-no-results"),a.each(function(){n(this).find("input, select").each(function(){n('span[data-field="'+n(this).attr("name")+'"]').each(function(){rankMathAdmin.loopDependencies(n(this).closest(".rank-math-cmb-dependency"))})})}))}},clearSearch:function(t,e){e=e||!1,this.wrap.removeClass("searching search-no-results"),n(">a.active",t).trigger("click"),e?e.hide():(n(".cmb-row").show(),n(".rank-math-cmb-dependency",".cmb-form, .rank-math-metabox-wrap").each(function(){rankMathAdmin.loopDependencies(n(this))}))},buildIndex:function(){var t=localStorage.getItem("rank-math-option-search-index"),e=localStorage.getItem("rank-math-option-search-premium"),a=void 0===t||rankMath;a=void 0===e||e!==rankMath.hasPremium,["general","titles","sitemap"].forEach(function(t){this.getIndex(t,a)},this),a&&(localStorage.setItem("rank-math-option-search-index",rankMath.version),localStorage.setItem("rank-math-option-search-premium",rankMath.hasPremium))},getIndex:function(t,e){var a=this;e?n("<div/>").load(rankMath.adminurl+"?page=rank-math-options-"+t,function(e,r){if("error"!==r){var o=n(e).find(".rank-math-tabs-content");o.find(".rank-math-tab").removeClass().addClass("dropdown-tab"),o.find(".cmb-row").each(function(){var t=n(this);(t.hasClass("cmb-type-title")||t.hasClass("cmb-type-notice"))&&t.remove(),t.find(".cmb-td").children(":not(.cmb2-metabox-description)").remove(),t.find("label,.cmb2-metabox-description").unwrap(),t.removeAttr("data-fieldtype")}),o=o.html().replace(/(\r\n\t|\n|\r\t)/gm,""),a.indexes[t]=n(o),localStorage.setItem("rank-math-option-"+t+"-index",o)}}):a.indexes[t]=n(localStorage.getItem("rank-math-option-"+t+"-index"))}},scCache:function(){n(".console-cache-delete").on("click",function(t){t.preventDefault();var e=n(this),a=e.data("days");window.confirm((-1===a?"You are about to delete your whole Cache. Every dataset older than 90 days is lost forever!":"You are about to delete your 90 days Cache?")+" Are you sure you want to continue?")&&(e.prop("disabled",!0),rankMathAdmin.ajax("search_console_delete_cache",{days:a},"GET").always(function(){e.prop("disabled",!1)}).done(function(t){t&&t.success&&(rankMathAdmin.addNotice("Cache deleted.","success",n("h1",".rank-math-wrap-settings")),n(".rank-math-console-db-info").remove(),n("#console-updating-manually-progress").before(t.message))}))}),n(".console-cache-update-manually").on("click",function(t){t.preventDefault();var e=n(this),a=n("#console_caching_control").val();e.prop("disabled",!0),rankMathAdmin.ajax("search_console_get_cache",{days:a},"GET").done(function(t){t&&t.success?rankMathAdmin.addNotice(t.message,"success",n("h1.page-title")):rankMathAdmin.addNotice("Unable to update cache due to: "+t.error,"error",n("h1.page-title"))})})},addressFormat:function(){var t=n("body"),e=n("input[type=text], textarea",".rank-math-address-format");if(e.length){e.attr("autocomplete","off"),e.wrap('<div class="rank-math-variables-wrap"/>');var a=e.parent(".rank-math-variables-wrap");a.append('<a href="#" class="rank-math-variables-button button button-secondary button-address"><span class="dashicons dashicons-arrow-down-alt2"></span></a>');var r=n("<ul/>"),o=n('<div class="rank-math-variables-dropdown"></div>');n.each({"{address} {locality}, {region} {postalcode}":"(New York, NY 12345)","{address} {postalcode}, {locality} {region}":"(New York 12345, NY)","{address} {locality} {postalcode}":"(New York NY 12345)","{postalcode} {region} {locality} {address}":"(12345 NY New York)","{address} {locality}":"(New York NY)"},function(t,e){r.append('<li data-var="'+e+'"><strong>'+t+"</strong></li>")}),o.append(r),n("rank-math-variables-wrap:eq(0)").append(o);var i=n(".rank-math-variables-button, .rank-math-variables-button *, .rank-math-variables-dropdown, .rank-math-variables-dropdown *");n(t).on("click",function(t){n(t.target).is(i)||o.hide()});var s=o.find("input"),c=o.find("li");n(a).on("click",".rank-math-variables-button",function(t){t.preventDefault(),n(this).after(o),c.show(),o.show(),s.val("").focus()}),o.on("click","li",function(t){t.preventDefault();var e=n(this);e.closest(".rank-math-variables-wrap").find("textarea").val(e.find("strong").text())})}},misc:function(){void 0!==jQuery.fn.select2&&n("[data-s2-pages]").select2({ajax:{url:rankMath.ajaxurl+"?action=rank_math_search_pages",dataType:"json",delay:250},width:"100%",minimumInputLength:3}),n("#htaccess_accept_changes").on("change",function(){this.checked?n("#htaccess_content").prop("readonly",!1):n("#htaccess_content").prop("readonly",!0)}),n(".reset-options").on("click",function(){return!!confirm("Are you sure? You want to reset settings.")&&(n(window).off("beforeunload"),!0)});var t=n(".rank-math-tabs");setTimeout(function(){localStorage.removeItem(t.attr("id"))},1e3),n(".save-options").on("click",function(){var e=n("> .rank-math-tabs-navigation > a.active",t);return localStorage.setItem(t.attr("id"),e.attr("href")),n(window).off("beforeunload"),!0});var e=!1;n(window).on("load",function(){n(".cmb-form").on("change","input, textarea, select",function(){e=!0})}),n(window).on("beforeunload",function(){if(e)return"Are you sure? You didn't finish the form!"}),n(".custom-sep").on("keyup",function(){var t=n(this),e=t.text();t.closest("li").find("input.cmb2-option").val(e).trigger("change")})},preview:function(){n("[data-preview]").on("change",function(){var t=n(this),e=null,a="";if(t.is(":radio")&&(e=t.closest(".cmb-td")),null!==e)if(e.hasClass("done"))t.is(":checked")&&(a=e.find("h5")).text(a.data("title").format(t.val()));else if(e.addClass("done"),"title"===t.data("preview")){var r="";r+='<div class="rank-math-preview-title" data-title="Preview"><div>',r+='<h5 data-title="'+rankMath.postTitle+" {0} "+rankMath.blogName+'"></h5>',r+="<span>"+rankMath.postUri+"</span>",e.append(r+="</div></div>"),(a=e.find("h5")).text(a.data("title").format(t.val()))}}).trigger("change")}},window.rankMathOptions.init()})}});
1
+ !function(t){var e={};function a(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.m=t,a.c=e,a.d=function(t,e,n){a.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.t=function(t,e){if(1&e&&(t=a(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)a.d(n,r,function(e){return t[e]}.bind(null,r));return n},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,"a",e),e},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.p="",a(a.s=328)}({328:function(t,e,a){"use strict";var n;(n=jQuery)(function(){window.rankMathOptions={init:function(){this.misc(),this.preview(),this.scCache(),rankMathAdmin.variableInserter(),this.searchEngine.init(),this.addressFormat()},searchEngine:{init:function(){this.form=n(".rank-math-search-options"),this.wrap=this.form.closest(".rank-math-wrap-settings"),this.input=this.form.find("input"),this.select=this.form.find("select"),this.tabs=this.wrap.find(".rank-math-tabs"),this.panels=this.wrap.find(".rank-math-tab"),this.indexes={},this.buildIndex(),this.events()},events:function(){var t=this,e=!0,a=t.tabs.find(">.rank-math-tabs-navigation"),r=n('<div class="rank-math-search-dropdown"></div>');t.tabs.find(">.rank-math-tabs-content").prepend('<div class="rank-math-setting-search-empty hidden">No results found.</div>'),t.form.append(r),t.select.val(rankMath.optionPage),r.hide().empty();var o=_.debounce(function(e){t.wrap.addClass("searching"),t.panels.show(),t.searchOptions(e,t.wrap)},300),i=_.debounce(function(e){t.wrap.addClass("searching"),t.searchIndexes(e,r)},300);t.form.on("click",".clear-search",function(e){e.preventDefault(),t.input.val(""),t.clearSearch(a)}),t.select.on("change",function(){e=t.select.val()===rankMath.optionPage,r.hide().empty(),e||(t.clearSearch(a),r.append(t.indexes[t.select.val()])),t.input.trigger("input")}),t.input.on("input",function(){if(""===t.input.val())return t.clearSearch(a,!e&&r),!1;e?o(t.input.val().toLowerCase()):i(t.input.val().toLowerCase())}),r.on("click",".cmb-row",function(){var e=n(this);window.location=location.pathname+"?page=rank-math-options-"+t.select.val()+"#"+e.closest(".dropdown-tab").attr("id")});var s=n(".rank-math-search-options, .rank-math-search-options *, .rank-math-search-dropdown, .rank-math-search-dropdown *");n("body").on("click",function(t){n(t.target).is(s)||r.hide()})},searchIndexes:function(t,e){if(t.trim().length>=1){var a=0;e.find(".cmb-row").hide().each(function(){var e=n(this);e.text().trim().toLowerCase().includes(t)&&(e.show(),++a)}),e.show(),e.toggleClass("empty",0===a)}},searchOptions:function(t,e){if(t.trim().length>=1){n(".cmb-row").hide().each(function(){var e=n(this);e.hasClass("cmb-type-title")?e.hide():e.text().trim().toLowerCase().includes(t)&&e.show()});var a=n(".cmb-row:visible");0===a.length?e.addClass("search-no-results"):(e.removeClass("search-no-results"),a.each(function(){n(this).find("input, select").each(function(){n('span[data-field="'+n(this).attr("name")+'"]').each(function(){rankMathAdmin.loopDependencies(n(this).closest(".rank-math-cmb-dependency"))})})}))}},clearSearch:function(t,e){e=e||!1,this.wrap.removeClass("searching search-no-results"),n(">a.active",t).trigger("click"),e?e.hide():(n(".cmb-row").show(),n(".rank-math-cmb-dependency",".cmb-form, .rank-math-metabox-wrap").each(function(){rankMathAdmin.loopDependencies(n(this))}))},buildIndex:function(){var t=localStorage.getItem("rank-math-option-search-index"),e=localStorage.getItem("rank-math-option-search-premium"),a=void 0===t||rankMath;a=void 0===e||e!==rankMath.hasPremium,["general","titles","sitemap"].forEach(function(t){this.getIndex(t,a)},this),a&&(localStorage.setItem("rank-math-option-search-index",rankMath.version),localStorage.setItem("rank-math-option-search-premium",rankMath.hasPremium))},getIndex:function(t,e){var a=this;e?n("<div/>").load(rankMath.adminurl+"?page=rank-math-options-"+t,function(e,r){if("error"!==r){var o=n(e).find(".rank-math-tabs-content");o.find(".rank-math-tab").removeClass().addClass("dropdown-tab"),o.find(".cmb-row").each(function(){var t=n(this);(t.hasClass("cmb-type-title")||t.hasClass("cmb-type-notice"))&&t.remove(),t.find(".cmb-td").children(":not(.cmb2-metabox-description)").remove(),t.find("label,.cmb2-metabox-description").unwrap(),t.removeAttr("data-fieldtype")}),o=o.html().replace(/(\r\n\t|\n|\r\t)/gm,""),a.indexes[t]=n(o),localStorage.setItem("rank-math-option-"+t+"-index",o)}}):a.indexes[t]=n(localStorage.getItem("rank-math-option-"+t+"-index"))}},scCache:function(){n(".console-cache-delete").on("click",function(t){t.preventDefault();var e=n(this),a=e.data("days");window.confirm((-1===a?"You are about to delete your whole Cache. Every dataset older than 90 days is lost forever!":"You are about to delete your 90 days Cache?")+" Are you sure you want to continue?")&&(e.prop("disabled",!0),rankMathAdmin.ajax("search_console_delete_cache",{days:a},"GET").always(function(){e.prop("disabled",!1)}).done(function(t){t&&t.success&&(rankMathAdmin.addNotice("Cache deleted.","success",n("h1",".rank-math-wrap-settings")),n(".rank-math-console-db-info").remove(),n("#console-updating-manually-progress").before(t.message))}))}),n(".console-cache-update-manually").on("click",function(t){t.preventDefault();var e=n(this),a=n("#console_caching_control").val();e.prop("disabled",!0),rankMathAdmin.ajax("search_console_get_cache",{days:a},"GET").done(function(t){t&&t.success?rankMathAdmin.addNotice(t.message,"success",n("h1.page-title")):rankMathAdmin.addNotice("Unable to update cache due to: "+t.error,"error",n("h1.page-title"))})})},addressFormat:function(){var t=n("body"),e=n("input[type=text], textarea",".rank-math-address-format");if(e.length){e.attr("autocomplete","off"),e.wrap('<div class="rank-math-variables-wrap"/>');var a=e.parent(".rank-math-variables-wrap");a.append('<a href="#" class="rank-math-variables-button button button-secondary button-address"><span class="dashicons dashicons-arrow-down-alt2"></span></a>');var r=n("<ul/>"),o=n('<div class="rank-math-variables-dropdown"></div>');n.each({"{address} {locality}, {region} {postalcode}":"(New York, NY 12345)","{address} {postalcode}, {locality} {region}":"(New York 12345, NY)","{address} {locality} {postalcode}":"(New York NY 12345)","{postalcode} {region} {locality} {address}":"(12345 NY New York)","{address} {locality}":"(New York NY)"},function(t,e){r.append('<li data-var="'+e+'"><strong>'+t+"</strong></li>")}),o.append(r),n("rank-math-variables-wrap:eq(0)").append(o);var i=n(".rank-math-variables-button, .rank-math-variables-button *, .rank-math-variables-dropdown, .rank-math-variables-dropdown *");n(t).on("click",function(t){n(t.target).is(i)||o.hide()});var s=o.find("input"),c=o.find("li");n(a).on("click",".rank-math-variables-button",function(t){t.preventDefault(),n(this).after(o),c.show(),o.show(),s.val("").focus()}),o.on("click","li",function(t){t.preventDefault();var e=n(this);e.closest(".rank-math-variables-wrap").find("textarea").val(e.find("strong").text())})}},misc:function(){void 0!==jQuery.fn.select2&&n("[data-s2-pages]").select2({ajax:{url:rankMath.ajaxurl+"?action=rank_math_search_pages",dataType:"json",delay:250},width:"100%",minimumInputLength:3}),n("#htaccess_accept_changes").on("change",function(){this.checked?n("#htaccess_content").prop("readonly",!1):n("#htaccess_content").prop("readonly",!0)}),n(".reset-options").on("click",function(){return!!confirm("Are you sure? You want to reset settings.")&&(n(window).off("beforeunload"),!0)});var t=n(".rank-math-tabs");setTimeout(function(){localStorage.removeItem(t.attr("id"))},1e3),n(".save-options").on("click",function(){var e=n("> .rank-math-tabs-navigation > a.active",t);return localStorage.setItem(t.attr("id"),e.attr("href")),n(window).off("beforeunload"),!0});var e=!1;n(window).on("load",function(){n(".cmb-form").on("change","input, textarea, select",function(){e=!0})}),n(window).on("beforeunload",function(){if(e)return"Are you sure? You didn't finish the form!"}),n(".custom-sep").on("keyup",function(){var t=n(this),e=t.text();t.closest("li").find("input.cmb2-option").val(e).trigger("change")})},preview:function(){n("[data-preview]").on("change",function(){var t=n(this),e=null,a="";if(t.is(":radio")&&(e=t.closest(".cmb-td")),null!==e)if(e.hasClass("done"))t.is(":checked")&&(a=e.find("h5")).text(a.data("title").format(t.val()));else if(e.addClass("done"),"title"===t.data("preview")){var r="";r+='<div class="rank-math-preview-title" data-title="Preview"><div>',r+='<h5 data-title="'+rankMath.postTitle+" {0} "+rankMath.blogName+'"></h5>',r+="<span>"+rankMath.postUri+"</span>",e.append(r+="</div></div>"),(a=e.find("h5")).text(a.data("title").format(t.val()))}}).trigger("change")}},window.rankMathOptions.init()})}});
assets/admin/js/post-list.js CHANGED
@@ -1 +1 @@
1
- !function(t){var n={};function e(a){if(n[a])return n[a].exports;var r=n[a]={i:a,l:!1,exports:{}};return t[a].call(r.exports,r,r.exports,e),r.l=!0,r.exports}e.m=t,e.c=n,e.d=function(t,n,a){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:a})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(e.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var r in t)e.d(a,r,function(n){return t[n]}.bind(null,r));return a},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=209)}({209:function(t,n,e){"use strict";var a,r;a=jQuery,r={init:function(){this.addButtons(),this.editingEvents(),this.saveEvents()},addButtons:function(){var t=a("#rank_math_seo_details, #rank_math_title, #rank_math_description, #rank_math_image_alt, #rank_math_image_title");t.each(function(){var t=a(this);t.append(' <a href=#" class="dashicons dashicons-edit" title="'+rankMath.bulkEditTitle+'"></a>'),t.wrapInner("<span/>"),t.append(' <span><a href="#" class="button button-primary button-small rank-math-column-save-all">'+rankMath.buttonSaveAll+'</a> <a href="#" class="button-link button-link-delete rank-math-column-cancel-all">'+rankMath.buttonCancel+"</a></span>")}),t.on("click",".dashicons-edit, .rank-math-column-cancel-all",function(n){n.preventDefault();var e=a(this).closest("th");a(this).hasClass("rank-math-column-cancel-all")?(t.removeClass("bulk-editing"),a(".rank-math-column-cancel","td.bulk-editing.dirty").trigger("click"),a("td.bulk-editing").removeClass("bulk-editing")):(e.toggleClass("bulk-editing"),a("td.column-"+e.attr("id")).toggleClass("bulk-editing"))})},editingEvents:function(){a(".rank-math-column-value").on("input",function(){var t=a(this),n=t.closest("td");t.text()!==t.prev().text()?n.addClass("dirty"):n.removeClass("dirty")}).on("keypress",function(t){if(13===t.keyCode)return a(this).parent().find(".rank-math-column-save").trigger("click"),!1}),a(".rank-math-column-cancel").on("click",function(t){t.preventDefault();var n=a(this).closest("td");n.removeClass("dirty");var e=n.find(".rank-math-column-value").prev(".rank-math-column-display");e.find("span").length&&(e=e.find("span")),n.find(".rank-math-column-value").text(e.text())})},saveEvents:function(){var t=this;a(".rank-math-column-save-all").on("click",function(n){n.preventDefault();var e={},r=[];a(".dirty.bulk-editing").each(function(){var t=a(this),n=parseInt(t.closest("tr").attr("id").replace("post-","")),i=t.find(".rank-math-column-value");r.push(t),e[n]=e[n]||{},e[n][i.data("field")]=i.text()}),t.save(e).done(function(n){n.success&&(r.forEach(function(n){t.setColumn(n)}),a(".rank-math-column-cancel-all","#rank_math_seo_details").trigger("click"))})}),a(".rank-math-column-save").on("click",function(n){n.preventDefault();var e=a(this).closest(".dirty"),r=parseInt(e.closest("tr").attr("id").replace("post-","")),i=e.find(".rank-math-column-value"),l={};l[r]={},l[r][i.data("field")]=i.text(),t.save(l).done(function(n){n.success&&t.setColumn(e)})})},setColumn:function(t){t.removeClass("dirty bulk-editing");var n=t.find(".rank-math-column-value").prev(".rank-math-column-display");n.find("span").length&&(n=n.find("span")),n.text(t.find(".rank-math-column-value").text())},save:function(t){return a.ajax({url:ajaxurl,type:"POST",dataType:"json",data:{action:"rank_math_bulk_edit_columns",security:rankMath.security,rows:t}})}},a(function(){r.init()})}});
1
+ !function(t){var n={};function e(a){if(n[a])return n[a].exports;var r=n[a]={i:a,l:!1,exports:{}};return t[a].call(r.exports,r,r.exports,e),r.l=!0,r.exports}e.m=t,e.c=n,e.d=function(t,n,a){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:a})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(e.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var r in t)e.d(a,r,function(n){return t[n]}.bind(null,r));return a},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=329)}({329:function(t,n,e){"use strict";var a,r;a=jQuery,r={init:function(){this.addButtons(),this.editingEvents(),this.saveEvents()},addButtons:function(){var t=a("#rank_math_seo_details, #rank_math_title, #rank_math_description, #rank_math_image_alt, #rank_math_image_title");t.each(function(){var t=a(this);t.append(' <a href=#" class="dashicons dashicons-edit" title="'+rankMath.bulkEditTitle+'"></a>'),t.wrapInner("<span/>"),t.append(' <span><a href="#" class="button button-primary button-small rank-math-column-save-all">'+rankMath.buttonSaveAll+'</a> <a href="#" class="button-link button-link-delete rank-math-column-cancel-all">'+rankMath.buttonCancel+"</a></span>")}),t.on("click",".dashicons-edit, .rank-math-column-cancel-all",function(n){n.preventDefault();var e=a(this).closest("th");a(this).hasClass("rank-math-column-cancel-all")?(t.removeClass("bulk-editing"),a(".rank-math-column-cancel","td.bulk-editing.dirty").trigger("click"),a("td.bulk-editing").removeClass("bulk-editing")):(e.toggleClass("bulk-editing"),a("td.column-"+e.attr("id")).toggleClass("bulk-editing"))})},editingEvents:function(){a(".rank-math-column-value").on("input",function(){var t=a(this),n=t.closest("td");t.text()!==t.prev().text()?n.addClass("dirty"):n.removeClass("dirty")}).on("keypress",function(t){if(13===t.keyCode)return a(this).parent().find(".rank-math-column-save").trigger("click"),!1}),a(".rank-math-column-cancel").on("click",function(t){t.preventDefault();var n=a(this).closest("td");n.removeClass("dirty");var e=n.find(".rank-math-column-value").prev(".rank-math-column-display");e.find("span").length&&(e=e.find("span")),n.find(".rank-math-column-value").text(e.text())})},saveEvents:function(){var t=this;a(".rank-math-column-save-all").on("click",function(n){n.preventDefault();var e={},r=[];a(".dirty.bulk-editing").each(function(){var t=a(this),n=parseInt(t.closest("tr").attr("id").replace("post-","")),i=t.find(".rank-math-column-value");r.push(t),e[n]=e[n]||{},e[n][i.data("field")]=i.text()}),t.save(e).done(function(n){n.success&&(r.forEach(function(n){t.setColumn(n)}),a(".rank-math-column-cancel-all","#rank_math_seo_details").trigger("click"))})}),a(".rank-math-column-save").on("click",function(n){n.preventDefault();var e=a(this).closest(".dirty"),r=parseInt(e.closest("tr").attr("id").replace("post-","")),i=e.find(".rank-math-column-value"),l={};l[r]={},l[r][i.data("field")]=i.text(),t.save(l).done(function(n){n.success&&t.setColumn(e)})})},setColumn:function(t){t.removeClass("dirty bulk-editing");var n=t.find(".rank-math-column-value").prev(".rank-math-column-display");n.find("span").length&&(n=n.find("span")),n.text(t.find(".rank-math-column-value").text())},save:function(t){return a.ajax({url:ajaxurl,type:"POST",dataType:"json",data:{action:"rank_math_bulk_edit_columns",security:rankMath.security,rows:t}})}},a(function(){r.init()})}});
assets/admin/js/post-metabox.js CHANGED
Binary file
assets/admin/js/term-metabox.js CHANGED
Binary file
assets/admin/js/user-metabox.js CHANGED
Binary file
assets/admin/js/validate.js CHANGED
@@ -1 +1 @@
1
- !function(t){var e={};function r(n){if(e[n])return e[n].exports;var a=e[n]={i:n,l:!1,exports:{}};return t[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(n,a,function(e){return t[e]}.bind(null,a));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=260)}({260:function(t,e,r){"use strict";var n;(n=jQuery)(function(){window.rankMathValidate={init:function(){this.extendLibrary(),this.watchFields()},extendLibrary:function(){n.validator.addMethod("regex",function(t,e,r){r="string"==typeof r?r:n(e).data("validate-pattern");var a=RegExp(r);return this.optional(e)||a.test(t)},rankMath.validationl10n.regexErrorDefault),n.extend(n.validator.messages,{required:rankMath.validationl10n.requiredErrorDefault,email:rankMath.validationl10n.emailErrorDefault,url:rankMath.validationl10n.urlErrorDefault}),n.extend(n.validator.defaults,{errorClass:"invalid"})},watchFields:function(){var t=this;n(".rank-math-validate-field").on("focus","input[type=text], input[type=password], input[type=url], input[type=email], input[type=number], textarea",function(){t.fieldValidation(n(this).closest("form"))})},fieldValidation:function(t){return"1"!==t.data("validated")&&(t.data("validated","1").validate(),!0)}},window.rankMathValidate.init()})}});
1
+ !function(t){var e={};function r(n){if(e[n])return e[n].exports;var a=e[n]={i:n,l:!1,exports:{}};return t[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(n,a,function(e){return t[e]}.bind(null,a));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=380)}({380:function(t,e,r){"use strict";var n;(n=jQuery)(function(){window.rankMathValidate={init:function(){this.extendLibrary(),this.watchFields()},extendLibrary:function(){n.validator.addMethod("regex",function(t,e,r){r="string"==typeof r?r:n(e).data("validate-pattern");var a=RegExp(r);return this.optional(e)||a.test(t)},rankMath.validationl10n.regexErrorDefault),n.extend(n.validator.messages,{required:rankMath.validationl10n.requiredErrorDefault,email:rankMath.validationl10n.emailErrorDefault,url:rankMath.validationl10n.urlErrorDefault}),n.extend(n.validator.defaults,{errorClass:"invalid"})},watchFields:function(){var t=this;n(".rank-math-validate-field").on("focus","input[type=text], input[type=password], input[type=url], input[type=email], input[type=number], textarea",function(){t.fieldValidation(n(this).closest("form"))})},fieldValidation:function(t){return"1"!==t.data("validated")&&(t.data("validated","1").validate(),!0)}},window.rankMathValidate.init()})}});
assets/admin/js/wizard.js CHANGED
@@ -1 +1 @@
1
- !function(t){var e={};function n(a){if(e[a])return e[a].exports;var r=e[a]={i:a,l:!1,exports:{}};return t[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=t,n.c=e,n.d=function(t,e,a){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(a,r,function(e){return t[e]}.bind(null,r));return a},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=210)}({210:function(t,e,n){"use strict";var a;(a=jQuery)(function(){window.rankMathSetupWizard={init:function(){rankMath.currentStep in this&&this[rankMath.currentStep](),a(document).on("cmb_init",function(){a(".cmb-multicheck-toggle",".multicheck-checked").trigger("click")})},compatibility:function(){a(".wizard-deactivate-plugin").on("click",function(t){t.preventDefault();var e=a(this);if(!e.hasClass("disabled")){var n=e.closest("tr");a.ajax({url:rankMath.ajaxurl,type:"POST",data:{action:"rank_math_deactivate_plugins",security:rankMath.security,plugin:e.data("plugin")}}).always(function(t){"1"===t?(n.find(".dashicons-warning").removeClass("dashicons-warning").addClass("dashicons-yes"),e.addClass("disabled").text(rankMath.deactivated)):console.log("Deactivation error")})}})},import:function(){function t(t,e){var n=new Date,a=e.val()+"["+(n.getHours()<10?"0":"")+n.getHours()+":"+(n.getMinutes()<10?"0":"")+n.getMinutes()+":"+(n.getSeconds()<10?"0":"")+n.getSeconds()+"] "+t+"\n";e.text(a).scrollTop(e[0].scrollHeight-e.height()-20)}function e(t){100<t&&(t=100),r.find(".number").html(t),r.find("#importBar").css("width",t+"%")}var n=a("#import-progress"),r=a("#import-progress-bar"),i=0,o=0;a(".button-import",".form-footer").on("click",function(i){if(i.preventDefault(),rankMath.isConfigured&&!window.confirm(rankMath.confirm))return!1;var s=a(this),u=a(".import-data:checkbox:checked"),l={},p=[];if(!u.length)return alert("Please select plugin to import data."),!1;a.each(u,function(t){var e=a(this).val(),n=a(this).parents(".cmb-group-description").next().find(":checkbox:checked"),r=n.data("active"),i=a(this).data("plugin");p.push(i);var c=a.map(n,function(t){return t.value});0<c.length&&r&&c.push("deactivate"),o+=c.length,l[e]={plugin:i,actions:c}}),s.prop("disabled",!0),n.show(),r.show(),r.find(".plugin-from").html(p.join()),t("Import started...",n),c(l,n,function(){e(100),s.prop("disabled",!1),a(".button",".form-footer").hide(),a(".button-continue").show()})});var c=function r(c,s,u){var l=Object.keys(c),p=l.length,h=c[l[0]],d=Object.keys(c)[0];if(delete c[d],0===p)return t("Import finished. Click on the button below to continue the Setup Wizard.",s),void u();!function n(r,c,s,u,l,p){if(0!==c.length){var h=c.shift(),d="deactivate"===h?"Deactivating "+p:"Importing "+h+" from "+p,g=Math.floor(100/o);u=u||1,t(d,s),a.ajax({url:rankMath.ajaxurl,type:"POST",data:{perform:h,pluginSlug:r,paged:u,action:"rank_math_import_plugin",security:rankMath.security}}).success(function(a){var o=1;a&&a.page&&a.page<a.total_pages&&(o=a.page+1,c.unshift(h)),a&&a.total_pages&&(g=Math.ceil(g/a.total_pages)),e(i+=g),t(a.success?a.message:a.error,s),n(r,c,s,o,l,p)}).error(function(e){t(e.statusText,s),n(r,c,s,null,l,p)})}else l()}(d,h.actions,n,null,function(){r(c,s,u)},h.plugin)};a(".import-data").on("change",function(){for(var t=this.checked,e=a(this).parents(".cmb-group-description").next().find(".cmb2-option"),n=0;n<e.length;n++)"checkbox"==e[n].type&&(e[n].checked=t);t&&("yoast"===a(this).val()?(a('.import-data[value="aioseo"]').prop("checked",!1).trigger("change"),a('.import-data[value="seopress"]').prop("checked",!1).trigger("change")):"aioseo"===a(this).val()?(a('.import-data[value="yoast"]').prop("checked",!1).trigger("change"),a('.import-data[value="seopress"]').prop("checked",!1).trigger("change")):"seopress"===a(this).val()&&(a('.import-data[value="yoast"]').prop("checked",!1).trigger("change"),a('.import-data[value="aioseo"]').prop("checked",!1).trigger("change")))}),a(".cmb-type-group .cmb2-checkbox-list .cmb2-option").on("click",function(){var t=a(this),e=t.attr("name"),n=t.parents("ul").find('input[name="'+e+'"]:checkbox:checked'),r=t.parents("ul").find('input[name="'+e+'"]');n.length===r.length&&t.parents(".cmb-type-group").find(".import-data").prop("checked",!0).trigger("change")}),a(".button-deactivate-plugins").on("click",function(t){var e=a(this);e.parents("form").find("input[data-active]").length&&(t.preventDefault(),e.text(e.data("deactivate-message")),a.ajax({url:rankMath.ajaxurl,type:"POST",data:{action:"rank_math_deactivate_plugins",security:rankMath.security,plugin:"all"}}).success(function(t){e.parents("form").trigger("submit")}).error(function(t){alert("Something went wrong! Please try again later.")}))})},yoursite:function(){a("#rank-math-search-input").on("input keypress",function(t){var e=a(this),n=e.next();if(13===t.keyCode||13===t.which){if("createEvent"in document){var r=this.ownerDocument,i=r.createEvent("MouseEvents");i.initMouseEvent("click",!0,!0,r.defaultView,1,0,0,0,0,!1,!1,!1,!1,0,null),n[0].dispatchEvent(i)}return!1}n.attr("href",n.data("href")+encodeURIComponent(e.val()))});var t=a("#business_type");0!==parseInt(t.data("default"))&&a("#site_type").on("change",function(){var e=a(this).val();"news"!==e&&"webshop"!==e&&"otherbusiness"!==e||t.val("Organization").trigger("change"),"business"===e&&t.val("LocalBusiness").trigger("change")})},searchconsole:function(){a("#console_authorization_code").on("paste",function(){var t=a(this).next(".button");setTimeout(function(){t.trigger("click")},100)})},ready:function(){a("#show-seo-score").on("change",function(t){a.ajax({url:rankMath.api.root+"rankmath/v1/enableScore",method:"POST",beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",rankMath.api.nonce)},data:{enable:a(this).is(":checked")}}).done(function(t){console.log(t)})}),a(".rank-math-score-image img").on("click",function(t){return t.preventDefault(),a("#show-seo-score").trigger("click"),!1}),a("#auto-update").on("change",function(t){a.ajax({url:rankMath.api.root+"rankmath/v1/autoUpdate",method:"POST",beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",rankMath.api.nonce)},data:{enable:a(this).is(":checked")}}).done(function(t){console.log(t)})})}},window.rankMathSetupWizard.init()})}});
1
+ !function(t){var e={};function n(a){if(e[a])return e[a].exports;var r=e[a]={i:a,l:!1,exports:{}};return t[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=t,n.c=e,n.d=function(t,e,a){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(a,r,function(e){return t[e]}.bind(null,r));return a},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=330)}({330:function(t,e,n){"use strict";var a;(a=jQuery)(function(){window.rankMathSetupWizard={init:function(){rankMath.currentStep in this&&this[rankMath.currentStep](),a(document).on("cmb_init",function(){a(".cmb-multicheck-toggle",".multicheck-checked").trigger("click")})},compatibility:function(){a(".wizard-deactivate-plugin").on("click",function(t){t.preventDefault();var e=a(this);if(!e.hasClass("disabled")){var n=e.closest("tr");a.ajax({url:rankMath.ajaxurl,type:"POST",data:{action:"rank_math_deactivate_plugins",security:rankMath.security,plugin:e.data("plugin")}}).always(function(t){"1"===t?(n.find(".dashicons-warning").removeClass("dashicons-warning").addClass("dashicons-yes"),e.addClass("disabled").text(rankMath.deactivated)):console.log("Deactivation error")})}})},import:function(){var t=a("#import-progress"),e=a("#import-progress-bar"),n=0,r=0,i=function(t,e){var n=new Date,a=e.val()+"["+(10>n.getHours()?"0":"")+n.getHours()+":"+(10>n.getMinutes()?"0":"")+n.getMinutes()+":"+(10>n.getSeconds()?"0":"")+n.getSeconds()+"] "+t+"\n";e.text(a).scrollTop(e[0].scrollHeight-e.height()-20)},o=function(t){t>100&&(t=100),e.find(".number").html(t),e.find("#importBar").css("width",t+"%")};a(".button-import",".form-footer").on("click",function(n){if(n.preventDefault(),rankMath.isConfigured&&!window.confirm(rankMath.confirm))return!1;var s=a(this),u=a(".import-data:checkbox:checked"),l={},p=[];if(!u.length)return alert("Please select plugin to import data."),!1;a.each(u,function(t){var e=a(this).val(),n=a(this).parents(".cmb-group-description").next().find(":checkbox:checked"),i=n.data("active"),o=a(this).data("plugin");p.push(o);var c=a.map(n,function(t){return t.value});c.length>0&&i&&c.push("deactivate"),r+=c.length,l[e]={plugin:o,actions:c}}),s.prop("disabled",!0),t.show(),e.show(),e.find(".plugin-from").html(p.join()),i("Import started...",t),c(l,t,function(){o(100),s.prop("disabled",!1),a(".button",".form-footer").hide(),a(".button-continue").show()})});var c=function e(c,s,u){var l=Object.keys(c),p=l.length,h=c[l[0]],d=Object.keys(c)[0];if(delete c[d],0===p)return i("Import finished. Click on the button below to continue the Setup Wizard.",s),void u();!function t(e,c,s,u,l,p){if(0!==c.length){var h=c.shift(),d="deactivate"===h?"Deactivating "+p:"Importing "+h+" from "+p,g=Math.floor(100/r);u=u||1,i(d,s),a.ajax({url:rankMath.ajaxurl,type:"POST",data:{perform:h,pluginSlug:e,paged:u,action:"rank_math_import_plugin",security:rankMath.security}}).success(function(a){var r=1;a&&a.page&&a.total_pages>a.page&&(r=a.page+1,c.unshift(h)),a&&a.total_pages&&(g=Math.ceil(g/a.total_pages)),o(n+=g),i(a.success?a.message:a.error,s),t(e,c,s,r,l,p)}).error(function(n){i(n.statusText,s),t(e,c,s,null,l,p)})}else l()}(d,h.actions,t,null,function(){e(c,s,u)},h.plugin)};a(".import-data").on("change",function(){for(var t=this.checked,e=a(this).parents(".cmb-group-description").next().find(".cmb2-option"),n=0;e.length>n;n++)"checkbox"==e[n].type&&(e[n].checked=t);t&&("yoast"===a(this).val()?(a('.import-data[value="aioseo"]').prop("checked",!1).trigger("change"),a('.import-data[value="seopress"]').prop("checked",!1).trigger("change")):"aioseo"===a(this).val()?(a('.import-data[value="yoast"]').prop("checked",!1).trigger("change"),a('.import-data[value="seopress"]').prop("checked",!1).trigger("change")):"seopress"===a(this).val()&&(a('.import-data[value="yoast"]').prop("checked",!1).trigger("change"),a('.import-data[value="aioseo"]').prop("checked",!1).trigger("change")))}),a(".cmb-type-group .cmb2-checkbox-list .cmb2-option").on("click",function(){var t=a(this),e=t.attr("name"),n=t.parents("ul").find('input[name="'+e+'"]:checkbox:checked'),r=t.parents("ul").find('input[name="'+e+'"]');n.length===r.length&&t.parents(".cmb-type-group").find(".import-data").prop("checked",!0).trigger("change")}),a(".button-deactivate-plugins").on("click",function(t){var e=a(this);e.parents("form").find("input[data-active]").length&&(t.preventDefault(),e.text(e.data("deactivate-message")),a.ajax({url:rankMath.ajaxurl,type:"POST",data:{action:"rank_math_deactivate_plugins",security:rankMath.security,plugin:"all"}}).success(function(t){e.parents("form").trigger("submit")}).error(function(t){alert("Something went wrong! Please try again later.")}))})},yoursite:function(){a("#rank-math-search-input").on("input keypress",function(t){var e=a(this),n=e.next();if(13===t.keyCode||13===t.which){if("createEvent"in document){var r=this.ownerDocument,i=r.createEvent("MouseEvents");i.initMouseEvent("click",!0,!0,r.defaultView,1,0,0,0,0,!1,!1,!1,!1,0,null),n[0].dispatchEvent(i)}return!1}n.attr("href",n.data("href")+encodeURIComponent(e.val()))});var t=a("#business_type");0!==parseInt(t.data("default"))&&a("#site_type").on("change",function(){var e=a(this).val();"news"!==e&&"webshop"!==e&&"otherbusiness"!==e||t.val("Organization").trigger("change"),"business"===e&&t.val("LocalBusiness").trigger("change")})},searchconsole:function(){a("#console_authorization_code").on("paste",function(){var t=a(this).next(".button");setTimeout(function(){t.trigger("click")},100)})},ready:function(){a("#show-seo-score").on("change",function(t){a.ajax({url:rankMath.api.root+"rankmath/v1/enableScore",method:"POST",beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",rankMath.api.nonce)},data:{enable:a(this).is(":checked")}}).done(function(t){console.log(t)})}),a(".rank-math-score-image img").on("click",function(t){return t.preventDefault(),a("#show-seo-score").trigger("click"),!1}),a("#auto-update").on("change",function(t){a.ajax({url:rankMath.api.root+"rankmath/v1/autoUpdate",method:"POST",beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",rankMath.api.nonce)},data:{enable:a(this).is(":checked")}}).done(function(t){console.log(t)})})}},window.rankMathSetupWizard.init()})}});
assets/admin/js/wplink.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=211)}({211:function(e,t){function n(){return p||a.dom.getParent(a.selection.getNode(),"a[href]")}var i,r,l,a,o,s,c,u,p,d,h,f,w,k;i=jQuery,r=window.wpLinkL10n,l=window.wp,d=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,63}$/i,h=/^(https?|ftp):\/\/[A-Z0-9.-]+\.[A-Z]{2,63}[^ "]*$/i,f={},w={},k="ontouchend"in document,window.wpLink={timeToTriggerRiver:150,minRiverAJAXDuration:200,riverBottomThreshold:5,keySensitivity:100,lastSearch:"",textarea:"",modalOpen:!1,init:function(){f.wrap=i("#wp-link-wrap"),f.dialog=i("#wp-link"),f.backdrop=i("#wp-link-backdrop"),f.submit=i("#wp-link-submit"),f.close=i("#wp-link-close");var e=i('<div class="link-nofollow"><label><span> </span> <input type="checkbox" id="wp-link-nofollow"> '+r.relCheckbox+"</label></div>"),t=i('<div class="wp-link-title-field"> <label><span>'+r.linkTitle+'</span> <input id="wp-link-title" type="text"></label></div>');e.insertAfter("#wp-link .link-target"),t.insertAfter("#wp-link .wp-link-text-field"),i("#wp-link .query-results").css("top","260px"),f.text=i("#wp-link-text"),f.url=i("#wp-link-url"),f.nonce=i("#_ajax_linking_nonce"),f.openInNewTab=i("#wp-link-target"),f.search=i("#wp-link-search"),f.nofollow=i("#wp-link-nofollow"),f.title=i("#wp-link-title"),w.search=new s(i("#search-results")),w.recent=new s(i("#most-recent-results")),w.elements=f.dialog.find(".query-results"),f.queryNotice=i("#query-notice-message"),f.queryNoticeTextDefault=f.queryNotice.find(".query-notice-default"),f.queryNoticeTextHint=f.queryNotice.find(".query-notice-hint"),f.dialog.keydown(wpLink.keydown),f.dialog.keyup(wpLink.keyup),f.submit.click(function(e){e.preventDefault(),wpLink.update()}),f.close.add(f.backdrop).add("#wp-link-cancel button").click(function(e){e.preventDefault(),wpLink.close()}),w.elements.on("river-select",wpLink.updateFields),f.search.on("focus.wplink",function(){f.queryNoticeTextDefault.hide(),f.queryNoticeTextHint.removeClass("screen-reader-text").show()}).on("blur.wplink",function(){f.queryNoticeTextDefault.show(),f.queryNoticeTextHint.addClass("screen-reader-text").hide()}),f.search.on("keyup input",function(){window.clearTimeout(o),o=window.setTimeout(function(){wpLink.searchInternalLinks()},500)}),f.url.on("paste",function(){setTimeout(wpLink.correctURL,0)}),f.url.on("blur",wpLink.correctURL)},correctURL:function(){var e=i.trim(f.url.val());e&&u!==e&&!/^(?:[a-z]+:|#|\?|\.|\/)/.test(e)&&(f.url.val("http://"+e),u=e)},open:function(e,t,n,r){var l,o=i(document.body);o.addClass("modal-open"),wpLink.modalOpen=!0,p=r,wpLink.range=null,e&&(window.wpActiveEditor=e),window.wpActiveEditor&&(this.textarea=i("#"+window.wpActiveEditor).get(0),void 0!==window.tinymce&&(o.append(f.backdrop,f.wrap),l=window.tinymce.get(window.wpActiveEditor),a=l&&!l.isHidden()?l:null),!wpLink.isMCE()&&document.selection&&(this.textarea.focus(),this.range=document.selection.createRange()),f.wrap.show(),f.backdrop.show(),wpLink.refresh(t,n),i(document).trigger("wplink-open",f.wrap))},isMCE:function(){return a&&!a.isHidden()},refresh:function(e,t){w.search.refresh(),w.recent.refresh(),wpLink.isMCE()?wpLink.mceRefresh(e,t):(f.wrap.hasClass("has-text-field")||f.wrap.addClass("has-text-field"),document.selection?document.selection.createRange():void 0!==this.textarea.selectionStart&&this.textarea.selectionStart!==this.textarea.selectionEnd&&(t=this.textarea.value.substring(this.textarea.selectionStart,this.textarea.selectionEnd)||t||""),f.text.val(t),wpLink.setDefaultValues()),k?f.url.focus().blur():window.setTimeout(function(){f.url[0].select(),f.url.focus()}),w.recent.ul.children().length||w.recent.ajax(),u=f.url.val().replace(/^http:\/\//,"")},hasSelectedText:function(e){var t,n,i,r=a.selection.getContent();if(/</.test(r)&&(!/^<a [^>]+>[^<]+<\/a>$/.test(r)||!~r.indexOf("href=")))return!1;if(e){if(0===(n=e.childNodes).length)return!1;for(i=n.length-1;0<=i;i--)if(3!=(t=n[i]).nodeType&&!window.tinymce.dom.BookmarkManager.isBookmarkNode(t))return!1}return!0},mceRefresh:function(e,t){var l,o,s=n(),c=this.hasSelectedText(s);s?(l=s.textContent||s.innerText,o=a.dom.getAttrib(s,"href"),i.trim(l)||(l=t||""),e&&(h.test(e)||d.test(e))&&(o=e),"_wp_link_placeholder"!==o?(f.url.val(o),f.openInNewTab.prop("checked","_blank"===a.dom.getAttrib(s,"target")),f.nofollow.prop("checked","nofollow"===a.dom.getAttrib(s,"rel")),f.title.val(a.dom.getAttrib(s,"title")),f.submit.val(r.update)):this.setDefaultValues(l),f.search.val(e&&e!==o?e:""),window.setTimeout(function(){wpLink.searchInternalLinks()})):(l=a.selection.getContent({format:"text"})||t||"",this.setDefaultValues(l)),c?(f.text.val(l),f.wrap.addClass("has-text-field")):(f.text.val(""),f.wrap.removeClass("has-text-field"))},close:function(e){i(document.body).removeClass("modal-open"),wpLink.modalOpen=!1,"noReset"!==e&&(wpLink.isMCE()?(a.plugins.wplink&&a.plugins.wplink.close(),a.focus()):(wpLink.textarea.focus(),wpLink.range&&(wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select()))),f.backdrop.hide(),f.wrap.hide(),f.title.val(""),u=!1,i(document).trigger("wplink-close",f.wrap)},getAttrs:function(){wpLink.correctURL();var e={href:i.trim(f.url.val()),target:f.openInNewTab.prop("checked")?"_blank":null,rel:f.nofollow.prop("checked")?"nofollow":""};return i.trim(f.title.val())&&(e.title=i.trim(f.title.val())),e},buildHtml:function(e){var t='<a href="'+e.href+'"';return e.target&&(t+=' target="'+e.target+'"'),e.rel&&(t+=' rel="'+e.rel+'"'),e.title&&(t+=' title="'+e.title+'"'),t+">"},update:function(){wpLink.isMCE()?wpLink.mceUpdate():wpLink.htmlUpdate()},htmlUpdate:function(){var e,t,n,a,o,s,c,u=wpLink.textarea;if(u){e=wpLink.getAttrs(),t=f.text.val();var p=document.createElement("a");p.href=e.href,"javascript:"!==p.protocol&&"data:"!==p.protocol||(e.href=""),e.href&&(n=wpLink.buildHtml(e),document.selection&&wpLink.range?(u.focus(),wpLink.range.text=n+(t||wpLink.range.text)+"</a>",wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select(),wpLink.range=null):void 0!==u.selectionStart&&(o=u.selectionEnd,s=(a=u.selectionStart)+(n=n+(c=t||u.value.substring(a,o))+"</a>").length,a!==o||c||(s-=4),u.value=u.value.substring(0,a)+n+u.value.substring(o,u.value.length),u.selectionStart=u.selectionEnd=s),wpLink.close(),u.focus(),i(u).trigger("change"),l.a11y.speak(r.linkInserted))}},mceUpdate:function(){var e,t,o,s,c=wpLink.getAttrs(),u=document.createElement("a");if(u.href=c.href,"javascript:"!==u.protocol&&"data:"!==u.protocol||(c.href=""),!c.href)return a.execCommand("unlink"),void wpLink.close();e=a.$(n()),a.undoManager.transact(function(){e.length||(a.execCommand("mceInsertLink",!1,{href:"_wp_link_placeholder","data-wp-temp-link":1}),e=a.$('a[data-wp-temp-link="1"]').removeAttr("data-wp-temp-link"),o=i.trim(e.text())),e.length?(f.wrap.hasClass("has-text-field")&&((t=f.text.val())?e.text(t):o||e.text(c.href)),c["data-wplink-edit"]=null,c["data-mce-href"]=null,c.hasOwnProperty("rel")&&!c.rel&&(c.rel=null),e.attr(c)):a.execCommand("unlink")}),wpLink.close("noReset"),a.focus(),e.length&&((s=e.parent("#_mce_caret")).length&&s.before(e.removeAttr("data-mce-bogus")),a.selection.select(e[0]),a.selection.collapse(),a.plugins.wplink&&a.plugins.wplink.checkLink(e[0])),a.nodeChanged(),f.title.val(""),l.a11y.speak(r.linkInserted)},updateFields:function(e,t){f.url.val(t.children(".item-permalink").val())},getUrlFromSelection:function(e){return e||(this.isMCE()?e=a.selection.getContent({format:"text"}):document.selection&&wpLink.range?e=wpLink.range.text:void 0!==this.textarea.selectionStart&&(e=this.textarea.value.substring(this.textarea.selectionStart,this.textarea.selectionEnd))),(e=i.trim(e))&&d.test(e)?"mailto:"+e:e&&h.test(e)?e.replace(/&amp;|&#0?38;/gi,"&"):""},setDefaultValues:function(e){f.url.val(this.getUrlFromSelection(e)),f.search.val(""),wpLink.searchInternalLinks(),f.submit.val(r.save)},searchInternalLinks:function(){var e,t=f.search.val()||"";if(2<t.length){if(w.recent.hide(),w.search.show(),wpLink.lastSearch===t)return;wpLink.lastSearch=t,e=f.search.parent().find(".spinner").addClass("is-active"),w.search.change(t),w.search.ajax(function(){e.removeClass("is-active")})}else w.search.hide(),w.recent.show()},next:function(){w.search.next(),w.recent.next()},prev:function(){w.search.prev(),w.recent.prev()},keydown:function(e){var t,n;27===e.keyCode?(wpLink.close(),e.stopImmediatePropagation()):9===e.keyCode&&("wp-link-submit"!==(n=e.target.id)||e.shiftKey?"wp-link-close"===n&&e.shiftKey&&(f.submit.focus(),e.preventDefault()):(f.close.focus(),e.preventDefault())),e.shiftKey||38!==e.keyCode&&40!==e.keyCode||document.activeElement&&("link-title-field"===document.activeElement.id||"url-field"===document.activeElement.id)||(t=38===e.keyCode?"prev":"next",clearInterval(wpLink.keyInterval),wpLink[t](),wpLink.keyInterval=setInterval(wpLink[t],wpLink.keySensitivity),e.preventDefault())},keyup:function(e){38!==e.keyCode&&40!==e.keyCode||(clearInterval(wpLink.keyInterval),e.preventDefault())},delayedCallback:function(e,t){var n,i,r,l;return t?(setTimeout(function(){if(i)return e.apply(l,r);n=!0},t),function(){if(n)return e.apply(this,arguments);r=arguments,l=this,i=!0}):e}},s=function(e,t){var n=this;this.element=e,this.ul=e.children("ul"),this.contentHeight=e.children("#link-selector-height"),this.waiting=e.find(".river-waiting"),this.change(t),this.refresh(),i("#wp-link .query-results, #wp-link #link-selector").scroll(function(){n.maybeLoad()}),e.on("click","li",function(e){n.select(i(this),e)})},i.extend(s.prototype,{refresh:function(){this.deselect(),this.visible=this.element.is(":visible")},show:function(){this.visible||(this.deselect(),this.element.show(),this.visible=!0)},hide:function(){this.element.hide(),this.visible=!1},select:function(e,t){var n,i,r,l;e.hasClass("unselectable")||e===this.selected||(this.deselect(),this.selected=e.addClass("selected"),n=e.outerHeight(),i=this.element.height(),r=e.position().top,l=this.element.scrollTop(),r<0?this.element.scrollTop(l+r):i<r+n&&this.element.scrollTop(l+r-i+n),this.element.trigger("river-select",[e,t,this]))},deselect:function(){this.selected&&this.selected.removeClass("selected"),this.selected=!1},prev:function(){var e;this.visible&&this.selected&&(e=this.selected.prev("li")).length&&this.select(e)},next:function(){if(this.visible){var e=this.selected?this.selected.next("li"):i("li:not(.unselectable):first",this.element);e.length&&this.select(e)}},ajax:function(e){var t=this,n=1==this.query.page?0:wpLink.minRiverAJAXDuration,i=wpLink.delayedCallback(function(n,i){t.process(n,i),e&&e(n,i)},n);this.query.ajax(i)},change:function(e){this.query&&this._search===e||(this._search=e,this.query=new c(e),this.element.scrollTop(0))},process:function(e,t){var n="",l=!0,a="",o=1===t.page;e?i.each(e,function(){a=l?"alternate":"",n+=(a+=this.title?"":" no-title")?'<li class="'+a+'">':"<li>",n+='<input type="hidden" class="item-permalink" value="'+this.permalink+'" />',n+='<span class="item-title">',n+=this.title?this.title:r.noTitle,n+='</span><span class="item-info">'+this.info+"</span></li>",l=!l}):o&&(n+='<li class="unselectable no-matches-found"><span class="item-title"><em>'+r.noMatchesFound+"</em></span></li>"),this.ul[o?"html":"append"](n)},maybeLoad:function(){var e=this,t=this.element,n=t.scrollTop()+t.height();this.query.ready()&&n>=this.contentHeight.height()-wpLink.riverBottomThreshold&&setTimeout(function(){var n=t.scrollTop(),i=n+t.height();e.query.ready()&&i>=e.contentHeight.height()-wpLink.riverBottomThreshold&&(e.waiting.addClass("is-active"),t.scrollTop(n+e.waiting.outerHeight()),e.ajax(function(){e.waiting.removeClass("is-active")}))},wpLink.timeToTriggerRiver)}}),i.extend((c=function(e){this.page=1,this.allLoaded=!1,this.querying=!1,this.search=e}).prototype,{ready:function(){return!(this.querying||this.allLoaded)},ajax:function(e){var t=this,n={action:"wp-link-ajax",page:this.page,_ajax_linking_nonce:f.nonce.val()};this.search&&(n.search=this.search),this.querying=!0,i.post(window.ajaxurl,n,function(i){t.page++,t.querying=!1,t.allLoaded=!i,e(i,n)},"json")}}),i(document).ready(wpLink.init)}});
1
+ !function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=331)}({331:function(e,t){!function(e,t,n){var i,r,l,a,o,s,c=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,63}$/i,u=/^(https?|ftp):\/\/[A-Z0-9.-]+\.[A-Z]{2,63}[^ "]*$/i,p={},d={},h="ontouchend"in document;function f(){return s||i.dom.getParent(i.selection.getNode(),"a[href]")}window.wpLink={timeToTriggerRiver:150,minRiverAJAXDuration:200,riverBottomThreshold:5,keySensitivity:100,lastSearch:"",textarea:"",modalOpen:!1,init:function(){p.wrap=e("#wp-link-wrap"),p.dialog=e("#wp-link"),p.backdrop=e("#wp-link-backdrop"),p.submit=e("#wp-link-submit"),p.close=e("#wp-link-close");var n=e('<div class="link-nofollow"><label><span> </span> <input type="checkbox" id="wp-link-nofollow"> '+t.relCheckbox+"</label></div>"),i=e('<div class="wp-link-title-field"> <label><span>'+t.linkTitle+'</span> <input id="wp-link-title" type="text"></label></div>');n.insertAfter("#wp-link .link-target"),i.insertAfter("#wp-link .wp-link-text-field"),e("#wp-link .query-results").css("top","260px"),p.text=e("#wp-link-text"),p.url=e("#wp-link-url"),p.nonce=e("#_ajax_linking_nonce"),p.openInNewTab=e("#wp-link-target"),p.search=e("#wp-link-search"),p.nofollow=e("#wp-link-nofollow"),p.title=e("#wp-link-title"),d.search=new l(e("#search-results")),d.recent=new l(e("#most-recent-results")),d.elements=p.dialog.find(".query-results"),p.queryNotice=e("#query-notice-message"),p.queryNoticeTextDefault=p.queryNotice.find(".query-notice-default"),p.queryNoticeTextHint=p.queryNotice.find(".query-notice-hint"),p.dialog.keydown(wpLink.keydown),p.dialog.keyup(wpLink.keyup),p.submit.click(function(e){e.preventDefault(),wpLink.update()}),p.close.add(p.backdrop).add("#wp-link-cancel button").click(function(e){e.preventDefault(),wpLink.close()}),d.elements.on("river-select",wpLink.updateFields),p.search.on("focus.wplink",function(){p.queryNoticeTextDefault.hide(),p.queryNoticeTextHint.removeClass("screen-reader-text").show()}).on("blur.wplink",function(){p.queryNoticeTextDefault.show(),p.queryNoticeTextHint.addClass("screen-reader-text").hide()}),p.search.on("keyup input",function(){window.clearTimeout(r),r=window.setTimeout(function(){wpLink.searchInternalLinks()},500)}),p.url.on("paste",function(){setTimeout(wpLink.correctURL,0)}),p.url.on("blur",wpLink.correctURL)},correctURL:function(){var t=e.trim(p.url.val());t&&o!==t&&!/^(?:[a-z]+:|#|\?|\.|\/)/.test(t)&&(p.url.val("http://"+t),o=t)},open:function(t,n,r,l){var a,o=e(document.body);o.addClass("modal-open"),wpLink.modalOpen=!0,s=l,wpLink.range=null,t&&(window.wpActiveEditor=t),window.wpActiveEditor&&(this.textarea=e("#"+window.wpActiveEditor).get(0),void 0!==window.tinymce&&(o.append(p.backdrop,p.wrap),a=window.tinymce.get(window.wpActiveEditor),i=a&&!a.isHidden()?a:null),!wpLink.isMCE()&&document.selection&&(this.textarea.focus(),this.range=document.selection.createRange()),p.wrap.show(),p.backdrop.show(),wpLink.refresh(n,r),e(document).trigger("wplink-open",p.wrap))},isMCE:function(){return i&&!i.isHidden()},refresh:function(e,t){d.search.refresh(),d.recent.refresh(),wpLink.isMCE()?wpLink.mceRefresh(e,t):(p.wrap.hasClass("has-text-field")||p.wrap.addClass("has-text-field"),document.selection?document.selection.createRange().text:void 0!==this.textarea.selectionStart&&this.textarea.selectionStart!==this.textarea.selectionEnd&&(t=this.textarea.value.substring(this.textarea.selectionStart,this.textarea.selectionEnd)||t||""),p.text.val(t),wpLink.setDefaultValues()),h?p.url.focus().blur():window.setTimeout(function(){p.url[0].select(),p.url.focus()}),d.recent.ul.children().length||d.recent.ajax(),o=p.url.val().replace(/^http:\/\//,"")},hasSelectedText:function(e){var t,n,r,l=i.selection.getContent();if(/</.test(l)&&(!/^<a [^>]+>[^<]+<\/a>$/.test(l)||-1===l.indexOf("href=")))return!1;if(e){if(0===(n=e.childNodes).length)return!1;for(r=n.length-1;r>=0;r--)if(3!=(t=n[r]).nodeType&&!window.tinymce.dom.BookmarkManager.isBookmarkNode(t))return!1}return!0},mceRefresh:function(n,r){var l,a,o=f(),s=this.hasSelectedText(o);o?(l=o.textContent||o.innerText,a=i.dom.getAttrib(o,"href"),e.trim(l)||(l=r||""),n&&(u.test(n)||c.test(n))&&(a=n),"_wp_link_placeholder"!==a?(p.url.val(a),p.openInNewTab.prop("checked","_blank"===i.dom.getAttrib(o,"target")),p.nofollow.prop("checked","nofollow"===i.dom.getAttrib(o,"rel")),p.title.val(i.dom.getAttrib(o,"title")),p.submit.val(t.update)):this.setDefaultValues(l),p.search.val(n&&n!==a?n:""),window.setTimeout(function(){wpLink.searchInternalLinks()})):(l=i.selection.getContent({format:"text"})||r||"",this.setDefaultValues(l)),s?(p.text.val(l),p.wrap.addClass("has-text-field")):(p.text.val(""),p.wrap.removeClass("has-text-field"))},close:function(t){e(document.body).removeClass("modal-open"),wpLink.modalOpen=!1,"noReset"!==t&&(wpLink.isMCE()?(i.plugins.wplink&&i.plugins.wplink.close(),i.focus()):(wpLink.textarea.focus(),wpLink.range&&(wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select()))),p.backdrop.hide(),p.wrap.hide(),p.title.val(""),o=!1,e(document).trigger("wplink-close",p.wrap)},getAttrs:function(){wpLink.correctURL();var t={href:e.trim(p.url.val()),target:p.openInNewTab.prop("checked")?"_blank":null,rel:p.nofollow.prop("checked")?"nofollow":""};return e.trim(p.title.val())&&(t.title=e.trim(p.title.val())),t},buildHtml:function(e){var t='<a href="'+e.href+'"';return e.target&&(t+=' target="'+e.target+'"'),e.rel&&(t+=' rel="'+e.rel+'"'),e.title&&(t+=' title="'+e.title+'"'),t+">"},update:function(){wpLink.isMCE()?wpLink.mceUpdate():wpLink.htmlUpdate()},htmlUpdate:function(){var i,r,l,a,o,s,c,u=wpLink.textarea;if(u){i=wpLink.getAttrs(),r=p.text.val();var d=document.createElement("a");d.href=i.href,"javascript:"!==d.protocol&&"data:"!==d.protocol||(i.href=""),i.href&&(l=wpLink.buildHtml(i),document.selection&&wpLink.range?(u.focus(),wpLink.range.text=l+(r||wpLink.range.text)+"</a>",wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select(),wpLink.range=null):void 0!==u.selectionStart&&(o=u.selectionEnd,s=(a=u.selectionStart)+(l=l+(c=r||u.value.substring(a,o))+"</a>").length,a!==o||c||(s-=4),u.value=u.value.substring(0,a)+l+u.value.substring(o,u.value.length),u.selectionStart=u.selectionEnd=s),wpLink.close(),u.focus(),e(u).trigger("change"),n.a11y.speak(t.linkInserted))}},mceUpdate:function(){var r,l,a,o,s=wpLink.getAttrs(),c=document.createElement("a");if(c.href=s.href,"javascript:"!==c.protocol&&"data:"!==c.protocol||(s.href=""),!s.href)return i.execCommand("unlink"),void wpLink.close();r=i.$(f()),i.undoManager.transact(function(){r.length||(i.execCommand("mceInsertLink",!1,{href:"_wp_link_placeholder","data-wp-temp-link":1}),r=i.$('a[data-wp-temp-link="1"]').removeAttr("data-wp-temp-link"),a=e.trim(r.text())),r.length?(p.wrap.hasClass("has-text-field")&&((l=p.text.val())?r.text(l):a||r.text(s.href)),s["data-wplink-edit"]=null,s["data-mce-href"]=null,s.hasOwnProperty("rel")&&!s.rel&&(s.rel=null),r.attr(s)):i.execCommand("unlink")}),wpLink.close("noReset"),i.focus(),r.length&&((o=r.parent("#_mce_caret")).length&&o.before(r.removeAttr("data-mce-bogus")),i.selection.select(r[0]),i.selection.collapse(),i.plugins.wplink&&i.plugins.wplink.checkLink(r[0])),i.nodeChanged(),p.title.val(""),n.a11y.speak(t.linkInserted)},updateFields:function(e,t){p.url.val(t.children(".item-permalink").val())},getUrlFromSelection:function(t){return t||(this.isMCE()?t=i.selection.getContent({format:"text"}):document.selection&&wpLink.range?t=wpLink.range.text:void 0!==this.textarea.selectionStart&&(t=this.textarea.value.substring(this.textarea.selectionStart,this.textarea.selectionEnd))),(t=e.trim(t))&&c.test(t)?"mailto:"+t:t&&u.test(t)?t.replace(/&amp;|&#0?38;/gi,"&"):""},setDefaultValues:function(e){p.url.val(this.getUrlFromSelection(e)),p.search.val(""),wpLink.searchInternalLinks(),p.submit.val(t.save)},searchInternalLinks:function(){var e,t=p.search.val()||"";if(t.length>2){if(d.recent.hide(),d.search.show(),wpLink.lastSearch===t)return;wpLink.lastSearch=t,e=p.search.parent().find(".spinner").addClass("is-active"),d.search.change(t),d.search.ajax(function(){e.removeClass("is-active")})}else d.search.hide(),d.recent.show()},next:function(){d.search.next(),d.recent.next()},prev:function(){d.search.prev(),d.recent.prev()},keydown:function(e){var t,n;27===e.keyCode?(wpLink.close(),e.stopImmediatePropagation()):9===e.keyCode&&("wp-link-submit"!==(n=e.target.id)||e.shiftKey?"wp-link-close"===n&&e.shiftKey&&(p.submit.focus(),e.preventDefault()):(p.close.focus(),e.preventDefault())),e.shiftKey||38!==e.keyCode&&40!==e.keyCode||(!document.activeElement||"link-title-field"!==document.activeElement.id&&"url-field"!==document.activeElement.id)&&(t=38===e.keyCode?"prev":"next",clearInterval(wpLink.keyInterval),wpLink[t](),wpLink.keyInterval=setInterval(wpLink[t],wpLink.keySensitivity),e.preventDefault())},keyup:function(e){38!==e.keyCode&&40!==e.keyCode||(clearInterval(wpLink.keyInterval),e.preventDefault())},delayedCallback:function(e,t){var n,i,r,l;return t?(setTimeout(function(){if(i)return e.apply(l,r);n=!0},t),function(){if(n)return e.apply(this,arguments);r=arguments,l=this,i=!0}):e}},e.extend((l=function(t,n){var i=this;this.element=t,this.ul=t.children("ul"),this.contentHeight=t.children("#link-selector-height"),this.waiting=t.find(".river-waiting"),this.change(n),this.refresh(),e("#wp-link .query-results, #wp-link #link-selector").scroll(function(){i.maybeLoad()}),t.on("click","li",function(t){i.select(e(this),t)})}).prototype,{refresh:function(){this.deselect(),this.visible=this.element.is(":visible")},show:function(){this.visible||(this.deselect(),this.element.show(),this.visible=!0)},hide:function(){this.element.hide(),this.visible=!1},select:function(e,t){var n,i,r,l;e.hasClass("unselectable")||e===this.selected||(this.deselect(),this.selected=e.addClass("selected"),n=e.outerHeight(),i=this.element.height(),r=e.position().top,l=this.element.scrollTop(),0>r?this.element.scrollTop(l+r):r+n>i&&this.element.scrollTop(l+r-i+n),this.element.trigger("river-select",[e,t,this]))},deselect:function(){this.selected&&this.selected.removeClass("selected"),this.selected=!1},prev:function(){var e;this.visible&&this.selected&&(e=this.selected.prev("li")).length&&this.select(e)},next:function(){if(this.visible){var t=this.selected?this.selected.next("li"):e("li:not(.unselectable):first",this.element);t.length&&this.select(t)}},ajax:function(e){var t=this,n=1==this.query.page?0:wpLink.minRiverAJAXDuration,i=wpLink.delayedCallback(function(n,i){t.process(n,i),e&&e(n,i)},n);this.query.ajax(i)},change:function(e){this.query&&this._search===e||(this._search=e,this.query=new a(e),this.element.scrollTop(0))},process:function(n,i){var r="",l=!0,a="",o=1===i.page;n?e.each(n,function(){a=l?"alternate":"",r+=(a+=this.title?"":" no-title")?'<li class="'+a+'">':"<li>",r+='<input type="hidden" class="item-permalink" value="'+this.permalink+'" />',r+='<span class="item-title">',r+=this.title?this.title:t.noTitle,r+='</span><span class="item-info">'+this.info+"</span></li>",l=!l}):o&&(r+='<li class="unselectable no-matches-found"><span class="item-title"><em>'+t.noMatchesFound+"</em></span></li>"),this.ul[o?"html":"append"](r)},maybeLoad:function(){var e=this,t=this.element,n=t.scrollTop()+t.height();this.query.ready()&&n>=this.contentHeight.height()-wpLink.riverBottomThreshold&&setTimeout(function(){var n=t.scrollTop(),i=n+t.height();e.query.ready()&&i>=e.contentHeight.height()-wpLink.riverBottomThreshold&&(e.waiting.addClass("is-active"),t.scrollTop(n+e.waiting.outerHeight()),e.ajax(function(){e.waiting.removeClass("is-active")}))},wpLink.timeToTriggerRiver)}}),e.extend((a=function(e){this.page=1,this.allLoaded=!1,this.querying=!1,this.search=e}).prototype,{ready:function(){return!(this.querying||this.allLoaded)},ajax:function(t){var n=this,i={action:"wp-link-ajax",page:this.page,_ajax_linking_nonce:p.nonce.val()};this.search&&(i.search=this.search),this.querying=!0,e.post(window.ajaxurl,i,function(e){n.page++,n.querying=!1,n.allLoaded=!e,t(e,i)},"json")}}),e(document).ready(wpLink.init)}(jQuery,window.wpLinkL10n,window.wp)}});
includes/admin/class-admin-helper.php CHANGED
@@ -23,39 +23,6 @@ defined( 'ABSPATH' ) || exit;
23
  */
24
  class Admin_Helper {
25
 
26
- /**
27
- * Get robots.txt related data.
28
- *
29
- * @return array
30
- */
31
- public static function get_robots_data() {
32
- $wp_filesystem = WordPress::get_filesystem();
33
-
34
- if ( $wp_filesystem->exists( ABSPATH . 'robots.txt' ) ) {
35
- return [
36
- 'exists' => true,
37
- 'default' => $wp_filesystem->get_contents( ABSPATH . 'robots.txt' ),
38
- ];
39
- }
40
-
41
- $default = '# This file is automatically added by Rank Math SEO plugin to help a website index better';
42
- $default .= "\n# More info: https://s.rankmath.com/home\n";
43
- $default .= "User-Agent: *\n";
44
- $public = get_option( 'blog_public' );
45
- if ( 0 === absint( $public ) ) {
46
- $default .= "Disallow: /\n";
47
- } else {
48
- $site_url = parse_url( site_url() );
49
- $default .= "Disallow: /wp-admin/\n";
50
- $default .= "Allow: /wp-admin/admin-ajax.php\n";
51
- }
52
-
53
- return [
54
- 'exists' => false,
55
- 'default' => apply_filters( 'robots_txt', $default, $public ),
56
- ];
57
- }
58
-
59
  /**
60
  * Get .htaccess related data.
61
  *
23
  */
24
  class Admin_Helper {
25
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  /**
27
  * Get .htaccess related data.
28
  *
includes/admin/class-admin.php CHANGED
@@ -72,6 +72,11 @@ class Admin implements Runner {
72
  * Register dashboard widget.
73
  */
74
  public function add_dashboard_widgets() {
 
 
 
 
 
75
  wp_add_dashboard_widget( 'rank_math_dashboard_widget', esc_html__( 'Rank Math', 'rank-math' ), [ $this, 'render_dashboard_widget' ] );
76
  }
77
 
72
  * Register dashboard widget.
73
  */
74
  public function add_dashboard_widgets() {
75
+ // Early Bail if action is not registered for the dashboard widget hook.
76
+ if ( ! has_action( 'rank_math/dashboard/widget' ) ) {
77
+ return;
78
+ }
79
+
80
  wp_add_dashboard_widget( 'rank_math_dashboard_widget', esc_html__( 'Rank Math', 'rank-math' ), [ $this, 'render_dashboard_widget' ] );
81
  }
82
 
includes/admin/class-assets.php CHANGED
@@ -105,6 +105,7 @@ class Assets implements Runner {
105
  $this->filter( 'admin_footer_text', 'admin_footer_text' );
106
 
107
  Helper::add_json( 'maxTags', Helper::is_site_connected() ? 5 : 1 );
 
108
 
109
  /**
110
  * Allow other plugins to enqueue/dequeue admin styles or scripts after plugin assets.
105
  $this->filter( 'admin_footer_text', 'admin_footer_text' );
106
 
107
  Helper::add_json( 'maxTags', Helper::is_site_connected() ? 5 : 1 );
108
+ Helper::add_json( 'showScore', Helper::is_score_enabled() );
109
 
110
  /**
111
  * Allow other plugins to enqueue/dequeue admin styles or scripts after plugin assets.
includes/admin/class-import-export.php CHANGED
@@ -142,7 +142,7 @@ class Import_Export implements Runner {
142
  $this->success([
143
  'key' => $key,
144
  /* translators: Backup formatted date */
145
- 'backup' => sprintf( esc_html__( 'Backup: %s', 'rank-math' ), date( 'M jS Y, H:i a', $key ) ),
146
  'message' => esc_html__( 'Backup created successfully.', 'rank-math' ),
147
  ]);
148
  }
@@ -223,7 +223,7 @@ class Import_Export implements Runner {
223
  private function export() {
224
  $panels = Param::post( 'panels', [], FILTER_DEFAULT, FILTER_REQUIRE_ARRAY );
225
  $data = $this->get_export_data( $panels );
226
- $filename = 'rank-math-settings-' . date( 'Y-m-d-H-i-s' ) . '.txt';
227
 
228
  header( 'Content-Type: application/txt' );
229
  header( 'Content-Disposition: attachment; filename=' . $filename );
142
  $this->success([
143
  'key' => $key,
144
  /* translators: Backup formatted date */
145
+ 'backup' => sprintf( esc_html__( 'Backup: %s', 'rank-math' ), date_i18n( 'M jS Y, H:i a', $key ) ),
146
  'message' => esc_html__( 'Backup created successfully.', 'rank-math' ),
147
  ]);
148
  }
223
  private function export() {
224
  $panels = Param::post( 'panels', [], FILTER_DEFAULT, FILTER_REQUIRE_ARRAY );
225
  $data = $this->get_export_data( $panels );
226
+ $filename = 'rank-math-settings-' . date_i18n( 'Y-m-d-H-i-s' ) . '.txt';
227
 
228
  header( 'Content-Type: application/txt' );
229
  header( 'Content-Disposition: attachment; filename=' . $filename );
includes/admin/class-option-center.php CHANGED
@@ -72,12 +72,6 @@ class Option_Center implements Runner {
72
  /* translators: Link to kb article */
73
  'desc' => sprintf( esc_html__( 'Here you can enter verification codes for various third-party webmaster tools. %s You can safely paste the full HTML tags, or just the ID codes.', 'rank-math' ), '<a href="' . KB::get( 'webmaster-tools' ) . '" target="_blank">' . esc_html__( 'Learn more', 'rank-math' ) . '</a>.<br />' ),
74
  ],
75
- 'robots' => [
76
- 'icon' => 'fa fa-simplybuilt',
77
- 'title' => esc_html__( 'Edit robots.txt', 'rank-math' ),
78
- /* translators: Link to kb article */
79
- 'desc' => sprintf( esc_html__( 'Here you can edit the virtual robots.txt file. Leave the field empty to let WordPress handle the contents dynamically. If an actual robots.txt file is present in the root folder of your site, this option won\'t take effect and you have to edit the file directly, or delete it and then edit from here. %s.', 'rank-math' ), '<a href="' . KB::get( 'edit-robotstxt' ) . '" target="_blank">' . esc_html__( 'Learn more', 'rank-math' ) . '</a>' ),
80
- ],
81
  'htaccess' => [
82
  'icon' => 'fa fa-file',
83
  'title' => esc_html__( 'Edit .htaccess', 'rank-math' ),
72
  /* translators: Link to kb article */
73
  'desc' => sprintf( esc_html__( 'Here you can enter verification codes for various third-party webmaster tools. %s You can safely paste the full HTML tags, or just the ID codes.', 'rank-math' ), '<a href="' . KB::get( 'webmaster-tools' ) . '" target="_blank">' . esc_html__( 'Learn more', 'rank-math' ) . '</a>.<br />' ),
74
  ],
 
 
 
 
 
 
75
  'htaccess' => [
76
  'icon' => 'fa fa-file',
77
  'title' => esc_html__( 'Edit .htaccess', 'rank-math' ),
includes/admin/class-options.php CHANGED
@@ -104,10 +104,12 @@ class Options {
104
  }
105
 
106
  /**
107
- * Create option object and add settings.
 
 
108
  */
109
- function register_option_page() {
110
- $cmb = new_cmb2_box(
111
  [
112
  'id' => $this->cmb_id,
113
  'title' => $this->title,
@@ -120,8 +122,15 @@ class Options {
120
  'display_cb' => [ $this, 'display' ],
121
  ]
122
  );
 
123
 
 
 
 
 
 
124
  $tabs = $this->get_tabs();
 
125
  $cmb->add_field(
126
  [
127
  'id' => 'setting-panel-container-' . $this->cmb_id,
104
  }
105
 
106
  /**
107
+ * Create cmb2 box.
108
+ *
109
+ * @return CMB2
110
  */
111
+ private function create_cmb2() {
112
+ return new_cmb2_box(
113
  [
114
  'id' => $this->cmb_id,
115
  'title' => $this->title,
122
  'display_cb' => [ $this, 'display' ],
123
  ]
124
  );
125
+ }
126
 
127
+ /**
128
+ * Create option object and add settings.
129
+ */
130
+ public function register_option_page() {
131
+ $cmb = $this->create_cmb2();
132
  $tabs = $this->get_tabs();
133
+
134
  $cmb->add_field(
135
  [
136
  'id' => 'setting-panel-container-' . $this->cmb_id,
includes/admin/class-post-columns.php CHANGED
@@ -37,7 +37,7 @@ class Post_Columns implements Runner {
37
  * Intialize.
38
  */
39
  public function init() {
40
- if ( ! Helper::has_cap( 'general' ) ) {
41
  return;
42
  }
43
 
@@ -56,7 +56,7 @@ class Post_Columns implements Runner {
56
  */
57
  public function save() {
58
  check_ajax_referer( 'rank-math-ajax-nonce', 'security' );
59
- $this->has_cap_ajax( 'general' );
60
  $rows = Param::post( 'rows', '', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY );
61
  if ( ! $rows ) {
62
  $this->error( esc_html__( 'No data found.', 'rank-math' ) );
@@ -285,13 +285,13 @@ class Post_Columns implements Runner {
285
  $score = $score ? $score : 0;
286
  $class = $this->get_seo_score_class( $score );
287
 
288
- $score = $score . ' / 100';
289
  if ( ! metadata_exists( 'post', $post_id, 'rank_math_seo_score' ) ) {
290
  $score = __( 'Update your post', 'rank-math' );
291
  $class = 'no-score';
292
  }
293
  ?>
294
- <span class="rank-math-column-display seo-score <?php echo $class; ?>">
295
  <strong><?php echo $score; ?></strong>
296
  <?php if ( $is_pillar ) : ?>
297
  <img class="is-pillar" src="<?php echo esc_url( rank_math()->plugin_url() . 'assets/admin/img/pillar.svg' ); ?>" alt="<?php _e( 'Is Pillar', 'rank-math' ); ?>" title="<?php _e( 'Is Pillar', 'rank-math' ); ?>" width="25" />
37
  * Intialize.
38
  */
39
  public function init() {
40
+ if ( ! Helper::has_cap( 'onpage_general' ) ) {
41
  return;
42
  }
43
 
56
  */
57
  public function save() {
58
  check_ajax_referer( 'rank-math-ajax-nonce', 'security' );
59
+ $this->has_cap_ajax( 'onpage_general' );
60
  $rows = Param::post( 'rows', '', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY );
61
  if ( ! $rows ) {
62
  $this->error( esc_html__( 'No data found.', 'rank-math' ) );
285
  $score = $score ? $score : 0;
286
  $class = $this->get_seo_score_class( $score );
287
 
288
+ $score = Helper::is_score_enabled() ? $score . ' / 100' : false;
289
  if ( ! metadata_exists( 'post', $post_id, 'rank_math_seo_score' ) ) {
290
  $score = __( 'Update your post', 'rank-math' );
291
  $class = 'no-score';
292
  }
293
  ?>
294
+ <span class="rank-math-column-display seo-score <?php echo $class; ?> <?php echo ! $score ? 'disabled' : ''; ?>">
295
  <strong><?php echo $score; ?></strong>
296
  <?php if ( $is_pillar ) : ?>
297
  <img class="is-pillar" src="<?php echo esc_url( rank_math()->plugin_url() . 'assets/admin/img/pillar.svg' ); ?>" alt="<?php _e( 'Is Pillar', 'rank-math' ); ?>" title="<?php _e( 'Is Pillar', 'rank-math' ); ?>" width="25" />
includes/admin/class-registration.php CHANGED
@@ -131,8 +131,10 @@ class Registration {
131
  'classes' => 'nob nopb rank-math-validate-field',
132
  'attributes' => [
133
  'data-rule-required' => 'true',
 
134
  'autocomplete' => 'off',
135
  ],
 
136
  ]);
137
 
138
  $this->cmb->add_field([
@@ -143,8 +145,10 @@ class Registration {
143
  'attributes' => [
144
  'data-rule-required' => 'true',
145
  'autocomplete' => 'off',
 
146
  'type' => 'password',
147
  ],
 
148
  ]);
149
 
150
  $this->cmb->add_field([
@@ -153,7 +157,7 @@ class Registration {
153
  /* translators: Link to Rank Math privay policy */
154
  'name' => sprintf( __( 'Gathering usage data helps us make Rank Math SEO plugin better - for you. By understanding how you use Rank Math, we can introduce new features and find out if existing features are working well for you. If you don’t want us to collect data from your website, uncheck the tickbox. Please note that licensing information may still be sent back to us for authentication. We collect data anonymously, read more %s.', 'rank-math' ), '<a href="' . KB::get( 'rm-privacy' ) . '" target="_blank">here</a>' ),
155
  'classes' => 'nob nopb',
156
- 'default' => Helper::get_settings( 'general.usage_tracking' ) ? 'on' : 'off',
157
  ]);
158
 
159
  CMB2::pre_init( $this->cmb );
@@ -207,22 +211,7 @@ class Registration {
207
  protected function body() {
208
  ?>
209
  <header>
210
-
211
- <?php if ( $this->invalid ) { ?>
212
- <h1><?php esc_html_e( 'Connect FREE Account', 'rank-math' ); ?></h1>
213
- <div class="notice notice-warning rank-math-registration-notice inline">
214
- <p>
215
- <?php
216
- /* translators: Link to Rank Math signup page */
217
- printf( wp_kses_post( __( 'You need to connect with your <a href="%s" target="_blank"><strong>FREE Rank Math account</strong></a> to use Rank Math on this site.', 'rank-math' ) ), KB::get( 'free-account' ) );
218
- ?>
219
- </p>
220
- </div>
221
- <?php } else { ?>
222
- <h1><?php esc_html_e( 'Account Successfully Connected', 'rank-math' ); ?></h1>
223
- <h3 style="text-align: center; padding-top:15px;"><?php esc_html_e( 'You have successfully activated Rank Math.', 'rank-math' ); ?></h3>
224
- <?php } ?>
225
-
226
  </header>
227
 
228
  <span class="wp-header-end"></span>
@@ -240,6 +229,31 @@ class Registration {
240
  $this->print_script();
241
  }
242
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
243
  /**
244
  * Execute save handler for current step.
245
  */
131
  'classes' => 'nob nopb rank-math-validate-field',
132
  'attributes' => [
133
  'data-rule-required' => 'true',
134
+ 'required' => '',
135
  'autocomplete' => 'off',
136
  ],
137
+ 'after' => '<label id="username-error" class="invalid" for="username" style="display:none;">' . esc_html__( 'This field is required.', 'rank-math' ) . '</label>',
138
  ]);
139
 
140
  $this->cmb->add_field([
145
  'attributes' => [
146
  'data-rule-required' => 'true',
147
  'autocomplete' => 'off',
148
+ 'required' => '',
149
  'type' => 'password',
150
  ],
151
+ 'after' => '<label id="validation_code-error" class="invalid" for="validation_code" style="display:none;">' . esc_html__( 'This field is required.', 'rank-math' ) . '</label>',
152
  ]);
153
 
154
  $this->cmb->add_field([
157
  /* translators: Link to Rank Math privay policy */
158
  'name' => sprintf( __( 'Gathering usage data helps us make Rank Math SEO plugin better - for you. By understanding how you use Rank Math, we can introduce new features and find out if existing features are working well for you. If you don’t want us to collect data from your website, uncheck the tickbox. Please note that licensing information may still be sent back to us for authentication. We collect data anonymously, read more %s.', 'rank-math' ), '<a href="' . KB::get( 'rm-privacy' ) . '" target="_blank">here</a>' ),
159
  'classes' => 'nob nopb',
160
+ 'default' => Helper::get_settings( 'general.usage_tracking' ) ? 'on' : '',
161
  ]);
162
 
163
  CMB2::pre_init( $this->cmb );
211
  protected function body() {
212
  ?>
213
  <header>
214
+ <?php $this->header_content(); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
215
  </header>
216
 
217
  <span class="wp-header-end"></span>
229
  $this->print_script();
230
  }
231
 
232
+ /**
233
+ * Header content.
234
+ */
235
+ private function header_content() {
236
+ if ( $this->invalid ) :
237
+ ?>
238
+ <h1><?php esc_html_e( 'Connect FREE Account', 'rank-math' ); ?></h1>
239
+ <div class="notice notice-warning rank-math-registration-notice inline">
240
+ <p>
241
+ <?php
242
+ /* translators: Link to Rank Math signup page */
243
+ printf( wp_kses_post( __( 'You need to connect with your <a href="%s" target="_blank"><strong>FREE Rank Math account</strong></a> to use Rank Math on this site.', 'rank-math' ) ), KB::get( 'free-account' ) );
244
+ ?>
245
+ </p>
246
+ </div>
247
+ <?php
248
+ return;
249
+ endif;
250
+ ?>
251
+
252
+ <h1><?php esc_html_e( 'Account Successfully Connected', 'rank-math' ); ?></h1>
253
+ <h3 style="text-align: center; padding-top:15px;"><?php esc_html_e( 'You have successfully activated Rank Math.', 'rank-math' ); ?></h3>
254
+ <?php
255
+ }
256
+
257
  /**
258
  * Execute save handler for current step.
259
  */
includes/admin/class-setup-wizard.php CHANGED
@@ -139,9 +139,9 @@ class Setup_Wizard {
139
  'class' => '\\RankMath\\Wizard\\Monitor_Redirection',
140
  ],
141
 
142
- 'misc' => [
143
- 'name' => esc_html__( 'Misc', 'rank-math' ),
144
- 'class' => '\\RankMath\\Wizard\\Misc',
145
  ],
146
  ];
147
 
@@ -288,7 +288,7 @@ class Setup_Wizard {
288
  }
289
 
290
  $is_advanced = $this->is_advance();
291
- $advance_steps = [ 'role', 'redirection', 'misc' ];
292
 
293
  return in_array( $slug, $advance_steps, true ) ? ! $is_advanced : $is_advanced;
294
  }
@@ -346,7 +346,7 @@ class Setup_Wizard {
346
  */
347
  private function is_advance() {
348
  $step = Param::request( 'step' );
349
- return $step && in_array( $step, [ 'role', 'redirection', 'misc' ], true );
350
  }
351
 
352
  /**
139
  'class' => '\\RankMath\\Wizard\\Monitor_Redirection',
140
  ],
141
 
142
+ 'schema-markup' => [
143
+ 'name' => esc_html__( 'Schema Markup', 'rank-math' ),
144
+ 'class' => '\\RankMath\\Wizard\\Schema_Markup',
145
  ],
146
  ];
147
 
288
  }
289
 
290
  $is_advanced = $this->is_advance();
291
+ $advance_steps = [ 'role', 'redirection', 'schema-markup' ];
292
 
293
  return in_array( $slug, $advance_steps, true ) ? ! $is_advanced : $is_advanced;
294
  }
346
  */
347
  private function is_advance() {
348
  $step = Param::request( 'step' );
349
+ return $step && in_array( $step, [ 'role', 'redirection', 'schema-markup' ], true );
350
  }
351
 
352
  /**
includes/admin/views/import-export/backup-panel.php CHANGED
@@ -22,7 +22,7 @@ $backups = get_option( 'rank_math_backups', [] );
22
  <th>
23
  <?php
24
  /* translators: Backup formatted date */
25
- printf( esc_html__( 'Backup: %s', 'rank-math' ), date( 'M jS Y, H:i a', $key ) );
26
  ?>
27
  </th>
28
  <td style="width:195px;padding-left:0;">
22
  <th>
23
  <?php
24
  /* translators: Backup formatted date */
25
+ printf( esc_html__( 'Backup: %s', 'rank-math' ), date_i18n( 'M jS Y, H:i a', $key ) );
26
  ?>
27
  </th>
28
  <td style="width:195px;padding-left:0;">
includes/admin/views/plugin-activation.php CHANGED
@@ -37,7 +37,8 @@ $class = $is_registered ? 'status-green' : 'status-red';
37
  <input class="regular-text fullwidth required" data-rule-required="true" type="password" name="connect-password" value="">
38
  <br><br>
39
  <div class="frm-gather-data">
40
- <input type="checkbox" class="cmb2-option cmb2-list" name="rank-math-usage-tracking" id="rank-math-usage-tracking" value="on" checked="checked" />
 
41
  <label for="rank-math-usage-tracking">
42
  <?php
43
  /* translators: link to privacy policy */
37
  <input class="regular-text fullwidth required" data-rule-required="true" type="password" name="connect-password" value="">
38
  <br><br>
39
  <div class="frm-gather-data">
40
+ <?php $checked = Helper::get_settings( 'general.usage_tracking' ) ? 'checked=checked' : ''; ?>
41
+ <input type="checkbox" class="cmb2-option cmb2-list" name="rank-math-usage-tracking" id="rank-math-usage-tracking" value="on" <?php echo esc_attr( $checked ); ?> />
42
  <label for="rank-math-usage-tracking">
43
  <?php
44
  /* translators: link to privacy policy */
includes/admin/wizard/{class-misc.php → class-schema-markup.php} RENAMED
@@ -1,8 +1,8 @@
1
  <?php
2
  /**
3
- * The Misc wizard step
4
  *
5
- * @since 0.9.0
6
  * @package RankMath
7
  * @subpackage RankMath\Wizard
8
  * @author Rank Math <support@rankmath.com>
@@ -18,7 +18,7 @@ defined( 'ABSPATH' ) || exit;
18
  /**
19
  * Step class.
20
  */
21
- class Misc implements Wizard_Step {
22
 
23
  /**
24
  * Render step body.
@@ -30,8 +30,8 @@ class Misc implements Wizard_Step {
30
  public function render( $wizard ) {
31
  ?>
32
  <header>
33
- <h1><?php esc_html_e( 'Miscellaneous ', 'rank-math' ); ?> </h1>
34
- <p><?php esc_html_e( 'Control different settings for important aspects of your website here.', 'rank-math' ); ?></p>
35
  </header>
36
 
37
  <?php $wizard->cmb->show_form(); ?>
@@ -51,15 +51,6 @@ class Misc implements Wizard_Step {
51
  * @return void
52
  */
53
  public function form( $wizard ) {
54
- $wizard->cmb->add_field([
55
- 'id' => 'add_img_alt',
56
- 'type' => 'switch',
57
- 'name' => esc_html__( 'Add missing ALT attributes', 'rank-math' ),
58
- /* translators: Link to setting screen */
59
- 'desc' => sprintf( wp_kses_post( __( 'Add missing <code>alt</code> attribute for <code>img</code> tags in your post contents and featured images. This option will not change the stored content of the post, it adds the attribute on the fly when the content is displayed. You can see %s.', 'rank-math' ) ), '<a href="' . Helper::get_admin_url( 'options-general#setting-panel-images' ) . '" target="_blank">' . esc_html__( 'all options we offer here', 'rank-math' ) . '</a>' ),
60
- 'default' => Helper::get_settings( 'general.add_img_alt' ) ? 'on' : 'off',
61
- ]);
62
-
63
  $wizard->cmb->add_field([
64
  'id' => 'rich_snippet',
65
  'type' => 'switch',
1
  <?php
2
  /**
3
+ * The Schema_Markup wizard step
4
  *
5
+ * @since 1.0.32
6
  * @package RankMath
7
  * @subpackage RankMath\Wizard
8
  * @author Rank Math <support@rankmath.com>
18
  /**
19
  * Step class.
20
  */
21
+ class Schema_Markup implements Wizard_Step {
22
 
23
  /**
24
  * Render step body.
30
  public function render( $wizard ) {
31
  ?>
32
  <header>
33
+ <h1><?php esc_html_e( 'Schema Markup ', 'rank-math' ); ?> </h1>
34
+ <p><?php esc_html_e( 'Rich Snippets adds metadata to your website, resulting in rich search results and more traffic.', 'rank-math' ); ?></p>
35
  </header>
36
 
37
  <?php $wizard->cmb->show_form(); ?>
51
  * @return void
52
  */
53
  public function form( $wizard ) {
 
 
 
 
 
 
 
 
 
54
  $wizard->cmb->add_field([
55
  'id' => 'rich_snippet',
56
  'type' => 'switch',
includes/class-installer.php CHANGED
@@ -312,7 +312,7 @@ class Installer {
312
  'attachment_redirect_default' => get_home_url(),
313
  'url_strip_stopwords' => 'off',
314
  'nofollow_external_links' => 'off',
315
- 'nofollow_image_links' => 'on',
316
  'new_window_external_links' => 'on',
317
  'add_img_alt' => 'off',
318
  'img_alt_format' => '%title% %count(alt)%',
@@ -342,7 +342,7 @@ class Installer {
342
  'wc_remove_category_parent_slugs' => 'off',
343
  'rss_before_content' => '',
344
  'rss_after_content' => '',
345
- 'usage_tracking' => 'on',
346
  'wc_remove_generator' => 'on',
347
  'remove_shop_snippet_data' => 'on',
348
  'frontend_seo_score' => 'off',
312
  'attachment_redirect_default' => get_home_url(),
313
  'url_strip_stopwords' => 'off',
314
  'nofollow_external_links' => 'off',
315
+ 'nofollow_image_links' => 'off',
316
  'new_window_external_links' => 'on',
317
  'add_img_alt' => 'off',
318
  'img_alt_format' => '%title% %count(alt)%',
342
  'wc_remove_category_parent_slugs' => 'off',
343
  'rss_before_content' => '',
344
  'rss_after_content' => '',
345
+ 'usage_tracking' => 'off',
346
  'wc_remove_generator' => 'on',
347
  'remove_shop_snippet_data' => 'on',
348
  'frontend_seo_score' => 'off',
includes/class-module-manager.php CHANGED
@@ -179,6 +179,21 @@ class Module_Manager {
179
  'disabled_text' => esc_html__( 'Please activate bbPress plugin to use this module.', 'rank-math' ),
180
  'only' => 'skip',
181
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
182
  ) );
183
 
184
  ksort( $modules );
179
  'disabled_text' => esc_html__( 'Please activate bbPress plugin to use this module.', 'rank-math' ),
180
  'only' => 'skip',
181
  ),
182
+ 'robots-txt' => array(
183
+ 'id' => 'robots-txt',
184
+ 'title' => esc_html__( 'Robotx Txt', 'rank-math' ),
185
+ 'only' => 'internal',
186
+ 'class' => 'RankMath\Robots_Txt',
187
+ ),
188
+ 'buddypress' => array(
189
+ 'id' => 'buddypress',
190
+ 'title' => esc_html__( 'BuddyPress', 'rank-math' ),
191
+ 'desc' => esc_html__( 'Add proper Meta tags to your BuddyPress pages.', 'rank-math' ),
192
+ 'icon' => 'dashicons-cart',
193
+ 'class' => 'RankMath\BuddyPress\BuddyPress',
194
+ 'disabled' => ! class_exists( 'BuddyPress' ),
195
+ 'disabled_text' => esc_html__( 'Please activate BuddyPress plugin to use this module.', 'rank-math' ),
196
+ ),
197
  ) );
198
 
199
  ksort( $modules );
includes/class-tracking.php CHANGED
@@ -46,7 +46,7 @@ class Tracking {
46
  * @param array
47
  */
48
  $data = $this->do_filter( 'tracker_data', [
49
- '@timestamp' => (int) date( 'Uv' ),
50
  'name' => get_option( 'blogname' ),
51
  'url' => home_url(),
52
  'admin_url' => admin_url(),
46
  * @param array
47
  */
48
  $data = $this->do_filter( 'tracker_data', [
49
+ '@timestamp' => (int) date_i18n( 'Uv' ),
50
  'name' => get_option( 'blogname' ),
51
  'url' => home_url(),
52
  'admin_url' => admin_url(),
includes/frontend/class-breadcrumbs.php CHANGED
@@ -215,12 +215,9 @@ class Breadcrumbs {
215
  'is_author',
216
  ];
217
 
218
- if ( ! empty( $this->settings['home'] ) ) {
219
- $this->add_crumb( $this->strings['home'], $this->strings['home_link'] );
220
- }
221
 
222
- $condition = ( ! is_front_page() && ! ( is_post_type_archive() && function_exists( 'wc_get_page_id' ) && intval( get_option( 'page_on_front' ) ) === wc_get_page_id( 'shop' ) ) ) || is_paged();
223
- if ( ! $condition ) {
224
  return;
225
  }
226
 
@@ -234,6 +231,22 @@ class Breadcrumbs {
234
  $this->maybe_add_page_crumb();
235
  }
236
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
237
  /**
238
  * Is home trail.
239
  */
@@ -491,7 +504,7 @@ class Breadcrumbs {
491
  */
492
  private function maybe_add_term_ancestors( $term ) {
493
  // Early Bail!
494
- if ( 0 === $term->parent || false === $this->settings['show_ancestors'] || false === is_taxonomy_hierarchical( $term->taxonomy ) ) {
495
  return;
496
  }
497
 
@@ -506,6 +519,21 @@ class Breadcrumbs {
506
  }
507
  }
508
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
509
  /**
510
  * Add a page crumb to paginated trails.
511
  *
@@ -525,6 +553,15 @@ class Breadcrumbs {
525
  $this->add_crumb( sprintf( esc_html__( 'Page %s', 'rank-math' ), $current_page ), '', true );
526
  }
527
 
 
 
 
 
 
 
 
 
 
528
  /**
529
  * Get the breadcrumb title.
530
  *
215
  'is_author',
216
  ];
217
 
218
+ $this->maybe_add_home_crumb();
 
 
219
 
220
+ if ( ! $this->can_generate() ) {
 
221
  return;
222
  }
223
 
231
  $this->maybe_add_page_crumb();
232
  }
233
 
234
+ /**
235
+ * Can generate breadcrumb.
236
+ *
237
+ * @return bool
238
+ */
239
+ private function can_generate() {
240
+ return (
241
+ ! is_front_page() &&
242
+ ! (
243
+ is_post_type_archive() &&
244
+ function_exists( 'wc_get_page_id' ) &&
245
+ intval( get_option( 'page_on_front' ) ) === wc_get_page_id( 'shop' ) )
246
+ ) ||
247
+ is_paged();
248
+ }
249
+
250
  /**
251
  * Is home trail.
252
  */
504
  */
505
  private function maybe_add_term_ancestors( $term ) {
506
  // Early Bail!
507
+ if ( ! $this->can_add_term_ancestors( $term ) ) {
508
  return;
509
  }
510
 
519
  }
520
  }
521
 
522
+ /**
523
+ * Can add ancestor taxonomy crumbs to the hierachical taxonomy trails.
524
+ *
525
+ * @param object $term Term data object.
526
+ *
527
+ * @return bool
528
+ */
529
+ private function can_add_term_ancestors( $term ) {
530
+ if ( 0 === $term->parent || false === $this->settings['show_ancestors'] || false === is_taxonomy_hierarchical( $term->taxonomy ) ) {
531
+ return false;
532
+ }
533
+
534
+ return true;
535
+ }
536
+
537
  /**
538
  * Add a page crumb to paginated trails.
539
  *
553
  $this->add_crumb( sprintf( esc_html__( 'Page %s', 'rank-math' ), $current_page ), '', true );
554
  }
555
 
556
+ /**
557
+ * Add home label.
558
+ */
559
+ private function maybe_add_home_crumb() {
560
+ if ( ! empty( $this->settings['home'] ) ) {
561
+ $this->add_crumb( $this->strings['home'], $this->strings['home_link'] );
562
+ }
563
+ }
564
+
565
  /**
566
  * Get the breadcrumb title.
567
  *
includes/frontend/class-frontend.php CHANGED
@@ -80,11 +80,6 @@ class Frontend {
80
  if ( Helper::get_settings( 'titles.disable_author_archives' ) || Helper::get_settings( 'titles.disable_date_archives' ) ) {
81
  $this->action( 'wp', 'archive_redirect' );
82
  }
83
-
84
- // Custom robots text.
85
- if ( Helper::get_settings( 'general.robots_txt_content' ) ) {
86
- $this->action( 'robots_txt', 'robots_txt', 10, 2 );
87
- }
88
  }
89
 
90
  /**
@@ -164,21 +159,6 @@ class Frontend {
164
  }
165
  }
166
 
167
- /**
168
- * Replace robots.txt content.
169
- *
170
- * @param string $content Robots.txt file content.
171
- * @param bool $public Whether the site is considered "public".
172
- * @return string New robots.txt content.
173
- */
174
- public function robots_txt( $content, $public ) {
175
- if ( is_admin() ) {
176
- return $content;
177
- }
178
-
179
- return 0 === absint( $public ) ? $content : Helper::get_settings( 'general.robots_txt_content' );
180
- }
181
-
182
  /**
183
  * Adds the RSS header and footer messages to the RSS feed item content.
184
  *
80
  if ( Helper::get_settings( 'titles.disable_author_archives' ) || Helper::get_settings( 'titles.disable_date_archives' ) ) {
81
  $this->action( 'wp', 'archive_redirect' );
82
  }
 
 
 
 
 
83
  }
84
 
85
  /**
159
  }
160
  }
161
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
162
  /**
163
  * Adds the RSS header and footer messages to the RSS feed item content.
164
  *
includes/frontend/paper/class-paper.php CHANGED
@@ -81,7 +81,6 @@ class Paper {
81
  * @return object Post|Term|User.
82
  */
83
  public static function get() {
84
-
85
  if ( ! is_null( self::$instance ) ) {
86
  return self::$instance;
87
  }
@@ -95,7 +94,29 @@ class Paper {
95
  * Setup paper.
96
  */
97
  private function setup() {
98
- $hash = $this->do_filter(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99
  'paper/hash',
100
  [
101
  'Search' => is_search(),
@@ -110,22 +131,6 @@ class Paper {
110
  'Misc' => true,
111
  ]
112
  );
113
-
114
- foreach ( $hash as $class_name => $is_valid ) {
115
-
116
- if ( $this->do_filter( 'paper/is_valid/' . strtolower( $class_name ), $is_valid ) ) {
117
- $class_name = '\\RankMath\\Paper\\' . $class_name;
118
- $this->paper = new $class_name;
119
- break;
120
- }
121
- }
122
-
123
- if ( Post::is_home_static_page() ) {
124
- $this->paper->set_object( get_queried_object() );
125
- } elseif ( Post::is_simple_page() ) {
126
- $post = Post::get( Post::get_simple_page_id() );
127
- $this->paper->set_object( $post->get_object() );
128
- }
129
  }
130
 
131
  /**
81
  * @return object Post|Term|User.
82
  */
83
  public static function get() {
 
84
  if ( ! is_null( self::$instance ) ) {
85
  return self::$instance;
86
  }
94
  * Setup paper.
95
  */
96
  private function setup() {
97
+ foreach ( $this->get_papers() as $class_name => $is_valid ) {
98
+ if ( $this->do_filter( 'paper/is_valid/' . strtolower( $class_name ), $is_valid ) ) {
99
+ $class_name = '\\RankMath\\Paper\\' . $class_name;
100
+ $this->paper = new $class_name;
101
+ break;
102
+ }
103
+ }
104
+
105
+ if ( Post::is_home_static_page() ) {
106
+ $this->paper->set_object( get_queried_object() );
107
+ } elseif ( Post::is_simple_page() ) {
108
+ $post = Post::get( Post::get_simple_page_id() );
109
+ $this->paper->set_object( $post->get_object() );
110
+ }
111
+ }
112
+
113
+ /**
114
+ * Get papers types.
115
+ *
116
+ * @return array
117
+ */
118
+ private function get_papers() {
119
+ return $this->do_filter(
120
  'paper/hash',
121
  [
122
  'Search' => is_search(),
131
  'Misc' => true,
132
  ]
133
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
  }
135
 
136
  /**
includes/helpers/class-conditional.php CHANGED
@@ -125,4 +125,30 @@ trait Conditional {
125
 
126
  return true;
127
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
128
  }
125
 
126
  return true;
127
  }
128
+
129
+ /**
130
+ * Check if editing the file is allowed.
131
+ *
132
+ * @return bool
133
+ *
134
+ * @since 1.0.32
135
+ */
136
+ public static function is_edit_allowed() {
137
+ return ( ! defined( 'DISALLOW_FILE_EDIT' ) || ! DISALLOW_FILE_EDIT ) && ( ! defined( 'DISALLOW_FILE_MODS' ) || ! DISALLOW_FILE_MODS );
138
+ }
139
+
140
+ /**
141
+ * Check whether to show SEO score.
142
+ *
143
+ * @return boolean
144
+ * @since 1.0.32
145
+ */
146
+ public static function is_score_enabled() {
147
+ /**
148
+ * Enable SEO Score.
149
+ *
150
+ * @param bool Enable SEO Score.
151
+ */
152
+ return apply_filters( 'rank_math/show_score', true );
153
+ }
154
  }
includes/modules/404-monitor/class-table.php CHANGED
@@ -136,35 +136,7 @@ class Table extends List_Table {
136
  $actions = [];
137
 
138
  if ( Helper::get_module( 'redirections' ) ) {
139
- $redirection = Cache::get_by_url( $item['uri_decoded'] );
140
-
141
- if ( $redirection ) {
142
- $url = esc_url(
143
- Helper::get_admin_url(
144
- 'redirections',
145
- [
146
- 'redirection' => $redirection->redirection_id,
147
- 'security' => wp_create_nonce( 'redirection_list_action' ),
148
- ]
149
- )
150
- );
151
-
152
- $actions['view_redirection'] = sprintf( '<a href="%s" target="_blank">' . esc_html__( 'View Redirection', 'rank-math' ) . '</a>', $url );
153
- } else {
154
- $url = esc_url(
155
- Helper::get_admin_url(
156
- 'redirections',
157
- [
158
- 'url' => $item['uri_decoded'],
159
- ]
160
- )
161
- );
162
-
163
- $actions['redirect'] = sprintf(
164
- '<a href="%1$s" class="rank-math-404-redirect-btn">%2$s</a>',
165
- $url, esc_html__( 'Redirect', 'rank-math' )
166
- );
167
- }
168
  }
169
 
170
  $actions['delete'] = sprintf(
@@ -182,6 +154,45 @@ class Table extends List_Table {
182
  return $this->row_actions( $actions );
183
  }
184
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
185
  /**
186
  * Get a list of columns.
187
  *
136
  $actions = [];
137
 
138
  if ( Helper::get_module( 'redirections' ) ) {
139
+ $this->add_redirection_actions( $item, $actions );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  }
141
 
142
  $actions['delete'] = sprintf(
154
  return $this->row_actions( $actions );
155
  }
156
 
157
+ /**
158
+ * Add redirection actions.
159
+ *
160
+ * @param object $item The current item.
161
+ * @param array $actions Array of actions.
162
+ */
163
+ private function add_redirection_actions( $item, &$actions ) {
164
+ $redirection = Cache::get_by_url( $item['uri_decoded'] );
165
+
166
+ if ( $redirection ) {
167
+ $url = esc_url(
168
+ Helper::get_admin_url(
169
+ 'redirections',
170
+ [
171
+ 'redirection' => $redirection->redirection_id,
172
+ 'security' => wp_create_nonce( 'redirection_list_action' ),
173
+ ]
174
+ )
175
+ );
176
+
177
+ $actions['view_redirection'] = sprintf( '<a href="%s" target="_blank">' . esc_html__( 'View Redirection', 'rank-math' ) . '</a>', $url );
178
+ return;
179
+ }
180
+
181
+ $url = esc_url(
182
+ Helper::get_admin_url(
183
+ 'redirections',
184
+ [
185
+ 'url' => $item['uri_decoded'],
186
+ ]
187
+ )
188
+ );
189
+
190
+ $actions['redirect'] = sprintf(
191
+ '<a href="%1$s" class="rank-math-404-redirect-btn">%2$s</a>',
192
+ $url, esc_html__( 'Redirect', 'rank-math' )
193
+ );
194
+ }
195
+
196
  /**
197
  * Get a list of columns.
198
  *
includes/modules/buddypress/class-admin.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The BuddyPress Module
4
+ *
5
+ * @since 1.0.32
6
+ * @package RankMath
7
+ * @subpackage RankMath\BuddyPress
8
+ * @author Rank Math <support@rankmath.com>
9
+ */
10
+
11
+ namespace RankMath\BuddyPress;
12
+
13
+ use RankMath\Helper;
14
+ use RankMath\Traits\Hooker;
15
+
16
+ defined( 'ABSPATH' ) || exit;
17
+
18
+ /**
19
+ * Admin class
20
+ */
21
+ class Admin {
22
+
23
+ use Hooker;
24
+
25
+ /**
26
+ * The Constructor.
27
+ */
28
+ public function __construct() {
29
+ $this->filter( 'rank_math/settings/title', 'add_title_settings' );
30
+ }
31
+
32
+ /**
33
+ * Add module settings into titles optional panel.
34
+ *
35
+ * @param array $tabs Array of option panel tabs.
36
+ *
37
+ * @return array
38
+ */
39
+ public function add_title_settings( $tabs ) {
40
+
41
+ $tabs['buddypress'] = [
42
+ 'title' => esc_html__( 'BuddyPress:', 'rank-math' ),
43
+ 'type' => 'seprator',
44
+ ];
45
+
46
+ $tabs['buddypress-groups'] = [
47
+ 'icon' => 'dashicons dashicons-groups',
48
+ 'title' => esc_html__( 'Groups', 'rank-math' ),
49
+ 'desc' => esc_html__( 'The WooCommerce lets you see the URLs where visitors and search engine crawlers run into 404 not found errors on your site. Turn on Redirections too to redirect the faulty URLs easily.', 'rank-math' ),
50
+ 'file' => dirname( __FILE__ ) . '/views/options-titles.php',
51
+ ];
52
+
53
+ return $tabs;
54
+ }
55
+ }
includes/modules/buddypress/class-buddypress.php ADDED
@@ -0,0 +1,160 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The BuddyPress Module
4
+ *
5
+ * @since 1.0.32
6
+ * @package RankMath
7
+ * @subpackage RankMath\BuddyPress
8
+ * @author Rank Math <support@rankmath.com>
9
+ */
10
+
11
+ namespace RankMath\BuddyPress;
12
+
13
+ use RankMath\Helper;
14
+ use RankMath\Traits\Hooker;
15
+
16
+ defined( 'ABSPATH' ) || exit;
17
+
18
+ /**
19
+ * BuddyPress class.
20
+ */
21
+ class BuddyPress {
22
+
23
+ use Hooker;
24
+
25
+ /**
26
+ * The Constructor.
27
+ */
28
+ public function __construct() {
29
+ if ( is_admin() ) {
30
+ new Admin;
31
+ }
32
+
33
+ $this->filter( 'rank_math/paper/hash', 'paper' );
34
+ $this->action( 'rank_math/vars/register_extra_replacements', 'register_replacements' );
35
+ $this->filter( 'rank_math/json_ld', 'json_ld', 11, 2 );
36
+ }
37
+
38
+ /**
39
+ * Add BuddyPress class.
40
+ *
41
+ * @param array $hash Paper Hash.
42
+ */
43
+ public function paper( $hash ) {
44
+ $bp_data = [
45
+ 'BP_User' => bp_is_user(),
46
+ 'BP_Group' => ! is_singular() && bp_is_groups_component(),
47
+ ];
48
+
49
+ return array_merge( $bp_data, $hash );
50
+ }
51
+
52
+ /**
53
+ * Collect data to output in JSON-LD.
54
+ *
55
+ * @param array $data An array of data to output in json-ld.
56
+ * @param JsonLD $json JsonLD instance.
57
+ */
58
+ public function json_ld( $data, $json ) {
59
+ if ( ! bp_is_user() ) {
60
+ return $data;
61
+ }
62
+
63
+ if ( isset( $data['richSnippet'] ) ) {
64
+ unset( $data['richSnippet'] );
65
+ }
66
+
67
+ $user_id = bp_displayed_user_id();
68
+
69
+ $data['ProfilePage'] = [
70
+ '@context' => 'https://schema.org',
71
+ '@type' => 'ProfilePage',
72
+ 'headline' => sprintf( 'About %s', get_the_author_meta( 'display_name', $user_id ) ),
73
+ 'about' => [
74
+ '@type' => 'Person',
75
+ 'name' => get_the_author_meta( 'display_name', $user_id ),
76
+ 'url' => esc_url( bp_core_get_user_domain( $user_id ) ),
77
+ 'description' => get_the_author_meta( 'description', $user_id ),
78
+ 'image' => [
79
+ '@type' => 'ImageObject',
80
+ 'url' => get_avatar_url( $user_id, 96 ),
81
+ 'height' => 96,
82
+ 'width' => 96,
83
+ ],
84
+ ],
85
+ ];
86
+ return $data;
87
+ }
88
+
89
+ /**
90
+ * Registers variable replacements for WooCommerce products.
91
+ */
92
+ public function register_replacements() {
93
+ Helper::register_var_replacement(
94
+ 'group_name',
95
+ array( $this, 'get_group_name' ),
96
+ array(
97
+ 'name' => esc_html__( 'Group name.', 'rank-math' ),
98
+ 'desc' => esc_html__( 'Group name of the current group', 'rank-math' ),
99
+ 'example' => $this->get_group_name(),
100
+ )
101
+ );
102
+
103
+ Helper::register_var_replacement(
104
+ 'group_desc',
105
+ array( $this, 'get_group_desc' ),
106
+ array(
107
+ 'name' => esc_html__( 'Group Description.', 'rank-math' ),
108
+ 'desc' => esc_html__( 'Group description of the current group', 'rank-math' ),
109
+ 'example' => $this->get_group_desc(),
110
+ )
111
+ );
112
+ }
113
+
114
+ /**
115
+ * Retrieves the group name.
116
+ *
117
+ * @return string
118
+ */
119
+ private function get_group_name() {
120
+ $group = $this->get_group();
121
+ if ( ! is_object( $group ) ) {
122
+ return '';
123
+ }
124
+
125
+ return $group->name;
126
+ }
127
+
128
+ /**
129
+ * Retrieves the group description.
130
+ *
131
+ * @return string
132
+ */
133
+ private function get_group_desc() {
134
+ $group = $this->get_group();
135
+ if ( ! is_object( $group ) ) {
136
+ return '';
137
+ }
138
+
139
+ return $group->description;
140
+ }
141
+
142
+ /**
143
+ * Returns the group object when the current page is the group page.
144
+ *
145
+ * @return null|Object
146
+ */
147
+ private function get_group() {
148
+
149
+ if ( ! function_exists( 'groups_get_current_group' ) ) {
150
+ return '';
151
+ }
152
+
153
+ $group = groups_get_current_group();
154
+ if ( ! is_object( $group ) ) {
155
+ return '';
156
+ }
157
+
158
+ return $group;
159
+ }
160
+ }
includes/modules/buddypress/paper/class-bp-group.php ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The BP_Group Class
4
+ *
5
+ * @since 1.0.32
6
+ * @package RankMath
7
+ * @subpackage RankMath\Paper
8
+ * @author Rank Math <support@rankmath.com>
9
+ */
10
+
11
+ namespace RankMath\Paper;
12
+
13
+ use RankMath\Helper;
14
+
15
+ defined( 'ABSPATH' ) || exit;
16
+
17
+ /**
18
+ * BP_Group class.
19
+ */
20
+ class BP_Group implements IPaper {
21
+
22
+ /**
23
+ * Retrieves the SEO title.
24
+ *
25
+ * @return string
26
+ */
27
+ public function title() {
28
+ return Paper::get_from_options( 'bp_group_title' );
29
+ }
30
+
31
+ /**
32
+ * Retrieves the SEO description.
33
+ *
34
+ * @return string
35
+ */
36
+ public function description() {
37
+ return Paper::get_from_options( 'bp_group_description' );
38
+ }
39
+
40
+ /**
41
+ * Retrieves the robots.
42
+ *
43
+ * @return string
44
+ */
45
+ public function robots() {
46
+ $robots = [];
47
+ if ( Helper::get_settings( 'titles.bp_group_custom_robots' ) ) {
48
+ $robots = Helper::get_settings( 'titles.bp_group_robots' );
49
+ }
50
+
51
+ return Paper::robots_combine( $robots, true );
52
+ }
53
+
54
+ /**
55
+ * Retrieves the canonical URL.
56
+ *
57
+ * @return array
58
+ */
59
+ public function canonical() {
60
+ return '';
61
+ }
62
+
63
+ /**
64
+ * Retrieves meta keywords.
65
+ *
66
+ * @return string The focus keywords.
67
+ */
68
+ public function keywords() {
69
+ return '';
70
+ }
71
+ }
includes/modules/buddypress/paper/class-bp-user.php ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The BP_User Class
4
+ *
5
+ * @since 1.0.32
6
+ * @package RankMath
7
+ * @subpackage RankMath\Paper
8
+ * @author Rank Math <support@rankmath.com>
9
+ */
10
+
11
+ namespace RankMath\Paper;
12
+
13
+ use RankMath\User;
14
+ use RankMath\Helper;
15
+
16
+ defined( 'ABSPATH' ) || exit;
17
+
18
+ /**
19
+ * BP_User class.
20
+ */
21
+ class BP_User implements IPaper {
22
+
23
+ /**
24
+ * Retrieves the SEO title set in the user metabox.
25
+ *
26
+ * @return string The SEO title for the user.
27
+ */
28
+ public function title() {
29
+ return '';
30
+ }
31
+
32
+ /**
33
+ * Retrieves the SEO description set in the user metabox.
34
+ *
35
+ * @return string The SEO description for the user.
36
+ */
37
+ public function description() {
38
+ $description = User::get_meta( 'description', bp_displayed_user_id() );
39
+ if ( '' !== $description ) {
40
+ return $description;
41
+ }
42
+
43
+ return Paper::get_from_options( 'author_archive_description' );
44
+ }
45
+
46
+ /**
47
+ * Retrieves the robots set in the user metabox.
48
+ *
49
+ * @return string The robots for the specified user.
50
+ */
51
+ public function robots() {
52
+ $robots = Paper::robots_combine( User::get_meta( 'robots', bp_displayed_user_id() ) );
53
+
54
+ if ( empty( $robots ) && Helper::get_settings( 'titles.author_custom_robots' ) ) {
55
+ $robots = Paper::robots_combine( Helper::get_settings( 'titles.author_robots' ), true );
56
+ }
57
+
58
+ return $robots;
59
+ }
60
+
61
+ /**
62
+ * Retrieves the canonical URL.
63
+ *
64
+ * @return array
65
+ */
66
+ public function canonical() {
67
+ return '';
68
+ }
69
+
70
+ /**
71
+ * Retrieves the keywords.
72
+ *
73
+ * @return string The focus keywords.
74
+ */
75
+ public function keywords() {
76
+ return User::get_meta( 'focus_keyword', bp_displayed_user_id() );
77
+ }
78
+ }
includes/modules/buddypress/views/options-titles.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The BuddyPress groups settings.
4
+ *
5
+ * @package RankMath
6
+ * @subpackage RankMath\Settings
7
+ */
8
+
9
+ use RankMath\Helper;
10
+
11
+ $cmb->add_field([
12
+ 'id' => 'bp_group_title',
13
+ 'type' => 'text',
14
+ 'name' => esc_html__( 'Group Title', 'rank-math' ),
15
+ 'desc' => esc_html__( 'Title tag for groups', 'rank-math' ),
16
+ 'classes' => 'rank-math-supports-variables rank-math-title',
17
+ 'default' => '',
18
+ 'sanitization_cb' => false,
19
+ ]);
20
+
21
+ $cmb->add_field([
22
+ 'id' => 'bp_group_description',
23
+ 'type' => 'textarea_small',
24
+ 'name' => esc_html__( 'Group Description', 'rank-math' ),
25
+ 'desc' => esc_html__( 'BuddyPress group description', 'rank-math' ),
26
+ 'classes' => 'rank-math-supports-variables rank-math-description',
27
+ 'sanitization_cb' => false,
28
+ ]);
29
+
30
+ $cmb->add_field([
31
+ 'id' => 'bp_group_custom_robots',
32
+ 'type' => 'switch',
33
+ 'name' => esc_html__( 'Group Robots Meta', 'rank-math' ),
34
+ 'desc' => __( 'Select custom robots meta for Group archive pages. Otherwise the default meta will be used, as set in the Global Meta tab.', 'rank-math' ),
35
+ 'options' => [
36
+ 'off' => esc_html__( 'Default', 'rank-math' ),
37
+ 'on' => esc_html__( 'Custom', 'rank-math' ),
38
+ ],
39
+ 'default' => $custom_default,
40
+ ]);
41
+
42
+ $cmb->add_field([
43
+ 'id' => 'bp_group_robots',
44
+ 'type' => 'multicheck',
45
+ 'name' => esc_html__( 'Group Robots Meta', 'rank-math' ),
46
+ 'desc' => esc_html__( 'Custom values for robots meta tag on groups page.', 'rank-math' ),
47
+ 'options' => Helper::choices_robots(),
48
+ 'select_all_button' => false,
49
+ 'dep' => [ [ 'bp_group_custom_robots', 'on' ] ],
50
+ ]);
includes/modules/local-seo/class-kml-file.php CHANGED
@@ -145,7 +145,7 @@ class KML_File {
145
  ];
146
 
147
  if ( count( array_intersect( $local_seo_fields, $updated ) ) ) {
148
- update_option( 'rank_math_local_seo_update', date( 'c' ) );
149
  \RankMath\Sitemap\Sitemap::ping_search_engines( Router::get_base_url( 'local-sitemap.xml' ) );
150
  }
151
  }
@@ -186,7 +186,7 @@ class KML_File {
186
  */
187
  private function get_modified_date() {
188
  if ( ! $date = get_option( 'rank_math_local_seo_update' ) ) { // phpcs:ignore
189
- $date = date( 'c' );
190
  }
191
 
192
  return $date;
145
  ];
146
 
147
  if ( count( array_intersect( $local_seo_fields, $updated ) ) ) {
148
+ update_option( 'rank_math_local_seo_update', date_i18n( 'c' ) );
149
  \RankMath\Sitemap\Sitemap::ping_search_engines( Router::get_base_url( 'local-sitemap.xml' ) );
150
  }
151
  }
186
  */
187
  private function get_modified_date() {
188
  if ( ! $date = get_option( 'rank_math_local_seo_update' ) ) { // phpcs:ignore
189
+ $date = date_i18n( 'c' );
190
  }
191
 
192
  return $date;
includes/modules/local-seo/class-local-seo.php CHANGED
@@ -134,8 +134,7 @@ class Local_Seo {
134
  */
135
  private function can_output_schema() {
136
  $post_id = Post::get_simple_page_id();
137
- $pages = array_filter( [ Helper::get_settings( 'titles.local_seo_about_page' ), Helper::get_settings( 'titles.local_seo_contact_page' ) ] );
138
-
139
  if ( $post_id > 0 && ! in_array( $post_id, $pages, true ) && ! is_front_page() ) {
140
  return false;
141
  }
134
  */
135
  private function can_output_schema() {
136
  $post_id = Post::get_simple_page_id();
137
+ $pages = array_map( 'absint', array_filter( [ Helper::get_settings( 'titles.local_seo_about_page' ), Helper::get_settings( 'titles.local_seo_contact_page' ) ] ) );
 
138
  if ( $post_id > 0 && ! in_array( $post_id, $pages, true ) && ! is_front_page() ) {
139
  return false;
140
  }
includes/modules/redirections/class-db.php CHANGED
@@ -377,7 +377,7 @@ class DB {
377
  * @return int Number of records deleted.
378
  */
379
  public static function periodic_clean_trash() {
380
- $ids = self::table()->select( 'id' )->where( 'status', 'trashed' )->where( 'updated', '<=', date( 'Y-m-d', strtotime( '30 days ago' ) ) )->get( ARRAY_A );
381
  if ( empty( $ids ) ) {
382
  return 0;
383
  }
377
  * @return int Number of records deleted.
378
  */
379
  public static function periodic_clean_trash() {
380
+ $ids = self::table()->select( 'id' )->where( 'status', 'trashed' )->where( 'updated', '<=', date_i18n( 'Y-m-d', strtotime( '30 days ago' ) ) )->get( ARRAY_A );
381
  if ( empty( $ids ) ) {
382
  return 0;
383
  }
includes/modules/redirections/class-export.php CHANGED
@@ -56,7 +56,7 @@ class Export {
56
  }
57
 
58
  $text[] = '# Created by Rank Math';
59
- $text[] = '# ' . date( 'r' );
60
  $text[] = '# Rank Math ' . trim( rank_math()->version ) . ' - https://rankmath.com/';
61
  $text[] = '';
62
 
56
  }
57
 
58
  $text[] = '# Created by Rank Math';
59
+ $text[] = '# ' . date_i18n( 'r' );
60
  $text[] = '# Rank Math ' . trim( rank_math()->version ) . ' - https://rankmath.com/';
61
  $text[] = '';
62
 
includes/modules/redirections/class-form.php CHANGED
@@ -60,18 +60,28 @@ class Form {
60
  <?php
61
  }
62
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  /**
64
  * Register form for Add New Record.
65
  */
66
  public function register_form() {
67
-
68
- $cmb = new_cmb2_box([
69
- 'id' => 'rank-math-redirections',
70
- 'object_types' => [ 'options-page' ],
71
- 'option_key' => 'rank-math-redirections',
72
- 'hookup' => false,
73
- 'save_fields' => false,
74
- ]);
75
 
76
  $cmb->add_field([
77
  'id' => 'sources',
60
  <?php
61
  }
62
 
63
+ /**
64
+ * Create box
65
+ *
66
+ * @return CMB2
67
+ */
68
+ private function create_box() {
69
+ return new_cmb2_box(
70
+ [
71
+ 'id' => 'rank-math-redirections',
72
+ 'object_types' => [ 'options-page' ],
73
+ 'option_key' => 'rank-math-redirections',
74
+ 'hookup' => false,
75
+ 'save_fields' => false,
76
+ ]
77
+ );
78
+ }
79
+
80
  /**
81
  * Register form for Add New Record.
82
  */
83
  public function register_form() {
84
+ $cmb = $this->create_box();
 
 
 
 
 
 
 
85
 
86
  $cmb->add_field([
87
  'id' => 'sources',
includes/modules/redirections/class-redirector.php CHANGED
@@ -142,12 +142,11 @@ class Redirector {
142
  $this->do_debugging();
143
 
144
  // @codeCoverageIgnoreStart
145
- $this->redirect_to = trailingslashit( $this->redirect_to );
146
  if ( true === $this->do_filter( 'redirection/add_query_string', true ) && Str::is_non_empty( $this->query_string ) ) {
147
  $this->redirect_to .= '?' . $this->query_string;
148
  }
149
 
150
- if ( wp_redirect( $this->redirect_to, $header_code, $this->get_redirect_header() ) ) {
151
  exit;
152
  }
153
  // @codeCoverageIgnoreEnd
@@ -258,6 +257,10 @@ class Redirector {
258
  */
259
  private function everything() {
260
  $redirection = DB::match_redirections( $this->uri );
 
 
 
 
261
  if ( $redirection ) {
262
  Cache::add([
263
  'from_url' => $this->uri,
142
  $this->do_debugging();
143
 
144
  // @codeCoverageIgnoreStart
 
145
  if ( true === $this->do_filter( 'redirection/add_query_string', true ) && Str::is_non_empty( $this->query_string ) ) {
146
  $this->redirect_to .= '?' . $this->query_string;
147
  }
148
 
149
+ if ( wp_redirect( esc_url_raw( $this->redirect_to ), $header_code, $this->get_redirect_header() ) ) {
150
  exit;
151
  }
152
  // @codeCoverageIgnoreEnd
257
  */
258
  private function everything() {
259
  $redirection = DB::match_redirections( $this->uri );
260
+ if ( ! $redirection ) {
261
+ $redirection = DB::match_redirections( $this->full_uri );
262
+ }
263
+
264
  if ( $redirection ) {
265
  Cache::add([
266
  'from_url' => $this->uri,
includes/modules/rich-snippet/snippets/class-event.php CHANGED
@@ -48,10 +48,10 @@ class Event implements Snippet {
48
  ];
49
 
50
  if ( $start_date = Helper::get_post_meta( 'snippet_event_startdate' ) ) { // phpcs:ignore
51
- $entity['startDate'] = str_replace( ' ', 'T', date( 'Y-m-d H:i', $start_date ) );
52
  }
53
  if ( $end_date = Helper::get_post_meta( 'snippet_event_enddate' ) ) { // phpcs:ignore
54
- $entity['endDate'] = str_replace( ' ', 'T', date( 'Y-m-d H:i', $end_date ) );
55
  }
56
 
57
  $jsonld->set_address( 'event', $entity['location'] );
@@ -66,7 +66,7 @@ class Event implements Snippet {
66
  ], $entity['offers'] );
67
 
68
  if ( ! empty( $entity['offers']['validFrom'] ) ) {
69
- $entity['offers']['validFrom'] = str_replace( ' ', 'T', date( 'Y-m-d H:i', $entity['offers']['validFrom'] ) );
70
  }
71
 
72
  $entity = $this->add_performer( $entity );
48
  ];
49
 
50
  if ( $start_date = Helper::get_post_meta( 'snippet_event_startdate' ) ) { // phpcs:ignore
51
+ $entity['startDate'] = str_replace( ' ', 'T', date_i18n( 'Y-m-d H:i', $start_date ) );
52
  }
53
  if ( $end_date = Helper::get_post_meta( 'snippet_event_enddate' ) ) { // phpcs:ignore
54
+ $entity['endDate'] = str_replace( ' ', 'T', date_i18n( 'Y-m-d H:i', $end_date ) );
55
  }
56
 
57
  $jsonld->set_address( 'event', $entity['location'] );
66
  ], $entity['offers'] );
67
 
68
  if ( ! empty( $entity['offers']['validFrom'] ) ) {
69
+ $entity['offers']['validFrom'] = str_replace( ' ', 'T', date_i18n( 'Y-m-d H:i', $entity['offers']['validFrom'] ) );
70
  }
71
 
72
  $entity = $this->add_performer( $entity );
includes/modules/rich-snippet/snippets/class-jobposting.php CHANGED
@@ -82,7 +82,7 @@ class JobPosting implements Snippet {
82
  private function get_posted_date( $default = '' ) {
83
  $posted = $default;
84
  if ( $start_date = Helper::get_post_meta( 'snippet_jobposting_startdate' ) ) { // phpcs:ignore
85
- $posted = str_replace( ' ', 'T', date( 'Y-m-d H:i', $start_date ) );
86
  }
87
 
88
  return $posted;
@@ -100,7 +100,7 @@ class JobPosting implements Snippet {
100
  return;
101
  }
102
 
103
- $entity['validThrough'] = str_replace( ' ', 'T', date( 'Y-m-d H:i', $end_date ) );
104
  if ( date_create( 'now' )->getTimestamp() < $end_date ) {
105
  return;
106
  }
82
  private function get_posted_date( $default = '' ) {
83
  $posted = $default;
84
  if ( $start_date = Helper::get_post_meta( 'snippet_jobposting_startdate' ) ) { // phpcs:ignore
85
+ $posted = str_replace( ' ', 'T', date_i18n( 'Y-m-d H:i', $start_date ) );
86
  }
87
 
88
  return $posted;
100
  return;
101
  }
102
 
103
+ $entity['validThrough'] = str_replace( ' ', 'T', date_i18n( 'Y-m-d H:i', $end_date ) );
104
  if ( date_create( 'now' )->getTimestamp() < $end_date ) {
105
  return;
106
  }
includes/modules/rich-snippet/snippets/class-product-woocommerce.php CHANGED
@@ -37,15 +37,15 @@ class Product_WooCommerce {
37
  $this->attributes = new WC_Attributes( $product );
38
 
39
  if ( Helper::is_module_active( 'woocommerce' ) ) {
40
- $wc = new \RankMath\WooCommerce\Woocommerce;
41
- $brand = $wc->get_product_var_brand();
42
 
43
  // Brand.
44
- if ( $brand ) {
45
- $entity['mpn'] = $brand;
 
46
  $entity['brand'] = [
47
  '@type' => 'Thing',
48
- 'name' => $brand,
49
  ];
50
  }
51
  }
@@ -288,7 +288,7 @@ class Product_WooCommerce {
288
  'itemCondition' => 'NewCondition',
289
  'seller' => $seller,
290
  'url' => $product->get_permalink(),
291
- 'priceValidUntil' => ! empty( $product->get_date_on_sale_to() ) ? date( 'Y-m-d', strtotime( $product->get_date_on_sale_to() ) ) : '',
292
  ];
293
 
294
  $this->attributes->assign_property( $offer, 'itemCondition' );
@@ -321,7 +321,7 @@ class Product_WooCommerce {
321
  'availability' => $variation['is_in_stock'] ? 'https://schema.org/InStock' : 'https://schema.org/OutOfStock',
322
  'itemCondition' => 'NewCondition',
323
  'seller' => $seller,
324
- 'priceValidUntil' => $price_valid_until ? date( 'Y-m-d', $price_valid_until ) : '',
325
  'url' => $permalink,
326
  ];
327
 
37
  $this->attributes = new WC_Attributes( $product );
38
 
39
  if ( Helper::is_module_active( 'woocommerce' ) ) {
40
+ $brands = \RankMath\WooCommerce\Woocommerce::get_brands( $product->get_id() );
 
41
 
42
  // Brand.
43
+ if ( ! empty( $brands ) ) {
44
+ $brands = $brands[0]->name;
45
+ $entity['mpn'] = $brands;
46
  $entity['brand'] = [
47
  '@type' => 'Thing',
48
+ 'name' => $brands,
49
  ];
50
  }
51
  }
288
  'itemCondition' => 'NewCondition',
289
  'seller' => $seller,
290
  'url' => $product->get_permalink(),
291
+ 'priceValidUntil' => ! empty( $product->get_date_on_sale_to() ) ? date_i18n( 'Y-m-d', strtotime( $product->get_date_on_sale_to() ) ) : '',
292
  ];
293
 
294
  $this->attributes->assign_property( $offer, 'itemCondition' );
321
  'availability' => $variation['is_in_stock'] ? 'https://schema.org/InStock' : 'https://schema.org/OutOfStock',
322
  'itemCondition' => 'NewCondition',
323
  'seller' => $seller,
324
+ 'priceValidUntil' => $price_valid_until ? date_i18n( 'Y-m-d', $price_valid_until ) : '',
325
  'url' => $permalink,
326
  ];
327
 
includes/modules/rich-snippet/snippets/class-review.php CHANGED
@@ -68,20 +68,18 @@ class Review implements Snippet {
68
  * @since 1.0.12
69
  */
70
  public function add_review_to_content( $content ) {
71
- global $multipage, $numpages, $page;
72
-
73
- $location = $this->can_add_content();
74
  if ( false === $location ) {
75
  return $content;
76
  }
77
 
78
  $review = do_shortcode( '[rank_math_review_snippet]' );
79
 
80
- if ( 'top' === $location || 'both' === $location ) {
81
  $content = $review . $content;
82
  }
83
 
84
- if ( ( 'bottom' === $location || 'both' === $location ) && ( ! $multipage || $page === $numpages ) ) {
85
  $content .= $review;
86
  }
87
 
@@ -93,7 +91,7 @@ class Review implements Snippet {
93
  *
94
  * @return boolean|string
95
  */
96
- private function can_add_content() {
97
  if ( ! is_main_query() || ! in_the_loop() ) {
98
  return false;
99
  }
@@ -116,4 +114,31 @@ class Review implements Snippet {
116
 
117
  return $location;
118
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
119
  }
68
  * @since 1.0.12
69
  */
70
  public function add_review_to_content( $content ) {
71
+ $location = $this->get_content_location();
 
 
72
  if ( false === $location ) {
73
  return $content;
74
  }
75
 
76
  $review = do_shortcode( '[rank_math_review_snippet]' );
77
 
78
+ if ( $this->can_add( 'top', $location ) ) {
79
  $content = $review . $content;
80
  }
81
 
82
+ if ( $this->can_add( 'bottom', $location ) && $this->can_add_multi_page() ) {
83
  $content .= $review;
84
  }
85
 
91
  *
92
  * @return boolean|string
93
  */
94
+ private function get_content_location() {
95
  if ( ! is_main_query() || ! in_the_loop() ) {
96
  return false;
97
  }
114
 
115
  return $location;
116
  }
117
+
118
+ /**
119
+ * Check if we can inject the review in the content.
120
+ *
121
+ * @param string $where Adding where.
122
+ * @param string $location Location to check against.
123
+ *
124
+ * @return bool
125
+ */
126
+ private function can_add( $where, $location ) {
127
+ if ( $where === $location || 'both' === $location ) {
128
+ return true;
129
+ }
130
+
131
+ return false;
132
+ }
133
+
134
+ /**
135
+ * Check if we can add content if multipage.
136
+ *
137
+ * @return bool
138
+ */
139
+ private function can_add_multi_page() {
140
+ global $multipage, $numpages, $page;
141
+
142
+ return ( ! $multipage || $page === $numpages );
143
+ }
144
  }
includes/modules/rich-snippet/snippets/class-singular.php CHANGED
@@ -74,6 +74,11 @@ class Singular implements Snippet {
74
  * @return boolean|string
75
  */
76
  private function can_add_schema( $jsonld ) {
 
 
 
 
 
77
  $schema = Helper::get_post_meta( 'rich_snippet' );
78
  if (
79
  ! $schema &&
74
  * @return boolean|string
75
  */
76
  private function can_add_schema( $jsonld ) {
77
+ $pages = array_map( 'absint', array_filter( [ Helper::get_settings( 'titles.local_seo_about_page' ), Helper::get_settings( 'titles.local_seo_contact_page' ) ] ) );
78
+ if ( ! empty( $jsonld->post_id ) && in_array( $jsonld->post_id, $pages, true ) ) {
79
+ return false;
80
+ }
81
+
82
  $schema = Helper::get_post_meta( 'rich_snippet' );
83
  if (
84
  ! $schema &&
includes/modules/robots-txt/class-robots-txt.php ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The robots txt module.
4
+ *
5
+ * @since 0.9.0
6
+ * @package RankMath
7
+ * @subpackage RankMath
8
+ * @author Rank Math <support@rankmath.com>
9
+ */
10
+
11
+ namespace RankMath;
12
+
13
+ use RankMath\Helper;
14
+ use RankMath\Traits\Hooker;
15
+ use MyThemeShop\Helpers\Arr;
16
+ use MyThemeShop\Helpers\WordPress;
17
+
18
+ defined( 'ABSPATH' ) || exit;
19
+
20
+ /**
21
+ * Robots_Txt class.
22
+ */
23
+ class Robots_Txt {
24
+
25
+ use Hooker;
26
+
27
+ /**
28
+ * Class constructor.
29
+ */
30
+ public function __construct() {
31
+
32
+ if ( is_admin() ) {
33
+ $this->filter( 'rank_math/settings/general', 'add_settings' );
34
+ }
35
+
36
+ // Custom robots text.
37
+ if ( ! is_admin() && Helper::get_settings( 'general.robots_txt_content' ) ) {
38
+ $this->action( 'robots_txt', 'robots_txt', 10, 2 );
39
+ }
40
+ }
41
+
42
+ /**
43
+ * Replace robots.txt content.
44
+ *
45
+ * @param string $content Robots.txt file content.
46
+ * @param bool $public Whether the site is considered "public".
47
+ *
48
+ * @return string New robots.txt content.
49
+ */
50
+ public function robots_txt( $content, $public ) {
51
+ return 0 === absint( $public ) ? $content : Helper::get_settings( 'general.robots_txt_content' );
52
+ }
53
+
54
+ /**
55
+ * Add module settings into general optional panel.
56
+ *
57
+ * @param array $tabs Array of option panel tabs.
58
+ *
59
+ * @return array
60
+ */
61
+ public function add_settings( $tabs ) {
62
+ Arr::insert(
63
+ $tabs,
64
+ [
65
+ 'robots' => [
66
+ 'icon' => 'fa fa-simplybuilt',
67
+ 'title' => esc_html__( 'Edit robots.txt', 'rank-math' ),
68
+ /* translators: Link to kb article */
69
+ 'desc' => sprintf( esc_html__( 'Here you can edit the virtual robots.txt file. Leave the field empty to let WordPress handle the contents dynamically. If an actual robots.txt file is present in the root folder of your site, this option won\'t take effect and you have to edit the file directly, or delete it and then edit from here. %s.', 'rank-math' ), '<a href="' . KB::get( 'edit-robotstxt' ) . '" target="_blank">' . esc_html__( 'Learn more', 'rank-math' ) . '</a>' ),
70
+ 'file' => dirname( __FILE__ ) . '/options.php',
71
+ ],
72
+ ],
73
+ 5
74
+ );
75
+
76
+ return $tabs;
77
+ }
78
+
79
+ /**
80
+ * Get robots.txt related data.
81
+ *
82
+ * @return array
83
+ */
84
+ public static function get_robots_data() {
85
+ $wp_filesystem = WordPress::get_filesystem();
86
+
87
+ if ( $wp_filesystem->exists( ABSPATH . 'robots.txt' ) ) {
88
+ return [
89
+ 'exists' => true,
90
+ 'default' => $wp_filesystem->get_contents( ABSPATH . 'robots.txt' ),
91
+ ];
92
+ }
93
+
94
+ $default = '# This file is automatically added by Rank Math SEO plugin to help a website index better';
95
+ $default .= "\n# More info: https://s.rankmath.com/home\n";
96
+ $default .= "User-Agent: *\n";
97
+ $public = absint( get_option( 'blog_public' ) );
98
+ if ( 0 === $public ) {
99
+ $default .= "Disallow: /\n";
100
+ } else {
101
+ $site_url = parse_url( site_url() );
102
+ $default .= "Disallow: /wp-admin/\n";
103
+ $default .= "Allow: /wp-admin/admin-ajax.php\n";
104
+ }
105
+
106
+ return [
107
+ 'exists' => false,
108
+ 'default' => apply_filters( 'robots_txt', $default, $public ),
109
+ 'public' => $public,
110
+ ];
111
+ }
112
+ }
includes/modules/robots-txt/options.php ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The robots.txt settings.
4
+ *
5
+ * @package RankMath
6
+ * @subpackage RankMath\Settings
7
+ */
8
+
9
+ use RankMath\Robots_Txt;
10
+ use RankMath\Helper;
11
+
12
+ $data = Robots_Txt::get_robots_data();
13
+ $attributes = [];
14
+ if ( $data['exists'] ) {
15
+ $attributes['readonly'] = 'readonly';
16
+ $attributes['value'] = $data['default'];
17
+ } else {
18
+ $attributes['placeholder'] = $data['default'];
19
+ }
20
+
21
+ if ( 0 === $data['public'] ) {
22
+ $attributes['disabled'] = 'disabled';
23
+ }
24
+
25
+ if ( ! Helper::is_edit_allowed() ) {
26
+ $cmb->add_field([
27
+ 'id' => 'edit_disabled',
28
+ 'type' => 'notice',
29
+ 'what' => 'error',
30
+ 'content' => __( 'robots.txt file is not writable.', 'rank-math' ),
31
+ ]);
32
+ $attributes['disabled'] = 'disabled';
33
+ }
34
+
35
+ $cmb->add_field([
36
+ 'id' => 'robots_txt_content',
37
+ 'type' => 'textarea',
38
+ 'desc' => ! $data['exists'] ? '' : esc_html__( 'Contents are locked because robots.txt file is present in the root folder.', 'rank-math' ),
39
+ 'attributes' => $attributes,
40
+ 'classes' => 'nob',
41
+ 'sanitization_cb' => false,
42
+ ]);
43
+
44
+ if ( 0 === $data['public'] ) {
45
+ $cmb->add_field([
46
+ 'id' => 'site_not_public',
47
+ 'type' => 'notice',
48
+ 'what' => 'warning',
49
+ 'classes' => 'nob nopt',
50
+ 'content' => wp_kses_post(
51
+ sprintf(
52
+ __( '<strong>Warning:</strong> your site\'s search engine visibility is set to Hidden in <a href="%1$s" target="_blank">Settings > Reading</a>. This means that the changes you make here will not take effect. Set the search engine visibility to Public to be able to change the robots.txt content.', 'rank-math' ),
53
+ admin_url( 'options-reading.php' )
54
+ )
55
+ ),
56
+ ]);
57
+ return;
58
+ }
includes/modules/search-console/class-db.php CHANGED
@@ -276,8 +276,8 @@ class DB {
276
  if ( -1 === $days ) {
277
  self::table()->truncate();
278
  } else {
279
- $start = date( 'Y-m-d H:i:s', strtotime( '-1 days' ) );
280
- $end = date( 'Y-m-d H:i:s', strtotime( '-90 days' ) );
281
 
282
  self::table()->whereBetween( 'date', [ $end, $start ] )->delete();
283
  }
276
  if ( -1 === $days ) {
277
  self::table()->truncate();
278
  } else {
279
+ $start = date_i18n( 'Y-m-d H:i:s', strtotime( '-1 days' ) );
280
+ $end = date_i18n( 'Y-m-d H:i:s', strtotime( '-90 days' ) );
281
 
282
  self::table()->whereBetween( 'date', [ $end, $start ] )->delete();
283
  }
includes/modules/search-console/class-search-console-common.php CHANGED
@@ -64,7 +64,7 @@ class Search_Console_Common extends Module {
64
  $crawler = new Data_Fetcher;
65
  $start = Helper::get_midnight( time() - DAY_IN_SECONDS );
66
 
67
- $crawler->push_to_queue( date( 'Y-m-d', $start - ( DAY_IN_SECONDS * 2 ) ) );
68
  $crawler->save()->dispatch();
69
  }
70
  }
64
  $crawler = new Data_Fetcher;
65
  $start = Helper::get_midnight( time() - DAY_IN_SECONDS );
66
 
67
+ $crawler->push_to_queue( date_i18n( 'Y-m-d', $start - ( DAY_IN_SECONDS * 2 ) ) );
68
  $crawler->save()->dispatch();
69
  }
70
  }
includes/modules/search-console/class-search-console.php CHANGED
@@ -131,8 +131,8 @@ class Search_Console extends Module {
131
  $week = $today - ( DAY_IN_SECONDS * 7 );
132
  $data_info = DB::data_info(
133
  [
134
- 'start_date' => date( 'Y-m-d', $week ),
135
- 'end_date' => date( 'Y-m-d', $today ),
136
  ]
137
  );
138
  ?>
@@ -369,7 +369,7 @@ class Search_Console extends Module {
369
  $start = Helper::get_midnight( time() - DAY_IN_SECONDS );
370
 
371
  for ( $current = 1; $current <= $days; $current++ ) {
372
- $this->crawler->push_to_queue( date( 'Y-m-d', $start - ( DAY_IN_SECONDS * $current ) ) );
373
  }
374
  $this->crawler->save()->dispatch();
375
  $this->success( 'Data fetching started in the background.' );
@@ -419,15 +419,15 @@ class Search_Console extends Module {
419
  $start = $this->get_filter_data( 'start_date', ( $today - ( DAY_IN_SECONDS * 30 ) ) );
420
  $dimension = $this->get_filter_data( 'dimension', 'query' );
421
 
422
- $start_date = date( 'Y-m-d', $start );
423
- $end_date = date( 'Y-m-d', $end );
424
  $picker = $start_date . ' to ' . $end_date;
425
 
426
  // Previous Dates.
427
  $prev_end_date = $start - ( DAY_IN_SECONDS * 1 );
428
  $prev_start_date = $prev_end_date - abs( $start - $end );
429
- $prev_end_date = date( 'Y-m-d', $prev_end_date );
430
- $prev_start_date = date( 'Y-m-d', $prev_start_date );
431
 
432
  // Difference.
433
  $diff = abs( $start - $end ) / DAY_IN_SECONDS;
131
  $week = $today - ( DAY_IN_SECONDS * 7 );
132
  $data_info = DB::data_info(
133
  [
134
+ 'start_date' => date_i18n( 'Y-m-d', $week ),
135
+ 'end_date' => date_i18n( 'Y-m-d', $today ),
136
  ]
137
  );
138
  ?>
369
  $start = Helper::get_midnight( time() - DAY_IN_SECONDS );
370
 
371
  for ( $current = 1; $current <= $days; $current++ ) {
372
+ $this->crawler->push_to_queue( date_i18n( 'Y-m-d', $start - ( DAY_IN_SECONDS * $current ) ) );
373
  }
374
  $this->crawler->save()->dispatch();
375
  $this->success( 'Data fetching started in the background.' );
419
  $start = $this->get_filter_data( 'start_date', ( $today - ( DAY_IN_SECONDS * 30 ) ) );
420
  $dimension = $this->get_filter_data( 'dimension', 'query' );
421
 
422
+ $start_date = date_i18n( 'Y-m-d', $start );
423
+ $end_date = date_i18n( 'Y-m-d', $end );
424
  $picker = $start_date . ' to ' . $end_date;
425
 
426
  // Previous Dates.
427
  $prev_end_date = $start - ( DAY_IN_SECONDS * 1 );
428
  $prev_start_date = $prev_end_date - abs( $start - $end );
429
+ $prev_end_date = date_i18n( 'Y-m-d', $prev_end_date );
430
+ $prev_start_date = date_i18n( 'Y-m-d', $prev_start_date );
431
 
432
  // Difference.
433
  $diff = abs( $start - $end ) / DAY_IN_SECONDS;
includes/modules/search-console/class-sitemaps-list.php CHANGED
@@ -72,7 +72,7 @@ class Sitemaps_List extends List_Table {
72
  protected function column_lastDownloaded( $item ) {
73
  if ( ! empty( $item['lastDownloaded'] ) ) {
74
  $date = date_parse( $item['lastDownloaded'] );
75
- $date = date( 'Y-m-d H:i:s', mktime( $date['hour'], $date['minute'], $date['second'], $date['month'], $date['day'], $date['year'] ) );
76
  return $date;
77
  }
78
  }
72
  protected function column_lastDownloaded( $item ) {
73
  if ( ! empty( $item['lastDownloaded'] ) ) {
74
  $date = date_parse( $item['lastDownloaded'] );
75
+ $date = date_i18n( 'Y-m-d H:i:s', mktime( $date['hour'], $date['minute'], $date['second'], $date['month'], $date['day'], $date['year'] ) );
76
  return $date;
77
  }
78
  }
includes/modules/search-console/views/options.php CHANGED
@@ -54,7 +54,7 @@ if ( $is_empty ) {
54
  'type' => 'notice',
55
  'what' => 'error',
56
  /* translators: date */
57
- 'content' => sprintf( __( 'The data sets are empty in your cache. You can wait for the next cronjob (%s) or <strong>Update Manually</strong>.', 'rank-math' ), date( 'd/m/Y 00:00:00', strtotime( '+1 days' ) ) ) .
58
  '<p class="note">' . __( '<strong>Note:</strong> Please update your data by clicking on \'Update Manually\'. Google only stores data from the last 90 days - a dataset older than that can\'t be updated anymore.', 'rank-math' ) . '</p>',
59
  ]);
60
  }
54
  'type' => 'notice',
55
  'what' => 'error',
56
  /* translators: date */
57
+ 'content' => sprintf( __( 'The data sets are empty in your cache. You can wait for the next cronjob (%s) or <strong>Update Manually</strong>.', 'rank-math' ), date_i18n( 'd/m/Y 00:00:00', strtotime( '+1 days' ) ) ) .
58
  '<p class="note">' . __( '<strong>Note:</strong> Please update your data by clicking on \'Update Manually\'. Google only stores data from the last 90 days - a dataset older than that can\'t be updated anymore.', 'rank-math' ) . '</p>',
59
  ]);
60
  }
includes/modules/seo-analysis/assets/seo-analysis.css CHANGED
@@ -2,4 +2,4 @@
2
  * Plugin: Rank Math - SEO Analysis
3
  * URL: https://rankmath.com/wordpress/plugin/seo-suite/
4
  * Name: seo-analysis.css
5
- */.rank-math-seo-analysis-wrap .button{margin-left:10px}.rank-math-seo-analysis-wrap .progress-bar,.rank-math-seo-analysis-wrap .progress{height:4px;border-radius:3px;background:#e9e9ea}.rank-math-seo-analysis-wrap .progress-bar label,.rank-math-seo-analysis-wrap .progress label{display:block;padding-top:6px;color:rgba(117,121,127,0.6)}.rank-math-seo-analysis-wrap .progress{width:0;background:#58bb58}.rank-math-seo-analysis-header,.rank-math-results-wrapper,.rank-math-result-graphs{-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #d8d8d8;background:#f6f6f6}.rank-math-results-wrapper{border-top:0;background:#fff}.rank-math-seo-analysis-header{margin-top:10px;padding:60px;text-align:center}.rank-math-seo-analysis-header h2,.rank-math-seo-analysis-header .progress-bar{display:none}.rank-math-seo-analysis-header h2{font-size:2em}.rank-math-result-graphs{margin-top:10px;padding:40px;text-align:center}.rank-math-result-graphs footer{margin-top:50px}.rank-math-result-graphs .graphs-main,.rank-math-result-graphs .graphs-side{-webkit-box-sizing:border-box;box-sizing:border-box;padding:35px 20px 20px;border:1px solid #e5e5e5;border-radius:3px;background:#fff;-webkit-box-flex:1;-ms-flex:1;flex:1}.rank-math-result-graphs .graphs-main{-webkit-box-flex:0;-ms-flex:0 0 30%;flex:0 0 30%}.rank-math-result-graphs .graphs-side{margin-left:3%}.rank-math-result-graphs .result-score{display:inline-block;width:160px;padding-top:20px}.rank-math-result-graphs .result-score strong{font-size:24px;font-weight:700}.rank-math-result-graphs .result-score label{font-size:15px;display:block;padding-top:5px;color:#75797f}.rank-math-analyze-url{display:none;width:300px}.rank-math-changeurl-ok.button{display:none}.is-loading .rank-math-recheck,.is-loading .rank-math-results-wrapper{display:none}.is-loading .rank-math-seo-analysis-header{display:block}.is-loading .rank-math-seo-analysis-header h2,.is-loading .rank-math-seo-analysis-header .progress-bar{display:block}.is-loaded .rank-math-seo-analysis-header{display:none}@-webkit-keyframes drawchart{0%{height:0}}@keyframes drawchart{0%{height:0}}#rank-math-circle-progress{position:relative}#rank-math-circle-progress strong{font-size:5em;font-weight:700;width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;position:absolute;top:50%;left:0}.score-good{color:#58bb58}.score-average{color:#f7ca63}.score-bad{color:#ed6a5e}.status-ok,.chart .chart-bar-good span{background:#58bb58}.status-warning,.chart .chart-bar-average span{background:#f7ca63}.status-fail,.chart .chart-bar-bad span{background:#ed6a5e}.chart{display:table;width:100%;margin:0;table-layout:fixed;border-bottom:1px solid #e5e5e5;background-image:radial-gradient(circle, #e5e5e5 1px, transparent 1px);background-size:6px 50px}.chart li{position:relative;display:table-cell;height:211px;vertical-align:bottom}.chart span{display:block;width:60px;margin:auto;-webkit-animation:drawchart 1s ease-in-out;animation:drawchart 1s ease-in-out;background:rgba(209,236,250,0.75)}.chart .result-score{position:absolute;top:100%;left:0;width:100%}.rank-math-result-table{padding:30px 15px 0}.rank-math-result-table:last-of-type{padding-bottom:30px}.rank-math-result-table .category-title{font-size:16px;font-weight:600;-webkit-box-sizing:border-box;box-sizing:border-box;padding:11px 20px;color:#fff;background:#23282d}.rank-math-result-table .table-row{display:table;width:100%;table-layout:fixed;border-bottom:1px solid #e5e5e5;background:#fbfbfb}.rank-math-result-table .row-title,.rank-math-result-table .row-description{display:table-cell;padding:15px 20px}.rank-math-result-table .row-title{width:26%;vertical-align:top}.rank-math-result-table .row-title h3{font-size:14px;display:inline-block;margin:0}.rank-math-result-table .row-content{font-size:14px;position:relative;padding-left:40px}.rank-math-result-table .row-content code{display:inline-block;margin-top:4px}.rank-math-tooltip em{color:#d1d2d4}.rank-math-tooltip:hover em{color:#069de3}.rank-math-tooltip:hover span{bottom:130%;opacity:1}.status-icon{position:absolute;color:#fff;border:1px solid transparent;border-radius:50em}.status-icon.status-info{background:#069de3}.how-to-fix-wrapper ul{clear:both;margin-top:0;margin-bottom:0;margin-left:15px;list-style-type:disc}.analysis-test-how-to-fix,.how-to-fix-wrapper{-webkit-transition:all 200ms linear;transition:all 200ms linear}.analysis-test-how-to-fix .result-action,.how-to-fix-wrapper .result-action{display:none}.result-action{display:block;float:right;margin-top:-4px;margin-left:10px;padding:6px 6px 6px 12px;text-decoration:none;color:rgba(85,93,102,0.8);border:1px solid #e5e5e5;background:#fff;-webkit-box-shadow:none !important;box-shadow:none !important}.result-action:after{font-family:dashicons;font-size:20px;line-height:1;display:inline-block;content:'\f140';vertical-align:top;height:15px;width:20px}.expanded .result-action:after{content:'\f142'}.expanded .result-action,.result-action:hover{color:#fff;border-color:#069de3;background:#069de3}.analysis-test-how-to-fix{line-height:1.5;display:none;margin:22px auto 0;padding:15px;color:#7d7f82;background:#f0efef}.analysis-test-how-to-fix pre{margin:0;padding:0;color:inherit;background:transparent}.analysis-test-how-to-fix p:first-of-type{margin-top:0}.analysis-test-how-to-fix p:last-of-type{margin-bottom:0}.expanded .analysis-test-how-to-fix{display:block}.serp-preview{padding:20px;background:#fff;margin-left:-10px;margin-top:10px}.serp-preview .serp-description,.serp-preview .serp-title,.serp-preview .serp-url{font-family:arial, sans-serif;position:relative;z-index:1;display:block;overflow:hidden;max-width:630px;margin:0;cursor:pointer}.serp-preview .serp-title{font-size:18px;font-weight:normal;line-height:19px;white-space:nowrap;text-overflow:ellipsis;color:#1a0dab}.serp-preview .serp-url{font-size:14px;line-height:16px;margin:3px 0 5px;color:#006621}.serp-preview .serp-description{font-size:13px;line-height:1.4;word-wrap:break-word;color:#545454}.keyword-cloud-item{vertical-align:middle;padding:4px;display:inline-block}.info-list{background:#eaeaea;background:rgba(0,0,0,0.07);padding:4px}.info-list li{padding:3px 6px 2px;margin:0 1px;font-size:13px;font-family:Consolas, Monaco, monospace;direction:ltr;unicode-bidi:embed}body.rtl .rank-math-result-table .row-content{padding-left:0;padding-right:40px}body.rtl .result-action{float:left;margin-left:0;margin-right:10px;padding-left:6px;padding-right:12px}@media screen and (max-width: 782px){.rank-math-seo-analysis-wrap .graphs-main,.rank-math-seo-analysis-wrap .graphs-side{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;margin:0}.rank-math-seo-analysis-wrap .graphs-side{border-top:0;padding-bottom:75px}.rank-math-seo-analysis-wrap .chart li{height:170px}.rank-math-seo-analysis-wrap .info-list{overflow:scroll}}@media screen and (max-width: 595px){.rank-math-seo-analysis-wrap .rank-math-result-table .row-title,.rank-math-seo-analysis-wrap .rank-math-result-table .row-description{display:block;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}}
2
  * Plugin: Rank Math - SEO Analysis
3
  * URL: https://rankmath.com/wordpress/plugin/seo-suite/
4
  * Name: seo-analysis.css
5
+ */.rank-math-seo-analysis-wrap .button{margin-left:10px}.rank-math-seo-analysis-wrap .progress-bar,.rank-math-seo-analysis-wrap .progress{height:4px;border-radius:3px;background:#e9e9ea}.rank-math-seo-analysis-wrap .progress-bar label,.rank-math-seo-analysis-wrap .progress label{display:block;padding-top:6px;color:rgba(117,121,127,0.6)}.rank-math-seo-analysis-wrap .progress{width:0;background:#58bb58}.rank-math-seo-analysis-header,.rank-math-results-wrapper,.rank-math-result-graphs{-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #d8d8d8;background:#f6f6f6}.rank-math-results-wrapper{border-top:0;background:#fff}.rank-math-seo-analysis-header{margin-top:10px;padding:60px;text-align:center}.rank-math-seo-analysis-header h2,.rank-math-seo-analysis-header .progress-bar{display:none}.rank-math-seo-analysis-header h2{font-size:2em}.rank-math-result-graphs{margin-top:10px;padding:40px;text-align:center}.rank-math-result-graphs footer{margin-top:50px}.rank-math-result-graphs .graphs-main,.rank-math-result-graphs .graphs-side{-webkit-box-sizing:border-box;box-sizing:border-box;padding:35px 20px 20px;border:1px solid #e5e5e5;border-radius:3px;background:#fff;-webkit-box-flex:1;-ms-flex:1;flex:1}.rank-math-result-graphs .graphs-main{-webkit-box-flex:0;-ms-flex:0 0 30%;flex:0 0 30%}.rank-math-result-graphs .graphs-side{margin-left:3%}.rank-math-result-graphs .result-score{display:inline-block;width:160px;padding-top:20px}.rank-math-result-graphs .result-score strong{font-size:24px;font-weight:700}.rank-math-result-graphs .result-score label{font-size:15px;display:block;padding-top:5px;color:#75797f}.rank-math-analyze-url{display:none;width:300px}.rank-math-changeurl-ok.button{display:none}.is-loading .rank-math-recheck,.is-loading .rank-math-results-wrapper{display:none}.is-loading .rank-math-seo-analysis-header{display:block}.is-loading .rank-math-seo-analysis-header h2,.is-loading .rank-math-seo-analysis-header .progress-bar{display:block}.is-loaded .rank-math-seo-analysis-header{display:none}@-webkit-keyframes drawchart{0%{height:0}}@keyframes drawchart{0%{height:0}}#rank-math-circle-progress{position:relative}#rank-math-circle-progress strong{font-size:5em;font-weight:700;width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;position:absolute;top:50%;left:0}.score-good{color:#58bb58}.score-average{color:#f7ca63}.score-bad{color:#ed6a5e}.status-ok,.chart .chart-bar-good span{background:#58bb58}.status-warning,.chart .chart-bar-average span{background:#f7ca63}.status-fail,.chart .chart-bar-bad span{background:#ed6a5e}.chart{display:table;width:100%;margin:0;table-layout:fixed;border-bottom:1px solid #e5e5e5;background-image:radial-gradient(circle, #e5e5e5 1px, transparent 1px);background-size:6px 50px}.chart li{position:relative;display:table-cell;height:211px;vertical-align:bottom}.chart span{display:block;width:60px;margin:auto;-webkit-animation:drawchart 1s ease-in-out;animation:drawchart 1s ease-in-out;background:rgba(209,236,250,0.75)}.chart .result-score{position:absolute;top:100%;left:0;width:100%}.rank-math-result-table{padding:30px 15px 0}.rank-math-result-table:last-of-type{padding-bottom:30px}.rank-math-result-table .category-title{font-size:16px;font-weight:600;-webkit-box-sizing:border-box;box-sizing:border-box;padding:11px 20px;color:#fff;background:#23282d}.rank-math-result-table .table-row{display:table;width:100%;table-layout:fixed;border-bottom:1px solid #e5e5e5;background:#fbfbfb}.rank-math-result-table .row-title,.rank-math-result-table .row-description{display:table-cell;padding:15px 20px}.rank-math-result-table .row-title{width:26%;vertical-align:top}.rank-math-result-table .row-title h3{font-size:14px;display:inline-block;margin:0}.rank-math-result-table .row-content{font-size:14px;position:relative;padding-left:40px}.rank-math-result-table .row-content code{display:inline-block;margin-top:4px}.rank-math-tooltip em{color:#d1d2d4}.rank-math-tooltip:hover em{color:#069de3}.rank-math-tooltip:hover span{bottom:130%;opacity:1}.status-icon{position:absolute;color:#fff;border:1px solid transparent;border-radius:50em}.status-icon.status-info{background:#069de3}.how-to-fix-wrapper ul{clear:both;margin-top:0;margin-bottom:0;margin-left:15px;list-style-type:disc}.analysis-test-how-to-fix,.how-to-fix-wrapper{-webkit-transition:all 200ms linear;transition:all 200ms linear}.analysis-test-how-to-fix .result-action,.how-to-fix-wrapper .result-action{display:none}.result-action{display:block;float:right;margin-top:-4px;margin-left:10px;padding:6px 6px 6px 12px;text-decoration:none;color:rgba(85,93,102,0.8);border:1px solid #e5e5e5;background:#fff;-webkit-box-shadow:none !important;box-shadow:none !important}.result-action:after{font-family:dashicons;font-size:20px;line-height:1;display:inline-block;content:'\f140';vertical-align:top;height:15px;width:20px}.expanded .result-action:after{content:'\f142'}.expanded .result-action,.result-action:hover{color:#fff;border-color:#069de3;background:#069de3}.analysis-test-how-to-fix{line-height:1.5;display:none;margin:22px auto 0;padding:15px;color:#7d7f82;background:#f0efef}.analysis-test-how-to-fix pre{margin:0;padding:0;color:inherit;background:transparent}.analysis-test-how-to-fix p:first-of-type{margin-top:0}.analysis-test-how-to-fix p:last-of-type{margin-bottom:0}.expanded .analysis-test-how-to-fix{display:block}.serp-preview{margin-top:10px;margin-left:-10px;padding:20px;background:#fff}.serp-preview .serp-description,.serp-preview .serp-title,.serp-preview .serp-url{font-family:arial, sans-serif;position:relative;z-index:1;display:block;overflow:hidden;max-width:630px;margin:0;cursor:pointer}.serp-preview .serp-title{font-size:18px;font-weight:normal;line-height:19px;white-space:nowrap;text-overflow:ellipsis;color:#1a0dab}.serp-preview .serp-url{font-size:14px;line-height:16px;margin:3px 0 5px;color:#006621}.serp-preview .serp-description{font-size:13px;line-height:1.4;word-wrap:break-word;color:#545454}.keyword-cloud-item{display:inline-block;padding:4px;vertical-align:middle}.info-list{padding:4px;background:#eaeaea;background:rgba(0,0,0,0.07)}.info-list li{font-family:Consolas, Monaco, monospace;font-size:13px;margin:0 1px;padding:3px 6px 2px;direction:ltr;overflow-wrap:break-word;unicode-bidi:embed}body.rtl .rank-math-result-table .row-content{padding-right:40px;padding-left:0}body.rtl .result-action{float:left;margin-right:10px;margin-left:0;padding-right:12px;padding-left:6px}@media screen and (max-width: 782px){.rank-math-seo-analysis-wrap .graphs-main,.rank-math-seo-analysis-wrap .graphs-side{margin:0;-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%}.rank-math-seo-analysis-wrap .graphs-side{padding-bottom:75px;border-top:0}.rank-math-seo-analysis-wrap .chart li{height:170px}.rank-math-seo-analysis-wrap .info-list{overflow:scroll}}@media screen and (max-width: 595px){.rank-math-seo-analysis-wrap .rank-math-result-table .row-title,.rank-math-seo-analysis-wrap .rank-math-result-table .row-description{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%}}
includes/modules/seo-analysis/class-result.php CHANGED
@@ -51,28 +51,6 @@ class Result {
51
  $this->is_subpage = $is_subpage;
52
  }
53
 
54
- /**
55
- * Magic method.
56
- *
57
- * @param string $method Method name.
58
- * @param array $arguments Argument array.
59
- *
60
- * @return mixed
61
- */
62
- public function __call( $method, $arguments ) {
63
- $property = substr( $method, 4 );
64
-
65
- if ( 'id' === $property ) {
66
- return $this->id;
67
- }
68
-
69
- if ( array_key_exists( $property, $this->result ) ) {
70
- return $this->result[ $property ];
71
- }
72
-
73
- return $this->$method();
74
- }
75
-
76
  /**
77
  * Magic method.
78
  */
@@ -121,6 +99,33 @@ class Result {
121
  return ob_get_clean();
122
  }
123
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  /**
125
  * Has fix content.
126
  *
51
  $this->is_subpage = $is_subpage;
52
  }
53
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  /**
55
  * Magic method.
56
  */
99
  return ob_get_clean();
100
  }
101
 
102
+ /**
103
+ * Get result id.
104
+ *
105
+ * @return string
106
+ */
107
+ public function get_id() {
108
+ return $this->id;
109
+ }
110
+
111
+ /**
112
+ * Get category
113
+ *
114
+ * @return string
115
+ */
116
+ public function get_category() {
117
+ return isset( $this->result['category'] ) ? $this->result['category'] : '';
118
+ }
119
+
120
+ /**
121
+ * Get status
122
+ *
123
+ * @return string
124
+ */
125
+ public function get_status() {
126
+ return isset( $this->result['status'] ) ? $this->result['status'] : '';
127
+ }
128
+
129
  /**
130
  * Has fix content.
131
  *
includes/modules/seo-analysis/class-seo-analyzer.php CHANGED
@@ -309,9 +309,11 @@ class SEO_Analyzer {
309
  /**
310
  * Process results as needed.
311
  *
 
 
312
  * @return boolean
313
  */
314
- private function process_api_results( $response ) {
315
  foreach ( $response as $id => $results ) {
316
  $this->results[ $id ] = wp_parse_args(
317
  $results,
309
  /**
310
  * Process results as needed.
311
  *
312
+ * @param array $response Response.
313
+ *
314
  * @return boolean
315
  */
316
+ private function process_api_results( $response ) {
317
  foreach ( $response as $id => $results ) {
318
  $this->results[ $id ] = wp_parse_args(
319
  $results,
includes/modules/sitemap/providers/class-author.php CHANGED
@@ -95,7 +95,7 @@ class Author implements Provider {
95
  $mod = isset( $user->last_update ) ? $user->last_update : strtotime( $user->user_registered );
96
  $url = array(
97
  'loc' => $author_link,
98
- 'mod' => date( DATE_W3C, $mod ),
99
  );
100
 
101
  /** This filter is documented at includes/modules/sitemap/providers/class-post-type.php */
95
  $mod = isset( $user->last_update ) ? $user->last_update : strtotime( $user->user_registered );
96
  $url = array(
97
  'loc' => $author_link,
98
+ 'mod' => date_i18n( DATE_W3C, $mod ),
99
  );
100
 
101
  /** This filter is documented at includes/modules/sitemap/providers/class-post-type.php */
includes/modules/woocommerce/class-admin.php CHANGED
@@ -13,9 +13,6 @@ namespace RankMath\WooCommerce;
13
  use RankMath\Helper;
14
  use RankMath\Module;
15
  use MyThemeShop\Helpers\Arr;
16
- use MyThemeShop\Helpers\Str;
17
- use RankMath\OpenGraph_Image;
18
- use RankMath\Redirections\Redirection;
19
 
20
  defined( 'ABSPATH' ) || exit;
21
 
@@ -30,44 +27,51 @@ class Admin extends Module {
30
  public function __construct() {
31
 
32
  $directory = dirname( __FILE__ );
33
- $this->config(array(
34
- 'id' => 'woocommerce',
35
- 'directory' => $directory,
36
- 'help' => array(
37
- 'title' => esc_html__( 'WooCommerce', 'rank-math' ),
38
- 'view' => $directory . '/views/help.php',
39
- ),
40
- ));
 
 
41
  parent::__construct();
42
 
43
  // Permalink Manager.
44
  $this->filter( 'rank_math/settings/general', 'add_general_settings' );
45
  $this->filter( 'rank_math/flush_fields', 'flush_fields' );
46
- $this->action( 'cmb2_save_field_wc_remove_category_base', 'category_base_add_301_redirect', 10, 3 );
47
  }
48
 
49
  /**
50
  * Add module settings into general optional panel.
51
  *
52
  * @param array $tabs Array of option panel tabs.
 
53
  * @return array
54
  */
55
  public function add_general_settings( $tabs ) {
56
- Arr::insert( $tabs, array(
57
- 'woocommerce' => array(
58
- 'icon' => 'dashicons dashicons-cart',
59
- 'title' => esc_html__( 'WooCommerce', 'rank-math' ),
60
- 'desc' => esc_html__( 'Choose how you want Rank Math to handle your WooCommerce SEO. These options help you create cleaner, SEO friendly URLs, and optimize your WooCommerce product pages.', 'rank-math' ),
61
- 'file' => $this->directory . '/views/options-general.php',
62
- ),
63
- ), 7 );
 
 
 
 
64
  return $tabs;
65
  }
66
 
67
  /**
68
  * Fields after updation of which we need to flush rewrite rules.
69
  *
70
- * @param array $fields Fields to flush rewrite rules on.
 
71
  * @return array
72
  */
73
  public function flush_fields( $fields ) {
@@ -77,34 +81,4 @@ class Admin extends Module {
77
 
78
  return $fields;
79
  }
80
-
81
- /**
82
- * Add 301 redirection.
83
- *
84
- * @param bool $updated Whether the metadata update action occurred.
85
- * @param string $action Action performed. Could be "repeatable", "updated", or "removed".
86
- * @param CMB2_Field $field This field object.
87
- */
88
- public function category_base_add_301_redirect( $updated, $action, $field ) {
89
- if ( false === Helper::is_module_active( 'redirections' ) ) {
90
- return;
91
- }
92
-
93
- $redirection_id = get_option( 'rank_math_wc_category_base_redirection', 0 );
94
-
95
- // Add redirection.
96
- if ( 'on' === $field->value && 0 === $redirection_id ) {
97
- $redirection = Redirection::from( [ 'url_to' => '$1' ] );
98
- $redirection->add_source( 'product-category/(.*)', 'regex' );
99
- update_option( 'rank_math_wc_category_base_redirection', $redirection->save() );
100
-
101
- return;
102
- }
103
-
104
- // Remove redirection.
105
- if ( 'off' === $field->value && $redirection_id > 1 ) {
106
- \RankMath\Redirections\DB::delete( $redirection_id );
107
- delete_option( 'rank_math_wc_category_base_redirection' );
108
- }
109
- }
110
  }
13
  use RankMath\Helper;
14
  use RankMath\Module;
15
  use MyThemeShop\Helpers\Arr;
 
 
 
16
 
17
  defined( 'ABSPATH' ) || exit;
18
 
27
  public function __construct() {
28
 
29
  $directory = dirname( __FILE__ );
30
+ $this->config(
31
+ [
32
+ 'id' => 'woocommerce',
33
+ 'directory' => $directory,
34
+ 'help' => [
35
+ 'title' => esc_html__( 'WooCommerce', 'rank-math' ),
36
+ 'view' => $directory . '/views/help.php',
37
+ ],
38
+ ]
39
+ );
40
  parent::__construct();
41
 
42
  // Permalink Manager.
43
  $this->filter( 'rank_math/settings/general', 'add_general_settings' );
44
  $this->filter( 'rank_math/flush_fields', 'flush_fields' );
 
45
  }
46
 
47
  /**
48
  * Add module settings into general optional panel.
49
  *
50
  * @param array $tabs Array of option panel tabs.
51
+ *
52
  * @return array
53
  */
54
  public function add_general_settings( $tabs ) {
55
+ Arr::insert(
56
+ $tabs,
57
+ [
58
+ 'woocommerce' => [
59
+ 'icon' => 'dashicons dashicons-cart',
60
+ 'title' => esc_html__( 'WooCommerce', 'rank-math' ),
61
+ 'desc' => esc_html__( 'Choose how you want Rank Math to handle your WooCommerce SEO. These options help you create cleaner, SEO friendly URLs, and optimize your WooCommerce product pages.', 'rank-math' ),
62
+ 'file' => $this->directory . '/views/options-general.php',
63
+ ],
64
+ ],
65
+ 7
66
+ );
67
  return $tabs;
68
  }
69
 
70
  /**
71
  * Fields after updation of which we need to flush rewrite rules.
72
  *
73
+ * @param array $fields Fields to flush rewrite rules on.
74
+ *
75
  * @return array
76
  */
77
  public function flush_fields( $fields ) {
81
 
82
  return $fields;
83
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  }
includes/modules/woocommerce/class-opengraph.php ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The WooCommerce register opengraph.
4
+ *
5
+ * @since 1.0.32
6
+ * @package RankMath
7
+ * @subpackage RankMath\WooCommerce
8
+ * @author Rank Math <support@rankmath.com>
9
+ */
10
+
11
+ namespace RankMath\WooCommerce;
12
+
13
+ use RankMath\OpenGraph\Image as OpenGraph_Image;
14
+
15
+ defined( 'ABSPATH' ) || exit;
16
+
17
+ /**
18
+ * WC Opengraph class.
19
+ */
20
+ class Opengraph extends Sitemap {
21
+
22
+ /**
23
+ * Register hooks.
24
+ */
25
+ public function opengraph() {
26
+ $this->filter( 'language_attributes', 'og_product_namespace', 11 );
27
+ $this->filter( 'rank_math/opengraph/desc', 'og_desc_product_taxonomy' );
28
+ $this->action( 'rank_math/opengraph/facebook', 'og_enhancement', 50 );
29
+ $this->action( 'rank_math/opengraph/facebook/add_additional_images', 'set_opengraph_image' );
30
+ }
31
+
32
+ /**
33
+ * Filter for the namespace, adding the OpenGraph namespace.
34
+ *
35
+ * @link https://developers.facebook.com/docs/reference/opengraph/object-type/product/
36
+ *
37
+ * @param string $input The input namespace string.
38
+ *
39
+ * @return string
40
+ */
41
+ public function og_product_namespace( $input ) {
42
+ if ( is_singular( 'product' ) ) {
43
+ $input = preg_replace( '/prefix="([^"]+)"/', 'prefix="$1 product: http://ogp.me/ns/product#"', $input );
44
+ }
45
+
46
+ return $input;
47
+ }
48
+
49
+ /**
50
+ * Make sure the OpenGraph description is put out.
51
+ *
52
+ * @param string $desc The current description, will be overwritten if we're on a product page.
53
+ *
54
+ * @return string
55
+ */
56
+ public function og_desc_product_taxonomy( $desc ) {
57
+ if ( is_product_taxonomy() ) {
58
+ $term_desc = term_description();
59
+ if ( ! empty( $term_desc ) ) {
60
+ $desc = wp_strip_all_tags( $term_desc, true );
61
+ $desc = strip_shortcodes( $desc );
62
+ }
63
+ }
64
+
65
+ return $desc;
66
+ }
67
+
68
+ /**
69
+ * Adds the other product images to the OpenGraph output.
70
+ *
71
+ * @param OpenGraph $opengraph The current opengraph network object.
72
+ */
73
+ public function og_enhancement( $opengraph ) {
74
+ $product = $this->get_product();
75
+ if ( ! is_object( $product ) ) {
76
+ return;
77
+ }
78
+
79
+ $brands = WooCommerce::get_brands( get_the_ID() );
80
+ if ( ! empty( $brands ) ) {
81
+ $opengraph->tag( 'product:brand', $brands[0]->name );
82
+ }
83
+
84
+ /**
85
+ * Allow developers to prevent the output of the price in the OpenGraph tags.
86
+ *
87
+ * @param bool unsigned Defaults to true.
88
+ */
89
+ if ( $this->do_filter( 'woocommerce/og_price', true ) ) {
90
+ $opengraph->tag( 'product:price:amount', $product->get_price() );
91
+ $opengraph->tag( 'product:price:currency', get_woocommerce_currency() );
92
+ }
93
+
94
+ if ( $product->is_in_stock() ) {
95
+ $opengraph->tag( 'product:availability', 'instock' );
96
+ }
97
+ }
98
+
99
+ /**
100
+ * Adds the opengraph images.
101
+ *
102
+ * @param OpenGraph_Image $opengraph_image The OpenGraph image to use.
103
+ */
104
+ public function set_opengraph_image( OpenGraph_Image $opengraph_image ) {
105
+ if ( ! function_exists( 'is_product_category' ) || is_product_category() ) {
106
+ global $wp_query;
107
+ $cat = $wp_query->get_queried_object();
108
+ $thumbnail_id = get_term_meta( $cat->term_id, 'thumbnail_id', true );
109
+ $opengraph_image->add_image_by_id( $thumbnail_id );
110
+ }
111
+
112
+ $product = $this->get_product();
113
+ if ( ! is_object( $product ) ) {
114
+ return;
115
+ }
116
+
117
+ $this->set_image_ids( $product );
118
+ }
119
+
120
+ /**
121
+ * Set images for the given product.
122
+ *
123
+ * @param WC_Product $product The product to get the image ids for.
124
+ */
125
+ protected function set_image_ids( $product ) {
126
+ $img_ids = method_exists( $product, 'get_gallery_image_ids' ) ?
127
+ $product->get_gallery_image_ids() : $product->get_gallery_attachment_ids();
128
+
129
+ if ( ! is_array( $img_ids ) || empty( $img_ids ) ) {
130
+ return;
131
+ }
132
+
133
+ foreach ( $img_ids as $img_id ) {
134
+ $opengraph_image->add_image_by_id( $img_id );
135
+ }
136
+ }
137
+ }
includes/modules/woocommerce/class-product-redirection.php ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The WooCommerce Module
4
+ *
5
+ * @since 1.0.32
6
+ * @package RankMath
7
+ * @subpackage RankMath\WooCommerce
8
+ * @author Rank Math <support@rankmath.com>
9
+ */
10
+
11
+ namespace RankMath\WooCommerce;
12
+
13
+ use RankMath\Helper;
14
+ use RankMath\Traits\Hooker;
15
+
16
+ defined( 'ABSPATH' ) || exit;
17
+
18
+ /**
19
+ * WooCommerce class.
20
+ */
21
+ class Product_Redirection {
22
+
23
+ use Hooker;
24
+
25
+ /**
26
+ * The Constructor.
27
+ */
28
+ public function __construct() {
29
+ if ( Helper::is_module_active( 'redirections' ) ) {
30
+ $this->filter( 'rank_math/redirection/pre_search', 'pre_redirection', 10, 3 );
31
+ return;
32
+ }
33
+
34
+ $this->action( 'wp', 'redirect' );
35
+ }
36
+
37
+ /**
38
+ * Pre-filter the redirection.
39
+ *
40
+ * @param string $check Check.
41
+ * @param string $uri Current URL.
42
+ * @param string $full_uri Full URL.
43
+ *
44
+ * @return string|array
45
+ */
46
+ public function pre_redirection( $check, $uri, $full_uri ) {
47
+ if ( $new_link = $this->get_redirection_url( $uri ) ) { // phpcs:ignore
48
+ return [
49
+ 'url_to' => $new_link,
50
+ 'header_code' => 301,
51
+ ];
52
+ }
53
+
54
+ return $check;
55
+ }
56
+
57
+ /**
58
+ * Redirect product with base to the new link.
59
+ */
60
+ public function redirect() {
61
+ global $wp;
62
+
63
+ if ( $link = $this->get_redirection_url( $wp->request ) ) { // phpcs:ignore
64
+ wp_redirect( $link, 301 );
65
+ exit;
66
+ }
67
+ }
68
+
69
+ /**
70
+ * Get Product URL.
71
+ *
72
+ * @param string $uri Current URL.
73
+ *
74
+ * @return string Modified URL
75
+ */
76
+ private function get_redirection_url( $uri ) {
77
+ if ( ! $this->can_redirect() ) {
78
+ return false;
79
+ }
80
+
81
+ $permalink_structure = wc_get_permalink_structure();
82
+ $base = is_product_category() ? $permalink_structure['category_base'] : $permalink_structure['product_base'];
83
+
84
+ $base = explode( '/', ltrim( $base, '/' ) );
85
+ $new_link = $uri;
86
+
87
+ foreach ( $base as $remove ) {
88
+ if ( '%product_cat%' === $remove ) {
89
+ continue;
90
+ }
91
+ $new_link = preg_replace( "#{$remove}/#i", '', $new_link, 1 );
92
+ }
93
+
94
+ return $new_link === $uri ? false : trailingslashit( home_url( $new_link ) );
95
+ }
96
+
97
+ /**
98
+ * Can redirect to the new product link.
99
+ *
100
+ * @return bool
101
+ */
102
+ private function can_redirect() {
103
+ if ( ! $this->do_filter( 'woocommerce/product_redirection', true ) ) {
104
+ return false;
105
+ }
106
+
107
+ if (
108
+ ( Helper::get_settings( 'general.wc_remove_product_base' ) && is_product() ) ||
109
+ ( Helper::get_settings( 'general.wc_remove_category_base' ) && is_product_category() )
110
+ ) {
111
+ return true;
112
+ }
113
+
114
+ return false;
115
+ }
116
+ }
includes/modules/woocommerce/class-sitemap.php ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The WooCommerce register sitemap.
4
+ *
5
+ * @since 1.0.32
6
+ * @package RankMath
7
+ * @subpackage RankMath\WooCommerce
8
+ * @author Rank Math <support@rankmath.com>
9
+ */
10
+
11
+ namespace RankMath\WooCommerce;
12
+
13
+ use RankMath\Helper;
14
+ use MyThemeShop\Helpers\Attachment;
15
+
16
+ defined( 'ABSPATH' ) || exit;
17
+
18
+ /**
19
+ * WC Sitemap class.
20
+ */
21
+ class Sitemap {
22
+
23
+ /**
24
+ * Register hooks.
25
+ */
26
+ public function sitemap() {
27
+ $this->filter( 'rank_math/sitemap/exclude_post_type', 'sitemap_exclude_post_type', 10, 2 );
28
+ $this->filter( 'rank_math/sitemap/post_type_archive_link', 'sitemap_taxonomies', 10, 2 );
29
+ $this->filter( 'rank_math/sitemap/post_type_archive_link', 'sitemap_post_type_archive_link', 10, 2 );
30
+ $this->filter( 'rank_math/sitemap/urlimages', 'add_product_images_to_xml_sitemap', 10, 2 );
31
+ }
32
+
33
+ /**
34
+ * Make sure product variations and shop coupons are not included in the XML sitemap.
35
+ *
36
+ * @param bool $bool Whether or not to include this post type in the XML sitemap.
37
+ * @param string $post_type The post type of the post.
38
+ *
39
+ * @return bool
40
+ */
41
+ public function sitemap_exclude_post_type( $bool, $post_type ) {
42
+ if ( in_array( $post_type, [ 'product_variation', 'shop_coupon' ], true ) ) {
43
+ return true;
44
+ }
45
+
46
+ return $bool;
47
+ }
48
+
49
+ /**
50
+ * Make sure product attribute taxonomies are not included in the XML sitemap.
51
+ *
52
+ * @param bool $bool Whether or not to include this post type in the XML sitemap.
53
+ * @param string $taxonomy The taxonomy to check against.
54
+ *
55
+ * @return bool
56
+ */
57
+ public function sitemap_taxonomies( $bool, $taxonomy ) {
58
+ if ( in_array( $taxonomy, [ 'product_type', 'product_shipping_class', 'shop_order_status' ], true ) ) {
59
+ return true;
60
+ }
61
+
62
+ if ( Str::starts_with( 'pa_', $taxonomy ) ) {
63
+ return true;
64
+ }
65
+
66
+ return $bool;
67
+ }
68
+
69
+ /**
70
+ * Filters the archive link on the product sitemap.
71
+ *
72
+ * @param string $link The archive link.
73
+ * @param string $post_type The post type to check against.
74
+ *
75
+ * @return bool
76
+ */
77
+ public function sitemap_post_type_archive_link( $link, $post_type ) {
78
+ if ( 'product' !== $post_type || ! function_exists( 'wc_get_page_id' ) ) {
79
+ return $link;
80
+ }
81
+
82
+ $shop_page_id = wc_get_page_id( 'shop' );
83
+ $home_page_id = (int) get_option( 'page_on_front' );
84
+ if ( 1 > $shop_page_id || 'publish' !== get_post_status( $shop_page_id ) || $home_page_id === $shop_page_id ) {
85
+ return false;
86
+ }
87
+
88
+ $robots = Helper::get_post_meta( 'robots', $shop_page_id );
89
+ if ( ! empty( $robots ) && is_array( $robots ) && in_array( 'noindex', $robots, true ) ) {
90
+ return false;
91
+ }
92
+
93
+ return $link;
94
+ }
95
+
96
+ /**
97
+ * Add the product gallery images to the XML sitemap.
98
+ *
99
+ * @param array $images The array of images for the post.
100
+ * @param int $post_id The ID of the post object.
101
+ *
102
+ * @return array
103
+ */
104
+ public function add_product_images_to_xml_sitemap( $images, $post_id ) {
105
+ if ( metadata_exists( 'post', $post_id, '_product_image_gallery' ) ) {
106
+ $product_gallery = get_post_meta( $post_id, '_product_image_gallery', true );
107
+ $attachments = array_filter( explode( ',', $product_gallery ) );
108
+ foreach ( $attachments as $attachment_id ) {
109
+ $image_src = wp_get_attachment_image_src( $attachment_id, 'full' );
110
+ $image = [
111
+ 'src' => $this->do_filter( 'sitemap/xml_img_src', $image_src[0], $post_id ),
112
+ 'title' => get_the_title( $attachment_id ),
113
+ 'alt' => Attachment::get_alt_tag( $attachment_id ),
114
+ ];
115
+ $images[] = $image;
116
+
117
+ unset( $image, $image_src );
118
+ }
119
+ }
120
+
121
+ return $images;
122
+ }
123
+ }
includes/modules/woocommerce/class-wc-vars.php ADDED
@@ -0,0 +1,152 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The WooCommerce register variables.
4
+ *
5
+ * @since 1.0.32
6
+ * @package RankMath
7
+ * @subpackage RankMath\WooCommerce
8
+ * @author Rank Math <support@rankmath.com>
9
+ */
10
+
11
+ namespace RankMath\WooCommerce;
12
+
13
+ use RankMath\Helper;
14
+
15
+ defined( 'ABSPATH' ) || exit;
16
+
17
+ /**
18
+ * WC Variables class.
19
+ */
20
+ class WC_Vars extends Opengraph {
21
+
22
+ /**
23
+ * The Constructor.
24
+ */
25
+ public function __construct() {
26
+ $this->action( 'rank_math/vars/register_extra_replacements', 'register' );
27
+ }
28
+
29
+ /**
30
+ * Registers variable replacements for WooCommerce products.
31
+ */
32
+ public function register() {
33
+ Helper::register_var_replacement(
34
+ 'wc_price',
35
+ [ $this, 'get_product_price' ],
36
+ [
37
+ 'name' => esc_html__( 'Product\'s price.', 'rank-math' ),
38
+ 'desc' => esc_html__( 'Product\'s price of the current product', 'rank-math' ),
39
+ 'example' => $this->get_product_price(),
40
+ ]
41
+ );
42
+
43
+ Helper::register_var_replacement(
44
+ 'wc_sku',
45
+ [ $this, 'get_product_sku' ],
46
+ [
47
+ 'name' => esc_html__( 'Product\'s SKU.', 'rank-math' ),
48
+ 'desc' => esc_html__( 'Product\'s SKU of the current product', 'rank-math' ),
49
+ 'example' => $this->get_product_sku(),
50
+ ]
51
+ );
52
+
53
+ Helper::register_var_replacement(
54
+ 'wc_shortdesc',
55
+ [ $this, 'get_short_description' ],
56
+ [
57
+ 'name' => esc_html__( 'Product\'s short description.', 'rank-math' ),
58
+ 'desc' => esc_html__( 'Product\'s short description of the current product', 'rank-math' ),
59
+ 'example' => $this->get_short_description(),
60
+ ]
61
+ );
62
+
63
+ Helper::register_var_replacement(
64
+ 'wc_brand',
65
+ [ $this, 'get_product_brand' ],
66
+ [
67
+ 'name' => esc_html__( 'Product\'s brand.', 'rank-math' ),
68
+ 'desc' => esc_html__( 'Product\'s brand of the current product', 'rank-math' ),
69
+ 'example' => $this->get_product_brand(),
70
+ ]
71
+ );
72
+ }
73
+
74
+ /**
75
+ * Retrieves the product price.
76
+ *
77
+ * @return string
78
+ */
79
+ public function get_product_price() {
80
+ $product = $this->get_product();
81
+ if ( ! is_object( $product ) ) {
82
+ return '';
83
+ }
84
+
85
+ if ( method_exists( $product, 'get_price' ) ) {
86
+ return wp_strip_all_tags( wc_price( $product->get_price() ), true );
87
+ }
88
+
89
+ return '';
90
+ }
91
+
92
+ /**
93
+ * Retrieves the product SKU.
94
+ *
95
+ * @return string
96
+ */
97
+ public function get_product_sku() {
98
+ $product = $this->get_product();
99
+ if ( ! is_object( $product ) ) {
100
+ return '';
101
+ }
102
+
103
+ if ( method_exists( $product, 'get_sku' ) ) {
104
+ return $product->get_sku();
105
+ }
106
+
107
+ return '';
108
+ }
109
+
110
+ /**
111
+ * Checks if product class has a short description method.
112
+ * Otherwise it returns the value of the post_excerpt from the post attribute.
113
+ *
114
+ * @param WC_Product $product The product.
115
+ *
116
+ * @return string
117
+ */
118
+ public function get_short_description( $product = null ) {
119
+ if ( is_null( $product ) ) {
120
+ $product = $this->get_product();
121
+ }
122
+
123
+ if ( ! is_object( $product ) ) {
124
+ return '';
125
+ }
126
+
127
+ if ( method_exists( $product, 'get_short_description' ) ) {
128
+ return $product->get_short_description();
129
+ }
130
+
131
+ return $product->post->post_excerpt;
132
+ }
133
+
134
+ /**
135
+ * Retrieves the product brand.
136
+ *
137
+ * @return string
138
+ */
139
+ public function get_product_brand() {
140
+ $product = $this->get_product();
141
+ if ( ! is_object( $product ) ) {
142
+ return '';
143
+ }
144
+
145
+ $brands = $this->get_brands( $product->get_id() );
146
+ if ( ! empty( $brands ) ) {
147
+ return $brands[0]->name;
148
+ }
149
+
150
+ return '';
151
+ }
152
+ }
includes/modules/woocommerce/class-woocommerce.php CHANGED
@@ -14,15 +14,13 @@ use RankMath\Helper;
14
  use RankMath\Traits\Hooker;
15
  use MyThemeShop\Helpers\Str;
16
  use MyThemeShop\Helpers\Param;
17
- use MyThemeShop\Helpers\Attachment;
18
- use RankMath\OpenGraph\Image as OpenGraph_Image;
19
 
20
  defined( 'ABSPATH' ) || exit;
21
 
22
  /**
23
  * WooCommerce class.
24
  */
25
- class WooCommerce {
26
 
27
  use Hooker;
28
 
@@ -33,10 +31,20 @@ class WooCommerce {
33
  */
34
  private $categories;
35
 
 
 
 
 
 
 
 
36
  /**
37
  * The Constructor.
38
  */
39
  public function __construct() {
 
 
 
40
 
41
  if ( is_admin() ) {
42
  new Admin;
@@ -44,18 +52,23 @@ class WooCommerce {
44
 
45
  $this->integrations();
46
 
47
- if ( Helper::get_settings( 'general.wc_remove_product_base' ) ) {
48
  $this->filter( 'post_type_link', 'product_post_type_link', 1, 2 );
49
  }
50
- if ( Helper::get_settings( 'general.wc_remove_category_base' ) || Helper::get_settings( 'general.wc_remove_category_parent_slugs' ) ) {
 
51
  $this->filter( 'term_link', 'product_term_link', 1, 3 );
52
  add_action( 'created_product_cat', 'RankMath\\Helper::schedule_flush_rewrite' );
53
  add_action( 'delete_product_cat', 'RankMath\\Helper::schedule_flush_rewrite' );
54
  add_action( 'edited_product_cat', 'RankMath\\Helper::schedule_flush_rewrite' );
55
  }
56
 
 
 
 
 
57
  $this->filter( 'rewrite_rules_array', 'add_rewrite_rules', 99 );
58
- $this->action( 'rank_math/vars/register_extra_replacements', 'register_replacements' );
59
  }
60
 
61
  /**
@@ -67,11 +80,7 @@ class WooCommerce {
67
  }
68
 
69
  // Permalink Manager.
70
- if (
71
- Helper::get_settings( 'general.wc_remove_product_base' ) ||
72
- Helper::get_settings( 'general.wc_remove_category_base' ) ||
73
- Helper::get_settings( 'general.wc_remove_category_parent_slugs' )
74
- ) {
75
  $this->action( 'request', 'request' );
76
  }
77
 
@@ -80,82 +89,67 @@ class WooCommerce {
80
  remove_action( 'get_the_generator_xhtml', 'wc_generator_tag', 10 );
81
  }
82
 
83
- // Add metadescription filter.
 
84
  $this->filter( 'rank_math/frontend/description', 'metadesc' );
85
-
86
- // Robots.
87
  $this->filter( 'rank_math/frontend/robots', 'robots' );
88
-
89
- // OpenGraph.
90
- $this->filter( 'language_attributes', 'og_product_namespace', 11 );
91
- $this->filter( 'rank_math/opengraph/desc', 'og_desc_product_taxonomy' );
92
- $this->action( 'rank_math/opengraph/facebook', 'og_enhancement', 50 );
93
- $this->action( 'rank_math/opengraph/facebook/add_additional_images', 'set_opengraph_image' );
94
-
95
- // Sitemap.
96
- $this->filter( 'rank_math/sitemap/exclude_post_type', 'sitemap_exclude_post_type', 10, 2 );
97
- $this->filter( 'rank_math/sitemap/post_type_archive_link', 'sitemap_taxonomies', 10, 2 );
98
- $this->filter( 'rank_math/sitemap/post_type_archive_link', 'sitemap_post_type_archive_link', 10, 2 );
99
- $this->filter( 'rank_math/sitemap/urlimages', 'add_product_images_to_xml_sitemap', 10, 2 );
100
  }
101
 
102
  /**
103
  * Replace request if product found.
104
  *
105
- * @param array $request Current request.
 
106
  * @return array
107
  */
108
  public function request( $request ) {
109
  global $wp, $wpdb;
110
  $url = $wp->request;
111
 
112
- if ( ! empty( $url ) ) {
113
- $replace = [];
114
- $url = explode( '/', $url );
115
- $slug = array_pop( $url );
116
-
117
- if ( 'feed' === $slug ) {
118
- return $request;
119
- }
120
 
121
- if ( 'amp' === $slug ) {
122
- $replace['amp'] = $slug;
123
- $slug = array_pop( $url );
124
- }
125
 
126
- if ( 0 === strpos( $slug, 'comment-page-' ) ) {
127
- $replace['cpage'] = substr( $slug, strlen( 'comment-page-' ) );
128
- $slug = array_pop( $url );
129
- }
130
 
131
- $query = "SELECT COUNT(ID) as count_id FROM {$wpdb->posts} WHERE post_name = %s AND post_type = %s";
132
- $num = intval( $wpdb->get_var( $wpdb->prepare( $query, array( $slug, 'product' ) ) ) ); // phpcs:ignore
133
- if ( $num > 0 ) {
134
- $replace['page'] = '';
135
- $replace['name'] = $slug;
136
- $replace['product'] = $slug;
137
- $replace['post_type'] = 'product';
138
 
139
- return $replace;
140
- }
 
141
  }
142
 
143
- return $request;
 
 
 
 
 
 
 
 
 
144
  }
145
 
146
  /**
147
  * Replace product permalink according to settings.
148
  *
149
- * @param string $permalink The existing permalink URL.
150
- * @param WP_Post $post WP_Post object.
 
151
  * @return string
152
  */
153
  public function product_post_type_link( $permalink, $post ) {
154
- if ( 'product' !== $post->post_type ) {
155
- return $permalink;
156
- }
157
-
158
- if ( ! get_option( 'permalink_structure' ) ) {
159
  return $permalink;
160
  }
161
 
@@ -177,42 +171,50 @@ class WooCommerce {
177
  /**
178
  * Replace category permalink according to settings.
179
  *
180
- * @param string $link Term link URL.
181
- * @param object $term Term object.
182
- * @param string $taxonomy Taxonomy slug.
 
183
  * @return string
184
  */
185
  public function product_term_link( $link, $term, $taxonomy ) {
186
- if ( 'product_cat' !== $taxonomy ) {
187
- return $link;
188
- }
189
-
190
- if ( ! get_option( 'permalink_structure' ) ) {
191
  return $link;
192
  }
193
 
194
  $permalink_structure = wc_get_permalink_structure();
195
  $category_base = trailingslashit( $permalink_structure['category_rewrite_slug'] );
196
- $remove_category_base = Helper::get_settings( 'general.wc_remove_category_base' );
197
- $remove_parent_slugs = Helper::get_settings( 'general.wc_remove_category_parent_slugs' );
198
  $is_language_switcher = ( class_exists( 'Sitepress' ) && strpos( $original_link, 'lang=' ) );
199
 
200
- if ( $remove_category_base ) {
201
  $link = str_replace( $category_base, '', $link );
202
  $category_base = '';
203
  }
204
 
205
- if ( $remove_parent_slugs && ! $is_language_switcher ) {
206
  $link = home_url( trailingslashit( $category_base . $term->slug ) );
207
  }
208
 
209
  return $link;
210
  }
211
 
 
 
 
 
 
 
 
 
 
 
 
 
212
  /**
213
  * Change robots for WooCommerce pages according to settings
214
  *
215
- * @param array $robots Array of robots to sanitize.
 
216
  * @return array Modified robots.
217
  */
218
  public function robots( $robots ) {
@@ -224,10 +226,10 @@ class WooCommerce {
224
 
225
  if ( is_cart() || is_checkout() || is_account_page() ) {
226
  remove_action( 'wp_head', 'wc_page_noindex' );
227
- return array(
228
  'index' => 'noindex',
229
  'follow' => 'follow',
230
- );
231
  }
232
 
233
  return $robots;
@@ -239,11 +241,11 @@ class WooCommerce {
239
  * It will use the short_description if that one is set. Otherwise it will use the full
240
  * product description limited to 156 characters. If everything is empty, it will return an empty string.
241
  *
242
- * @param string $metadesc The meta description to check.
 
243
  * @return string The meta description.
244
  */
245
  public function metadesc( $metadesc ) {
246
-
247
  if ( '' !== $metadesc || ! is_singular( 'product' ) ) {
248
  return $metadesc;
249
  }
@@ -259,311 +261,14 @@ class WooCommerce {
259
  }
260
 
261
  $long_desc = $this->get_long_description( $product );
262
- if ( '' !== $long_desc ) {
263
- return wp_html_excerpt( $long_desc, 156 );
264
- }
265
-
266
- return '';
267
- }
268
-
269
- /**
270
- * Filter for the namespace, adding the OpenGraph namespace.
271
- *
272
- * @link https://developers.facebook.com/docs/reference/opengraph/object-type/product/
273
- *
274
- * @param string $input The input namespace string.
275
- * @return string
276
- */
277
- public function og_product_namespace( $input ) {
278
- if ( is_singular( 'product' ) ) {
279
- $input = preg_replace( '/prefix="([^"]+)"/', 'prefix="$1 product: http://ogp.me/ns/product#"', $input );
280
- }
281
-
282
- return $input;
283
- }
284
-
285
- /**
286
- * Make sure the OpenGraph description is put out.
287
- *
288
- * @param string $desc The current description, will be overwritten if we're on a product page.
289
- * @return string
290
- */
291
- public function og_desc_product_taxonomy( $desc ) {
292
- if ( is_product_taxonomy() ) {
293
- $term_desc = term_description();
294
- if ( ! empty( $term_desc ) ) {
295
- $desc = wp_strip_all_tags( $term_desc, true );
296
- $desc = strip_shortcodes( $desc );
297
- }
298
- }
299
-
300
- return $desc;
301
  }
302
 
303
- /**
304
- * Adds the other product images to the OpenGraph output.
305
- *
306
- * @param OpenGraph $opengraph The current opengraph network object.
307
- */
308
- public function og_enhancement( $opengraph ) {
309
- $product = $this->get_product();
310
- if ( ! is_object( $product ) ) {
311
- return;
312
- }
313
-
314
- $brands = $this->get_brands( get_the_ID() );
315
- if ( ! empty( $brands ) ) {
316
- $opengraph->tag( 'product:brand', $brands[0]->name );
317
- }
318
-
319
- /**
320
- * Allow developers to prevent the output of the price in the OpenGraph tags.
321
- *
322
- * @param bool unsigned Defaults to true.
323
- */
324
- if ( $this->do_filter( 'woocommerce/og_price', true ) ) {
325
- $opengraph->tag( 'product:price:amount', $product->get_price() );
326
- $opengraph->tag( 'product:price:currency', get_woocommerce_currency() );
327
- }
328
-
329
- if ( $product->is_in_stock() ) {
330
- $opengraph->tag( 'product:availability', 'instock' );
331
- }
332
- }
333
-
334
- /**
335
- * Adds the opengraph images.
336
- *
337
- * @param OpenGraph_Image $opengraph_image The OpenGraph image to use.
338
- */
339
- public function set_opengraph_image( OpenGraph_Image $opengraph_image ) {
340
-
341
- if ( ! function_exists( 'is_product_category' ) || is_product_category() ) {
342
- global $wp_query;
343
- $cat = $wp_query->get_queried_object();
344
- $thumbnail_id = get_term_meta( $cat->term_id, 'thumbnail_id', true );
345
- $opengraph_image->add_image_by_id( $thumbnail_id );
346
- }
347
-
348
- $product = $this->get_product();
349
- if ( ! is_object( $product ) ) {
350
- return;
351
- }
352
-
353
- $img_ids = $this->get_image_ids( $product );
354
- if ( is_array( $img_ids ) && ! empty( $img_ids ) ) {
355
- foreach ( $img_ids as $img_id ) {
356
- $opengraph_image->add_image_by_id( $img_id );
357
- }
358
- }
359
- }
360
-
361
- /**
362
- * Make sure product variations and shop coupons are not included in the XML sitemap.
363
- *
364
- * @param bool $bool Whether or not to include this post type in the XML sitemap.
365
- * @param string $post_type The post type of the post.
366
- * @return bool
367
- */
368
- public function sitemap_exclude_post_type( $bool, $post_type ) {
369
- if ( in_array( $post_type, array( 'product_variation', 'shop_coupon' ), true ) ) {
370
- return true;
371
- }
372
-
373
- return $bool;
374
- }
375
-
376
- /**
377
- * Make sure product attribute taxonomies are not included in the XML sitemap.
378
- *
379
- * @param bool $bool Whether or not to include this post type in the XML sitemap.
380
- * @param string $taxonomy The taxonomy to check against.
381
- * @return bool
382
- */
383
- public function sitemap_taxonomies( $bool, $taxonomy ) {
384
- if ( in_array( $taxonomy, array( 'product_type', 'product_shipping_class', 'shop_order_status' ), true ) ) {
385
- return true;
386
- }
387
-
388
- if ( Str::starts_with( 'pa_', $taxonomy ) ) {
389
- return true;
390
- }
391
-
392
- return $bool;
393
- }
394
-
395
- /**
396
- * Filters the archive link on the product sitemap.
397
- *
398
- * @param string $link The archive link.
399
- * @param string $post_type The post type to check against.
400
- * @return bool
401
- */
402
- public function sitemap_post_type_archive_link( $link, $post_type ) {
403
- if ( 'product' !== $post_type || ! function_exists( 'wc_get_page_id' ) ) {
404
- return $link;
405
- }
406
-
407
- $shop_page_id = wc_get_page_id( 'shop' );
408
- $home_page_id = (int) get_option( 'page_on_front' );
409
- if ( 1 > $shop_page_id || 'publish' !== get_post_status( $shop_page_id ) || $home_page_id === $shop_page_id ) {
410
- return false;
411
- }
412
-
413
- $robots = Helper::get_post_meta( 'robots', $shop_page_id );
414
- if ( ! empty( $robots ) && is_array( $robots ) && in_array( 'noindex', $robots, true ) ) {
415
- return false;
416
- }
417
-
418
- return $link;
419
- }
420
-
421
- /**
422
- * Add the product gallery images to the XML sitemap.
423
- *
424
- * @param array $images The array of images for the post.
425
- * @param int $post_id The ID of the post object.
426
- * @return array
427
- */
428
- public function add_product_images_to_xml_sitemap( $images, $post_id ) {
429
- if ( metadata_exists( 'post', $post_id, '_product_image_gallery' ) ) {
430
- $product_gallery = get_post_meta( $post_id, '_product_image_gallery', true );
431
- $attachments = array_filter( explode( ',', $product_gallery ) );
432
- foreach ( $attachments as $attachment_id ) {
433
- $image_src = wp_get_attachment_image_src( $attachment_id, 'full' );
434
- $image = array(
435
- 'src' => $this->do_filter( 'sitemap/xml_img_src', $image_src[0], $post_id ),
436
- 'title' => get_the_title( $attachment_id ),
437
- 'alt' => Attachment::get_alt_tag( $attachment_id ),
438
- );
439
- $images[] = $image;
440
-
441
- unset( $image, $image_src );
442
- }
443
- }
444
-
445
- return $images;
446
- }
447
-
448
- /**
449
- * Registers variable replacements for WooCommerce products.
450
- */
451
- public function register_replacements() {
452
- Helper::register_var_replacement(
453
- 'wc_price',
454
- array( $this, 'get_product_var_price' ),
455
- array(
456
- 'name' => esc_html__( 'Product\'s price.', 'rank-math' ),
457
- 'desc' => esc_html__( 'Product\'s price of the current product', 'rank-math' ),
458
- 'example' => $this->get_product_var_price(),
459
- )
460
- );
461
-
462
- Helper::register_var_replacement(
463
- 'wc_sku',
464
- array( $this, 'get_product_var_sku' ),
465
- array(
466
- 'name' => esc_html__( 'Product\'s SKU.', 'rank-math' ),
467
- 'desc' => esc_html__( 'Product\'s SKU of the current product', 'rank-math' ),
468
- 'example' => $this->get_product_var_sku(),
469
- )
470
- );
471
-
472
- Helper::register_var_replacement(
473
- 'wc_shortdesc',
474
- array( $this, 'get_short_description' ),
475
- array(
476
- 'name' => esc_html__( 'Product\'s short description.', 'rank-math' ),
477
- 'desc' => esc_html__( 'Product\'s short description of the current product', 'rank-math' ),
478
- 'example' => $this->get_short_description(),
479
- )
480
- );
481
-
482
- Helper::register_var_replacement(
483
- 'wc_brand',
484
- array( $this, 'get_product_var_brand' ),
485
- array(
486
- 'name' => esc_html__( 'Product\'s brand.', 'rank-math' ),
487
- 'desc' => esc_html__( 'Product\'s brand of the current product', 'rank-math' ),
488
- 'example' => $this->get_product_var_brand(),
489
- )
490
- );
491
- }
492
-
493
- /**
494
- * Retrieves the product price.
495
- *
496
- * @return string
497
- */
498
- public function get_product_var_price() {
499
-
500
- $product = $this->get_product();
501
- if ( ! is_object( $product ) ) {
502
- return '';
503
- }
504
-
505
- if ( method_exists( $product, 'get_price' ) ) {
506
- return wp_strip_all_tags( wc_price( $product->get_price() ), true );
507
- }
508
-
509
- return '';
510
- }
511
-
512
- /**
513
- * Retrieves the product SKU.
514
- *
515
- * @return string
516
- */
517
- public function get_product_var_sku() {
518
- $product = $this->get_product();
519
- if ( ! is_object( $product ) ) {
520
- return '';
521
- }
522
-
523
- if ( method_exists( $product, 'get_sku' ) ) {
524
- return $product->get_sku();
525
- }
526
-
527
- return '';
528
- }
529
-
530
- /**
531
- * Retrieves the product brand.
532
- *
533
- * @return string
534
- */
535
- public function get_product_var_brand() {
536
- $product = $this->get_product();
537
- if ( ! is_object( $product ) ) {
538
- return '';
539
- }
540
-
541
- $brands = $this->get_brands( $product->get_id() );
542
- if ( ! empty( $brands ) ) {
543
- return $brands[0]->name;
544
- }
545
-
546
- return '';
547
- }
548
-
549
- /**
550
- * Returns the product object when the current page is the product page.
551
- *
552
- * @return null|WC_Product
553
- */
554
- protected function get_product() {
555
- $product_id = Param::get( 'post', get_queried_object_id(), FILTER_VALIDATE_INT );
556
- if ( ! $product_id && ( ! is_singular( 'product' ) || ! function_exists( 'wc_get_product' ) ) ) {
557
- return null;
558
- }
559
- return wc_get_product( $product_id );
560
- }
561
-
562
-
563
  /**
564
  * Returns the product for given product_id.
565
  *
566
- * @param int $product_id The id to get the product for.
 
567
  * @return null|WC_Product
568
  */
569
  protected function get_product_by_id( $product_id ) {
@@ -578,57 +283,32 @@ class WooCommerce {
578
  return null;
579
  }
580
 
581
- /**
582
- * Checks if product class has a short description method.
583
- * Otherwise it returns the value of the post_excerpt from the post attribute.
584
- *
585
- * @param WC_Product $product The product.
586
- * @return string
587
- */
588
- public function get_short_description( $product = null ) {
589
- if ( is_null( $product ) ) {
590
- $product = $this->get_product();
591
- }
592
-
593
- if ( ! is_object( $product ) ) {
594
- return '';
595
- }
596
-
597
- if ( method_exists( $product, 'get_short_description' ) ) {
598
- return $product->get_short_description();
599
- }
600
- return $product->post->post_excerpt;
601
- }
602
-
603
  /**
604
  * Add rewrite rules for wp.
605
  *
606
  * @param array $rules The compiled array of rewrite rules.
 
607
  * @return array
608
  */
609
  public function add_rewrite_rules( $rules ) {
610
  global $wp_rewrite;
611
  wp_cache_flush();
612
 
613
- $permalink_structure = wc_get_permalink_structure();
614
- $remove_product_base = Helper::get_settings( 'general.wc_remove_product_base' );
615
- $remove_category_base = Helper::get_settings( 'general.wc_remove_category_base' );
616
- $remove_parent_slugs = Helper::get_settings( 'general.wc_remove_category_parent_slugs' );
617
-
618
- $category_base = $remove_category_base ? '' : $permalink_structure['category_rewrite_slug'];
619
- $use_parent_slug = Str::contains( '%product_cat%', $permalink_structure['product_rewrite_slug'] );
620
 
621
  $product_rules = [];
622
  $category_rules = [];
623
  foreach ( $this->get_categories() as $category ) {
624
  $category_path = $this->get_category_fullpath( $category );
625
- $category_slug = $remove_parent_slugs ? $category['slug'] : $category_path;
626
 
627
  $category_rules[ $category_base . $category_slug . '/?$' ] = 'index.php?product_cat=' . $category['slug'];
628
  $category_rules[ $category_base . $category_slug . '/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$' ] = 'index.php?product_cat=' . $category['slug'] . '&feed=$matches[1]';
629
  $category_rules[ $category_base . $category_slug . '/' . $wp_rewrite->pagination_base . '/?([0-9]{1,})/?$' ] = 'index.php?product_cat=' . $category['slug'] . '&paged=$matches[1]';
630
 
631
- if ( $remove_product_base && $use_parent_slug ) {
632
  $product_rules[ $category_path . '/([^/]+)/?$' ] = 'index.php?product=$matches[1]';
633
  $product_rules[ $category_path . '/([^/]+)/' . $wp_rewrite->comments_pagination_base . '-([0-9]{1,})/?$' ] = 'index.php?product=$matches[1]&cpage=$matches[2]';
634
  }
@@ -647,17 +327,19 @@ class WooCommerce {
647
  */
648
  protected function get_categories() {
649
  if ( is_null( $this->categories ) ) {
650
- $categories = get_categories(array(
651
- 'taxonomy' => 'product_cat',
652
- 'hide_empty' => false,
653
- ));
 
 
654
 
655
  $slugs = [];
656
  foreach ( $categories as $category ) {
657
- $slugs[ $category->term_id ] = array(
658
  'parent' => $category->parent,
659
  'slug' => $category->slug,
660
- );
661
  }
662
 
663
  $this->categories = $slugs;
@@ -670,6 +352,7 @@ class WooCommerce {
670
  * Recursively builds category full path.
671
  *
672
  * @param object $category Term object.
 
673
  * @return string
674
  */
675
  protected function get_category_fullpath( $category ) {
@@ -687,7 +370,8 @@ class WooCommerce {
687
  * Checks if product class has a description method.
688
  * Otherwise it returns the value of the post_content.
689
  *
690
- * @param WC_Product $product The product.
 
691
  * @return string
692
  */
693
  protected function get_long_description( $product ) {
@@ -699,27 +383,35 @@ class WooCommerce {
699
  }
700
 
701
  /**
702
- * Returns the set image ids for the given product.
703
  *
704
- * @param WC_Product $product The product to get the image ids for.
705
- * @return array
706
  */
707
- protected function get_image_ids( $product ) {
708
- if ( method_exists( $product, 'get_gallery_image_ids' ) ) {
709
- return $product->get_gallery_image_ids();
710
  }
711
 
712
- // Backwards compatibility.
713
- return $product->get_gallery_attachment_ids();
 
 
 
 
 
 
 
 
714
  }
715
 
716
  /**
717
  * Returns the array of brand taxonomy.
718
  *
719
- * @param int $product_id The id to get the product brands for.
 
720
  * @return bool|array
721
  */
722
- protected function get_brands( $product_id ) {
723
  $taxonomy = Helper::get_settings( 'general.product_brand' );
724
  if ( ! $taxonomy || ! taxonomy_exists( $taxonomy ) ) {
725
  return false;
14
  use RankMath\Traits\Hooker;
15
  use MyThemeShop\Helpers\Str;
16
  use MyThemeShop\Helpers\Param;
 
 
17
 
18
  defined( 'ABSPATH' ) || exit;
19
 
20
  /**
21
  * WooCommerce class.
22
  */
23
+ class WooCommerce extends WC_Vars {
24
 
25
  use Hooker;
26
 
31
  */
32
  private $categories;
33
 
34
+ /**
35
+ * Hold product.
36
+ *
37
+ * @var WC_Product
38
+ */
39
+ private $product = null;
40
+
41
  /**
42
  * The Constructor.
43
  */
44
  public function __construct() {
45
+ $this->remove_product_base = Helper::get_settings( 'general.wc_remove_product_base' );
46
+ $this->remove_category_base = Helper::get_settings( 'general.wc_remove_category_base' );
47
+ $this->remove_parent_slugs = Helper::get_settings( 'general.wc_remove_category_parent_slugs' );
48
 
49
  if ( is_admin() ) {
50
  new Admin;
52
 
53
  $this->integrations();
54
 
55
+ if ( $this->remove_product_base ) {
56
  $this->filter( 'post_type_link', 'product_post_type_link', 1, 2 );
57
  }
58
+
59
+ if ( $this->remove_category_base || $this->remove_parent_slugs ) {
60
  $this->filter( 'term_link', 'product_term_link', 1, 3 );
61
  add_action( 'created_product_cat', 'RankMath\\Helper::schedule_flush_rewrite' );
62
  add_action( 'delete_product_cat', 'RankMath\\Helper::schedule_flush_rewrite' );
63
  add_action( 'edited_product_cat', 'RankMath\\Helper::schedule_flush_rewrite' );
64
  }
65
 
66
+ if ( $this->remove_product_base || $this->remove_category_base ) {
67
+ new Product_Redirection;
68
+ }
69
+
70
  $this->filter( 'rewrite_rules_array', 'add_rewrite_rules', 99 );
71
+ parent::__construct();
72
  }
73
 
74
  /**
80
  }
81
 
82
  // Permalink Manager.
83
+ if ( $this->remove_product_base || $this->remove_category_base || $this->remove_parent_slugs ) {
 
 
 
 
84
  $this->action( 'request', 'request' );
85
  }
86
 
89
  remove_action( 'get_the_generator_xhtml', 'wc_generator_tag', 10 );
90
  }
91
 
92
+ $this->sitemap();
93
+ $this->opengraph();
94
  $this->filter( 'rank_math/frontend/description', 'metadesc' );
 
 
95
  $this->filter( 'rank_math/frontend/robots', 'robots' );
 
 
 
 
 
 
 
 
 
 
 
 
96
  }
97
 
98
  /**
99
  * Replace request if product found.
100
  *
101
+ * @param array $request Current request.
102
+ *
103
  * @return array
104
  */
105
  public function request( $request ) {
106
  global $wp, $wpdb;
107
  $url = $wp->request;
108
 
109
+ if ( empty( $url ) ) {
110
+ return $request;
111
+ }
 
 
 
 
 
112
 
113
+ $replace = [];
114
+ $url = explode( '/', $url );
115
+ $slug = array_pop( $url );
 
116
 
117
+ if ( 'feed' === $slug ) {
118
+ return $request;
119
+ }
 
120
 
121
+ if ( 'amp' === $slug ) {
122
+ $replace['amp'] = $slug;
123
+ $slug = array_pop( $url );
124
+ }
 
 
 
125
 
126
+ if ( 0 === strpos( $slug, 'comment-page-' ) ) {
127
+ $replace['cpage'] = substr( $slug, strlen( 'comment-page-' ) );
128
+ $slug = array_pop( $url );
129
  }
130
 
131
+ $query = "SELECT COUNT(ID) as count_id FROM {$wpdb->posts} WHERE post_name = %s AND post_type = %s";
132
+ $num = intval( $wpdb->get_var( $wpdb->prepare( $query, [ $slug, 'product' ] ) ) ); // phpcs:ignore
133
+ if ( $num > 0 ) {
134
+ $replace['page'] = '';
135
+ $replace['name'] = $slug;
136
+ $replace['product'] = $slug;
137
+ $replace['post_type'] = 'product';
138
+
139
+ return $replace;
140
+ }
141
  }
142
 
143
  /**
144
  * Replace product permalink according to settings.
145
  *
146
+ * @param string $permalink The existing permalink URL.
147
+ * @param WP_Post $post WP_Post object.
148
+ *
149
  * @return string
150
  */
151
  public function product_post_type_link( $permalink, $post ) {
152
+ if ( $this->can_change_link( 'product', $post->post_type ) ) {
 
 
 
 
153
  return $permalink;
154
  }
155
 
171
  /**
172
  * Replace category permalink according to settings.
173
  *
174
+ * @param string $link Term link URL.
175
+ * @param object $term Term object.
176
+ * @param string $taxonomy Taxonomy slug.
177
+ *
178
  * @return string
179
  */
180
  public function product_term_link( $link, $term, $taxonomy ) {
181
+ if ( $this->can_change_link( 'product_cat', $taxonomy ) ) {
 
 
 
 
182
  return $link;
183
  }
184
 
185
  $permalink_structure = wc_get_permalink_structure();
186
  $category_base = trailingslashit( $permalink_structure['category_rewrite_slug'] );
 
 
187
  $is_language_switcher = ( class_exists( 'Sitepress' ) && strpos( $original_link, 'lang=' ) );
188
 
189
+ if ( $this->remove_category_base ) {
190
  $link = str_replace( $category_base, '', $link );
191
  $category_base = '';
192
  }
193
 
194
+ if ( $this->remove_parent_slugs && ! $is_language_switcher ) {
195
  $link = home_url( trailingslashit( $category_base . $term->slug ) );
196
  }
197
 
198
  return $link;
199
  }
200
 
201
+ /**
202
+ * Can change link
203
+ *
204
+ * @param string $check Check string.
205
+ * @param string $against Against this.
206
+ *
207
+ * @return bool
208
+ */
209
+ private function can_change_link( $check, $against ) {
210
+ return $check !== $against || ! get_option( 'permalink_structure' );
211
+ }
212
+
213
  /**
214
  * Change robots for WooCommerce pages according to settings
215
  *
216
+ * @param array $robots Array of robots to sanitize.
217
+ *
218
  * @return array Modified robots.
219
  */
220
  public function robots( $robots ) {
226
 
227
  if ( is_cart() || is_checkout() || is_account_page() ) {
228
  remove_action( 'wp_head', 'wc_page_noindex' );
229
+ return [
230
  'index' => 'noindex',
231
  'follow' => 'follow',
232
+ ];
233
  }
234
 
235
  return $robots;
241
  * It will use the short_description if that one is set. Otherwise it will use the full
242
  * product description limited to 156 characters. If everything is empty, it will return an empty string.
243
  *
244
+ * @param string $metadesc The meta description to check.
245
+ *
246
  * @return string The meta description.
247
  */
248
  public function metadesc( $metadesc ) {
 
249
  if ( '' !== $metadesc || ! is_singular( 'product' ) ) {
250
  return $metadesc;
251
  }
261
  }
262
 
263
  $long_desc = $this->get_long_description( $product );
264
+ return '' !== $long_desc ? wp_html_excerpt( $long_desc, 156 ) : '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
265
  }
266
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
267
  /**
268
  * Returns the product for given product_id.
269
  *
270
+ * @param int $product_id The id to get the product for.
271
+ *
272
  * @return null|WC_Product
273
  */
274
  protected function get_product_by_id( $product_id ) {
283
  return null;
284
  }
285
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
286
  /**
287
  * Add rewrite rules for wp.
288
  *
289
  * @param array $rules The compiled array of rewrite rules.
290
+ *
291
  * @return array
292
  */
293
  public function add_rewrite_rules( $rules ) {
294
  global $wp_rewrite;
295
  wp_cache_flush();
296
 
297
+ $permalink_structure = wc_get_permalink_structure();
298
+ $category_base = $this->remove_category_base ? '' : $permalink_structure['category_rewrite_slug'];
299
+ $use_parent_slug = Str::contains( '%product_cat%', $permalink_structure['product_rewrite_slug'] );
 
 
 
 
300
 
301
  $product_rules = [];
302
  $category_rules = [];
303
  foreach ( $this->get_categories() as $category ) {
304
  $category_path = $this->get_category_fullpath( $category );
305
+ $category_slug = $this->remove_parent_slugs ? $category['slug'] : $category_path;
306
 
307
  $category_rules[ $category_base . $category_slug . '/?$' ] = 'index.php?product_cat=' . $category['slug'];
308
  $category_rules[ $category_base . $category_slug . '/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$' ] = 'index.php?product_cat=' . $category['slug'] . '&feed=$matches[1]';
309
  $category_rules[ $category_base . $category_slug . '/' . $wp_rewrite->pagination_base . '/?([0-9]{1,})/?$' ] = 'index.php?product_cat=' . $category['slug'] . '&paged=$matches[1]';
310
 
311
+ if ( $this->remove_product_base && $use_parent_slug ) {
312
  $product_rules[ $category_path . '/([^/]+)/?$' ] = 'index.php?product=$matches[1]';
313
  $product_rules[ $category_path . '/([^/]+)/' . $wp_rewrite->comments_pagination_base . '-([0-9]{1,})/?$' ] = 'index.php?product=$matches[1]&cpage=$matches[2]';
314
  }
327
  */
328
  protected function get_categories() {
329
  if ( is_null( $this->categories ) ) {
330
+ $categories = get_categories(
331
+ [
332
+ 'taxonomy' => 'product_cat',
333
+ 'hide_empty' => false,
334
+ ]
335
+ );
336
 
337
  $slugs = [];
338
  foreach ( $categories as $category ) {
339
+ $slugs[ $category->term_id ] = [
340
  'parent' => $category->parent,
341
  'slug' => $category->slug,
342
+ ];
343
  }
344
 
345
  $this->categories = $slugs;
352
  * Recursively builds category full path.
353
  *
354
  * @param object $category Term object.
355
+ *
356
  * @return string
357
  */
358
  protected function get_category_fullpath( $category ) {
370
  * Checks if product class has a description method.
371
  * Otherwise it returns the value of the post_content.
372
  *
373
+ * @param WC_Product $product The product.
374
+ *
375
  * @return string
376
  */
377
  protected function get_long_description( $product ) {
383
  }
384
 
385
  /**
386
+ * Returns the product object when the current page is the product page.
387
  *
388
+ * @return null|WC_Product
 
389
  */
390
+ public function get_product() {
391
+ if ( ! is_null( $this->product ) ) {
392
+ return $this->product;
393
  }
394
 
395
+ $product_id = Param::get( 'post', get_queried_object_id(), FILTER_VALIDATE_INT );
396
+ $this->product = (
397
+ ! $product_id &&
398
+ (
399
+ ! is_singular( 'product' ) ||
400
+ ! function_exists( 'wc_get_product' )
401
+ )
402
+ ) ? false : wc_get_product( $product_id );
403
+
404
+ return $this->product;
405
  }
406
 
407
  /**
408
  * Returns the array of brand taxonomy.
409
  *
410
+ * @param int $product_id The id to get the product brands for.
411
+ *
412
  * @return bool|array
413
  */
414
+ public static function get_brands( $product_id ) {
415
  $taxonomy = Helper::get_settings( 'general.product_brand' );
416
  if ( ! $taxonomy || ! taxonomy_exists( $taxonomy ) ) {
417
  return false;
includes/modules/woocommerce/views/options-general.php CHANGED
@@ -8,53 +8,53 @@
8
 
9
  use RankMath\Helper;
10
 
11
- $cmb->add_field( array(
12
  'id' => 'wc_remove_product_base',
13
  'type' => 'switch',
14
  'name' => esc_html__( 'Remove base', 'rank-math' ),
15
  'desc' => esc_html__( 'Remove prefix from product URL.', 'rank-math' ) .
16
  '<br><code>' . esc_html__( 'default: /product/accessories/action-figures/acme/ - changed: /accessories/action-figures/acme/', 'rank-math' ) . '</code>',
17
  'default' => 'off',
18
- ) );
19
 
20
- $cmb->add_field( array(
21
  'id' => 'wc_remove_category_base',
22
  'type' => 'switch',
23
  'name' => esc_html__( 'Remove category base', 'rank-math' ),
24
  'desc' => esc_html__( 'Remove prefix from category URL.', 'rank-math' ) .
25
  '<br><code>' . esc_html__( 'default: /product-category/accessories/action-figures/ - changed: /accessories/action-figures/', 'rank-math' ) . '</code>',
26
  'default' => 'off',
27
- ) );
28
 
29
- $cmb->add_field( array(
30
  'id' => 'wc_remove_category_parent_slugs',
31
  'type' => 'switch',
32
  'name' => esc_html__( ' Remove parent slugs', 'rank-math' ),
33
  'desc' => esc_html__( 'Remove parent slugs from category URL.', 'rank-math' ) .
34
  '<br><code>' . esc_html__( 'default: /product-category/accessories/action-figures/ - changed: /product-category/action-figures/', 'rank-math' ) . '</code>',
35
  'default' => 'off',
36
- ) );
37
 
38
- $cmb->add_field( array(
39
  'id' => 'wc_remove_generator',
40
  'type' => 'switch',
41
  'name' => esc_html__( 'Remove Generator Tag', 'rank-math' ),
42
  'desc' => esc_html__( 'Remove WooCommerce generator tag from the source code.', 'rank-math' ),
43
  'default' => 'on',
44
- ) );
45
 
46
- $cmb->add_field( array(
47
  'id' => 'remove_shop_snippet_data',
48
  'type' => 'switch',
49
  'name' => esc_html__( 'Remove Snippet Data', 'rank-math' ),
50
  'desc' => esc_html__( 'Remove Snippet Data from WooCommerce Shop page.', 'rank-math' ),
51
  'default' => 'on',
52
- ) );
53
 
54
- $cmb->add_field( array(
55
  'id' => 'product_brand',
56
  'type' => 'select',
57
  'name' => esc_html__( 'Brand', 'rank-math' ),
58
  'desc' => esc_html__( 'Select Product Brand Taxonomy to use in Schema.org & OpenGraph markup.', 'rank-math' ),
59
  'options' => Helper::get_object_taxonomies( 'product', 'choices', false ),
60
- ) );
8
 
9
  use RankMath\Helper;
10
 
11
+ $cmb->add_field([
12
  'id' => 'wc_remove_product_base',
13
  'type' => 'switch',
14
  'name' => esc_html__( 'Remove base', 'rank-math' ),
15
  'desc' => esc_html__( 'Remove prefix from product URL.', 'rank-math' ) .
16
  '<br><code>' . esc_html__( 'default: /product/accessories/action-figures/acme/ - changed: /accessories/action-figures/acme/', 'rank-math' ) . '</code>',
17
  'default' => 'off',
18
+ ]);
19
 
20
+ $cmb->add_field([
21
  'id' => 'wc_remove_category_base',
22
  'type' => 'switch',
23
  'name' => esc_html__( 'Remove category base', 'rank-math' ),
24
  'desc' => esc_html__( 'Remove prefix from category URL.', 'rank-math' ) .
25
  '<br><code>' . esc_html__( 'default: /product-category/accessories/action-figures/ - changed: /accessories/action-figures/', 'rank-math' ) . '</code>',
26
  'default' => 'off',
27
+ ]);
28
 
29
+ $cmb->add_field([
30
  'id' => 'wc_remove_category_parent_slugs',
31
  'type' => 'switch',
32
  'name' => esc_html__( ' Remove parent slugs', 'rank-math' ),
33
  'desc' => esc_html__( 'Remove parent slugs from category URL.', 'rank-math' ) .
34
  '<br><code>' . esc_html__( 'default: /product-category/accessories/action-figures/ - changed: /product-category/action-figures/', 'rank-math' ) . '</code>',
35
  'default' => 'off',
36
+ ]);
37
 
38
+ $cmb->add_field([
39
  'id' => 'wc_remove_generator',
40
  'type' => 'switch',
41
  'name' => esc_html__( 'Remove Generator Tag', 'rank-math' ),
42
  'desc' => esc_html__( 'Remove WooCommerce generator tag from the source code.', 'rank-math' ),
43
  'default' => 'on',
44
+ ]);
45
 
46
+ $cmb->add_field([
47
  'id' => 'remove_shop_snippet_data',
48
  'type' => 'switch',
49
  'name' => esc_html__( 'Remove Snippet Data', 'rank-math' ),
50
  'desc' => esc_html__( 'Remove Snippet Data from WooCommerce Shop page.', 'rank-math' ),
51
  'default' => 'on',
52
+ ]);
53
 
54
+ $cmb->add_field([
55
  'id' => 'product_brand',
56
  'type' => 'select',
57
  'name' => esc_html__( 'Brand', 'rank-math' ),
58
  'desc' => esc_html__( 'Select Product Brand Taxonomy to use in Schema.org & OpenGraph markup.', 'rank-math' ),
59
  'options' => Helper::get_object_taxonomies( 'product', 'choices', false ),
60
+ ]);
includes/settings/general/htaccess.php CHANGED
@@ -7,6 +7,7 @@
7
  */
8
 
9
  use RankMath\Admin\Admin_Helper;
 
10
 
11
  $data = Admin_Helper::get_htaccess_data();
12
 
@@ -25,12 +26,12 @@ $attrs = [
25
  'readonly' => 'readonly',
26
  ];
27
 
28
- if ( ! $data['writable'] ) {
29
  $cmb->add_field([
30
  'id' => 'htaccess_not_writable',
31
  'type' => 'notice',
32
  'what' => 'error',
33
- 'content' => esc_html__( '.htaccess file not writable.', 'rank-math' ),
34
  ]);
35
  } else {
36
 
7
  */
8
 
9
  use RankMath\Admin\Admin_Helper;
10
+ use RankMath\Helper;
11
 
12
  $data = Admin_Helper::get_htaccess_data();
13
 
26
  'readonly' => 'readonly',
27
  ];
28
 
29
+ if ( ! $data['writable'] || ! Helper::is_edit_allowed() ) {
30
  $cmb->add_field([
31
  'id' => 'htaccess_not_writable',
32
  'type' => 'notice',
33
  'what' => 'error',
34
+ 'content' => esc_html__( '.htaccess file is not writable.', 'rank-math' ),
35
  ]);
36
  } else {
37
 
includes/settings/general/robots.php DELETED
@@ -1,26 +0,0 @@
1
- <?php
2
- /**
3
- * The robots.txt settings.
4
- *
5
- * @package RankMath
6
- * @subpackage RankMath\Settings
7
- */
8
-
9
- use RankMath\Admin\Admin_Helper;
10
-
11
- $data = Admin_Helper::get_robots_data();
12
- $attributes = [];
13
- if ( $data['exists'] ) {
14
- $attributes['readonly'] = 'readonly';
15
- $attributes['value'] = $data['default'];
16
- } else {
17
- $attributes['placeholder'] = $data['default'];
18
- }
19
-
20
- $cmb->add_field([
21
- 'id' => 'robots_txt_content',
22
- 'type' => 'textarea',
23
- 'desc' => ! $data['exists'] ? '' : esc_html__( 'Contents are locked because robots.txt file is present in the root folder.', 'rank-math' ),
24
- 'attributes' => $attributes,
25
- 'sanitization_cb' => false,
26
- ]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
rank-math.php CHANGED
@@ -9,7 +9,7 @@
9
  *
10
  * @wordpress-plugin
11
  * Plugin Name: Rank Math SEO
12
- * Version: 1.0.31
13
  * Plugin URI: https://s.rankmath.com/home
14
  * Description: Rank Math is a revolutionary SEO product that combines the features of many SEO tools and lets you multiply your traffic in the easiest way possible.
15
  * Author: Rank Math
@@ -34,7 +34,7 @@ final class RankMath {
34
  *
35
  * @var string
36
  */
37
- public $version = '1.0.31';
38
 
39
  /**
40
  * Rank Math database version.
9
  *
10
  * @wordpress-plugin
11
  * Plugin Name: Rank Math SEO
12
+ * Version: 1.0.32
13
  * Plugin URI: https://s.rankmath.com/home
14
  * Description: Rank Math is a revolutionary SEO product that combines the features of many SEO tools and lets you multiply your traffic in the easiest way possible.
15
  * Author: Rank Math
34
  *
35
  * @var string
36
  */
37
+ public $version = '1.0.32';
38
 
39
  /**
40
  * Rank Math database version.
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: seo, sitemap, google search console, schema, redirection
5
  Tested up to: 5.2.2
6
  Requires at least: 4.7.0
7
  Requires PHP: 5.6
8
- Stable tag: 1.0.31
9
  License: GPL-2.0+
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.txt
11
 
@@ -451,20 +451,22 @@ We look forward to helping you.
451
 
452
  == Changelog ==
453
 
454
- = 1.0.31 [Aug 02, 2019] =
455
- * Added diacritics into consideration while running the content analysis. Finally, all other language words can be analyzed!
456
- * Improved the logic of honoring the Global Meta so, there are no mismatches between the settings of a single post vs general settings and also for the importers. Please review your Rank Math's settings properly if you happen to import. [Here's a detailed guide](https://s.rankmath.com/wpmrmguide)
457
- * Improved the searching in the redirections & 404 errors
458
- * Improved SEO Analysis text further to make things clearer
459
- * Updated the analysis's API URL to Rank Math's
460
- * Fixed a bug with WordPress 4.x (to everyone still using WP 4.x, please update to the latest WP and use Classic Editor plugin alongside)
461
- * Fixed an issue with the importing of the Redirections. Disabled redirections were getting imported as active. That should not be happening anymore.
462
- * Fixed a bug where CSS & JS files were loading on the frontend even if the admin bar was disabled
463
- * Fixed a compatibility issue with WooCommerce's category permalink flushing
464
- * Fixed an issue with the Snippet Shortcode occurring with a Non-numeric value
465
- * Fixed an issue with the redirections where QueryString with trailing slash `/` was not working fine
466
- * Fixed few typos in the description of the helping text
467
- * Fixed an issue with the auto-update. It should be working fine now.
468
- * Fixed a compatibility bug with WPML
 
 
469
 
470
  Full changelog can be found here - **[Rank Math SEO changelog](https://s.rankmath.com/changelog)**
5
  Tested up to: 5.2.2
6
  Requires at least: 4.7.0
7
  Requires PHP: 5.6
8
+ Stable tag: 1.0.32
9
  License: GPL-2.0+
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.txt
11
 
451
 
452
  == Changelog ==
453
 
454
+ = 1.0.32 [Aug 28, 2019] =
455
+ * Improved WooCommerce's module for speed and readability
456
+ * Added complete compatibility for the BuddyPress plugin
457
+ * Added Rank Math's options in the [Screen options](https://i.rankmath.com/uy1kCn) for users with `onpage_general` capability (like Editors etc.)
458
+ * Added redirection to old product links, to the new ones, when Remove Product Base option was turned on. Previously the plugin was only adding a Canonical URL
459
+ * Added changes in the Setup wizard to make it more GDPR-friendly
460
+ * Added a [filter to hide SEO scores](https://rankmath.com/kb/filters-hooks-api-developer/#hide-seo-score)
461
+ * Updated all date() to date_i18n() functions
462
+ * Removed default Schema from About & Contact pages
463
+ * Fixed an issue where the plugin was not obeying the DISALLOW_FILE_EDIT rule
464
+ * Fixed Dashboard widget showing an empty box instead of hiding itself when the permissions were not correct
465
+ * Fixed Redirection issues when + or ? were used in the source URLs. They should be working fine now
466
+ * Fixed an issue with the redirection to the document file showing a 404 page. Document files should normally open now as expected
467
+ * Fixed a CSS overflow in SEO Analysis when long URLs were displayed
468
+ * Fixed Robots.txt editor not working when the site was set to NoIndex
469
+ * Fixed an issue where the auto-generated description was removing diacritics from the preview area
470
+ * Fixed an issue where About Us and Contact pages were not showing in the Organization data of Schema Markup
471
 
472
  Full changelog can be found here - **[Rank Math SEO changelog](https://s.rankmath.com/changelog)**
vendor/composer/autoload_classmap.php CHANGED
@@ -161,6 +161,8 @@ return array(
161
  'RankMath\\Admin\\Serp_Preview' => $baseDir . '/includes/admin/class-serp-preview.php',
162
  'RankMath\\Admin\\Setup_Wizard' => $baseDir . '/includes/admin/class-setup-wizard.php',
163
  'RankMath\\Admin\\Watcher' => $baseDir . '/includes/admin/watcher/class-watcher.php',
 
 
164
  'RankMath\\CLI\\Commands' => $baseDir . '/includes/cli/class-commands.php',
165
  'RankMath\\CMB2' => $baseDir . '/includes/class-cmb2.php',
166
  'RankMath\\Common' => $baseDir . '/includes/class-common.php',
@@ -202,6 +204,8 @@ return array(
202
  'RankMath\\OpenGraph\\Twitter' => $baseDir . '/includes/opengraph/class-twitter.php',
203
  'RankMath\\Paper\\Archive' => $baseDir . '/includes/frontend/paper/class-archive.php',
204
  'RankMath\\Paper\\Author' => $baseDir . '/includes/frontend/paper/class-author.php',
 
 
205
  'RankMath\\Paper\\Blog' => $baseDir . '/includes/frontend/paper/class-blog.php',
206
  'RankMath\\Paper\\Date' => $baseDir . '/includes/frontend/paper/class-date.php',
207
  'RankMath\\Paper\\Error_404' => $baseDir . '/includes/frontend/paper/class-error-404.php',
@@ -260,6 +264,7 @@ return array(
260
  'RankMath\\RichSnippet\\Video' => $baseDir . '/includes/modules/rich-snippet/snippets/class-video.php',
261
  'RankMath\\RichSnippet\\WC_Attributes' => $baseDir . '/includes/modules/rich-snippet/snippets/class-wc-attributes.php',
262
  'RankMath\\RichSnippet\\Website' => $baseDir . '/includes/modules/rich-snippet/snippets/class-website.php',
 
263
  'RankMath\\Role_Manager\\Capability_Manager' => $baseDir . '/includes/modules/role-manager/class-capability-manager.php',
264
  'RankMath\\Role_Manager\\Members' => $baseDir . '/includes/modules/role-manager/class-members.php',
265
  'RankMath\\Role_Manager\\Role_Manager' => $baseDir . '/includes/modules/role-manager/class-role-manager.php',
@@ -309,16 +314,20 @@ return array(
309
  'RankMath\\User' => $baseDir . '/includes/class-user.php',
310
  'RankMath\\Wizard\\Compatibility' => $baseDir . '/includes/admin/wizard/class-compatibility.php',
311
  'RankMath\\Wizard\\Import' => $baseDir . '/includes/admin/wizard/class-import.php',
312
- 'RankMath\\Wizard\\Misc' => $baseDir . '/includes/admin/wizard/class-misc.php',
313
  'RankMath\\Wizard\\Monitor_Redirection' => $baseDir . '/includes/admin/wizard/class-monitor-redirection.php',
314
  'RankMath\\Wizard\\Optimization' => $baseDir . '/includes/admin/wizard/class-optimization.php',
315
  'RankMath\\Wizard\\Ready' => $baseDir . '/includes/admin/wizard/class-ready.php',
316
  'RankMath\\Wizard\\Role' => $baseDir . '/includes/admin/wizard/class-role.php',
 
317
  'RankMath\\Wizard\\Search_Console' => $baseDir . '/includes/admin/wizard/class-search-console.php',
318
  'RankMath\\Wizard\\Sitemap' => $baseDir . '/includes/admin/wizard/class-sitemap.php',
319
  'RankMath\\Wizard\\Wizard_Step' => $baseDir . '/includes/admin/wizard/interface-wizard-step.php',
320
  'RankMath\\Wizard\\Your_Site' => $baseDir . '/includes/admin/wizard/class-your-site.php',
321
  'RankMath\\WooCommerce\\Admin' => $baseDir . '/includes/modules/woocommerce/class-admin.php',
 
 
 
 
322
  'RankMath\\WooCommerce\\WooCommerce' => $baseDir . '/includes/modules/woocommerce/class-woocommerce.php',
323
  'Rollbar\\Config' => $vendorDir . '/rollbar/rollbar/src/Config.php',
324
  'Rollbar\\DataBuilder' => $vendorDir . '/rollbar/rollbar/src/DataBuilder.php',
161
  'RankMath\\Admin\\Serp_Preview' => $baseDir . '/includes/admin/class-serp-preview.php',
162
  'RankMath\\Admin\\Setup_Wizard' => $baseDir . '/includes/admin/class-setup-wizard.php',
163
  'RankMath\\Admin\\Watcher' => $baseDir . '/includes/admin/watcher/class-watcher.php',
164
+ 'RankMath\\BuddyPress\\Admin' => $baseDir . '/includes/modules/buddypress/class-admin.php',
165
+ 'RankMath\\BuddyPress\\BuddyPress' => $baseDir . '/includes/modules/buddypress/class-buddypress.php',
166
  'RankMath\\CLI\\Commands' => $baseDir . '/includes/cli/class-commands.php',
167
  'RankMath\\CMB2' => $baseDir . '/includes/class-cmb2.php',
168
  'RankMath\\Common' => $baseDir . '/includes/class-common.php',
204
  'RankMath\\OpenGraph\\Twitter' => $baseDir . '/includes/opengraph/class-twitter.php',
205
  'RankMath\\Paper\\Archive' => $baseDir . '/includes/frontend/paper/class-archive.php',
206
  'RankMath\\Paper\\Author' => $baseDir . '/includes/frontend/paper/class-author.php',
207
+ 'RankMath\\Paper\\BP_Group' => $baseDir . '/includes/modules/buddypress/paper/class-bp-group.php',
208
+ 'RankMath\\Paper\\BP_User' => $baseDir . '/includes/modules/buddypress/paper/class-bp-user.php',
209
  'RankMath\\Paper\\Blog' => $baseDir . '/includes/frontend/paper/class-blog.php',
210
  'RankMath\\Paper\\Date' => $baseDir . '/includes/frontend/paper/class-date.php',
211
  'RankMath\\Paper\\Error_404' => $baseDir . '/includes/frontend/paper/class-error-404.php',
264
  'RankMath\\RichSnippet\\Video' => $baseDir . '/includes/modules/rich-snippet/snippets/class-video.php',
265
  'RankMath\\RichSnippet\\WC_Attributes' => $baseDir . '/includes/modules/rich-snippet/snippets/class-wc-attributes.php',
266
  'RankMath\\RichSnippet\\Website' => $baseDir . '/includes/modules/rich-snippet/snippets/class-website.php',
267
+ 'RankMath\\Robots_Txt' => $baseDir . '/includes/modules/robots-txt/class-robots-txt.php',
268
  'RankMath\\Role_Manager\\Capability_Manager' => $baseDir . '/includes/modules/role-manager/class-capability-manager.php',
269
  'RankMath\\Role_Manager\\Members' => $baseDir . '/includes/modules/role-manager/class-members.php',
270
  'RankMath\\Role_Manager\\Role_Manager' => $baseDir . '/includes/modules/role-manager/class-role-manager.php',
314
  'RankMath\\User' => $baseDir . '/includes/class-user.php',
315
  'RankMath\\Wizard\\Compatibility' => $baseDir . '/includes/admin/wizard/class-compatibility.php',
316
  'RankMath\\Wizard\\Import' => $baseDir . '/includes/admin/wizard/class-import.php',
 
317
  'RankMath\\Wizard\\Monitor_Redirection' => $baseDir . '/includes/admin/wizard/class-monitor-redirection.php',
318
  'RankMath\\Wizard\\Optimization' => $baseDir . '/includes/admin/wizard/class-optimization.php',
319
  'RankMath\\Wizard\\Ready' => $baseDir . '/includes/admin/wizard/class-ready.php',
320
  'RankMath\\Wizard\\Role' => $baseDir . '/includes/admin/wizard/class-role.php',
321
+ 'RankMath\\Wizard\\Schema_Markup' => $baseDir . '/includes/admin/wizard/class-schema-markup.php',
322
  'RankMath\\Wizard\\Search_Console' => $baseDir . '/includes/admin/wizard/class-search-console.php',
323
  'RankMath\\Wizard\\Sitemap' => $baseDir . '/includes/admin/wizard/class-sitemap.php',
324
  'RankMath\\Wizard\\Wizard_Step' => $baseDir . '/includes/admin/wizard/interface-wizard-step.php',
325
  'RankMath\\Wizard\\Your_Site' => $baseDir . '/includes/admin/wizard/class-your-site.php',
326
  'RankMath\\WooCommerce\\Admin' => $baseDir . '/includes/modules/woocommerce/class-admin.php',
327
+ 'RankMath\\WooCommerce\\Opengraph' => $baseDir . '/includes/modules/woocommerce/class-opengraph.php',
328
+ 'RankMath\\WooCommerce\\Product_Redirection' => $baseDir . '/includes/modules/woocommerce/class-product-redirection.php',
329
+ 'RankMath\\WooCommerce\\Sitemap' => $baseDir . '/includes/modules/woocommerce/class-sitemap.php',
330
+ 'RankMath\\WooCommerce\\WC_Vars' => $baseDir . '/includes/modules/woocommerce/class-wc-vars.php',
331
  'RankMath\\WooCommerce\\WooCommerce' => $baseDir . '/includes/modules/woocommerce/class-woocommerce.php',
332
  'Rollbar\\Config' => $vendorDir . '/rollbar/rollbar/src/Config.php',
333
  'Rollbar\\DataBuilder' => $vendorDir . '/rollbar/rollbar/src/DataBuilder.php',
vendor/composer/autoload_static.php CHANGED
@@ -207,6 +207,8 @@ class ComposerStaticInite0bd047aa5058f04568aa38dfc5ac000
207
  'RankMath\\Admin\\Serp_Preview' => __DIR__ . '/../..' . '/includes/admin/class-serp-preview.php',
208
  'RankMath\\Admin\\Setup_Wizard' => __DIR__ . '/../..' . '/includes/admin/class-setup-wizard.php',
209
  'RankMath\\Admin\\Watcher' => __DIR__ . '/../..' . '/includes/admin/watcher/class-watcher.php',
 
 
210
  'RankMath\\CLI\\Commands' => __DIR__ . '/../..' . '/includes/cli/class-commands.php',
211
  'RankMath\\CMB2' => __DIR__ . '/../..' . '/includes/class-cmb2.php',
212
  'RankMath\\Common' => __DIR__ . '/../..' . '/includes/class-common.php',
@@ -248,6 +250,8 @@ class ComposerStaticInite0bd047aa5058f04568aa38dfc5ac000
248
  'RankMath\\OpenGraph\\Twitter' => __DIR__ . '/../..' . '/includes/opengraph/class-twitter.php',
249
  'RankMath\\Paper\\Archive' => __DIR__ . '/../..' . '/includes/frontend/paper/class-archive.php',
250
  'RankMath\\Paper\\Author' => __DIR__ . '/../..' . '/includes/frontend/paper/class-author.php',
 
 
251
  'RankMath\\Paper\\Blog' => __DIR__ . '/../..' . '/includes/frontend/paper/class-blog.php',
252
  'RankMath\\Paper\\Date' => __DIR__ . '/../..' . '/includes/frontend/paper/class-date.php',
253
  'RankMath\\Paper\\Error_404' => __DIR__ . '/../..' . '/includes/frontend/paper/class-error-404.php',
@@ -306,6 +310,7 @@ class ComposerStaticInite0bd047aa5058f04568aa38dfc5ac000
306
  'RankMath\\RichSnippet\\Video' => __DIR__ . '/../..' . '/includes/modules/rich-snippet/snippets/class-video.php',
307
  'RankMath\\RichSnippet\\WC_Attributes' => __DIR__ . '/../..' . '/includes/modules/rich-snippet/snippets/class-wc-attributes.php',
308
  'RankMath\\RichSnippet\\Website' => __DIR__ . '/../..' . '/includes/modules/rich-snippet/snippets/class-website.php',
 
309
  'RankMath\\Role_Manager\\Capability_Manager' => __DIR__ . '/../..' . '/includes/modules/role-manager/class-capability-manager.php',
310
  'RankMath\\Role_Manager\\Members' => __DIR__ . '/../..' . '/includes/modules/role-manager/class-members.php',
311
  'RankMath\\Role_Manager\\Role_Manager' => __DIR__ . '/../..' . '/includes/modules/role-manager/class-role-manager.php',
@@ -355,16 +360,20 @@ class ComposerStaticInite0bd047aa5058f04568aa38dfc5ac000
355
  'RankMath\\User' => __DIR__ . '/../..' . '/includes/class-user.php',
356
  'RankMath\\Wizard\\Compatibility' => __DIR__ . '/../..' . '/includes/admin/wizard/class-compatibility.php',
357
  'RankMath\\Wizard\\Import' => __DIR__ . '/../..' . '/includes/admin/wizard/class-import.php',
358
- 'RankMath\\Wizard\\Misc' => __DIR__ . '/../..' . '/includes/admin/wizard/class-misc.php',
359
  'RankMath\\Wizard\\Monitor_Redirection' => __DIR__ . '/../..' . '/includes/admin/wizard/class-monitor-redirection.php',
360
  'RankMath\\Wizard\\Optimization' => __DIR__ . '/../..' . '/includes/admin/wizard/class-optimization.php',
361
  'RankMath\\Wizard\\Ready' => __DIR__ . '/../..' . '/includes/admin/wizard/class-ready.php',
362
  'RankMath\\Wizard\\Role' => __DIR__ . '/../..' . '/includes/admin/wizard/class-role.php',
 
363
  'RankMath\\Wizard\\Search_Console' => __DIR__ . '/../..' . '/includes/admin/wizard/class-search-console.php',
364
  'RankMath\\Wizard\\Sitemap' => __DIR__ . '/../..' . '/includes/admin/wizard/class-sitemap.php',
365
  'RankMath\\Wizard\\Wizard_Step' => __DIR__ . '/../..' . '/includes/admin/wizard/interface-wizard-step.php',
366
  'RankMath\\Wizard\\Your_Site' => __DIR__ . '/../..' . '/includes/admin/wizard/class-your-site.php',
367
  'RankMath\\WooCommerce\\Admin' => __DIR__ . '/../..' . '/includes/modules/woocommerce/class-admin.php',
 
 
 
 
368
  'RankMath\\WooCommerce\\WooCommerce' => __DIR__ . '/../..' . '/includes/modules/woocommerce/class-woocommerce.php',
369
  'Rollbar\\Config' => __DIR__ . '/..' . '/rollbar/rollbar/src/Config.php',
370
  'Rollbar\\DataBuilder' => __DIR__ . '/..' . '/rollbar/rollbar/src/DataBuilder.php',
207
  'RankMath\\Admin\\Serp_Preview' => __DIR__ . '/../..' . '/includes/admin/class-serp-preview.php',
208
  'RankMath\\Admin\\Setup_Wizard' => __DIR__ . '/../..' . '/includes/admin/class-setup-wizard.php',
209
  'RankMath\\Admin\\Watcher' => __DIR__ . '/../..' . '/includes/admin/watcher/class-watcher.php',
210
+ 'RankMath\\BuddyPress\\Admin' => __DIR__ . '/../..' . '/includes/modules/buddypress/class-admin.php',
211
+ 'RankMath\\BuddyPress\\BuddyPress' => __DIR__ . '/../..' . '/includes/modules/buddypress/class-buddypress.php',
212
  'RankMath\\CLI\\Commands' => __DIR__ . '/../..' . '/includes/cli/class-commands.php',
213
  'RankMath\\CMB2' => __DIR__ . '/../..' . '/includes/class-cmb2.php',
214
  'RankMath\\Common' => __DIR__ . '/../..' . '/includes/class-common.php',
250
  'RankMath\\OpenGraph\\Twitter' => __DIR__ . '/../..' . '/includes/opengraph/class-twitter.php',
251
  'RankMath\\Paper\\Archive' => __DIR__ . '/../..' . '/includes/frontend/paper/class-archive.php',
252
  'RankMath\\Paper\\Author' => __DIR__ . '/../..' . '/includes/frontend/paper/class-author.php',
253
+ 'RankMath\\Paper\\BP_Group' => __DIR__ . '/../..' . '/includes/modules/buddypress/paper/class-bp-group.php',
254
+ 'RankMath\\Paper\\BP_User' => __DIR__ . '/../..' . '/includes/modules/buddypress/paper/class-bp-user.php',
255
  'RankMath\\Paper\\Blog' => __DIR__ . '/../..' . '/includes/frontend/paper/class-blog.php',
256
  'RankMath\\Paper\\Date' => __DIR__ . '/../..' . '/includes/frontend/paper/class-date.php',
257
  'RankMath\\Paper\\Error_404' => __DIR__ . '/../..' . '/includes/frontend/paper/class-error-404.php',
310
  'RankMath\\RichSnippet\\Video' => __DIR__ . '/../..' . '/includes/modules/rich-snippet/snippets/class-video.php',
311
  'RankMath\\RichSnippet\\WC_Attributes' => __DIR__ . '/../..' . '/includes/modules/rich-snippet/snippets/class-wc-attributes.php',
312
  'RankMath\\RichSnippet\\Website' => __DIR__ . '/../..' . '/includes/modules/rich-snippet/snippets/class-website.php',
313
+ 'RankMath\\Robots_Txt' => __DIR__ . '/../..' . '/includes/modules/robots-txt/class-robots-txt.php',
314
  'RankMath\\Role_Manager\\Capability_Manager' => __DIR__ . '/../..' . '/includes/modules/role-manager/class-capability-manager.php',
315
  'RankMath\\Role_Manager\\Members' => __DIR__ . '/../..' . '/includes/modules/role-manager/class-members.php',
316
  'RankMath\\Role_Manager\\Role_Manager' => __DIR__ . '/../..' . '/includes/modules/role-manager/class-role-manager.php',
360
  'RankMath\\User' => __DIR__ . '/../..' . '/includes/class-user.php',
361
  'RankMath\\Wizard\\Compatibility' => __DIR__ . '/../..' . '/includes/admin/wizard/class-compatibility.php',
362
  'RankMath\\Wizard\\Import' => __DIR__ . '/../..' . '/includes/admin/wizard/class-import.php',
 
363
  'RankMath\\Wizard\\Monitor_Redirection' => __DIR__ . '/../..' . '/includes/admin/wizard/class-monitor-redirection.php',
364
  'RankMath\\Wizard\\Optimization' => __DIR__ . '/../..' . '/includes/admin/wizard/class-optimization.php',
365
  'RankMath\\Wizard\\Ready' => __DIR__ . '/../..' . '/includes/admin/wizard/class-ready.php',
366
  'RankMath\\Wizard\\Role' => __DIR__ . '/../..' . '/includes/admin/wizard/class-role.php',
367
+ 'RankMath\\Wizard\\Schema_Markup' => __DIR__ . '/../..' . '/includes/admin/wizard/class-schema-markup.php',
368
  'RankMath\\Wizard\\Search_Console' => __DIR__ . '/../..' . '/includes/admin/wizard/class-search-console.php',
369
  'RankMath\\Wizard\\Sitemap' => __DIR__ . '/../..' . '/includes/admin/wizard/class-sitemap.php',
370
  'RankMath\\Wizard\\Wizard_Step' => __DIR__ . '/../..' . '/includes/admin/wizard/interface-wizard-step.php',
371
  'RankMath\\Wizard\\Your_Site' => __DIR__ . '/../..' . '/includes/admin/wizard/class-your-site.php',
372
  'RankMath\\WooCommerce\\Admin' => __DIR__ . '/../..' . '/includes/modules/woocommerce/class-admin.php',
373
+ 'RankMath\\WooCommerce\\Opengraph' => __DIR__ . '/../..' . '/includes/modules/woocommerce/class-opengraph.php',
374
+ 'RankMath\\WooCommerce\\Product_Redirection' => __DIR__ . '/../..' . '/includes/modules/woocommerce/class-product-redirection.php',
375
+ 'RankMath\\WooCommerce\\Sitemap' => __DIR__ . '/../..' . '/includes/modules/woocommerce/class-sitemap.php',
376
+ 'RankMath\\WooCommerce\\WC_Vars' => __DIR__ . '/../..' . '/includes/modules/woocommerce/class-wc-vars.php',
377
  'RankMath\\WooCommerce\\WooCommerce' => __DIR__ . '/../..' . '/includes/modules/woocommerce/class-woocommerce.php',
378
  'Rollbar\\Config' => __DIR__ . '/..' . '/rollbar/rollbar/src/Config.php',
379
  'Rollbar\\DataBuilder' => __DIR__ . '/..' . '/rollbar/rollbar/src/DataBuilder.php',
vendor/composer/installed.json CHANGED
@@ -37,55 +37,6 @@
37
  ],
38
  "description": "WP Background Processing can be used to fire off non-blocking asynchronous requests or as a background processing tool, allowing you to queue tasks."
39
  },
40
- {
41
- "name": "psr/log",
42
- "version": "1.1.0",
43
- "version_normalized": "1.1.0.0",
44
- "source": {
45
- "type": "git",
46
- "url": "https://github.com/php-fig/log.git",
47
- "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd"
48
- },
49
- "dist": {
50
- "type": "zip",
51
- "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
52
- "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
53
- "shasum": ""
54
- },
55
- "require": {
56
- "php": ">=5.3.0"
57
- },
58
- "time": "2018-11-20T15:27:04+00:00",
59
- "type": "library",
60
- "extra": {
61
- "branch-alias": {
62
- "dev-master": "1.0.x-dev"
63
- }
64
- },
65
- "installation-source": "dist",
66
- "autoload": {
67
- "psr-4": {
68
- "Psr\\Log\\": "Psr/Log/"
69
- }
70
- },
71
- "notification-url": "https://packagist.org/downloads/",
72
- "license": [
73
- "MIT"
74
- ],
75
- "authors": [
76
- {
77
- "name": "PHP-FIG",
78
- "homepage": "http://www.php-fig.org/"
79
- }
80
- ],
81
- "description": "Common interface for logging libraries",
82
- "homepage": "https://github.com/php-fig/log",
83
- "keywords": [
84
- "log",
85
- "psr",
86
- "psr-3"
87
- ]
88
- },
89
  {
90
  "name": "cmb2/cmb2",
91
  "version": "v2.6.0",
@@ -221,6 +172,96 @@
221
  "psr-3"
222
  ]
223
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
224
  {
225
  "name": "rollbar/rollbar",
226
  "version": "v1.8.1",
@@ -281,46 +322,5 @@
281
  "logging",
282
  "monitoring"
283
  ]
284
- },
285
- {
286
- "name": "mythemeshop/wordpress-helpers",
287
- "version": "1.0.8",
288
- "version_normalized": "1.0.8.0",
289
- "source": {
290
- "type": "git",
291
- "url": "https://github.com/MyThemeShopTeam/wordpress-helpers.git",
292
- "reference": "56bfaf15c5db4ebbe5fb3d2549369309810e9adf"
293
- },
294
- "dist": {
295
- "type": "zip",
296
- "url": "https://api.github.com/repos/MyThemeShopTeam/wordpress-helpers/zipball/56bfaf15c5db4ebbe5fb3d2549369309810e9adf",
297
- "reference": "56bfaf15c5db4ebbe5fb3d2549369309810e9adf",
298
- "shasum": ""
299
- },
300
- "require": {
301
- "php": ">=5.6"
302
- },
303
- "time": "2019-07-23T17:39:04+00:00",
304
- "type": "library",
305
- "installation-source": "dist",
306
- "autoload": {
307
- "psr-4": {
308
- "MyThemeShop\\Helpers\\": "src/"
309
- },
310
- "classmap": [
311
- "src/"
312
- ]
313
- },
314
- "notification-url": "https://packagist.org/downloads/",
315
- "license": [
316
- "MIT"
317
- ],
318
- "authors": [
319
- {
320
- "name": "MyThemeShop",
321
- "email": "info@mythemeshop.com"
322
- }
323
- ],
324
- "description": "Collection of utilities required during development of a plugin or theme for WordPress. Build for developers by developers."
325
  }
326
  ]
37
  ],
38
  "description": "WP Background Processing can be used to fire off non-blocking asynchronous requests or as a background processing tool, allowing you to queue tasks."
39
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  {
41
  "name": "cmb2/cmb2",
42
  "version": "v2.6.0",
172
  "psr-3"
173
  ]
174
  },
175
+ {
176
+ "name": "mythemeshop/wordpress-helpers",
177
+ "version": "1.0.8",
178
+ "version_normalized": "1.0.8.0",
179
+ "source": {
180
+ "type": "git",
181
+ "url": "https://github.com/MyThemeShopTeam/wordpress-helpers.git",
182
+ "reference": "56bfaf15c5db4ebbe5fb3d2549369309810e9adf"
183
+ },
184
+ "dist": {
185
+ "type": "zip",
186
+ "url": "https://api.github.com/repos/MyThemeShopTeam/wordpress-helpers/zipball/56bfaf15c5db4ebbe5fb3d2549369309810e9adf",
187
+ "reference": "56bfaf15c5db4ebbe5fb3d2549369309810e9adf",
188
+ "shasum": ""
189
+ },
190
+ "require": {
191
+ "php": ">=5.6"
192
+ },
193
+ "time": "2019-07-23T17:39:04+00:00",
194
+ "type": "library",
195
+ "installation-source": "dist",
196
+ "autoload": {
197
+ "psr-4": {
198
+ "MyThemeShop\\Helpers\\": "src/"
199
+ },
200
+ "classmap": [
201
+ "src/"
202
+ ]
203
+ },
204
+ "notification-url": "https://packagist.org/downloads/",
205
+ "license": [
206
+ "MIT"
207
+ ],
208
+ "authors": [
209
+ {
210
+ "name": "MyThemeShop",
211
+ "email": "info@mythemeshop.com"
212
+ }
213
+ ],
214
+ "description": "Collection of utilities required during development of a plugin or theme for WordPress. Build for developers by developers."
215
+ },
216
+ {
217
+ "name": "psr/log",
218
+ "version": "1.1.0",
219
+ "version_normalized": "1.1.0.0",
220
+ "source": {
221
+ "type": "git",
222
+ "url": "https://github.com/php-fig/log.git",
223
+ "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd"
224
+ },
225
+ "dist": {
226
+ "type": "zip",
227
+ "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
228
+ "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
229
+ "shasum": ""
230
+ },
231
+ "require": {
232
+ "php": ">=5.3.0"
233
+ },
234
+ "time": "2018-11-20T15:27:04+00:00",
235
+ "type": "library",
236
+ "extra": {
237
+ "branch-alias": {
238
+ "dev-master": "1.0.x-dev"
239
+ }
240
+ },
241
+ "installation-source": "dist",
242
+ "autoload": {
243
+ "psr-4": {
244
+ "Psr\\Log\\": "Psr/Log/"
245
+ }
246
+ },
247
+ "notification-url": "https://packagist.org/downloads/",
248
+ "license": [
249
+ "MIT"
250
+ ],
251
+ "authors": [
252
+ {
253
+ "name": "PHP-FIG",
254
+ "homepage": "http://www.php-fig.org/"
255
+ }
256
+ ],
257
+ "description": "Common interface for logging libraries",
258
+ "homepage": "https://github.com/php-fig/log",
259
+ "keywords": [
260
+ "log",
261
+ "psr",
262
+ "psr-3"
263
+ ]
264
+ },
265
  {
266
  "name": "rollbar/rollbar",
267
  "version": "v1.8.1",
322
  "logging",
323
  "monitoring"
324
  ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
325
  }
326
  ]