SEOPress - Version 4.5.1

Version Description

(08/04/2021) = * NEW Where to display the cookie bar? option from SEO, Analytics, Cookie bar tab * INFO Stop loading the CSS for the admin bar if it doesn't show up * INFO Allow HTML in Homepage field for Breadcrumbs * FIX Fatal error: Call to undefined function seopress_xml_sitemap_video_enable_option() * FIX Opening hours for Local Business widget * FIX Heading 1 in content analysis if no target keywords * FIX SEO columns design in posts list * FIX Quick edit design issue on save * FIX SmartCrawl import tool * FIX PHP Warning: count(): Parameter must be an array or an object that implements in XML sitemaps * FIX Warning: date() expects parameter 2 to be int, string given * FIX Redirections capabilities on older versions of WordPress (< 5.0) * FIX White Label links in plugins list * FIX Primary category hierarchy in breadcrumbs * FIX Oxygen compatibility for Word counters / Keyword density * FIX i18n

Download this release

Release Info

Developer rainbowgeek
Plugin Icon 128x128 SEOPress
Version 4.5.1
Comparing to
See all releases

Code changes from version 4.5.0.2 to 4.5.1

Files changed (42) hide show
  1. assets/css/seopress-admin-bar.min.css +1 -1
  2. assets/css/seopress.css +12 -14
  3. assets/css/seopress.min.css +1 -1
  4. assets/js/seopress-analytics.min.js +1 -1
  5. assets/js/seopress-block-editor.min.js +1 -1
  6. assets/js/seopress-cookies-ajax.min.js +1 -1
  7. assets/js/seopress-cookies.min.js +1 -1
  8. assets/js/seopress-counters.min.js +1 -1
  9. assets/js/seopress-dashboard.min.js +1 -1
  10. assets/js/seopress-media-uploader.min.js +1 -1
  11. assets/js/seopress-migrate.js +1 -1
  12. assets/js/seopress-migrate.min.js +1 -1
  13. assets/js/seopress-network-tabs.min.js +1 -1
  14. assets/js/seopress-quick-edit.js +19 -20
  15. assets/js/seopress-quick-edit.min.js +1 -1
  16. assets/js/seopress-sitemap-ajax.min.js +1 -1
  17. assets/js/seopress-sitemap-video.min.js +1 -1
  18. assets/js/seopress-tabs.min.js +1 -1
  19. assets/js/seopress-tabs2.min.js +1 -1
  20. assets/js/seopress-tabs3.min.js +1 -1
  21. assets/js/seopress-tabs4.min.js +1 -1
  22. assets/js/seopress-tabs5.min.js +1 -1
  23. assets/js/seopress-tabs6.min.js +1 -1
  24. assets/js/seopress-tabs7.min.js +1 -1
  25. assets/js/seopress-tabs8.min.js +1 -1
  26. inc/admin/admin-metaboxes-form.php +1 -1
  27. inc/admin/admin-wizard.php +5 -4
  28. inc/admin/admin.php +46 -7
  29. inc/admin/ajax.php +7 -5
  30. inc/functions/options-advanced-admin.php +36 -0
  31. inc/functions/options-google-analytics.php +430 -417
  32. inc/functions/options-social.php +38 -0
  33. inc/functions/sitemap/template-xml-sitemaps.php +5 -1
  34. inc/functions/variables/dynamic-variables.php +3 -1
  35. readme.txt +18 -1
  36. seopress.php +872 -863
  37. src/Actions/Admin/ManageColumn.php +10 -25
  38. src/Services/ContentAnalysis/GetContent.php +3 -3
  39. src/Services/WordPressData.php +2 -1
  40. src/Tags/PostTitle.php +3 -1
  41. vendor/composer/InstalledVersions.php +2 -2
  42. vendor/composer/installed.php +2 -2
assets/css/seopress-admin-bar.min.css CHANGED
@@ -1 +1 @@
1
- #adminmenu div.wp-menu-image.dashicons-admin-seopress::before,#seopress-header #seopress-admin h1::before{content:"\e800";font-family:seopress}#seopress-header #seopress-admin h1::before,.seopress-page-list .seopress-feature h3,.seopress-styles .seopress-option h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?8v0bs0);src:url(../fonts/seopress.eot?8v0bs0#iefix) format('embedded-opentype'),url(../fonts/seopress.ttf?8v0bs0) format('truetype'),url(../fonts/seopress.woff?8v0bs0) format('woff'),url(../fonts/seopress.svg?8v0bs0#seopress) format('svg');font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important}.icon-seopress-seopress:before{content:"\e800";font:normal 14px/1 seopress;line-height:1.5rem}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level .wrap-seopress-noindex{background:red;color:#fff;padding:0 8px;float:right;margin-left:6px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level>a{display:inline-block}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level .wrap-seopress-noindex .ab-icon::before{color:#eee;vertical-align:middle}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots{display:block;background:#23292d}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots a{height:inherit;padding-bottom:5px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-seo{font-weight:700;border-bottom:1px solid currentColor;width:100%;display:block;margin-bottom:5px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex{display:block}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .ab-icon,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .ab-icon{float:none;vertical-align:middle}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .on::before,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .on::before{color:red}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .off::before,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .off::before{color:#46b450}
1
+ #adminmenu div.wp-menu-image.dashicons-admin-seopress::before,#seopress-header #seopress-admin h1::before{content:"\e800";font-family:seopress}#seopress-header #seopress-admin h1::before,.seopress-page-list .seopress-feature h3,.seopress-styles .seopress-option h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?8v0bs0);src:url(../fonts/seopress.eot?8v0bs0#iefix) format('embedded-opentype'),url(../fonts/seopress.ttf?8v0bs0) format('truetype'),url(../fonts/seopress.woff?8v0bs0) format('woff'),url(../fonts/seopress.svg?8v0bs0#seopress) format('svg');font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important}.icon-seopress-seopress:before{content:"\e800";font:normal 14px/1 seopress;line-height:1.5rem}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level .wrap-seopress-noindex{background:red;color:#fff;padding:0 8px;float:right;margin-left:6px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level>a{display:inline-block}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level .wrap-seopress-noindex .ab-icon::before{color:#eee;vertical-align:middle}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots{display:block;background:#23292d}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots a{height:inherit;padding-bottom:5px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-seo{font-weight:700;border-bottom:1px solid currentColor;width:100%;display:block;margin-bottom:5px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex{display:block}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .ab-icon,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .ab-icon{float:none;vertical-align:middle}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .on::before,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .on::before{color:red}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .off::before,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .off::before{color:#46b450}
assets/css/seopress.css CHANGED
@@ -1111,28 +1111,28 @@ table.wp-list-table .manage_column.column-seopress_insights {
1111
  width: 95%;
1112
  }
1113
 
1114
- table.fixed thead .column-seopress_title,
1115
- table.fixed thead .column-seopress_desc {
1116
  width: 8%;
1117
  }
1118
 
1119
- table.fixed thead .column-seopress_redirect_enable,
1120
- table.fixed thead .column-seopress_redirect_url,
1121
- table.fixed thead .column-seopress_canonical,
1122
- table.fixed thead .column-seopress_tkw,
1123
- .fixed .column-seopress_w3c,
1124
- .fixed .column-seopress_words,
1125
- .fixed .column-seopress_ps {
1126
  width: 6%;
1127
  }
1128
 
1129
- .fixed .column-seopress_score {
1130
  width: 50px;
1131
  }
1132
 
1133
  table.fixed thead .column-seopress_nofollow,
1134
  table.fixed thead .column-seopress_noindex {
1135
- width: 5%;
1136
  }
1137
 
1138
  @media only screen and (max-width: 1200px) {
@@ -1155,9 +1155,7 @@ table.fixed thead .column-seopress_noindex {
1155
  table.fixed thead .column-seopress_score,
1156
  table.fixed thead .column-seopress_w3c,
1157
  table.fixed thead .column-seopress_words,
1158
- table.fixed thead .column-seopress_ps
1159
- {
1160
- width: 10%;
1161
  white-space: nowrap;
1162
  overflow: hidden;
1163
  text-overflow: ellipsis;
1111
  width: 95%;
1112
  }
1113
 
1114
+ .post-type-product table.fixed thead .column-seopress_title,
1115
+ .post-type-product table.fixed thead .column-seopress_desc {
1116
  width: 8%;
1117
  }
1118
 
1119
+ .post-type-product table.fixed thead .column-seopress_redirect_enable,
1120
+ .post-type-product table.fixed thead .column-seopress_redirect_url,
1121
+ .post-type-product table.fixed thead .column-seopress_canonical,
1122
+ .post-type-product table.fixed thead .column-seopress_tkw,
1123
+ .post-type-product .fixed .column-seopress_w3c,
1124
+ .post-type-product .fixed .column-seopress_words,
1125
+ .post-type-product .fixed .column-seopress_ps {
1126
  width: 6%;
1127
  }
1128
 
1129
+ .post-type-product .fixed .column-seopress_score {
1130
  width: 50px;
1131
  }
1132
 
1133
  table.fixed thead .column-seopress_nofollow,
1134
  table.fixed thead .column-seopress_noindex {
1135
+ width: 100px;
1136
  }
1137
 
1138
  @media only screen and (max-width: 1200px) {
1155
  table.fixed thead .column-seopress_score,
1156
  table.fixed thead .column-seopress_w3c,
1157
  table.fixed thead .column-seopress_words,
1158
+ table.fixed thead .column-seopress_ps {
 
 
1159
  white-space: nowrap;
1160
  overflow: hidden;
1161
  text-overflow: ellipsis;
assets/css/seopress.min.css CHANGED
@@ -1 +1 @@
1
- @keyframes sp-fade-in-out{0%{opacity:0;bottom:0;visibility:hidden}25%{opacity:1;bottom:40px;visibility:visible}75%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}#adminmenu div.wp-menu-image.dashicons-admin-seopress::before,#seopress-header #seopress-admin h1::before{content:"\e800";font-family:seopress!important;font-weight:700;font-size:12px;line-height:20px}#seopress-header #seopress-admin h1::before,.seopress-page-list .seopress-feature h3,.seopress-styles .seopress-option h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?81521271);src:url(../fonts/seopress.eot?81521271#iefix) format("embedded-opentype"),url(../fonts/seopress.woff?81521271) format("woff2"),url(../fonts/seopress.woff?81521271) format("woff"),url(../fonts/seopress.ttf?81521271) format("truetype"),url(../fonts/seopress.svg?81521271#seopress) format("svg");font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important;font-size:14px!important;line-height:24px!important}#tab_seopress_titles_archives .form-table th:empty,#tab_seopress_titles_single .form-table th:empty,#tab_seopress_titles_tax .form-table th:empty{display:none}.icon-seopress-seopress:before{content:"\e800"}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level .wrap-seopress-noindex{background:red;color:#fff;padding:0 8px;float:right;margin-left:6px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level>a{display:inline-block}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level .wrap-seopress-noindex .ab-icon::before{color:#eee;vertical-align:middle}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots{display:block;background:#23292d}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots a{height:inherit;padding-bottom:5px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-seo{font-weight:700;border-bottom:1px solid currentColor;width:100%;display:block;margin-bottom:5px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex{display:block}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .ab-icon,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .ab-icon{float:none;vertical-align:middle}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .on::before,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .on::before{color:red}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .off::before,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .off::before{color:#46b450}.sp-tooltip{position:relative;margin-left:5px;display:inline-block;cursor:help;vertical-align:bottom;text-align:left;background:0 0;border:none;padding:0}.sp-tooltip .dashicons{color:#666}.sp-tooltip .sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;width:300px;right:-303px;padding:20px;top:25px;font-weight:400;box-shadow:0 3px 30px rgba(25,30,35,.1);border:1px solid #e2e4e7;background:#fff;word-break:break-word;text-transform:none}.sp-tooltip .sp-tooltiptext::before{border:8px solid #e2e4e7;top:-8px}.sp-tooltip .sp-tooltiptext::after{border:8px solid #fff;top:-6px}.sp-tooltip .sp-tooltiptext::after,.sp-tooltip .sp-tooltiptext::before{border-bottom-style:solid;border-left-color:transparent;border-right-color:transparent;border-top:none;margin-left:-10px;content:"";position:absolute;height:0;width:0;line-height:0;left:30px}.sp-tooltip:active .sp-tooltiptext,.sp-tooltip:focus .sp-tooltiptext,.sp-tooltip:hover .sp-tooltiptext{visibility:visible}.sp-tooltip .sp-tooltip-headings{font-size:18px;font-weight:600;margin-bottom:20px;display:block}.sp-tooltip .sp-tooltip-desc{margin-bottom:20px;display:block;border-bottom:1px solid #e2e4e7;padding-bottom:20px;font-size:13px}.sp-tooltip .sp-tooltip-code{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;display:block;word-break:break-all;color:#1a7a06;font-size:11px}.analysis-score .sp-tooltip{vertical-align:middle;font-size:.75em}#seopress_content_analysis a{color:#0073aa}#seopress_content_analysis a.nounderline,#seopress_content_analysis a.nounderline:hover{text-decoration:none}#seopress_content_analysis .wrap-seopress-analysis{display:inline-block;width:100%}#seopress_content_analysis .col-left{width:calc(50% - 30px);float:left;margin-right:30px}#seopress_content_analysis .col-right{float:right;width:50%}#seopress_content_analysis #seopress_suggestions{display:inline-block;width:100%;margin:0;height:auto;padding:20px 0}#seopress_content_analysis #seopress_suggestions li{list-style:none;margin:5px;display:inline-block}#seopress_content_analysis .analysis-score{clear:both;border-top:1px solid #e2e4e7;display:flex;justify-content:space-between;align-items:center}.column-seopress_score .analysis-score{display:flex;align-content:center}#seopress_content_analysis .analysis-score p,.column-seopress_score .analysis-score p{font-weight:700;font-size:1.2em}#seopress_content_analysis .analysis-score svg,.column-seopress_score .analysis-score svg{display:inline-block;height:30px;width:30px;margin:0;border-radius:100%;position:relative;font-weight:600;shape-rendering:geometricprecision;font-size:.5rem;vertical-align:middle;margin-right:15px}.column-seopress_score .analysis-score p,.column-seopress_score .analysis-score svg{margin:0}@keyframes loadingPulse{0%{stroke:#adc5d2}50%{stroke:#00a0d2}100%{stroke:#adc5d2}}#seopress_content_analysis .analysis-score .loading #bar{stroke-dashoffset:0!important;stroke:#adc5d2!important;animation:loadingPulse 3s infinite ease-in-out}#seopress_content_analysis .analysis-score .good #bar,.column-seopress_score .analysis-score #bar.good{stroke:#46b450}#seopress_content_analysis .analysis-score .notgood #bar,.column-seopress_score .analysis-score #bar.notgood{stroke-dashoffset:565;stroke:#ffb900}#seopress_content_analysis .analysis-score svg circle,.column-seopress_score .analysis-score svg circle{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;stroke:#ccc;stroke-width:2em}#seopress_content_analysis .gr-analysis{clear:both}#seopress_content_analysis .gr-analysis-title{border-top:1px solid #e2e4e7;position:relative}#seopress_content_analysis .gr-analysis-title .impact,#seopress_cpt .impact{position:absolute;left:10px;top:calc(50% - 5px);width:10px;height:10px;border-radius:50px;padding:0;margin:0;border:1px solid #fff}#seopress_content_analysis .gr-analysis .impact.good{background:#46b450;box-shadow:0 0 5px #46b450}#seopress_content_analysis .gr-analysis .impact.low{background:#ffde24;box-shadow:0 0 5px #ffde24}#seopress_content_analysis .gr-analysis .impact.medium{background:#e39f48;box-shadow:0 0 5px #e39f48}#seopress_content_analysis .gr-analysis .impact.high,#seopress_cpt .impact.high{background:#e25950;box-shadow:0 0 5px #e25950}#seopress_content_analysis .gr-analysis-content .impact.high{background:#e25950;box-shadow:none;color:#fff;padding:2px 4px;margin-left:5px;border-radius:4px;font-weight:700}#seopress_cpt .impact.high{position:relative;top:calc(50% - 18px);display:inline-block;left:inherit;right:-10px}#seopress_content_analysis .description,#seopress_cpt .description,.seopress-tab .description{display:block;font-style:italic}#seopress_content_analysis .gr-analysis-title button{background:#fff;border:0;cursor:pointer;display:block;margin:0;position:relative;text-align:left;width:100%;padding:15px 30px;align-items:center;transition:all .3s linear}#seopress_content_analysis .gr-analysis-title button:hover{background:#f3f4f5}#seopress_content_analysis .gr-analysis-title button:focus{color:#191e23;border:none;box-shadow:none;outline-offset:-2px;outline:1px dotted #555d66}#seopress_content_analysis .gr-analysis-title button .sp-arrow::after{content:"\f343";font-family:Dashicons;position:absolute;right:10px;top:calc(50% - 7px)}#seopress_content_analysis .gr-analysis-title button.open .sp-arrow::after{content:"\f347"}#seopress_content_analysis .gr-analysis-content{padding:0 1rem .5rem 1rem;display:none;width:100%;border-top:1px solid #e2e4e7;box-sizing:border-box}table.wp-list-table .manage_column.column-seopress_canonical,table.wp-list-table .manage_column.column-seopress_desc,table.wp-list-table .manage_column.column-seopress_insights,table.wp-list-table .manage_column.column-seopress_noindex,table.wp-list-table .manage_column.column-seopress_redirect_enable,table.wp-list-table .manage_column.column-seopress_redirect_url,table.wp-list-table .manage_column.column-seopress_title,table.wp-list-table .manage_column.column-seopress_tkw{width:7%!important}#seopress_content_analysis h3{margin:0;font-size:1em}#seopress_content_analysis h4{border-bottom:1px solid #e2e4e7;padding-bottom:.5rem;text-transform:uppercase;font-size:.85em;position:-webkit-sticky;position:sticky;top:0;background:#fff}#seopress_content_analysis .wrap-analysis-img ul{display:flex;flex-wrap:wrap}#seopress_content_analysis .wrap-analysis-img ul li{padding:0;text-align:left;cursor:default}#seopress_content_analysis .wrap-analysis-img h4{border-bottom:1px solid #ddd;padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul li img{max-width:150px;max-height:150px;object-fit:cover;border:1px solid #f3f4f5;cursor:default;padding:1px}#seopress_cpt .notice{padding:10px 14px}#seopress-analysis-tabs .dashicons,#seopress_cpt .dashicons{vertical-align:middle}#seopress-analysis-tabs{clear:both}#seopress_cpt .inside{margin:0;padding:0}#seopress_cpt .ui-tabs .ui-tabs-nav{display:inline-block;min-height:26px;position:relative;width:100%;z-index:10;margin:0;border-radius:0;padding:0;background:#f3f4f5;border:none}#seopress_cpt .ui-tabs .sp-section{font-weight:700;font-size:13px}#seopress_cpt .ui-helper-clearfix:after{content:none}.seopress_page_seopress-titles #seopress-tabs .form-table td,.seopress_page_seopress-titles #seopress_content_analysis .form-table td{padding:0}#seopress_cpt .ui-tabs .ui-tabs-panel{background:#fff;border-radius:0;display:inline-block;padding:1em 1.4em;width:100%;box-sizing:border-box}#seopress_content_analysis .dashicons-info,#seopress_cpt .ui-tabs .ui-tabs-panel .dashicons-info,#seopress_pro_cpt .dashicons-info{font-size:16px;vertical-align:middle;height:16px;width:16px}#seopress_cpt .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs-anchor{cursor:pointer!important}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{position:relative;z-index:60;cursor:pointer;border-radius:0;border-bottom:3px solid #0085ba}#seopress_content_analysis label,#seopress_cpt #tabs-1 label,#seopress_cpt #tabs-2 label[for=seopress_robots_breadcrumbs_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_canonical_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_primary_cat_meta],#seopress_cpt #tabs-3 label,#seopress_cpt #tabs-4 label,#seopress_cpt #tabs-5 label,#seopress_cpt #tabs-6 label,#seopress_cpt .subsection-title{display:block;margin:20px 0 5px;font-weight:700}#seopress_cpt .wp-color-result{margin:0}#seopress_content_analysis input[type=text],#seopress_cpt #tabs-1 input,#seopress_cpt #tabs-2 input[type=text],#seopress_cpt #tabs-3 input[type=text],#seopress_cpt #tabs-3 textarea,#seopress_cpt #tabs-4 input[type=text],#seopress_cpt #tabs-5 input[type=text],#seopress_cpt #tabs-6 input[type=text],#seopress_cpt #tabs-6 textarea{width:100%;display:inline-block}#seopress_cpt #tabs-1 input{width:100%}#seopress_cpt #tabs-6 input[type=number]{width:30%;min-width:200px}#seopress_cpt #tabs-6 #wrap-videos .video:first-child .remove-video{display:none}#seopress_cpt select{width:300px}#seopress_cpt #tabs-4 select{width:250px;display:inline}#seopress_cpt #tabs-4 #seopress_redirections_value_meta{width:calc(100% - 258px);float:right}#seopress_cpt #tabs-6{padding:0}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content,#seopress_cpt #tabs-6>p{padding:0 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content{padding:0 1.4em 1em}#seopress_cpt #tabs-6 #wrap-videos .video{border-top:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-title{border-left:none;border-right:none;font-size:1em;padding:1em 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-content,#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-title{border-bottom:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .inside{padding:0}#seopress_cpt #tabs-4 #seopress_redirections_enabled,#seopress_cpt #tabs-5 #seopress_news_disabled,#seopress_cpt #tabs-5 #seopress_news_standout,#seopress_cpt #tabs-6 #seopress_video_disabled,#seopress_cpt #tabs-6 .family-friendly label,#seopress_cpt #tabs-6 .internal_video label{font-weight:400}#seopress_cpt #tabs-6 #wrap-videos .video:nth-child(odd){background:#fdfdfd}#seopress_content_analysis .advise,#seopress_cpt .advise,#seopress_pro_cpt .advise,.seopress-option .advise{margin:5px;display:block;color:red;font-style:italic}#seopress_cpt #tabs-6 #wrap-videos .video .advise{color:#555}#seopress_content_analysis .mandatory,#seopress_cpt .mandatory{color:#c00}#seopress_cpt .box-left{float:left;width:49%;margin-right:1%}#seopress_cpt .box-right{float:left;width:49%;margin-left:1%}#seopress_cpt #tabs-3 .box-left{width:44%}#seopress_cpt #tabs-3 .box-right{width:54%}@media only screen and (max-width:1200px){#seopress_cpt .box-left,#seopress_cpt .box-right{float:none;width:100%;margin:0}}@media only screen and (max-width:1500px){#seopress_cpt #tabs-3 .box-left,#seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}}#edittag #seopress_cpt #tabs-3 .box-left,#edittag #seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}#seopress-tabs .seopress_media_upload,#seopress_pro_cpt .seopress_media_upload{margin-top:.5rem}#seopress_cpt .google-snippet-preview{font-family:arial,sans-serif;word-break:break-all}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet{margin:0 0 10px 0;box-shadow:0 1px 6px rgba(32,33,36,.28);border-radius:8px;padding:12px 16px}#seopress_cpt .google-snippet-preview>p{word-break:normal}#seopress_cpt .google-snippet-preview .snippet-title,#seopress_cpt .google-snippet-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview .snippet-title-default{color:#1a0dab;font-size:18px;font-weight:400;line-height:21.6px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-default{font-size:16px;line-height:20px;margin-bottom:12px}#seopress_cpt .google-snippet-preview .snippet-permalink{color:#006621;font-size:14px;font-style:normal;font-weight:400;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#seopress_cpt .google-snippet-preview .wrap-snippet .wrap-m-icon-permalink,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-permalink{display:none}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:12px;display:flex}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink .snippet-permalink{display:block;color:#3c4043;font-size:12px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon{margin-right:12px;vertical-align:middle}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon img{width:16px;height:16px;max-width:inherit}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet .snippet-permalink:first-child{color:#3c4043;white-space:nowrap;font-size:12px;display:block}#seopress_cpt .google-snippet-preview .snippet-description,#seopress_cpt .google-snippet-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview .snippet-description-default{color:#545454;font-size:14px;font-weight:400;line-height:18.2px;display:inline}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-default{color:#3c4043;font-size:14px;line-height:20px}#seopress_cpt .google-snippet-preview .snippet-date{color:grey;display:inline}#seopress_cpt .facebook-snippet-box{color:#4b4f56;font-size:14px;width:524px}#seopress_cpt .facebook-snippet-box .notice,#seopress_cpt .twitter-snippet-box .notice{padding:10px 14px;margin:0 0 10px 0;box-sizing:border-box;width:100%}#seopress_cpt .facebook-snippet-box .notice span,#seopress_cpt .twitter-snippet-box .notice span{font-weight:700}#seopress_cpt .snippet-meta{display:flex;overflow:hidden;max-height:12px}#seopress_cpt .fb-by,#seopress_cpt .snippet-fb-site-name,#seopress_cpt .snippet-fb-url{color:#606770;font-size:12px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .fb-sep{padding-left:5px;padding-right:5px;color:#606770;line-height:11px;font-size:12px}#seopress_cpt .facebook-snippet-box .facebook-snippet-text{border:1px solid #dadde1;background-color:#f2f3f5;padding:10px 12px}#seopress_cpt .facebook-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .facebook-snippet-box .snippet-fb-title,#seopress_cpt .facebook-snippet-box .snippet-fb-title-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-title-default{font-size:16px;line-height:20px;margin:3px 0 0;padding-top:2px;color:#1d2129;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word;max-height:22px}#seopress_cpt .facebook-snippet-box .snippet-fb-description,#seopress_cpt .facebook-snippet-box .snippet-fb-description-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-description-default{color:#606770;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .facebook-snippet-box img{display:block;height:274px;width:524px;object-fit:cover;background-color:#edeff0;text-align:center;border-bottom:none}#seopress_cpt .twitter-snippet-box{color:#4b4f56;font-size:14px;width:436px}#seopress_cpt .snippet-twitter-url{color:#8899a6;font-size:14px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .twitter-snippet-box .twitter-snippet-text{border:1px solid #dadde1;background-color:#fff;padding:10px 12px;border-radius:0 0 10px 10px}#seopress_cpt .twitter-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .twitter-snippet-box .snippet-twitter-img,#seopress_cpt .twitter-snippet-box .snippet-twitter-img-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-img-default{border-radius:10px 10px 0 0;overflow:hidden}#seopress_cpt .twitter-snippet-box .snippet-twitter-title,#seopress_cpt .twitter-snippet-box .snippet-twitter-title-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-title-default{font-size:1em;line-height:20px;margin-bottom:5px;max-height:1.3em;color:#000;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word}#seopress_cpt .twitter-snippet-box .snippet-twitter-description,#seopress_cpt .twitter-snippet-box .snippet-twitter-description-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-description-default{color:#000;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .twitter-snippet-box img{display:block;height:200px;width:436px;object-fit:cover;background-color:#edeff0;text-align:center;border-bottom:none}#seopress_cpt .wrap-seopress-counters,#seopress_pro_cpt .wrap-seopress-counters,.seopress-setup .wrap-seopress-counters,.seopress-styles .wrap-seopress-counters{text-align:right;background:#e9ecef;padding:2px 5px;display:flex;font-size:12px;justify-content:flex-end;border-radius:0 0 .25rem .25rem}#seopress_cpt .sp-progress,#seopress_pro_cpt .sp-progress,.seopress-setup .sp-progress,.seopress-styles .sp-progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem .25rem 0 0}#seopress_cpt .sp-progress-bar,#seopress_pro_cpt .sp-progress-bar,.seopress-setup .sp-progress-bar,.seopress-styles .sp-progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#0085ba;transition:width .6s ease}#seopress_cpt #seopress_titles_desc_counters,#seopress_cpt #seopress_titles_title_counters,#seopress_pro_cpt #seopress_rich_snippets_articles_counters,#seopress_pro_cpt #seopress_rich_snippets_courses_counters{display:inline;margin-right:5px}#seopress_cpt #seopress_titles_desc_counters_val,#seopress_cpt #seopress_titles_title_counters_val,#seopress_pro_cpt #seopress_rich_snippets_articles_counters_val,#seopress_pro_cpt #seopress_rich_snippets_courses_counters_val{display:inline;font-weight:700}#term-seopress #seopress_cpt{width:95%}table.fixed thead .column-seopress_desc,table.fixed thead .column-seopress_title{width:8%}.fixed .column-seopress_ps,.fixed .column-seopress_w3c,.fixed .column-seopress_words,table.fixed thead .column-seopress_canonical,table.fixed thead .column-seopress_redirect_enable,table.fixed thead .column-seopress_redirect_url,table.fixed thead .column-seopress_tkw{width:6%}.fixed .column-seopress_score{width:50px}table.fixed thead .column-seopress_nofollow,table.fixed thead .column-seopress_noindex{width:5%}@media only screen and (max-width:1200px){table.fixed .column-seopress_canonical>div,table.fixed .column-seopress_desc>div,table.fixed .column-seopress_redirect_enable>div,table.fixed .column-seopress_redirect_url>div,table.fixed .column-seopress_title>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}table.fixed thead .column-seopress_canonical,table.fixed thead .column-seopress_nofollow,table.fixed thead .column-seopress_noindex,table.fixed thead .column-seopress_ps,table.fixed thead .column-seopress_redirect_enable,table.fixed thead .column-seopress_redirect_url,table.fixed thead .column-seopress_score,table.fixed thead .column-seopress_tkw,table.fixed thead .column-seopress_w3c,table.fixed thead .column-seopress_words{width:10%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}#seopress_cpt .ui-tabs{position:relative;padding:0;border:none;font-family:inherit;font-size:inherit;display:inline-block;width:100%}#seopress_cpt .ui-tabs .ui-tabs-nav li{list-style:none;display:inline-block;position:relative;top:2px;padding:0 5px;white-space:nowrap;margin:0;border:none;background:0 0}#seopress_cpt .ui-tabs .ui-tabs-nav li a{display:inline-block;padding:5px 10px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li a,#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a{display:block}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:2px;padding-bottom:1px}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a{color:#191e23;font-weight:700}#seopress_cpt .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#191e23;text-decoration:none;height:40px;line-height:40px}#seopress_cpt .ui-tabs-vertical{width:55em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress_cpt .ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress_cpt .ui-tabs .ui-tabs-nav li a .dashicons{margin-right:2px}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_content_analysis .dashicons-yes,#seopress_pro_cpt .dashicons-no-alt,#seopress_pro_cpt .dashicons-yes{color:#fff;background:#12bd10;border-radius:50px;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_pro_cpt .dashicons-no-alt{background:#e25950}body.seopress-styles{background:#f8fafd}#seopress-admin-tabs.ui-tabs{position:relative;padding:.2em;border:none;font-family:inherit;font-size:inherit}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:-1px .2em 0 0;padding:0;white-space:nowrap;border:none;background:0 0}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a{float:left;padding:.38em 1em .75rem;outline:0;border-bottom:2px solid #fff}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text;border-bottom:2px solid #23282d;color:#23282d}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a,#seopress-admin-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#0073aa;text-decoration:none}#seopress-admin-tabs.ui-tabs-vertical{width:55em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}.seopress-styles .seopress-option{margin:10px auto 0;max-width:90%;padding:1rem;background:#fff;box-shadow:0 15px 35px rgba(50,50,93,.1),0 5px 15px rgba(0,0,0,.1);border-radius:4px}.seopress-styles .seopress-option h1{font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase;z-index:100;border-bottom:1px solid RGB(238,238,238);padding-bottom:20px}.seopress-styles .seopress-option h1 .dashicons,.seopress-styles .seopress-option h2 .dashicons{margin:0 10px;font-size:40px;width:40px;height:40px;vertical-align:middle}.seopress-styles .seopress-option .link-archive{font-size:14px}.seopress-styles .seopress-option .link-archive .dashicons{font-size:18px;width:20px;height:20px;margin:inherit}.seopress-styles .seopress-option h1>.dashicons{font-size:30px;width:30px;height:30px;background:#c4f0ff;border-radius:6px;padding:10px;margin-left:10px;color:#0085ba}.seopress-styles .seopress-option .metabox-holder h2 .dashicons{font-size:16px}.seopress-option h1 .feature-state .dashicons{font-size:16px;width:16px;height:16px;vertical-align:middle;margin:0 10px 0 0}#seopress-admin-tabs.wrap{display:block;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12);width:64rem;max-width:100%;margin:0 auto}@media only screen and (max-width:1024px){#seopress-admin-tabs.wrap{width:100%}}.seopress-styles .seopress-option .submit{background:#fff;text-align:center;border-top:1px solid #f1f1f1;padding-top:20px;padding-bottom:20px;margin:0}.seopress-styles .seopress-option #seopress-aio-migrate,.seopress-styles .seopress-option #seopress-rk-migrate,.seopress-styles .seopress-option #seopress-seo-framework-migrate,.seopress-styles .seopress-option #seopress-squirrly-migrate,.seopress-styles .seopress-option #seopress-yoast-migrate,.seopress-styles .seopress-option #submit{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);margin-right:15px;background:RGB(106,124,148);position:relative;height:auto;z-index:10}.seopress-styles .seopress-option #seopress-aio-migrate:hover,.seopress-styles .seopress-option #seopress-rk-migrate:hover,.seopress-styles .seopress-option #seopress-seo-framework-migrate:hover,.seopress-styles .seopress-option #seopress-squirrly-migrate:hover,.seopress-styles .seopress-option #seopress-yoast-migrate:hover,.seopress-styles .seopress-option #submit:hover{text-decoration:none;color:#fff;background:#232323}.seopress-styles #wpcontent{padding-left:0}.seopress-styles pre{color:#42b72a;background:#f5f6f7;font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;padding:7px}.seopress-styles #seopress-navbar{padding:10px .5rem;height:60px;margin:0 auto;width:64rem;box-sizing:border-box;position:relative;max-width:100%}#seopress-header{margin:0 auto;position:relative;width:90%;padding:1rem}#seopress-header #seopress-admin h1{line-height:40px;margin:0;display:inline-block;height:40px;width:40px;background-size:100%;background-repeat:no-repeat}#seopress-header #seopress-admin h1::before{font-size:14px;line-height:40px;position:absolute;border-radius:6px;font-weight:400;color:#fff;width:40px;height:40px;text-align:center;background:#3a4afb;background:-moz-linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%);background:-webkit-linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%);background:linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%)}#seopress-header #seopress-admin h1:hover{cursor:pointer}#seopress-header #seopress-admin h1>a{text-decoration:none;color:inherit}#seopress-header #seopress-admin .seopress-quick-access{background:#fff;box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.2),0 5px 15px rgba(0,0,0,.1);border-radius:4px;overflow:hidden;position:absolute;font-size:17px;line-height:40px;white-space:nowrap;transform:rotate3d(1,1,0,-15deg);transform-origin:100% 0;opacity:0;will-change:transform,opacity;transition-property:transform,opacity;transition-duration:.25s;z-index:300;padding:0;display:inline-block;width:100%;top:52px;visibility:hidden;cursor:auto;left:-.5rem}#seopress-header #seopress-admin h1:hover .seopress-quick-access{transform:none;opacity:1;pointer-events:auto;visibility:visible}#seopress-header #seopress-admin .seopress-quick-access>ul{margin:0;box-sizing:border-box;display:grid;grid-gap:0 10px;grid-template-columns:repeat(2,1fr);padding:20px}@media only screen and (max-width:1024px){#seopress-header #seopress-admin .seopress-quick-access>ul{grid-template-columns:repeat(1,1fr)}}#seopress-header #seopress-admin h1 .seopress-quick-access li{line-height:40px;margin:0;display:inline-block;height:40px;background-size:100%;background-repeat:no-repeat}#seopress-header #seopress-admin h1 .seopress-quick-access li .dashicons{vertical-align:middle;background:#b7e1f3;border-radius:50%;padding:5px;margin-right:15px}#seopress-header #seopress-admin h1 .seopress-quick-access li a{text-decoration:none;font-size:15px;line-height:30px;text-transform:uppercase;display:block;width:100%;transition:all .3s linear;color:#3297d3}#seopress-header #seopress-admin h1 .seopress-quick-access li a:hover{color:#647a88}#seopress-header #seopress-admin h1 .seopress-info-version{position:relative;left:50px;top:0;font-size:14px;width:100px;display:block}#seopress-header #seopress-admin .wpc-info-version{font-size:14px;left:310px;position:absolute;text-indent:0;top:85px}#seopress-header #seopress-notice{float:right;line-height:40px}#seopress-header #seopress-notice p{font-size:16px}#seopress-header #seopress-notice .dashicons{color:#6f8096;text-decoration:none;line-height:40px}#seopress-header #seopress-notice div.small{font-size:13px;display:inline}#seopress-footer-credits{font-style:italic}#seopress-footer-credits .wporg-ratings{display:inline}#seopress-footer-credits .wporg-ratings a{text-decoration:none}.seopress-option .seopress-settings{float:left;max-width:750px;width:100%}.seopress-option #seopress-edd-license-btn,.seopress-option #seopress-refresh{float:left}.wp-admin-ui_page_seopress-import-export .postbox{margin-right:20px}.seopress-option #side-sortables .accordion-section-content{padding:0}.seopress-option .seopress-settings label{margin:0 0 0 10px}.wrap-seopress-tab-content{position:relative;display:block;width:100%;max-width:64rem;margin:0 auto;box-sizing:border-box}#seopress-admin-tabs .seopress-tab{padding:1.5rem;visibility:hidden;overflow:hidden;opacity:0;transition:all .2s ease;transform:translateX(-15px);position:absolute;top:0;box-sizing:border-box}#seopress-admin-tabs .seopress-tab.active{visibility:visible;overflow:inherit;opacity:1;transform:translateX(0);display:inherit;position:relative}#seopress-tabs .seopress-tab{padding:0 1.5rem;width:calc(100% - 230px);display:none}@media only screen and (max-width:1024px){#seopress-tabs .seopress-tab{width:100%}}#seopress-tabs .seopress-tab.active{display:inline-block;border-left:1px solid RGB(238,238,238)}@media only screen and (max-width:782px){#seopress-tabs .seopress-tab.active{width:100%;padding:0;border-left:none;border-top:1px solid RGB(238,238,238)}}.seopress-option input[type=password],.seopress-option input[type=text],.seopress-option textarea{min-width:485px}@media only screen and (max-width:1024px){.seopress-option input[type=password],.seopress-option input[type=text],.seopress-option textarea{min-width:inherit;width:100%}}#seopress_htaccess_file{width:100%}.seopress-option textarea{min-height:100px}.seopress-option #side-sortables .highlight{border:1px dashed #ccc;display:block;width:382px;height:40px;background:0 0}.seopress-option #side-sortables .accordion-section{margin-bottom:9px;width:382px}.seopress-option #side-sortables .accordion-section h3{cursor:move;border:1px solid #e5e5e5;background:#fafafa}.seopress-option #side-sortables .accordion-section .inside{padding:10px 10px 24px;border-width:0 1px 1px;border-style:solid;box-shadow:0 1px 1px rgba(0,0,0,.04);border-color:#e5e5e5;display:inline-block;width:calc(100% - 22px);height:100%}.seopress-option #side-sortables .accordion-section .inside ul{padding-left:10px;margin-bottom:0;padding-top:2px;padding-bottom:2px}.seopress-option #side-sortables .accordion-section .inside ul li{border-left:2px solid #ccc;padding-left:10px;margin-bottom:10px}.seopress-option #side-sortables .accordion-section .inside ul li:first-child{border-bottom:1px dotted #e5e5e5;border-left:0;padding-bottom:10px;font-weight:700;margin-left:-15px;margin-bottom:10px}.seopress-notice #message{margin:5px 10px 2px 0}#seopress-notice a{position:relative;text-decoration:none;margin:0 0 0 .3rem}#seopress-notice a .tooltip{white-space:pre;z-index:200;padding:2px 5px;font-weight:500;font-size:12px;color:#aab7c4;background:#fff;box-shadow:0 1px 2px 0 rgba(49,49,93,.1),0 0 1px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;opacity:0;top:30px;transition:opacity .2s ease;visibility:hidden;line-height:20px;left:-100%;overflow:hidden}#seopress-notice a:hover .tooltip{opacity:1;visibility:visible}.seopress-page-list{margin:1.5rem auto}.seopress-option .dashicons,.seopress-page-list .dashicons{vertical-align:middle;margin-right:5px;color:#6f8096}#seopress-admin-tabs .ui-tabs-nav,#seopress-notifications-center,.seopress-get-started,.seopress-page-list .seopress-feature,.seopress-useful-tools{margin:0 auto 20px;max-width:64rem;padding:2rem;width:100%;border-radius:0 0 4px 4px;box-sizing:border-box}.seopress-get-started{margin-top:20px;background:#fff url(img/bg-hero-support.svg) no-repeat 95% 50%/contain;position:relative;box-sizing:border-box;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12)}.seopress-get-started .inside{max-width:calc(100% - 380px)}@media only screen and (max-width:782px){.seopress-get-started{background:#fff}.seopress-get-started .inside{max-width:100%}}.seopress-get-started .preheader{text-transform:uppercase;font-size:.8rem;font-weight:600}.seopress-get-started h2{font-size:1.85em;margin:15px 0 0 0;font-weight:400}.seopress-get-started p{margin-bottom:20px}.seopress-get-started a .dashicons{vertical-align:middle;text-decoration:none;color:#6a7c94}.seopress-get-started a.button-primary .dashicons{color:#fff}.seopress-get-started a.btn-link .dashicons{margin-right:5px}.seopress-get-started a.btn-link{margin:0 0 0 10px}#seopress-notifications-center,.seopress-useful-tools{background:#fff;padding:0}.seopress-page-list .seopress-feature{padding:0;position:relative;overflow:hidden;transition-duration:.15s;display:flex;margin:0;background:#fff;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12);flex-wrap:wrap;border-radius:4px;width:100%;height:100%}.seopress-page-list .seopress-feature p{color:#6b7c93;font-size:14px;margin-bottom:30px}#seopress-notifications-center{margin-top:0}#seopress-admin-tabs .ui-tabs-nav{display:flex;padding-top:1rem;padding-bottom:0}.seopress-page-list .seopress-feature .img-tool{height:50px;width:50px;background:#c4f0ff;position:relative;border-radius:6px}.seopress-page-list .seopress-feature .img-tool .dashicons{color:#217ab7;font-size:30px;text-align:left;vertical-align:middle;width:100%;height:100%;position:absolute;top:calc(50% - 15px);left:calc(50% - 15px);margin:0}.seopress-page-list .seopress-feature .inner{margin:0;display:inline-block;padding:1.5rem;width:100%;height:100%;box-sizing:border-box}.seopress-page-list .seopress-feature h3{margin:1rem 0 0 0;font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase}.seopress-page-list .seopress-feature h3 .dashicons{font-size:16px;margin-left:5px;vertical-align:middle}#seopress-content .seopress-page-list .seopress-feature a,#seopress-notifications-center .seopress-alert .button-primary,.seopress-get-started .button-primary,.seopress-option .seopress-feature a,.seopress-useful-tools .widget .button-primary{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);background:#6a7c94;position:relative;height:auto;display:flex;flex-wrap:wrap}#seopress-content .seopress-page-list .seopress-feature a.button-secondary{padding-left:30px}#seopress-content .seopress-page-list .seopress-feature a.button-secondary::before,#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f111";font-family:Dashicons;position:absolute;left:10px;top:1px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:16px}#seopress-content .seopress-page-list .wrap-btn{display:inline-flex;margin-bottom:2rem;flex-direction:column}#seopress-content .seopress-page-list .seopress-feature a.view-redirects,#seopress-notifications-center .seopress-alert .button-primary,.seopress-get-started .button,.seopress-option .button{color:#6a7c94;background:#fff;font-weight:500;transition:all .3s linear;text-shadow:none;text-transform:uppercase;padding-right:20px;padding-left:20px;line-height:34px;min-height:34px;margin:10px 0;border-radius:4px;box-shadow:transparent 0 0 0 0,transparent 0 0 0 0,rgba(0,0,0,.12) 0 1px 1px 0,rgba(60,66,87,.16) 0 0 0 1px,transparent 0 0 0 0,transparent 0 0 0 0,rgba(60,66,87,.12) 0 2px 5px 0;vertical-align:baseline;display:inline-flex;align-items:center;border:none;margin-right:.5rem;cursor:pointer}.seopress-get-started .button{color:#fff;background:#6259e6;box-shadow:none}.seopress-option .wp-picker-container button{box-shadow:none;border:1px solid #0071a1;border-radius:3px;background:#f3f5f6;text-transform:none}.seopress-option .wp-picker-container input[type=text].wp-color-picker{min-width:inherit}.seopress-option .wp-picker-container .wp-picker-default{margin:0}.seopress-option .wp-picker-container .wp-picker-clear{box-shadow:none;text-transform:none;border-radius:0;background:0 0;margin:0}.seopress-option .wp-picker-container .wp-picker-clear:hover{background:0 0;text-decoration:currentColor;color:inherit}.seopress-option .button .dashicons{font-size:16px;align-items:center;display:flex}#seopress-content .seopress-page-list .seopress-feature a.view-redirects{padding-left:30px}#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f344";left:inherit;right:10px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects::before{content:"\f177"}#seopress-content .seopress-page-list .seopress-feature a:hover,#seopress-notifications-center .seopress-alert .button-primary:hover,.seopress-get-started .button-primary:hover,.seopress-option .button:hover,.seopress-option .seopress-feature a:hover,.seopress-useful-tools .widget .button-primary:hover{text-decoration:none;color:#fff;background:#232323}.seopress-get-started .button .dashicons{transition:all .3s linear}.seopress-get-started .button:hover .dashicons{color:#fff}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:focus,#seopress-content .seopress-page-list .seopress-feature a:focus,#seopress-content .seopress-page-list .seopress-feature a:focus.button-secondary,#seopress-content a:focus,#seopress-notifications-center .seopress-alert .button-primary:focus,.seopress-option #seopress-tabs .seopress-doc:focus,.seopress-option .seopress-feature a:focus,.seopress-styles .seopress-option #seopress-aio-migrate:focus,.seopress-styles .seopress-option #seopress-yoast-migrate:focus,.seopress-styles .seopress-option #submit:focus,.seopress-useful-tools .widget .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;background:#008ec2;border-color:#006799;color:#fff}#seopress-admin-tabs .nav-tab-wrapper a.nav-tab-active:focus{color:inherit}#seopress-notifications-center .seopress-alert .button-primary{margin:5px 0;padding-right:30px}#seopress-notifications-center h2,.seopress-useful-tools h2{margin:5px 0 15px 5px;display:inline-block;width:100%}#seopress-notifications-center .dashicons,.seopress-useful-tools .dashicons{margin-right:10px}#seopress-notifications-center .seopress-alert{padding:1.5rem 2rem 1.2rem 1rem;border-bottom:1px solid #e6ebf1;width:calc(100% - 3rem);flex:1 1 auto;position:relative;transition:all 150ms ease;align-items:center;display:flex;justify-content:space-between}#seopress-notifications-center .seopress-alert:last-child{margin-bottom:0;border-bottom:none}#seopress-notifications-center .seopress-alert:hover{cursor:default}#seopress-notifications-center .dashicons{display:flex;align-self:normal;width:48px;height:48px;color:#d7dade;font-size:48px;padding:0 1rem}#seopress-notifications-center .seopress-alert p{margin:0}#seopress-notifications-center .notice-left{flex:1}#seopress-notifications-center .notice-left>p:first-child{color:#1a1f36;font-weight:500}#seopress-notifications-center .notice-right{padding:1rem 0 0 0;display:flex}#seopress-notifications-center .seopress-alert.impact::after{content:"";width:10px;height:10px;border-radius:50px;position:absolute;right:1rem;top:1rem}#seopress-notifications-center .seopress-alert.impact.low::after{background:#ffde24}#seopress-notifications-center .seopress-alert.impact.medium::after{background:#e39f48}#seopress-notifications-center .seopress-alert.impact.high::after{background:#e25950}#seopress-notifications-center .seopress-alert.impact.info::after{background:#0085ba}#seopress-notifications-center .seopress-alert.dashicons{color:#6f8096}#seopress-notifications-center .dashicons.remove-notice,.seopress-get-started .remove-notice{position:absolute;right:0;color:#6b7c93;font-size:20px;height:30px;width:30px;vertical-align:middle;top:1.2rem;line-height:30px;padding:5px;transition:all .3s linear;margin:0;display:block}.seopress-get-started .remove-notice{top:10px;right:10px}#seopress-notifications-center .dashicons.remove-notice:hover,.seopress-get-started .remove-notice:hover{color:#1a1f36;cursor:pointer}#seopress-content .seopress-page-list .seopress-feature .seopress-doc,.seopress-option #seopress-tabs .seopress-doc{background:0 0;padding:0;text-decoration:none;color:inherit;box-shadow:none;position:absolute;right:.5rem;top:1rem}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:active,#seopress-content .seopress-page-list .seopress-feature .seopress-doc:focus,#seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover,.seopress-option #seopress-tabs .seopress-doc:active,.seopress-option #seopress-tabs .seopress-doc:focus,.seopress-option #seopress-tabs .seopress-doc:hover{color:#747474;background:0 0;box-shadow:none;border:none}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover .dashicons{color:#232323}.seopress-option .seopress-table{background:#fff;border:1px solid #ccc}.seopress-option .seopress-table th{padding:15px 10px;vertical-align:middle}.wp-admin-ui_page_seopress-roles .seopress-option .seopress-table th{min-width:200px}.seopress-option .seopress-table .seopress-settings-section{background:#f1f1f1}.seopress-option .seopress-table .seopress-table-head .seopress-feature{border-bottom:1px solid #ccc;font-weight:700;background:#f1f1f1}#seopress-content .feature-state,.seopress-option .feature-state{font-style:italic;font-size:10px;display:inline-block;background:rgba(0,140,135,.1);padding:2px 10px;border-radius:25px;color:#444;font-weight:400;text-transform:none;-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}@media only screen and (max-width:782px){#seopress-content .feature-state,.seopress-option .feature-state{display:none}}.seopress-option .seopress_wrap_single_cpt .feature-state,.seopress-option .seopress_wrap_tax .feature-state{padding:2px 12px;margin:0 0 .5rem .5rem}.seopress-option #tab_seopress_titles_archives h2,.seopress-option #tab_seopress_titles_single h2,.seopress-option #tab_seopress_titles_tax h2{margin:2em 0 1em 0;border-top:1px solid #eee;padding:1em 0 0 0}.seopress-option #tab_seopress_titles_archives h2:first-child,.seopress-option #tab_seopress_titles_single h2:first-child,.seopress-option #tab_seopress_titles_tax h2:first-child{border-top:none;margin:0 0 1em 0}#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-button,.seopress-option .tag-title{cursor:pointer;font-weight:500;border-radius:4px;transition:all .3s linear}#seopress-content .feature-state-on,#seopress-content .feature-state.feature-state-on,.seopress-option .feature-state-on,.seopress-option .feature-state.feature-state-on{display:inline-block}#seopress-content .feature-state-off,.seopress-option .feature-state-off{display:none}.seopress-option .postbox .inside li{list-style:square inside;padding-left:5px}#tab_seopress_page_speed .inside li{list-style:none;padding-left:0;word-break:break-word}.seopress-option .log{margin:0;text-transform:uppercase;display:inline-block;vertical-align:middle;padding:5px;color:rgba(19,191,17,1);font-style:italic}.seopress-option input[type=text].seopress-admin-menu-input{min-width:inherit;width:100%}.seopress_page_seopress-import-export .postbox{width:calc(100% - 20px)}#seopress_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{position:relative;display:inline-block;width:100%;margin-bottom:10px}#seopress-tabs .sp-wrap-tag-variables-list,#seopress_cpt .sp-wrap-tag-variables-list,#seopress_pro_cpt .sp-wrap-tag-variables-list{position:relative;float:left;display:none}#seopress-tabs .sp-tag-variables-list,#seopress_cpt .sp-tag-variables-list,#seopress_pro_cpt .sp-tag-variables-list{background:#fff;position:absolute;left:-42px;width:300px;border-radius:4px;z-index:100;top:20px;color:#6b7c93;box-shadow:0 0 0 .5px rgba(50,50,93,.17),0 2px 5px 0 rgba(50,50,93,.12),0 3px 9px 0 rgba(50,50,93,.08),0 1px 1.5px 0 rgba(0,0,0,.08),0 1px 2px 0 rgba(0,0,0,.08);height:300px;z-index:100;overflow:auto}#seopress_cpt #seopress_titles_title_meta{margin-bottom:.2rem}#seopress-tabs .sp-wrap-tag-variables-list.open,#seopress_cpt .sp-wrap-tag-variables-list.open,#seopress_pro_cpt .sp-wrap-tag-variables-list.open{display:block}#seopress-tabs .seopress-tag-single-all.tag-description .dashicons,#seopress-tabs .seopress-tag-single-all.tag-title .dashicons,#seopress_cpt .seopress-tag-single-all.seopress-tag-dropdown .dashicons,#seopress_cpt .seopress-tag-single-all.tag-title .dashicons,#seopress_pro_cpt .seopress-tag-single-all.tag-title .dashicons{margin:0;transition:all 150ms linear}#seopress-tabs .seopress-tag-single-all.open .dashicons,#seopress_cpt .seopress-tag-single-all.open .dashicons,#seopress_pro_cpt .seopress-tag-single-all.open .dashicons{transform:rotateX(180deg)}#seopress-tabs .sp-tag-variables-list li,#seopress_cpt .sp-tag-variables-list li,#seopress_pro_cpt .sp-tag-variables-list li{padding:8px 12px;cursor:pointer;margin:0;border-bottom:1px solid #f0f0f0}#seopress-tabs .sp-tag-variables-list li span,#seopress_cpt .sp-tag-variables-list li span,#seopress_pro_cpt .sp-tag-variables-list li span{display:block;font-weight:700;font-size:12px;margin-bottom:2px}#seopress-tabs .sp-tag-variables-list li:hover,#seopress_cpt .sp-tag-variables-list li:hover,#seopress_pro_cpt .sp-tag-variables-list li:hover{background:#0385ba;color:#fff}#seopress-tabs .sp-tag-variables-list li::after,#seopress_cpt .sp-tag-variables-list li::after,#seopress_pro_cpt .sp-tag-variables-list li::after{content:attr(data-value);display:inline-block;background:#e9ecef;padding:1px 5px;color:#333;font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;border-radius:3px;font-size:11px}#seopress-tabs .seopress-tag-dropdown .dashicons,#seopress_cpt .seopress-tag-dropdown .dashicons,#seopress_cpt .tag-title .dashicons,#seopress_pro_cpt .tag-title .dashicons,.seopress-option .tag-title .dashicons{padding:0;height:16px;width:16px;font-size:16px;margin-right:5px;vertical-align:middle}.seopress-overlay-tag-dropdown{position:absolute;display:none;top:0;left:0;width:100%;height:100%;z-index:50}.seopress-overlay-tag-dropdown.active{display:block}#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-option .tag-title{padding:4px 8px;position:relative;top:5px;left:0;font-size:11px;float:left;margin-right:5px;user-select:none;margin-bottom:5px;background:#fff;color:#6b7c93;box-shadow:0 0 0 .5px rgba(50,50,93,.17),0 2px 5px 0 rgba(50,50,93,.12),0 3px 9px 0 rgba(50,50,93,.08),0 1px 1.5px 0 rgba(0,0,0,.08),0 1px 2px 0 rgba(0,0,0,.08)}#seopress-tabs .seopress-tag-dropdown .tag-title:active,#seopress-tabs .seopress-tag-dropdown .tag-title:focus,#seopress-tabs .seopress-tag-dropdown .tag-title:hover,#seopress_cpt .seopress-tag-dropdown .tag-title:active,#seopress_cpt .tag-title:active,#seopress_cpt .tag-title:focus,#seopress_cpt .tag-title:hover,#seopress_cpt-option .seopress-tag-dropdown .tag-title:focus,#seopress_cpt-option .seopress-tag-dropdown .tag-title:hover,#seopress_pro_cpt .tag-title:active,#seopress_pro_cpt .tag-title:focus,#seopress_pro_cpt .tag-title:hover,.seopress-tag-dropdown:active,.seopress-tag-dropdown:focus,.seopress-tag-dropdown:hover{background:#232323;color:#fff;user-select:none}.seopress-button{text-transform:uppercase;background:#fff;border-color:#c8d7e1;border-style:solid;border-width:1px 1px 2px;color:#2e4453;display:inline-block;margin:0;outline:0;overflow:hidden;text-overflow:ellipsis;text-decoration:none;vertical-align:top;box-sizing:border-box;font-size:14px;line-height:20px;padding:6px 8px 6px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.seopress-button:hover{border-color:#a8bece;color:#00a0d2}.seopress-button .dashicons{vertical-align:middle}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget{border-right:1px solid #e6ebf1;margin:0;padding:0 20px;width:calc(50% - 2px);box-sizing:border-box;display:inline-block;vertical-align:top}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:first-child{width:100%;display:block;clear:both;border-right:none;border-bottom:1px solid #e6ebf1;padding-bottom:20px;margin-bottom:20px}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:last-child{border-right:none}#seopress-content .seopress-useful-tools .widget-reverse ul{background:#fff}#seopress-content .seopress-useful-tools .widget-reverse li{padding:10px;margin:0;border-bottom:1px solid #e6ebf1}#seopress-content .seopress-useful-tools .widget-reverse li:hover{background:#f5f7fa}#seopress-content .seopress-useful-tools .widget-title{text-transform:uppercase;margin:0 0 10px;font-size:13px;padding:10px 0;color:#24b47e}#seopress-content .seopress-reverse label,#seopress-content .seopress-useful-tools .widget-whois ul li span{font-weight:700}#seopress-content #seopress-reverse-url{width:100%;margin:10px 0}#seopress-content .widget-reverse p{margin:0}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_url{width:35%}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_anchor_text{width:20%}.seopress-styles #screen-meta{margin:0;position:relative;background-color:#fff;border-bottom:0 solid #f2f2f2;border-top:none;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);top:0}.seopress-styles #contextual-help-link-wrap,.seopress-styles #screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #f2f2f2;border-top:none;background:#fff;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08)}.seopress-styles #screen-meta-links .show-settings{box-shadow:none}.seopress-styles #screen-meta-links .screen-meta-toggle{position:relative;top:0;z-index:2000}.seopress-styles #contextual-help-back{background:#f8fafd}.seopress-styles .contextual-help-tabs .active{border-left:2px solid #3297d3;background:#f8fafd}#seopress-content input.toggle,#seopress_cpt input.toggle,.seopress-option input.toggle{max-height:0;max-width:0;opacity:0;position:relative}.seopress-feature input.toggle{display:block}.wrap-toggle-preview{position:relative}.wrap-toggle-preview p{font-weight:700;margin:0 0 1rem 0}#seopress_cpt input.toggle,.seopress_wrap_single_cpt input.toggle,.seopress_wrap_tax input.toggle{margin:0;border:none;min-width:0}#seopress_content_analysis span.label,#seopress_cpt span.label{outline:0;color:#fff;box-shadow:none;background:#555d66;padding:2px 4px;border-radius:4px;font-weight:700}#seopress_add_to_insights{margin-left:1rem}#seopress_add_to_insights_status{display:inline-block;font-weight:700;margin:0 0 0 1rem;vertical-align:middle;padding:.3rem;font-style:italic}#seopress-content input.toggle+label,#seopress_cpt #tabs-1 input.toggle+label,.seopress-option input.toggle+label{display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #d5d5d5;text-indent:-5000px;height:20px;width:40px;border-radius:15px}#seopress_cpt #tabs-1 input.toggle+label{margin:0}.wrap-toggle-checkboxes input.toggle+label{float:left;margin-right:10px}#seopress-content input.toggle+label:before,#seopress_cpt input.toggle+label:before,.seopress-option input.toggle+label:before{content:"";position:absolute;display:block;height:20px;width:30px;top:0;left:0;border-radius:15px;background:rgba(19,191,17,0);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress-content input.toggle+label:after,#seopress_cpt input.toggle+label:after,.seopress-option input.toggle+label:after{content:"";position:absolute;display:block;height:20px;width:20px;top:0;left:0;border-radius:15px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.2);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress_cpt input.toggle+label,#seopress_cpt input.toggle+label:before,.seopress_wrap_single_cpt input.toggle+label,.seopress_wrap_single_cpt input.toggle+label:before,.seopress_wrap_tax input.toggle+label,.seopress_wrap_tax input.toggle+label:before{width:40px;height:20px}#seopress_cpt input.toggle+label:after,.seopress_wrap_single_cpt input.toggle+label:after,.seopress_wrap_tax input.toggle+label:after{width:20px;height:20px}#seopress-content input.toggle[data-toggle="1"]+label:before,#seopress_cpt input.toggle[data-toggle="1"]+label:before,.seopress-option input.toggle[data-toggle="1"]+label:before{width:40px;background:#3197d3}#seopress_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:before{width:40px;background:#3197d3}#seopress-content input.toggle[data-toggle="1"]+label:after,#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress-option input.toggle[data-toggle="1"]+label:after{left:20px;box-shadow:inset 0 0 0 1px #3197d3,0 2px 4px rgba(0,0,0,.2)}#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:after{box-shadow:inset 0 0 0 1px #3197d3,0 2px 4px rgba(0,0,0,.2)}#seopress-content .seopress-page-list{position:relative;display:grid;max-width:64rem;grid-gap:20px 20px;grid-template-columns:repeat(3,1fr)}@media only screen and (max-width:782px){#seopress-content .seopress-page-list{grid-template-columns:repeat(1,1fr)}}#seopress-notice-save{position:fixed;color:#fff;padding:15px 40px;font-size:.9rem;text-transform:uppercase;text-align:center;border-radius:0;background:rgba(74,184,102,.9);bottom:0;right:0;z-index:500;width:100%;font-weight:700}#seopress-notice-save .dashicons{color:#fff}.seopress-styles .wrap{margin:20px 0 0 0;display:flex;position:relative}.seopress-insights.seopress-styles .wrap,.toplevel_page_seopress-option.seopress-styles .wrap{display:inherit;position:inherit;margin:inherit}@media only screen and (max-width:782px){.seopress-styles .wrap{display:inherit;position:inherit;margin:inherit}}.seopress_page_seopress-pro-page #wpcontent{background:#f4f7fa}.seopress-option .wrap div.nav-tab-wrapper{margin:0 0 0 -26px;padding:0 0 0 10px;line-height:inherit;width:230px;z-index:95;font-weight:400;display:block;border-bottom:none}@media only screen and (max-width:782px){.seopress-option .wrap div.nav-tab-wrapper{width:100%;margin:0;padding:0}}#seopress-admin-tabs.wrap div.nav-tab-wrapper{margin:20px auto 0;max-width:64rem;width:100%;border-bottom:1px solid #e6ebf1;padding:0;line-height:inherit;position:-webkit-sticky;position:sticky;background:#f5f7fa;z-index:100;top:31px;border-radius:4px 4px 0 0;font-weight:400;overflow:hidden;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box}@media only screen and (max-width:600px){#seopress-admin-tabs.wrap div.nav-tab-wrapper{top:0;display:block}}@media only screen and (max-width:1024px){#seopress-admin-tabs.wrap div.nav-tab-wrapper{display:block}}#seopress-admin-tabs #tab_seopress_notifications.seopress-tab{background:0 0;padding:0;border-radius:0}.seopress-option .nav-tab{border:0 solid #ccc;background:0 0;opacity:.5;padding:6px 30px 6px 10px;transition:opacity .3s linear;color:#191e23;margin:0;float:none;display:inline-block;width:100%;text-align:left;font-weight:400;box-sizing:border-box;white-space:normal}#seopress-admin-tabs .nav-tab{border:0 solid #ccc;background:0 0;opacity:.5;padding:14px 20px;transition:opacity .3s linear;color:#191e23;margin:0;box-shadow:inset -1px 0 #e3e8ee;float:none;display:inline-block;text-align:center;font-weight:400}#seopress-admin-tabs .nav-tab{width:100%}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:hover,.seopress-option .about-wrap h2 .nav-tab-active,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:hover{background-color:#fff}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus,.nav-tab-active:focus,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:focus:active,.seopress-option .nav-tab-active:hover,.seopress-option .nav-tab:focus{opacity:1;outline:0;font-weight:600;position:relative;color:#191e23;border-left:3px solid #0085ba;background:rgba(0,133,186,.1)}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus{border-bottom:3px solid #3197d3;border-left:none;background:#fff}#seopress-admin-tabs .nav-tab:hover,.seopress-option .nav-tab:hover{opacity:1}#seopress-admin-tabs .nav-tab:focus,.seopress-option .nav-tab:focus{outline:0;box-shadow:none}.seopress-option .section-tool{border:none;box-shadow:none;background:0 0;position:relative}.seopress-option .section-tool::after{content:"";background:#dedede;height:1px;width:100%;display:block}.seopress-option .sp-section-header{border-bottom:1px solid #eee;margin:0 0 1rem 0;width:100%;display:flex;position:relative;align-items:center;padding-bottom:.5rem}.seopress-option .sp-section-header::after{position:absolute;content:"";background:#0085ba;height:2px;width:40px;bottom:0;left:0}.seopress-option .sp-section-header h2{font-size:1.5em}.seopress-option .sp-section-header>.dashicons{color:#0085ba;padding:10px;border-radius:6px;margin-right:10px;background:#c4f0ff}.seopress-option .sp-section-header .wrap-toggle-checkboxes{display:flex}.seopress-styles .wrap .notice{margin:5px 0 15px 15px}#seopress-tabs.wrap .notice{margin:1rem 0}.seopress-BlankState a.button-primary,.seopress-BlankState button.button-primary,.seopress-message a.button-primary,.seopress-message button.button-primary{background:#6259e6;border-color:#6259e6;box-shadow:transparent 0 0 0 0,transparent 0 0 0 0,rgba(0,0,0,.12) 0 1px 1px 0,rgba(60,66,87,.16) 0 0 0 1px,transparent 0 0 0 0,transparent 0 0 0 0,rgba(60,66,87,.12) 0 2px 5px 0;color:#fff;display:inline-block}.seopress-BlankState a.button-primary:active,.seopress-BlankState a.button-primary:focus,.seopress-BlankState a.button-primary:hover,.seopress-BlankState button.button-primary:active,.seopress-BlankState button.button-primary:focus,.seopress-BlankState button.button-primary:hover,.seopress-message a.button-primary:active,.seopress-message a.button-primary:focus,.seopress-message a.button-primary:hover,.seopress-message button.button-primary:active,.seopress-message button.button-primary:focus,.seopress-message button.button-primary:hover{background:#6259e6;border-color:#6259e6;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 #6259e6}.post-type-seopress_404 .seopress-BlankState-message::before,.post-type-seopress_schemas .seopress-BlankState-message::before{font-family:Dashicons;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"\f103"}.post-type-seopress_schemas .seopress-BlankState-message::before{content:"\f495"}.seopress-BlankState{text-align:center;padding:5em 0 0}.seopress-BlankState .seopress-BlankState-message{color:#aaa;margin:0 auto 1.5em;line-height:1.5em;font-size:1.2em;max-width:500px}.seopress-BlankState .seopress-BlankState-message::before{color:#ddd;text-shadow:0 -1px 1px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.8);font-size:8em;display:block;position:relative!important;top:auto;left:auto;line-height:1em;margin:0 0 .1875em}.seopress-BlankState .seopress-BlankState-cta{font-size:1.2em;padding:.75em 1.5em;margin:0 .25em;height:auto;display:inline-block!important}.seopress-BlankState{max-width:764px;text-align:center;margin:auto}.seopress-BlankState .seopress-BlankState-message{color:#444;font-size:1.5em;margin:0 auto 1em}.seopress-BlankState .seopress-BlankState-message::before{font-size:120px}.seopress-BlankState .seopress-BlankState-buttons{margin-bottom:4em}#seopress_content_analysis .up,#seopress_content_analysis .up .dashicons{color:#4ab866}#seopress_content_analysis .down,#seopress_content_analysis .down .dashicons{color:#d94f4f}#seopress_content_analysis .up .dashicons{transform:rotateZ(45deg)}#seopress_content_analysis .stable .dashicons{transform:rotateZ(90deg)}#seopress_content_analysis .down .dashicons{transform:rotateZ(135deg)}#seopress_content_analysis .wrap-insights-post{clear:both;border-top:1px solid #e2e4e7;display:flex;align-items:center}#seopress_content_analysis .wrap-insights-post .widget-insights-title{margin:0 1rem}#seopress_content_analysis .wrap-insights-post span{font-weight:700;margin:0 .2rem 0 0}#seopress_content_analysis .wrap-insights-post .sp-tooltip *{font-weight:400}#seopress_content_analysis .wrap-insights-post .sp-tooltip-headings{font-weight:700}.sp-components-snackbar-list{position:fixed;right:0;bottom:40px;padding-left:16px;padding-right:16px;animation-name:sp-fade-in-out;animation-duration:5s;animation-iteration-count:1;animation-fill-mode:forwards;visibility:hidden;z-index:1}.sp-components-snackbar__content{display:flex;align-items:center;justify-content:space-between;line-height:1.4}.sp-components-snackbar{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#32373c;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;width:100%;max-width:600px;box-sizing:border-box;cursor:pointer}.sp-components-snackbar .dashicons{color:#fff}
1
+ @keyframes sp-fade-in-out{0%{opacity:0;bottom:0;visibility:hidden}25%{opacity:1;bottom:40px;visibility:visible}75%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}#adminmenu div.wp-menu-image.dashicons-admin-seopress::before,#seopress-header #seopress-admin h1::before{content:"\e800";font-family:seopress!important;font-weight:700;font-size:12px;line-height:20px}#seopress-header #seopress-admin h1::before,.seopress-page-list .seopress-feature h3,.seopress-styles .seopress-option h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?81521271);src:url(../fonts/seopress.eot?81521271#iefix) format("embedded-opentype"),url(../fonts/seopress.woff?81521271) format("woff2"),url(../fonts/seopress.woff?81521271) format("woff"),url(../fonts/seopress.ttf?81521271) format("truetype"),url(../fonts/seopress.svg?81521271#seopress) format("svg");font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important;font-size:14px!important;line-height:24px!important}#tab_seopress_titles_archives .form-table th:empty,#tab_seopress_titles_single .form-table th:empty,#tab_seopress_titles_tax .form-table th:empty{display:none}.icon-seopress-seopress:before{content:"\e800"}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level .wrap-seopress-noindex{background:red;color:#fff;padding:0 8px;float:right;margin-left:6px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level>a{display:inline-block}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level .wrap-seopress-noindex .ab-icon::before{color:#eee;vertical-align:middle}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots{display:block;background:#23292d}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots a{height:inherit;padding-bottom:5px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-seo{font-weight:700;border-bottom:1px solid currentColor;width:100%;display:block;margin-bottom:5px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex{display:block}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .ab-icon,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .ab-icon{float:none;vertical-align:middle}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .on::before,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .on::before{color:red}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .off::before,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .off::before{color:#46b450}.sp-tooltip{position:relative;margin-left:5px;display:inline-block;cursor:help;vertical-align:bottom;text-align:left;background:0 0;border:none;padding:0}.sp-tooltip .dashicons{color:#666}.sp-tooltip .sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;width:300px;right:-303px;padding:20px;top:25px;font-weight:400;box-shadow:0 3px 30px rgba(25,30,35,.1);border:1px solid #e2e4e7;background:#fff;word-break:break-word;text-transform:none}.sp-tooltip .sp-tooltiptext::before{border:8px solid #e2e4e7;top:-8px}.sp-tooltip .sp-tooltiptext::after{border:8px solid #fff;top:-6px}.sp-tooltip .sp-tooltiptext::after,.sp-tooltip .sp-tooltiptext::before{border-bottom-style:solid;border-left-color:transparent;border-right-color:transparent;border-top:none;margin-left:-10px;content:"";position:absolute;height:0;width:0;line-height:0;left:30px}.sp-tooltip:active .sp-tooltiptext,.sp-tooltip:focus .sp-tooltiptext,.sp-tooltip:hover .sp-tooltiptext{visibility:visible}.sp-tooltip .sp-tooltip-headings{font-size:18px;font-weight:600;margin-bottom:20px;display:block}.sp-tooltip .sp-tooltip-desc{margin-bottom:20px;display:block;border-bottom:1px solid #e2e4e7;padding-bottom:20px;font-size:13px}.sp-tooltip .sp-tooltip-code{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;display:block;word-break:break-all;color:#1a7a06;font-size:11px}.analysis-score .sp-tooltip{vertical-align:middle;font-size:.75em}#seopress_content_analysis a{color:#0073aa}#seopress_content_analysis a.nounderline,#seopress_content_analysis a.nounderline:hover{text-decoration:none}#seopress_content_analysis .wrap-seopress-analysis{display:inline-block;width:100%}#seopress_content_analysis .col-left{width:calc(50% - 30px);float:left;margin-right:30px}#seopress_content_analysis .col-right{float:right;width:50%}#seopress_content_analysis #seopress_suggestions{display:inline-block;width:100%;margin:0;height:auto;padding:20px 0}#seopress_content_analysis #seopress_suggestions li{list-style:none;margin:5px;display:inline-block}#seopress_content_analysis .analysis-score{clear:both;border-top:1px solid #e2e4e7;display:flex;justify-content:space-between;align-items:center}.column-seopress_score .analysis-score{display:flex;align-content:center}#seopress_content_analysis .analysis-score p,.column-seopress_score .analysis-score p{font-weight:700;font-size:1.2em}#seopress_content_analysis .analysis-score svg,.column-seopress_score .analysis-score svg{display:inline-block;height:30px;width:30px;margin:0;border-radius:100%;position:relative;font-weight:600;shape-rendering:geometricprecision;font-size:.5rem;vertical-align:middle;margin-right:15px}.column-seopress_score .analysis-score p,.column-seopress_score .analysis-score svg{margin:0}@keyframes loadingPulse{0%{stroke:#adc5d2}50%{stroke:#00a0d2}100%{stroke:#adc5d2}}#seopress_content_analysis .analysis-score .loading #bar{stroke-dashoffset:0!important;stroke:#adc5d2!important;animation:loadingPulse 3s infinite ease-in-out}#seopress_content_analysis .analysis-score .good #bar,.column-seopress_score .analysis-score #bar.good{stroke:#46b450}#seopress_content_analysis .analysis-score .notgood #bar,.column-seopress_score .analysis-score #bar.notgood{stroke-dashoffset:565;stroke:#ffb900}#seopress_content_analysis .analysis-score svg circle,.column-seopress_score .analysis-score svg circle{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;stroke:#ccc;stroke-width:2em}#seopress_content_analysis .gr-analysis{clear:both}#seopress_content_analysis .gr-analysis-title{border-top:1px solid #e2e4e7;position:relative}#seopress_content_analysis .gr-analysis-title .impact,#seopress_cpt .impact{position:absolute;left:10px;top:calc(50% - 5px);width:10px;height:10px;border-radius:50px;padding:0;margin:0;border:1px solid #fff}#seopress_content_analysis .gr-analysis .impact.good{background:#46b450;box-shadow:0 0 5px #46b450}#seopress_content_analysis .gr-analysis .impact.low{background:#ffde24;box-shadow:0 0 5px #ffde24}#seopress_content_analysis .gr-analysis .impact.medium{background:#e39f48;box-shadow:0 0 5px #e39f48}#seopress_content_analysis .gr-analysis .impact.high,#seopress_cpt .impact.high{background:#e25950;box-shadow:0 0 5px #e25950}#seopress_content_analysis .gr-analysis-content .impact.high{background:#e25950;box-shadow:none;color:#fff;padding:2px 4px;margin-left:5px;border-radius:4px;font-weight:700}#seopress_cpt .impact.high{position:relative;top:calc(50% - 18px);display:inline-block;left:inherit;right:-10px}#seopress_content_analysis .description,#seopress_cpt .description,.seopress-tab .description{display:block;font-style:italic}#seopress_content_analysis .gr-analysis-title button{background:#fff;border:0;cursor:pointer;display:block;margin:0;position:relative;text-align:left;width:100%;padding:15px 30px;align-items:center;transition:all .3s linear}#seopress_content_analysis .gr-analysis-title button:hover{background:#f3f4f5}#seopress_content_analysis .gr-analysis-title button:focus{color:#191e23;border:none;box-shadow:none;outline-offset:-2px;outline:1px dotted #555d66}#seopress_content_analysis .gr-analysis-title button .sp-arrow::after{content:"\f343";font-family:Dashicons;position:absolute;right:10px;top:calc(50% - 7px)}#seopress_content_analysis .gr-analysis-title button.open .sp-arrow::after{content:"\f347"}#seopress_content_analysis .gr-analysis-content{padding:0 1rem .5rem 1rem;display:none;width:100%;border-top:1px solid #e2e4e7;box-sizing:border-box}table.wp-list-table .manage_column.column-seopress_canonical,table.wp-list-table .manage_column.column-seopress_desc,table.wp-list-table .manage_column.column-seopress_insights,table.wp-list-table .manage_column.column-seopress_noindex,table.wp-list-table .manage_column.column-seopress_redirect_enable,table.wp-list-table .manage_column.column-seopress_redirect_url,table.wp-list-table .manage_column.column-seopress_title,table.wp-list-table .manage_column.column-seopress_tkw{width:7%!important}#seopress_content_analysis h3{margin:0;font-size:1em}#seopress_content_analysis h4{border-bottom:1px solid #e2e4e7;padding-bottom:.5rem;text-transform:uppercase;font-size:.85em;position:-webkit-sticky;position:sticky;top:0;background:#fff}#seopress_content_analysis .wrap-analysis-img ul{display:flex;flex-wrap:wrap}#seopress_content_analysis .wrap-analysis-img ul li{padding:0;text-align:left;cursor:default}#seopress_content_analysis .wrap-analysis-img h4{border-bottom:1px solid #ddd;padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul li img{max-width:150px;max-height:150px;object-fit:cover;border:1px solid #f3f4f5;cursor:default;padding:1px}#seopress_cpt .notice{padding:10px 14px}#seopress-analysis-tabs .dashicons,#seopress_cpt .dashicons{vertical-align:middle}#seopress-analysis-tabs{clear:both}#seopress_cpt .inside{margin:0;padding:0}#seopress_cpt .ui-tabs .ui-tabs-nav{display:inline-block;min-height:26px;position:relative;width:100%;z-index:10;margin:0;border-radius:0;padding:0;background:#f3f4f5;border:none}#seopress_cpt .ui-tabs .sp-section{font-weight:700;font-size:13px}#seopress_cpt .ui-helper-clearfix:after{content:none}.seopress_page_seopress-titles #seopress-tabs .form-table td,.seopress_page_seopress-titles #seopress_content_analysis .form-table td{padding:0}#seopress_cpt .ui-tabs .ui-tabs-panel{background:#fff;border-radius:0;display:inline-block;padding:1em 1.4em;width:100%;box-sizing:border-box}#seopress_content_analysis .dashicons-info,#seopress_cpt .ui-tabs .ui-tabs-panel .dashicons-info,#seopress_pro_cpt .dashicons-info{font-size:16px;vertical-align:middle;height:16px;width:16px}#seopress_cpt .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs-anchor{cursor:pointer!important}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{position:relative;z-index:60;cursor:pointer;border-radius:0;border-bottom:3px solid #0085ba}#seopress_content_analysis label,#seopress_cpt #tabs-1 label,#seopress_cpt #tabs-2 label[for=seopress_robots_breadcrumbs_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_canonical_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_primary_cat_meta],#seopress_cpt #tabs-3 label,#seopress_cpt #tabs-4 label,#seopress_cpt #tabs-5 label,#seopress_cpt #tabs-6 label,#seopress_cpt .subsection-title{display:block;margin:20px 0 5px;font-weight:700}#seopress_cpt .wp-color-result{margin:0}#seopress_content_analysis input[type=text],#seopress_cpt #tabs-1 input,#seopress_cpt #tabs-2 input[type=text],#seopress_cpt #tabs-3 input[type=text],#seopress_cpt #tabs-3 textarea,#seopress_cpt #tabs-4 input[type=text],#seopress_cpt #tabs-5 input[type=text],#seopress_cpt #tabs-6 input[type=text],#seopress_cpt #tabs-6 textarea{width:100%;display:inline-block}#seopress_cpt #tabs-1 input{width:100%}#seopress_cpt #tabs-6 input[type=number]{width:30%;min-width:200px}#seopress_cpt #tabs-6 #wrap-videos .video:first-child .remove-video{display:none}#seopress_cpt select{width:300px}#seopress_cpt #tabs-4 select{width:250px;display:inline}#seopress_cpt #tabs-4 #seopress_redirections_value_meta{width:calc(100% - 258px);float:right}#seopress_cpt #tabs-6{padding:0}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content,#seopress_cpt #tabs-6>p{padding:0 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content{padding:0 1.4em 1em}#seopress_cpt #tabs-6 #wrap-videos .video{border-top:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-title{border-left:none;border-right:none;font-size:1em;padding:1em 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-content,#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-title{border-bottom:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .inside{padding:0}#seopress_cpt #tabs-4 #seopress_redirections_enabled,#seopress_cpt #tabs-5 #seopress_news_disabled,#seopress_cpt #tabs-5 #seopress_news_standout,#seopress_cpt #tabs-6 #seopress_video_disabled,#seopress_cpt #tabs-6 .family-friendly label,#seopress_cpt #tabs-6 .internal_video label{font-weight:400}#seopress_cpt #tabs-6 #wrap-videos .video:nth-child(odd){background:#fdfdfd}#seopress_content_analysis .advise,#seopress_cpt .advise,#seopress_pro_cpt .advise,.seopress-option .advise{margin:5px;display:block;color:red;font-style:italic}#seopress_cpt #tabs-6 #wrap-videos .video .advise{color:#555}#seopress_content_analysis .mandatory,#seopress_cpt .mandatory{color:#c00}#seopress_cpt .box-left{float:left;width:49%;margin-right:1%}#seopress_cpt .box-right{float:left;width:49%;margin-left:1%}#seopress_cpt #tabs-3 .box-left{width:44%}#seopress_cpt #tabs-3 .box-right{width:54%}@media only screen and (max-width:1200px){#seopress_cpt .box-left,#seopress_cpt .box-right{float:none;width:100%;margin:0}}@media only screen and (max-width:1500px){#seopress_cpt #tabs-3 .box-left,#seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}}#edittag #seopress_cpt #tabs-3 .box-left,#edittag #seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}#seopress-tabs .seopress_media_upload,#seopress_pro_cpt .seopress_media_upload{margin-top:.5rem}#seopress_cpt .google-snippet-preview{font-family:arial,sans-serif;word-break:break-all}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet{margin:0 0 10px 0;box-shadow:0 1px 6px rgba(32,33,36,.28);border-radius:8px;padding:12px 16px}#seopress_cpt .google-snippet-preview>p{word-break:normal}#seopress_cpt .google-snippet-preview .snippet-title,#seopress_cpt .google-snippet-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview .snippet-title-default{color:#1a0dab;font-size:18px;font-weight:400;line-height:21.6px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-default{font-size:16px;line-height:20px;margin-bottom:12px}#seopress_cpt .google-snippet-preview .snippet-permalink{color:#006621;font-size:14px;font-style:normal;font-weight:400;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#seopress_cpt .google-snippet-preview .wrap-snippet .wrap-m-icon-permalink,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-permalink{display:none}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:12px;display:flex}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink .snippet-permalink{display:block;color:#3c4043;font-size:12px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon{margin-right:12px;vertical-align:middle}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon img{width:16px;height:16px;max-width:inherit}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet .snippet-permalink:first-child{color:#3c4043;white-space:nowrap;font-size:12px;display:block}#seopress_cpt .google-snippet-preview .snippet-description,#seopress_cpt .google-snippet-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview .snippet-description-default{color:#545454;font-size:14px;font-weight:400;line-height:18.2px;display:inline}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-default{color:#3c4043;font-size:14px;line-height:20px}#seopress_cpt .google-snippet-preview .snippet-date{color:grey;display:inline}#seopress_cpt .facebook-snippet-box{color:#4b4f56;font-size:14px;width:524px}#seopress_cpt .facebook-snippet-box .notice,#seopress_cpt .twitter-snippet-box .notice{padding:10px 14px;margin:0 0 10px 0;box-sizing:border-box;width:100%}#seopress_cpt .facebook-snippet-box .notice span,#seopress_cpt .twitter-snippet-box .notice span{font-weight:700}#seopress_cpt .snippet-meta{display:flex;overflow:hidden;max-height:12px}#seopress_cpt .fb-by,#seopress_cpt .snippet-fb-site-name,#seopress_cpt .snippet-fb-url{color:#606770;font-size:12px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .fb-sep{padding-left:5px;padding-right:5px;color:#606770;line-height:11px;font-size:12px}#seopress_cpt .facebook-snippet-box .facebook-snippet-text{border:1px solid #dadde1;background-color:#f2f3f5;padding:10px 12px}#seopress_cpt .facebook-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .facebook-snippet-box .snippet-fb-title,#seopress_cpt .facebook-snippet-box .snippet-fb-title-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-title-default{font-size:16px;line-height:20px;margin:3px 0 0;padding-top:2px;color:#1d2129;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word;max-height:22px}#seopress_cpt .facebook-snippet-box .snippet-fb-description,#seopress_cpt .facebook-snippet-box .snippet-fb-description-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-description-default{color:#606770;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .facebook-snippet-box img{display:block;height:274px;width:524px;object-fit:cover;background-color:#edeff0;text-align:center;border-bottom:none}#seopress_cpt .twitter-snippet-box{color:#4b4f56;font-size:14px;width:436px}#seopress_cpt .snippet-twitter-url{color:#8899a6;font-size:14px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .twitter-snippet-box .twitter-snippet-text{border:1px solid #dadde1;background-color:#fff;padding:10px 12px;border-radius:0 0 10px 10px}#seopress_cpt .twitter-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .twitter-snippet-box .snippet-twitter-img,#seopress_cpt .twitter-snippet-box .snippet-twitter-img-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-img-default{border-radius:10px 10px 0 0;overflow:hidden}#seopress_cpt .twitter-snippet-box .snippet-twitter-title,#seopress_cpt .twitter-snippet-box .snippet-twitter-title-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-title-default{font-size:1em;line-height:20px;margin-bottom:5px;max-height:1.3em;color:#000;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word}#seopress_cpt .twitter-snippet-box .snippet-twitter-description,#seopress_cpt .twitter-snippet-box .snippet-twitter-description-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-description-default{color:#000;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .twitter-snippet-box img{display:block;height:200px;width:436px;object-fit:cover;background-color:#edeff0;text-align:center;border-bottom:none}#seopress_cpt .wrap-seopress-counters,#seopress_pro_cpt .wrap-seopress-counters,.seopress-setup .wrap-seopress-counters,.seopress-styles .wrap-seopress-counters{text-align:right;background:#e9ecef;padding:2px 5px;display:flex;font-size:12px;justify-content:flex-end;border-radius:0 0 .25rem .25rem}#seopress_cpt .sp-progress,#seopress_pro_cpt .sp-progress,.seopress-setup .sp-progress,.seopress-styles .sp-progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem .25rem 0 0}#seopress_cpt .sp-progress-bar,#seopress_pro_cpt .sp-progress-bar,.seopress-setup .sp-progress-bar,.seopress-styles .sp-progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#0085ba;transition:width .6s ease}#seopress_cpt #seopress_titles_desc_counters,#seopress_cpt #seopress_titles_title_counters,#seopress_pro_cpt #seopress_rich_snippets_articles_counters,#seopress_pro_cpt #seopress_rich_snippets_courses_counters{display:inline;margin-right:5px}#seopress_cpt #seopress_titles_desc_counters_val,#seopress_cpt #seopress_titles_title_counters_val,#seopress_pro_cpt #seopress_rich_snippets_articles_counters_val,#seopress_pro_cpt #seopress_rich_snippets_courses_counters_val{display:inline;font-weight:700}#term-seopress #seopress_cpt{width:95%}.post-type-product table.fixed thead .column-seopress_desc,.post-type-product table.fixed thead .column-seopress_title{width:8%}.post-type-product .fixed .column-seopress_ps,.post-type-product .fixed .column-seopress_w3c,.post-type-product .fixed .column-seopress_words,.post-type-product table.fixed thead .column-seopress_canonical,.post-type-product table.fixed thead .column-seopress_redirect_enable,.post-type-product table.fixed thead .column-seopress_redirect_url,.post-type-product table.fixed thead .column-seopress_tkw{width:6%}.post-type-product .fixed .column-seopress_score{width:50px}table.fixed thead .column-seopress_nofollow,table.fixed thead .column-seopress_noindex{width:100px}@media only screen and (max-width:1200px){table.fixed .column-seopress_canonical>div,table.fixed .column-seopress_desc>div,table.fixed .column-seopress_redirect_enable>div,table.fixed .column-seopress_redirect_url>div,table.fixed .column-seopress_title>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}table.fixed thead .column-seopress_canonical,table.fixed thead .column-seopress_nofollow,table.fixed thead .column-seopress_noindex,table.fixed thead .column-seopress_ps,table.fixed thead .column-seopress_redirect_enable,table.fixed thead .column-seopress_redirect_url,table.fixed thead .column-seopress_score,table.fixed thead .column-seopress_tkw,table.fixed thead .column-seopress_w3c,table.fixed thead .column-seopress_words{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}#seopress_cpt .ui-tabs{position:relative;padding:0;border:none;font-family:inherit;font-size:inherit;display:inline-block;width:100%}#seopress_cpt .ui-tabs .ui-tabs-nav li{list-style:none;display:inline-block;position:relative;top:2px;padding:0 5px;white-space:nowrap;margin:0;border:none;background:0 0}#seopress_cpt .ui-tabs .ui-tabs-nav li a{display:inline-block;padding:5px 10px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li a,#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a{display:block}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:2px;padding-bottom:1px}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a{color:#191e23;font-weight:700}#seopress_cpt .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#191e23;text-decoration:none;height:40px;line-height:40px}#seopress_cpt .ui-tabs-vertical{width:55em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress_cpt .ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress_cpt .ui-tabs .ui-tabs-nav li a .dashicons{margin-right:2px}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_content_analysis .dashicons-yes,#seopress_pro_cpt .dashicons-no-alt,#seopress_pro_cpt .dashicons-yes{color:#fff;background:#12bd10;border-radius:50px;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_pro_cpt .dashicons-no-alt{background:#e25950}body.seopress-styles{background:#f8fafd}#seopress-admin-tabs.ui-tabs{position:relative;padding:.2em;border:none;font-family:inherit;font-size:inherit}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:-1px .2em 0 0;padding:0;white-space:nowrap;border:none;background:0 0}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a{float:left;padding:.38em 1em .75rem;outline:0;border-bottom:2px solid #fff}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text;border-bottom:2px solid #23282d;color:#23282d}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a,#seopress-admin-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#0073aa;text-decoration:none}#seopress-admin-tabs.ui-tabs-vertical{width:55em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}.seopress-styles .seopress-option{margin:10px auto 0;max-width:90%;padding:1rem;background:#fff;box-shadow:0 15px 35px rgba(50,50,93,.1),0 5px 15px rgba(0,0,0,.1);border-radius:4px}.seopress-styles .seopress-option h1{font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase;z-index:100;border-bottom:1px solid RGB(238,238,238);padding-bottom:20px}.seopress-styles .seopress-option h1 .dashicons,.seopress-styles .seopress-option h2 .dashicons{margin:0 10px;font-size:40px;width:40px;height:40px;vertical-align:middle}.seopress-styles .seopress-option .link-archive{font-size:14px}.seopress-styles .seopress-option .link-archive .dashicons{font-size:18px;width:20px;height:20px;margin:inherit}.seopress-styles .seopress-option h1>.dashicons{font-size:30px;width:30px;height:30px;background:#c4f0ff;border-radius:6px;padding:10px;margin-left:10px;color:#0085ba}.seopress-styles .seopress-option .metabox-holder h2 .dashicons{font-size:16px}.seopress-option h1 .feature-state .dashicons{font-size:16px;width:16px;height:16px;vertical-align:middle;margin:0 10px 0 0}#seopress-admin-tabs.wrap{display:block;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12);width:64rem;max-width:100%;margin:0 auto}@media only screen and (max-width:1024px){#seopress-admin-tabs.wrap{width:100%}}.seopress-styles .seopress-option .submit{background:#fff;text-align:center;border-top:1px solid #f1f1f1;padding-top:20px;padding-bottom:20px;margin:0}.seopress-styles .seopress-option #seopress-aio-migrate,.seopress-styles .seopress-option #seopress-rk-migrate,.seopress-styles .seopress-option #seopress-seo-framework-migrate,.seopress-styles .seopress-option #seopress-squirrly-migrate,.seopress-styles .seopress-option #seopress-yoast-migrate,.seopress-styles .seopress-option #submit{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);margin-right:15px;background:RGB(106,124,148);position:relative;height:auto;z-index:10}.seopress-styles .seopress-option #seopress-aio-migrate:hover,.seopress-styles .seopress-option #seopress-rk-migrate:hover,.seopress-styles .seopress-option #seopress-seo-framework-migrate:hover,.seopress-styles .seopress-option #seopress-squirrly-migrate:hover,.seopress-styles .seopress-option #seopress-yoast-migrate:hover,.seopress-styles .seopress-option #submit:hover{text-decoration:none;color:#fff;background:#232323}.seopress-styles #wpcontent{padding-left:0}.seopress-styles pre{color:#42b72a;background:#f5f6f7;font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;padding:7px}.seopress-styles #seopress-navbar{padding:10px .5rem;height:60px;margin:0 auto;width:64rem;box-sizing:border-box;position:relative;max-width:100%}#seopress-header{margin:0 auto;position:relative;width:90%;padding:1rem}#seopress-header #seopress-admin h1{line-height:40px;margin:0;display:inline-block;height:40px;width:40px;background-size:100%;background-repeat:no-repeat}#seopress-header #seopress-admin h1::before{font-size:14px;line-height:40px;position:absolute;border-radius:6px;font-weight:400;color:#fff;width:40px;height:40px;text-align:center;background:#3a4afb;background:-moz-linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%);background:-webkit-linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%);background:linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%)}#seopress-header #seopress-admin h1:hover{cursor:pointer}#seopress-header #seopress-admin h1>a{text-decoration:none;color:inherit}#seopress-header #seopress-admin .seopress-quick-access{background:#fff;box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.2),0 5px 15px rgba(0,0,0,.1);border-radius:4px;overflow:hidden;position:absolute;font-size:17px;line-height:40px;white-space:nowrap;transform:rotate3d(1,1,0,-15deg);transform-origin:100% 0;opacity:0;will-change:transform,opacity;transition-property:transform,opacity;transition-duration:.25s;z-index:300;padding:0;display:inline-block;width:100%;top:52px;visibility:hidden;cursor:auto;left:-.5rem}#seopress-header #seopress-admin h1:hover .seopress-quick-access{transform:none;opacity:1;pointer-events:auto;visibility:visible}#seopress-header #seopress-admin .seopress-quick-access>ul{margin:0;box-sizing:border-box;display:grid;grid-gap:0 10px;grid-template-columns:repeat(2,1fr);padding:20px}@media only screen and (max-width:1024px){#seopress-header #seopress-admin .seopress-quick-access>ul{grid-template-columns:repeat(1,1fr)}}#seopress-header #seopress-admin h1 .seopress-quick-access li{line-height:40px;margin:0;display:inline-block;height:40px;background-size:100%;background-repeat:no-repeat}#seopress-header #seopress-admin h1 .seopress-quick-access li .dashicons{vertical-align:middle;background:#b7e1f3;border-radius:50%;padding:5px;margin-right:15px}#seopress-header #seopress-admin h1 .seopress-quick-access li a{text-decoration:none;font-size:15px;line-height:30px;text-transform:uppercase;display:block;width:100%;transition:all .3s linear;color:#3297d3}#seopress-header #seopress-admin h1 .seopress-quick-access li a:hover{color:#647a88}#seopress-header #seopress-admin h1 .seopress-info-version{position:relative;left:50px;top:0;font-size:14px;width:100px;display:block}#seopress-header #seopress-admin .wpc-info-version{font-size:14px;left:310px;position:absolute;text-indent:0;top:85px}#seopress-header #seopress-notice{float:right;line-height:40px}#seopress-header #seopress-notice p{font-size:16px}#seopress-header #seopress-notice .dashicons{color:#6f8096;text-decoration:none;line-height:40px}#seopress-header #seopress-notice div.small{font-size:13px;display:inline}#seopress-footer-credits{font-style:italic}#seopress-footer-credits .wporg-ratings{display:inline}#seopress-footer-credits .wporg-ratings a{text-decoration:none}.seopress-option .seopress-settings{float:left;max-width:750px;width:100%}.seopress-option #seopress-edd-license-btn,.seopress-option #seopress-refresh{float:left}.wp-admin-ui_page_seopress-import-export .postbox{margin-right:20px}.seopress-option #side-sortables .accordion-section-content{padding:0}.seopress-option .seopress-settings label{margin:0 0 0 10px}.wrap-seopress-tab-content{position:relative;display:block;width:100%;max-width:64rem;margin:0 auto;box-sizing:border-box}#seopress-admin-tabs .seopress-tab{padding:1.5rem;visibility:hidden;overflow:hidden;opacity:0;transition:all .2s ease;transform:translateX(-15px);position:absolute;top:0;box-sizing:border-box}#seopress-admin-tabs .seopress-tab.active{visibility:visible;overflow:inherit;opacity:1;transform:translateX(0);display:inherit;position:relative}#seopress-tabs .seopress-tab{padding:0 1.5rem;width:calc(100% - 230px);display:none}@media only screen and (max-width:1024px){#seopress-tabs .seopress-tab{width:100%}}#seopress-tabs .seopress-tab.active{display:inline-block;border-left:1px solid RGB(238,238,238)}@media only screen and (max-width:782px){#seopress-tabs .seopress-tab.active{width:100%;padding:0;border-left:none;border-top:1px solid RGB(238,238,238)}}.seopress-option input[type=password],.seopress-option input[type=text],.seopress-option textarea{min-width:485px}@media only screen and (max-width:1024px){.seopress-option input[type=password],.seopress-option input[type=text],.seopress-option textarea{min-width:inherit;width:100%}}#seopress_htaccess_file{width:100%}.seopress-option textarea{min-height:100px}.seopress-option #side-sortables .highlight{border:1px dashed #ccc;display:block;width:382px;height:40px;background:0 0}.seopress-option #side-sortables .accordion-section{margin-bottom:9px;width:382px}.seopress-option #side-sortables .accordion-section h3{cursor:move;border:1px solid #e5e5e5;background:#fafafa}.seopress-option #side-sortables .accordion-section .inside{padding:10px 10px 24px;border-width:0 1px 1px;border-style:solid;box-shadow:0 1px 1px rgba(0,0,0,.04);border-color:#e5e5e5;display:inline-block;width:calc(100% - 22px);height:100%}.seopress-option #side-sortables .accordion-section .inside ul{padding-left:10px;margin-bottom:0;padding-top:2px;padding-bottom:2px}.seopress-option #side-sortables .accordion-section .inside ul li{border-left:2px solid #ccc;padding-left:10px;margin-bottom:10px}.seopress-option #side-sortables .accordion-section .inside ul li:first-child{border-bottom:1px dotted #e5e5e5;border-left:0;padding-bottom:10px;font-weight:700;margin-left:-15px;margin-bottom:10px}.seopress-notice #message{margin:5px 10px 2px 0}#seopress-notice a{position:relative;text-decoration:none;margin:0 0 0 .3rem}#seopress-notice a .tooltip{white-space:pre;z-index:200;padding:2px 5px;font-weight:500;font-size:12px;color:#aab7c4;background:#fff;box-shadow:0 1px 2px 0 rgba(49,49,93,.1),0 0 1px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;opacity:0;top:30px;transition:opacity .2s ease;visibility:hidden;line-height:20px;left:-100%;overflow:hidden}#seopress-notice a:hover .tooltip{opacity:1;visibility:visible}.seopress-page-list{margin:1.5rem auto}.seopress-option .dashicons,.seopress-page-list .dashicons{vertical-align:middle;margin-right:5px;color:#6f8096}#seopress-admin-tabs .ui-tabs-nav,#seopress-notifications-center,.seopress-get-started,.seopress-page-list .seopress-feature,.seopress-useful-tools{margin:0 auto 20px;max-width:64rem;padding:2rem;width:100%;border-radius:0 0 4px 4px;box-sizing:border-box}.seopress-get-started{margin-top:20px;background:#fff url(../img/bg-hero-support.svg) no-repeat 95% 50%/contain;position:relative;box-sizing:border-box;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12)}.seopress-get-started .inside{max-width:calc(100% - 380px)}@media only screen and (max-width:782px){.seopress-get-started{background:#fff}.seopress-get-started .inside{max-width:100%}}.seopress-get-started .preheader{text-transform:uppercase;font-size:.8rem;font-weight:600}.seopress-get-started h2{font-size:1.85em;margin:15px 0 0 0;font-weight:400}.seopress-get-started p{margin-bottom:20px}.seopress-get-started a .dashicons{vertical-align:middle;text-decoration:none;color:#6a7c94}.seopress-get-started a.button-primary .dashicons{color:#fff}.seopress-get-started a.btn-link .dashicons{margin-right:5px}.seopress-get-started a.btn-link{margin:0 0 0 10px}#seopress-notifications-center,.seopress-useful-tools{background:#fff;padding:0}.seopress-page-list .seopress-feature{padding:0;position:relative;overflow:hidden;transition-duration:.15s;display:flex;margin:0;background:#fff;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12);flex-wrap:wrap;border-radius:4px;width:100%;height:100%}.seopress-page-list .seopress-feature p{color:#6b7c93;font-size:14px;margin-bottom:30px}#seopress-notifications-center{margin-top:0}#seopress-admin-tabs .ui-tabs-nav{display:flex;padding-top:1rem;padding-bottom:0}.seopress-page-list .seopress-feature .img-tool{height:50px;width:50px;background:#c4f0ff;position:relative;border-radius:6px}.seopress-page-list .seopress-feature .img-tool .dashicons{color:#217ab7;font-size:30px;text-align:left;vertical-align:middle;width:100%;height:100%;position:absolute;top:calc(50% - 15px);left:calc(50% - 15px);margin:0}.seopress-page-list .seopress-feature .inner{margin:0;display:inline-block;padding:1.5rem;width:100%;height:100%;box-sizing:border-box}.seopress-page-list .seopress-feature h3{margin:1rem 0 0 0;font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase}.seopress-page-list .seopress-feature h3 .dashicons{font-size:16px;margin-left:5px;vertical-align:middle}#seopress-content .seopress-page-list .seopress-feature a,#seopress-notifications-center .seopress-alert .button-primary,.seopress-get-started .button-primary,.seopress-option .seopress-feature a,.seopress-useful-tools .widget .button-primary{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);background:#6a7c94;position:relative;height:auto;display:flex;flex-wrap:wrap}#seopress-content .seopress-page-list .seopress-feature a.button-secondary{padding-left:30px}#seopress-content .seopress-page-list .seopress-feature a.button-secondary::before,#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f111";font-family:Dashicons;position:absolute;left:10px;top:1px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:16px}#seopress-content .seopress-page-list .wrap-btn{display:inline-flex;margin-bottom:2rem;flex-direction:column}#seopress-content .seopress-page-list .seopress-feature a.view-redirects,#seopress-notifications-center .seopress-alert .button-primary,.seopress-get-started .button,.seopress-option .button{color:#6a7c94;background:#fff;font-weight:500;transition:all .3s linear;text-shadow:none;text-transform:uppercase;padding-right:20px;padding-left:20px;line-height:34px;min-height:34px;margin:10px 0;border-radius:4px;box-shadow:transparent 0 0 0 0,transparent 0 0 0 0,rgba(0,0,0,.12) 0 1px 1px 0,rgba(60,66,87,.16) 0 0 0 1px,transparent 0 0 0 0,transparent 0 0 0 0,rgba(60,66,87,.12) 0 2px 5px 0;vertical-align:baseline;display:inline-flex;align-items:center;border:none;margin-right:.5rem;cursor:pointer}.seopress-get-started .button{color:#fff;background:#6259e6;box-shadow:none}.seopress-option .wp-picker-container button{box-shadow:none;border:1px solid #0071a1;border-radius:3px;background:#f3f5f6;text-transform:none}.seopress-option .wp-picker-container input[type=text].wp-color-picker{min-width:inherit}.seopress-option .wp-picker-container .wp-picker-default{margin:0}.seopress-option .wp-picker-container .wp-picker-clear{box-shadow:none;text-transform:none;border-radius:0;background:0 0;margin:0}.seopress-option .wp-picker-container .wp-picker-clear:hover{background:0 0;text-decoration:currentColor;color:inherit}.seopress-option .button .dashicons{font-size:16px;align-items:center;display:flex}#seopress-content .seopress-page-list .seopress-feature a.view-redirects{padding-left:30px}#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f344";left:inherit;right:10px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects::before{content:"\f177"}#seopress-content .seopress-page-list .seopress-feature a:hover,#seopress-notifications-center .seopress-alert .button-primary:hover,.seopress-get-started .button-primary:hover,.seopress-option .button:hover,.seopress-option .seopress-feature a:hover,.seopress-useful-tools .widget .button-primary:hover{text-decoration:none;color:#fff;background:#232323}.seopress-get-started .button .dashicons{transition:all .3s linear}.seopress-get-started .button:hover .dashicons{color:#fff}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:focus,#seopress-content .seopress-page-list .seopress-feature a:focus,#seopress-content .seopress-page-list .seopress-feature a:focus.button-secondary,#seopress-content a:focus,#seopress-notifications-center .seopress-alert .button-primary:focus,.seopress-option #seopress-tabs .seopress-doc:focus,.seopress-option .seopress-feature a:focus,.seopress-styles .seopress-option #seopress-aio-migrate:focus,.seopress-styles .seopress-option #seopress-yoast-migrate:focus,.seopress-styles .seopress-option #submit:focus,.seopress-useful-tools .widget .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;background:#008ec2;border-color:#006799;color:#fff}#seopress-admin-tabs .nav-tab-wrapper a.nav-tab-active:focus{color:inherit}#seopress-notifications-center .seopress-alert .button-primary{margin:5px 0;padding-right:30px}#seopress-notifications-center h2,.seopress-useful-tools h2{margin:5px 0 15px 5px;display:inline-block;width:100%}#seopress-notifications-center .dashicons,.seopress-useful-tools .dashicons{margin-right:10px}#seopress-notifications-center .seopress-alert{padding:1.5rem 2rem 1.2rem 1rem;border-bottom:1px solid #e6ebf1;width:calc(100% - 3rem);flex:1 1 auto;position:relative;transition:all 150ms ease;align-items:center;display:flex;justify-content:space-between}#seopress-notifications-center .seopress-alert:last-child{margin-bottom:0;border-bottom:none}#seopress-notifications-center .seopress-alert:hover{cursor:default}#seopress-notifications-center .dashicons{display:flex;align-self:normal;width:48px;height:48px;color:#d7dade;font-size:48px;padding:0 1rem}#seopress-notifications-center .seopress-alert p{margin:0}#seopress-notifications-center .notice-left{flex:1}#seopress-notifications-center .notice-left>p:first-child{color:#1a1f36;font-weight:500}#seopress-notifications-center .notice-right{padding:1rem 0 0 0;display:flex}#seopress-notifications-center .seopress-alert.impact::after{content:"";width:10px;height:10px;border-radius:50px;position:absolute;right:1rem;top:1rem}#seopress-notifications-center .seopress-alert.impact.low::after{background:#ffde24}#seopress-notifications-center .seopress-alert.impact.medium::after{background:#e39f48}#seopress-notifications-center .seopress-alert.impact.high::after{background:#e25950}#seopress-notifications-center .seopress-alert.impact.info::after{background:#0085ba}#seopress-notifications-center .seopress-alert.dashicons{color:#6f8096}#seopress-notifications-center .dashicons.remove-notice,.seopress-get-started .remove-notice{position:absolute;right:0;color:#6b7c93;font-size:20px;height:30px;width:30px;vertical-align:middle;top:1.2rem;line-height:30px;padding:5px;transition:all .3s linear;margin:0;display:block}.seopress-get-started .remove-notice{top:10px;right:10px}#seopress-notifications-center .dashicons.remove-notice:hover,.seopress-get-started .remove-notice:hover{color:#1a1f36;cursor:pointer}#seopress-content .seopress-page-list .seopress-feature .seopress-doc,.seopress-option #seopress-tabs .seopress-doc{background:0 0;padding:0;text-decoration:none;color:inherit;box-shadow:none;position:absolute;right:.5rem;top:1rem}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:active,#seopress-content .seopress-page-list .seopress-feature .seopress-doc:focus,#seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover,.seopress-option #seopress-tabs .seopress-doc:active,.seopress-option #seopress-tabs .seopress-doc:focus,.seopress-option #seopress-tabs .seopress-doc:hover{color:#747474;background:0 0;box-shadow:none;border:none}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover .dashicons{color:#232323}.seopress-option .seopress-table{background:#fff;border:1px solid #ccc}.seopress-option .seopress-table th{padding:15px 10px;vertical-align:middle}.wp-admin-ui_page_seopress-roles .seopress-option .seopress-table th{min-width:200px}.seopress-option .seopress-table .seopress-settings-section{background:#f1f1f1}.seopress-option .seopress-table .seopress-table-head .seopress-feature{border-bottom:1px solid #ccc;font-weight:700;background:#f1f1f1}#seopress-content .feature-state,.seopress-option .feature-state{font-style:italic;font-size:10px;display:inline-block;background:rgba(0,140,135,.1);padding:2px 10px;border-radius:25px;color:#444;font-weight:400;text-transform:none;-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}@media only screen and (max-width:782px){#seopress-content .feature-state,.seopress-option .feature-state{display:none}}.seopress-option .seopress_wrap_single_cpt .feature-state,.seopress-option .seopress_wrap_tax .feature-state{padding:2px 12px;margin:0 0 .5rem .5rem}.seopress-option #tab_seopress_titles_archives h2,.seopress-option #tab_seopress_titles_single h2,.seopress-option #tab_seopress_titles_tax h2{margin:2em 0 1em 0;border-top:1px solid #eee;padding:1em 0 0 0}.seopress-option #tab_seopress_titles_archives h2:first-child,.seopress-option #tab_seopress_titles_single h2:first-child,.seopress-option #tab_seopress_titles_tax h2:first-child{border-top:none;margin:0 0 1em 0}#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-button,.seopress-option .tag-title{cursor:pointer;font-weight:500;border-radius:4px;transition:all .3s linear}#seopress-content .feature-state-on,#seopress-content .feature-state.feature-state-on,.seopress-option .feature-state-on,.seopress-option .feature-state.feature-state-on{display:inline-block}#seopress-content .feature-state-off,.seopress-option .feature-state-off{display:none}.seopress-option .postbox .inside li{list-style:square inside;padding-left:5px}#tab_seopress_page_speed .inside li{list-style:none;padding-left:0;word-break:break-word}.seopress-option .log{margin:0;text-transform:uppercase;display:inline-block;vertical-align:middle;padding:5px;color:rgba(19,191,17,1);font-style:italic}.seopress-option input[type=text].seopress-admin-menu-input{min-width:inherit;width:100%}.seopress_page_seopress-import-export .postbox{width:calc(100% - 20px)}#seopress_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{position:relative;display:inline-block;width:100%;margin-bottom:10px}#seopress-tabs .sp-wrap-tag-variables-list,#seopress_cpt .sp-wrap-tag-variables-list,#seopress_pro_cpt .sp-wrap-tag-variables-list{position:relative;float:left;display:none}#seopress-tabs .sp-tag-variables-list,#seopress_cpt .sp-tag-variables-list,#seopress_pro_cpt .sp-tag-variables-list{background:#fff;position:absolute;left:-42px;width:300px;border-radius:4px;z-index:100;top:20px;color:#6b7c93;box-shadow:0 0 0 .5px rgba(50,50,93,.17),0 2px 5px 0 rgba(50,50,93,.12),0 3px 9px 0 rgba(50,50,93,.08),0 1px 1.5px 0 rgba(0,0,0,.08),0 1px 2px 0 rgba(0,0,0,.08);height:300px;z-index:100;overflow:auto}#seopress_cpt #seopress_titles_title_meta{margin-bottom:.2rem}#seopress-tabs .sp-wrap-tag-variables-list.open,#seopress_cpt .sp-wrap-tag-variables-list.open,#seopress_pro_cpt .sp-wrap-tag-variables-list.open{display:block}#seopress-tabs .seopress-tag-single-all.tag-description .dashicons,#seopress-tabs .seopress-tag-single-all.tag-title .dashicons,#seopress_cpt .seopress-tag-single-all.seopress-tag-dropdown .dashicons,#seopress_cpt .seopress-tag-single-all.tag-title .dashicons,#seopress_pro_cpt .seopress-tag-single-all.tag-title .dashicons{margin:0;transition:all 150ms linear}#seopress-tabs .seopress-tag-single-all.open .dashicons,#seopress_cpt .seopress-tag-single-all.open .dashicons,#seopress_pro_cpt .seopress-tag-single-all.open .dashicons{transform:rotateX(180deg)}#seopress-tabs .sp-tag-variables-list li,#seopress_cpt .sp-tag-variables-list li,#seopress_pro_cpt .sp-tag-variables-list li{padding:8px 12px;cursor:pointer;margin:0;border-bottom:1px solid #f0f0f0}#seopress-tabs .sp-tag-variables-list li span,#seopress_cpt .sp-tag-variables-list li span,#seopress_pro_cpt .sp-tag-variables-list li span{display:block;font-weight:700;font-size:12px;margin-bottom:2px}#seopress-tabs .sp-tag-variables-list li:hover,#seopress_cpt .sp-tag-variables-list li:hover,#seopress_pro_cpt .sp-tag-variables-list li:hover{background:#0385ba;color:#fff}#seopress-tabs .sp-tag-variables-list li::after,#seopress_cpt .sp-tag-variables-list li::after,#seopress_pro_cpt .sp-tag-variables-list li::after{content:attr(data-value);display:inline-block;background:#e9ecef;padding:1px 5px;color:#333;font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;border-radius:3px;font-size:11px}#seopress-tabs .seopress-tag-dropdown .dashicons,#seopress_cpt .seopress-tag-dropdown .dashicons,#seopress_cpt .tag-title .dashicons,#seopress_pro_cpt .tag-title .dashicons,.seopress-option .tag-title .dashicons{padding:0;height:16px;width:16px;font-size:16px;margin-right:5px;vertical-align:middle}.seopress-overlay-tag-dropdown{position:absolute;display:none;top:0;left:0;width:100%;height:100%;z-index:50}.seopress-overlay-tag-dropdown.active{display:block}#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-option .tag-title{padding:4px 8px;position:relative;top:5px;left:0;font-size:11px;float:left;margin-right:5px;user-select:none;margin-bottom:5px;background:#fff;color:#6b7c93;box-shadow:0 0 0 .5px rgba(50,50,93,.17),0 2px 5px 0 rgba(50,50,93,.12),0 3px 9px 0 rgba(50,50,93,.08),0 1px 1.5px 0 rgba(0,0,0,.08),0 1px 2px 0 rgba(0,0,0,.08)}#seopress-tabs .seopress-tag-dropdown .tag-title:active,#seopress-tabs .seopress-tag-dropdown .tag-title:focus,#seopress-tabs .seopress-tag-dropdown .tag-title:hover,#seopress_cpt .seopress-tag-dropdown .tag-title:active,#seopress_cpt .tag-title:active,#seopress_cpt .tag-title:focus,#seopress_cpt .tag-title:hover,#seopress_cpt-option .seopress-tag-dropdown .tag-title:focus,#seopress_cpt-option .seopress-tag-dropdown .tag-title:hover,#seopress_pro_cpt .tag-title:active,#seopress_pro_cpt .tag-title:focus,#seopress_pro_cpt .tag-title:hover,.seopress-tag-dropdown:active,.seopress-tag-dropdown:focus,.seopress-tag-dropdown:hover{background:#232323;color:#fff;user-select:none}.seopress-button{text-transform:uppercase;background:#fff;border-color:#c8d7e1;border-style:solid;border-width:1px 1px 2px;color:#2e4453;display:inline-block;margin:0;outline:0;overflow:hidden;text-overflow:ellipsis;text-decoration:none;vertical-align:top;box-sizing:border-box;font-size:14px;line-height:20px;padding:6px 8px 6px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.seopress-button:hover{border-color:#a8bece;color:#00a0d2}.seopress-button .dashicons{vertical-align:middle}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget{border-right:1px solid #e6ebf1;margin:0;padding:0 20px;width:calc(50% - 2px);box-sizing:border-box;display:inline-block;vertical-align:top}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:first-child{width:100%;display:block;clear:both;border-right:none;border-bottom:1px solid #e6ebf1;padding-bottom:20px;margin-bottom:20px}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:last-child{border-right:none}#seopress-content .seopress-useful-tools .widget-reverse ul{background:#fff}#seopress-content .seopress-useful-tools .widget-reverse li{padding:10px;margin:0;border-bottom:1px solid #e6ebf1}#seopress-content .seopress-useful-tools .widget-reverse li:hover{background:#f5f7fa}#seopress-content .seopress-useful-tools .widget-title{text-transform:uppercase;margin:0 0 10px;font-size:13px;padding:10px 0;color:#24b47e}#seopress-content .seopress-reverse label,#seopress-content .seopress-useful-tools .widget-whois ul li span{font-weight:700}#seopress-content #seopress-reverse-url{width:100%;margin:10px 0}#seopress-content .widget-reverse p{margin:0}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_url{width:35%}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_anchor_text{width:20%}.seopress-styles #screen-meta{margin:0;position:relative;background-color:#fff;border-bottom:0 solid #f2f2f2;border-top:none;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);top:0}.seopress-styles #contextual-help-link-wrap,.seopress-styles #screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #f2f2f2;border-top:none;background:#fff;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08)}.seopress-styles #screen-meta-links .show-settings{box-shadow:none}.seopress-styles #screen-meta-links .screen-meta-toggle{position:relative;top:0;z-index:2000}.seopress-styles #contextual-help-back{background:#f8fafd}.seopress-styles .contextual-help-tabs .active{border-left:2px solid #3297d3;background:#f8fafd}#seopress-content input.toggle,#seopress_cpt input.toggle,.seopress-option input.toggle{max-height:0;max-width:0;opacity:0;position:relative}.seopress-feature input.toggle{display:block}.wrap-toggle-preview{position:relative}.wrap-toggle-preview p{font-weight:700;margin:0 0 1rem 0}#seopress_cpt input.toggle,.seopress_wrap_single_cpt input.toggle,.seopress_wrap_tax input.toggle{margin:0;border:none;min-width:0}#seopress_content_analysis span.label,#seopress_cpt span.label{outline:0;color:#fff;box-shadow:none;background:#555d66;padding:2px 4px;border-radius:4px;font-weight:700}#seopress_add_to_insights{margin-left:1rem}#seopress_add_to_insights_status{display:inline-block;font-weight:700;margin:0 0 0 1rem;vertical-align:middle;padding:.3rem;font-style:italic}#seopress-content input.toggle+label,#seopress_cpt #tabs-1 input.toggle+label,.seopress-option input.toggle+label{display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #d5d5d5;text-indent:-5000px;height:20px;width:40px;border-radius:15px}#seopress_cpt #tabs-1 input.toggle+label{margin:0}.wrap-toggle-checkboxes input.toggle+label{float:left;margin-right:10px}#seopress-content input.toggle+label:before,#seopress_cpt input.toggle+label:before,.seopress-option input.toggle+label:before{content:"";position:absolute;display:block;height:20px;width:30px;top:0;left:0;border-radius:15px;background:rgba(19,191,17,0);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress-content input.toggle+label:after,#seopress_cpt input.toggle+label:after,.seopress-option input.toggle+label:after{content:"";position:absolute;display:block;height:20px;width:20px;top:0;left:0;border-radius:15px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.2);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress_cpt input.toggle+label,#seopress_cpt input.toggle+label:before,.seopress_wrap_single_cpt input.toggle+label,.seopress_wrap_single_cpt input.toggle+label:before,.seopress_wrap_tax input.toggle+label,.seopress_wrap_tax input.toggle+label:before{width:40px;height:20px}#seopress_cpt input.toggle+label:after,.seopress_wrap_single_cpt input.toggle+label:after,.seopress_wrap_tax input.toggle+label:after{width:20px;height:20px}#seopress-content input.toggle[data-toggle="1"]+label:before,#seopress_cpt input.toggle[data-toggle="1"]+label:before,.seopress-option input.toggle[data-toggle="1"]+label:before{width:40px;background:#3197d3}#seopress_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:before{width:40px;background:#3197d3}#seopress-content input.toggle[data-toggle="1"]+label:after,#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress-option input.toggle[data-toggle="1"]+label:after{left:20px;box-shadow:inset 0 0 0 1px #3197d3,0 2px 4px rgba(0,0,0,.2)}#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:after{box-shadow:inset 0 0 0 1px #3197d3,0 2px 4px rgba(0,0,0,.2)}#seopress-content .seopress-page-list{position:relative;display:grid;max-width:64rem;grid-gap:20px 20px;grid-template-columns:repeat(3,1fr)}@media only screen and (max-width:782px){#seopress-content .seopress-page-list{grid-template-columns:repeat(1,1fr)}}#seopress-notice-save{position:fixed;color:#fff;padding:15px 40px;font-size:.9rem;text-transform:uppercase;text-align:center;border-radius:0;background:rgba(74,184,102,.9);bottom:0;right:0;z-index:500;width:100%;font-weight:700}#seopress-notice-save .dashicons{color:#fff}.seopress-styles .wrap{margin:20px 0 0 0;display:flex;position:relative}.seopress-insights.seopress-styles .wrap,.toplevel_page_seopress-option.seopress-styles .wrap{display:inherit;position:inherit;margin:inherit}@media only screen and (max-width:782px){.seopress-styles .wrap{display:inherit;position:inherit;margin:inherit}}.seopress_page_seopress-pro-page #wpcontent{background:#f4f7fa}.seopress-option .wrap div.nav-tab-wrapper{margin:0 0 0 -26px;padding:0 0 0 10px;line-height:inherit;width:230px;z-index:95;font-weight:400;display:block;border-bottom:none}@media only screen and (max-width:782px){.seopress-option .wrap div.nav-tab-wrapper{width:100%;margin:0;padding:0}}#seopress-admin-tabs.wrap div.nav-tab-wrapper{margin:20px auto 0;max-width:64rem;width:100%;border-bottom:1px solid #e6ebf1;padding:0;line-height:inherit;position:-webkit-sticky;position:sticky;background:#f5f7fa;z-index:100;top:31px;border-radius:4px 4px 0 0;font-weight:400;overflow:hidden;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box}@media only screen and (max-width:600px){#seopress-admin-tabs.wrap div.nav-tab-wrapper{top:0;display:block}}@media only screen and (max-width:1024px){#seopress-admin-tabs.wrap div.nav-tab-wrapper{display:block}}#seopress-admin-tabs #tab_seopress_notifications.seopress-tab{background:0 0;padding:0;border-radius:0}.seopress-option .nav-tab{border:0 solid #ccc;background:0 0;opacity:.5;padding:6px 30px 6px 10px;transition:opacity .3s linear;color:#191e23;margin:0;float:none;display:inline-block;width:100%;text-align:left;font-weight:400;box-sizing:border-box;white-space:normal}#seopress-admin-tabs .nav-tab{border:0 solid #ccc;background:0 0;opacity:.5;padding:14px 20px;transition:opacity .3s linear;color:#191e23;margin:0;box-shadow:inset -1px 0 #e3e8ee;float:none;display:inline-block;text-align:center;font-weight:400}#seopress-admin-tabs .nav-tab{width:100%}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:hover,.seopress-option .about-wrap h2 .nav-tab-active,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:hover{background-color:#fff}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus,.nav-tab-active:focus,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:focus:active,.seopress-option .nav-tab-active:hover,.seopress-option .nav-tab:focus{opacity:1;outline:0;font-weight:600;position:relative;color:#191e23;border-left:3px solid #0085ba;background:rgba(0,133,186,.1)}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus{border-bottom:3px solid #3197d3;border-left:none;background:#fff}#seopress-admin-tabs .nav-tab:hover,.seopress-option .nav-tab:hover{opacity:1}#seopress-admin-tabs .nav-tab:focus,.seopress-option .nav-tab:focus{outline:0;box-shadow:none}.seopress-option .section-tool{border:none;box-shadow:none;background:0 0;position:relative}.seopress-option .section-tool::after{content:"";background:#dedede;height:1px;width:100%;display:block}.seopress-option .sp-section-header{border-bottom:1px solid #eee;margin:0 0 1rem 0;width:100%;display:flex;position:relative;align-items:center;padding-bottom:.5rem}.seopress-option .sp-section-header::after{position:absolute;content:"";background:#0085ba;height:2px;width:40px;bottom:0;left:0}.seopress-option .sp-section-header h2{font-size:1.5em}.seopress-option .sp-section-header>.dashicons{color:#0085ba;padding:10px;border-radius:6px;margin-right:10px;background:#c4f0ff}.seopress-option .sp-section-header .wrap-toggle-checkboxes{display:flex}.seopress-styles .wrap .notice{margin:5px 0 15px 15px}#seopress-tabs.wrap .notice{margin:1rem 0}.seopress-BlankState a.button-primary,.seopress-BlankState button.button-primary,.seopress-message a.button-primary,.seopress-message button.button-primary{background:#6259e6;border-color:#6259e6;box-shadow:transparent 0 0 0 0,transparent 0 0 0 0,rgba(0,0,0,.12) 0 1px 1px 0,rgba(60,66,87,.16) 0 0 0 1px,transparent 0 0 0 0,transparent 0 0 0 0,rgba(60,66,87,.12) 0 2px 5px 0;color:#fff;display:inline-block}.seopress-BlankState a.button-primary:active,.seopress-BlankState a.button-primary:focus,.seopress-BlankState a.button-primary:hover,.seopress-BlankState button.button-primary:active,.seopress-BlankState button.button-primary:focus,.seopress-BlankState button.button-primary:hover,.seopress-message a.button-primary:active,.seopress-message a.button-primary:focus,.seopress-message a.button-primary:hover,.seopress-message button.button-primary:active,.seopress-message button.button-primary:focus,.seopress-message button.button-primary:hover{background:#6259e6;border-color:#6259e6;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 #6259e6}.post-type-seopress_404 .seopress-BlankState-message::before,.post-type-seopress_schemas .seopress-BlankState-message::before{font-family:Dashicons;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"\f103"}.post-type-seopress_schemas .seopress-BlankState-message::before{content:"\f495"}.seopress-BlankState{text-align:center;padding:5em 0 0}.seopress-BlankState .seopress-BlankState-message{color:#aaa;margin:0 auto 1.5em;line-height:1.5em;font-size:1.2em;max-width:500px}.seopress-BlankState .seopress-BlankState-message::before{color:#ddd;text-shadow:0 -1px 1px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.8);font-size:8em;display:block;position:relative!important;top:auto;left:auto;line-height:1em;margin:0 0 .1875em}.seopress-BlankState .seopress-BlankState-cta{font-size:1.2em;padding:.75em 1.5em;margin:0 .25em;height:auto;display:inline-block!important}.seopress-BlankState{max-width:764px;text-align:center;margin:auto}.seopress-BlankState .seopress-BlankState-message{color:#444;font-size:1.5em;margin:0 auto 1em}.seopress-BlankState .seopress-BlankState-message::before{font-size:120px}.seopress-BlankState .seopress-BlankState-buttons{margin-bottom:4em}#seopress_content_analysis .up,#seopress_content_analysis .up .dashicons{color:#4ab866}#seopress_content_analysis .down,#seopress_content_analysis .down .dashicons{color:#d94f4f}#seopress_content_analysis .up .dashicons{transform:rotateZ(45deg)}#seopress_content_analysis .stable .dashicons{transform:rotateZ(90deg)}#seopress_content_analysis .down .dashicons{transform:rotateZ(135deg)}#seopress_content_analysis .wrap-insights-post{clear:both;border-top:1px solid #e2e4e7;display:flex;align-items:center}#seopress_content_analysis .wrap-insights-post .widget-insights-title{margin:0 1rem}#seopress_content_analysis .wrap-insights-post span{font-weight:700;margin:0 .2rem 0 0}#seopress_content_analysis .wrap-insights-post .sp-tooltip *{font-weight:400}#seopress_content_analysis .wrap-insights-post .sp-tooltip-headings{font-weight:700}.sp-components-snackbar-list{position:fixed;right:0;bottom:40px;padding-left:16px;padding-right:16px;animation-name:sp-fade-in-out;animation-duration:5s;animation-iteration-count:1;animation-fill-mode:forwards;visibility:hidden;z-index:1}.sp-components-snackbar__content{display:flex;align-items:center;justify-content:space-between;line-height:1.4}.sp-components-snackbar{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#32373c;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;width:100%;max-width:600px;box-sizing:border-box;cursor:pointer}.sp-components-snackbar .dashicons{color:#fff}
assets/js/seopress-analytics.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(e){jQuery(document.body).on("updated_cart_totals wc_cart_emptied removed_from_cart added_to_cart",function(){e.ajax({method:"GET",url:seopressAjaxAnalytics.seopress_analytics,data:{action:"seopress_after_update_cart",_ajax_nonce:seopressAjaxAnalytics.seopress_nonce},success:function(e){jQuery("body").append(e.data)}})})});
1
+ jQuery(document).ready((function($){jQuery(document.body).on("updated_cart_totals wc_cart_emptied removed_from_cart added_to_cart",(function(){$.ajax({method:"GET",url:seopressAjaxAnalytics.seopress_analytics,data:{action:"seopress_after_update_cart",_ajax_nonce:seopressAjaxAnalytics.seopress_nonce},success:function(data){jQuery("body").append(data.data)}})}))}));
assets/js/seopress-block-editor.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(e){const{subscribe:t,select:s}=wp.data;let a=!1;t(()=>{var t=wp.data.select("core/editor").isAutosavingPost(),s=wp.data.select("core/edit-post").isSavingMetaBoxes();if(s&&!t&&!a){if(void 0!==e("#seopress-tabs").attr("data_id"))var i=e("#seopress-tabs").attr("data_id");else if(void 0!==e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_id"))i=e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_id");if(void 0!==e("#seopress-tabs").attr("data_tax"))var o=e("#seopress-tabs").attr("data_tax");else if(void 0!==e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_tax"))o=e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_tax");if(void 0!==e("#seopress-tabs").attr("data_origin"))var p=e("#seopress-tabs").attr("data_origin");else if(void 0!==e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_origin"))p=e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_origin");e.ajax({method:"GET",url:seopressAjaxRealPreview.seopress_real_preview,data:{action:"seopress_do_real_preview",post_id:i,tax_name:o,origin:p,post_type:e("#seopress_launch_analysis").attr("data_post_type"),seopress_analysis_target_kw:e("#seopress_analysis_target_kw_meta").val(),_ajax_nonce:seopressAjaxRealPreview.seopress_nonce},beforeSend:function(){e(".analysis-score p span").fadeIn().text(seopressAjaxRealPreview.i18n.progress),e(".analysis-score p").addClass("loading")},success:function(t){void 0===t.data.og_title?og_title="":og_title=t.data.og_title.values,void 0===t.data.og_desc?og_desc="":og_desc=t.data.og_desc.values,void 0===t.data.og_img?og_img="":og_img=t.data.og_img.values,void 0===t.data.og_url?og_url="":og_url=t.data.og_url.host,void 0===t.data.og_site_name?og_site_name="":og_site_name=t.data.og_site_name.values,void 0===t.data.tw_title?tw_title="":tw_title=t.data.tw_title.values,void 0===t.data.tw_desc?tw_desc="":tw_desc=t.data.tw_desc.values,void 0===t.data.tw_img?tw_img="":tw_img=t.data.tw_img.values,void 0===t.data.meta_robots?meta_robots="":meta_robots=t.data.meta_robots[0];var s={og_title:og_title,og_desc:og_desc,og_img:og_img,og_url:og_url,og_site_name:og_site_name,tw_title:tw_title,tw_desc:tw_desc,tw_img:tw_img};for(var a in s)s.length&&(a=s[a].length>1?s[a].slice(-1)[0]:s[a][0]);meta_robots=meta_robots.toString(),e("#sp-advanced-alert").empty();var i=new RegExp("noindex");i.test(meta_robots)&&e("#sp-advanced-alert").append('<span class="impact high" aria-hidden="true"></span>'),e("#seopress_cpt .google-snippet-preview .snippet-title").html(t.data.title),e("#seopress_cpt .google-snippet-preview .snippet-title-default").html(t.data.title),e("#seopress_titles_title_meta").attr("placeholder",t.data.title),e("#seopress_cpt .google-snippet-preview .snippet-description").html(t.data.meta_desc),e("#seopress_cpt .google-snippet-preview .snippet-description-default").html(t.data.meta_desc),e("#seopress_titles_desc_meta").attr("placeholder",t.data.meta_desc),s.og_title&&(e("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder",s.og_title[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title").html(s.og_title[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title-default").html(s.og_title[0])),s.og_desc&&(e("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder",s.og_desc[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description").html(s.og_desc[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description-default").html(s.og_desc[0])),s.og_img&&(e("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder",s.og_img[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img img").attr("src",s.og_img[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img-default img").attr("src",s.og_img[0])),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-url").html(s.og_url),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-site-name").html(s.og_site_name),s.tw_title&&(e("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder",s.tw_title[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title").html(s.tw_title[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title-default").html(s.tw_title[0])),s.tw_desc&&(e("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder",s.tw_desc[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description").html(s.tw_desc[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description-default").html(s.tw_desc[0])),s.tw_img&&(e("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder",s.tw_img[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img img").attr("src",s.tw_img[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img-default img").attr("src",s.tw_img[0])),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-url").html(s.og_url),e("#seopress_cpt #seopress_robots_canonical_meta").attr("placeholder",t.data.canonical),e("#seopress-analysis-tabs").load(" #seopress-analysis-tabs-1","",sp_ca_toggle),e(".analysis-score p").removeClass("loading")}})}a=!!s})});
1
+ jQuery(document).ready((function($){const{subscribe:subscribe,select:select}=wp.data;let hasSaved=!1;subscribe(()=>{var isAutosavingPost=wp.data.select("core/editor").isAutosavingPost(),isSavingMetaBoxes=wp.data.select("core/edit-post").isSavingMetaBoxes();if(isSavingMetaBoxes&&!isAutosavingPost&&!hasSaved){if(void 0!==$("#seopress-tabs").attr("data_id"))var post_id=$("#seopress-tabs").attr("data_id");else if(void 0!==$("#seopress_content_analysis .wrap-seopress-analysis").attr("data_id"))var post_id=$("#seopress_content_analysis .wrap-seopress-analysis").attr("data_id");if(void 0!==$("#seopress-tabs").attr("data_tax"))var tax_name=$("#seopress-tabs").attr("data_tax");else if(void 0!==$("#seopress_content_analysis .wrap-seopress-analysis").attr("data_tax"))var tax_name=$("#seopress_content_analysis .wrap-seopress-analysis").attr("data_tax");if(void 0!==$("#seopress-tabs").attr("data_origin"))var origin=$("#seopress-tabs").attr("data_origin");else if(void 0!==$("#seopress_content_analysis .wrap-seopress-analysis").attr("data_origin"))var origin=$("#seopress_content_analysis .wrap-seopress-analysis").attr("data_origin");$.ajax({method:"GET",url:seopressAjaxRealPreview.seopress_real_preview,data:{action:"seopress_do_real_preview",post_id:post_id,tax_name:tax_name,origin:origin,post_type:$("#seopress_launch_analysis").attr("data_post_type"),seopress_analysis_target_kw:$("#seopress_analysis_target_kw_meta").val(),_ajax_nonce:seopressAjaxRealPreview.seopress_nonce},beforeSend:function(){$(".analysis-score p span").fadeIn().text(seopressAjaxRealPreview.i18n.progress),$(".analysis-score p").addClass("loading")},success:function(s){void 0===s.data.og_title?og_title="":og_title=s.data.og_title.values,void 0===s.data.og_desc?og_desc="":og_desc=s.data.og_desc.values,void 0===s.data.og_img?og_img="":og_img=s.data.og_img.values,void 0===s.data.og_url?og_url="":og_url=s.data.og_url.host,void 0===s.data.og_site_name?og_site_name="":og_site_name=s.data.og_site_name.values,void 0===s.data.tw_title?tw_title="":tw_title=s.data.tw_title.values,void 0===s.data.tw_desc?tw_desc="":tw_desc=s.data.tw_desc.values,void 0===s.data.tw_img?tw_img="":tw_img=s.data.tw_img.values,void 0===s.data.meta_robots?meta_robots="":meta_robots=s.data.meta_robots[0];var data_arr={og_title:og_title,og_desc:og_desc,og_img:og_img,og_url:og_url,og_site_name:og_site_name,tw_title:tw_title,tw_desc:tw_desc,tw_img:tw_img},if_noindex;for(var key in data_arr)data_arr.length&&(key=data_arr[key].length>1?data_arr[key].slice(-1)[0]:data_arr[key][0]);meta_robots=meta_robots.toString(),$("#sp-advanced-alert").empty(),new RegExp("noindex").test(meta_robots)&&$("#sp-advanced-alert").append('<span class="impact high" aria-hidden="true"></span>'),$("#seopress_cpt .google-snippet-preview .snippet-title").html(s.data.title),$("#seopress_cpt .google-snippet-preview .snippet-title-default").html(s.data.title),$("#seopress_titles_title_meta").attr("placeholder",s.data.title),$("#seopress_cpt .google-snippet-preview .snippet-description").html(s.data.meta_desc),$("#seopress_cpt .google-snippet-preview .snippet-description-default").html(s.data.meta_desc),$("#seopress_titles_desc_meta").attr("placeholder",s.data.meta_desc),data_arr.og_title&&($("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder",data_arr.og_title[0]),$("#seopress_cpt .facebook-snippet-preview .snippet-fb-title").html(data_arr.og_title[0]),$("#seopress_cpt .facebook-snippet-preview .snippet-fb-title-default").html(data_arr.og_title[0])),data_arr.og_desc&&($("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder",data_arr.og_desc[0]),$("#seopress_cpt .facebook-snippet-preview .snippet-fb-description").html(data_arr.og_desc[0]),$("#seopress_cpt .facebook-snippet-preview .snippet-fb-description-default").html(data_arr.og_desc[0])),data_arr.og_img&&($("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder",data_arr.og_img[0]),$("#seopress_cpt .facebook-snippet-preview .snippet-fb-img img").attr("src",data_arr.og_img[0]),$("#seopress_cpt .facebook-snippet-preview .snippet-fb-img-default img").attr("src",data_arr.og_img[0])),$("#seopress_cpt .facebook-snippet-preview .snippet-fb-url").html(data_arr.og_url),$("#seopress_cpt .facebook-snippet-preview .snippet-fb-site-name").html(data_arr.og_site_name),data_arr.tw_title&&($("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder",data_arr.tw_title[0]),$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title").html(data_arr.tw_title[0]),$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title-default").html(data_arr.tw_title[0])),data_arr.tw_desc&&($("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder",data_arr.tw_desc[0]),$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description").html(data_arr.tw_desc[0]),$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description-default").html(data_arr.tw_desc[0])),data_arr.tw_img&&($("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder",data_arr.tw_img[0]),$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img img").attr("src",data_arr.tw_img[0]),$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img-default img").attr("src",data_arr.tw_img[0])),$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-url").html(data_arr.og_url),$("#seopress_cpt #seopress_robots_canonical_meta").attr("placeholder",s.data.canonical),$("#seopress-analysis-tabs").load(" #seopress-analysis-tabs-1","",sp_ca_toggle),$(".analysis-score p").removeClass("loading")}})}hasSaved=!!isSavingMetaBoxes})}));
assets/js/seopress-cookies-ajax.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(s){null==Cookies.get("seopress-user-consent-close")&&null==Cookies.get("seopress-user-consent-accept")&&(s(".seopress-user-consent.seopress-user-message").removeClass("seopress-user-consent-hide"),s(".seopress-user-consent-backdrop").removeClass("seopress-user-consent-hide")),s("#seopress-user-consent-accept").on("click",function(){s(".seopress-user-consent.seopress-user-message").addClass("seopress-user-consent-hide"),s(".seopress-user-consent-backdrop").addClass("seopress-user-consent-hide"),s.ajax({method:"GET",url:seopressAjaxGAUserConsent.seopress_cookies_user_consent,data:{action:"seopress_cookies_user_consent",_ajax_nonce:seopressAjaxGAUserConsent.seopress_nonce},success:function(e){e.data&&(s("head").append(e.data.gtag_js),s("head").append(e.data.matomo_js),s("head").append(e.data.custom),s("head").append(e.data.head_js),s("body").prepend(e.data.body_js),s("body").append(e.data.footer_js)),Cookies.set("seopress-user-consent-accept","1",{expires:Number(seopressAjaxGAUserConsent.seopress_cookies_expiration_days)})}})}),s("#seopress-user-consent-close").on("click",function(){s(".seopress-user-consent.seopress-user-message").addClass("seopress-user-consent-hide"),s(".seopress-user-consent-backdrop").addClass("seopress-user-consent-hide"),Cookies.set("seopress-user-consent-close","1",{expires:Number(seopressAjaxGAUserConsent.seopress_cookies_expiration_days)}),Cookies.remove("seopress-user-consent-accept")}),s("#seopress-user-consent-edit").on("click",function(){s(".seopress-user-consent.seopress-user-message").removeClass("seopress-user-consent-hide"),s(".seopress-user-consent-backdrop").removeClass("seopress-user-consent-hide")})});
1
+ jQuery(document).ready((function($){null==Cookies.get("seopress-user-consent-close")&&null==Cookies.get("seopress-user-consent-accept")&&($(".seopress-user-consent.seopress-user-message").removeClass("seopress-user-consent-hide"),$(".seopress-user-consent-backdrop").removeClass("seopress-user-consent-hide")),$("#seopress-user-consent-accept").on("click",(function(){$(".seopress-user-consent.seopress-user-message").addClass("seopress-user-consent-hide"),$(".seopress-user-consent-backdrop").addClass("seopress-user-consent-hide"),$.ajax({method:"GET",url:seopressAjaxGAUserConsent.seopress_cookies_user_consent,data:{action:"seopress_cookies_user_consent",_ajax_nonce:seopressAjaxGAUserConsent.seopress_nonce},success:function(data){data.data&&($("head").append(data.data.gtag_js),$("head").append(data.data.matomo_js),$("head").append(data.data.custom),$("head").append(data.data.head_js),$("body").prepend(data.data.body_js),$("body").append(data.data.footer_js)),Cookies.set("seopress-user-consent-accept","1",{expires:Number(seopressAjaxGAUserConsent.seopress_cookies_expiration_days)})}})})),$("#seopress-user-consent-close").on("click",(function(){$(".seopress-user-consent.seopress-user-message").addClass("seopress-user-consent-hide"),$(".seopress-user-consent-backdrop").addClass("seopress-user-consent-hide"),Cookies.set("seopress-user-consent-close","1",{expires:Number(seopressAjaxGAUserConsent.seopress_cookies_expiration_days)}),Cookies.remove("seopress-user-consent-accept")})),$("#seopress-user-consent-edit").on("click",(function(){$(".seopress-user-consent.seopress-user-message").removeClass("seopress-user-consent-hide"),$(".seopress-user-consent-backdrop").removeClass("seopress-user-consent-hide")}))}));
assets/js/seopress-cookies.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var n=!1;if("function"==typeof define&&define.amd&&(define(e),n=!0),"object"==typeof exports&&(module.exports=e(),n=!0),!n){var o=window.Cookies,t=window.Cookies=e();t.noConflict=function(){return window.Cookies=o,t}}}(function(){function e(){for(var e=0,n={};e<arguments.length;e++){var o=arguments[e];for(var t in o)n[t]=o[t]}return n}return function n(o){function t(n,r,i){var c;if("undefined"!=typeof document){if(arguments.length>1){if("number"==typeof(i=e({path:"/"},t.defaults,i)).expires){var a=new Date;a.setMilliseconds(a.getMilliseconds()+864e5*i.expires),i.expires=a}i.expires=i.expires?i.expires.toUTCString():"";try{c=JSON.stringify(r),/^[\{\[]/.test(c)&&(r=c)}catch(e){}r=o.write?o.write(r,n):encodeURIComponent(String(r)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),n=(n=(n=encodeURIComponent(String(n))).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape);var s="";for(var f in i)i[f]&&(s+="; "+f,!0!==i[f]&&(s+="="+i[f]));return document.cookie=n+"="+r+s}n||(c={});for(var p=document.cookie?document.cookie.split("; "):[],d=/(%[0-9A-Z]{2})+/g,u=0;u<p.length;u++){var l=p[u].split("="),C=l.slice(1).join("=");this.json||'"'!==C.charAt(0)||(C=C.slice(1,-1));try{var g=l[0].replace(d,decodeURIComponent);if(C=o.read?o.read(C,g):o(C,g)||C.replace(d,decodeURIComponent),this.json)try{C=JSON.parse(C)}catch(e){}if(n===g){c=C;break}n||(c[g]=C)}catch(e){}}return c}}return t.set=t,t.get=function(e){return t.call(t,e)},t.getJSON=function(){return t.apply({json:!0},[].slice.call(arguments))},t.defaults={},t.remove=function(n,o){t(n,"",e(o,{expires:-1}))},t.withConverter=n,t}(function(){})});
1
+ !function(e){var n=!1;if("function"==typeof define&&define.amd&&(define(e),n=!0),"object"==typeof exports&&(module.exports=e(),n=!0),!n){var o=window.Cookies,t=window.Cookies=e();t.noConflict=function(){return window.Cookies=o,t}}}((function(){function e(){for(var e=0,n={};e<arguments.length;e++){var o=arguments[e];for(var t in o)n[t]=o[t]}return n}return function n(o){function t(n,r,i){var c;if("undefined"!=typeof document){if(arguments.length>1){if("number"==typeof(i=e({path:"/"},t.defaults,i)).expires){var a=new Date;a.setMilliseconds(a.getMilliseconds()+864e5*i.expires),i.expires=a}i.expires=i.expires?i.expires.toUTCString():"";try{c=JSON.stringify(r),/^[\{\[]/.test(c)&&(r=c)}catch(e){}r=o.write?o.write(r,n):encodeURIComponent(String(r)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),n=(n=(n=encodeURIComponent(String(n))).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape);var s="";for(var f in i)i[f]&&(s+="; "+f,!0!==i[f]&&(s+="="+i[f]));return document.cookie=n+"="+r+s}n||(c={});for(var p=document.cookie?document.cookie.split("; "):[],d=/(%[0-9A-Z]{2})+/g,u=0;u<p.length;u++){var l=p[u].split("="),C=l.slice(1).join("=");this.json||'"'!==C.charAt(0)||(C=C.slice(1,-1));try{var g=l[0].replace(d,decodeURIComponent);if(C=o.read?o.read(C,g):o(C,g)||C.replace(d,decodeURIComponent),this.json)try{C=JSON.parse(C)}catch(e){}if(n===g){c=C;break}n||(c[g]=C)}catch(e){}}return c}}return t.set=t,t.get=function(e){return t.call(t,e)},t.getJSON=function(){return t.apply({json:!0},[].slice.call(arguments))},t.defaults={},t.remove=function(n,o){t(n,"",e(o,{expires:-1}))},t.withConverter=n,t}((function(){}))}));
assets/js/seopress-counters.min.js CHANGED
@@ -1 +1 @@
1
- function sp_titles_counters(){const e=jQuery;let t=e("#seopress_titles_title_meta");if(e("#seopress_titles_title_meta").length){e(".snippet-title-custom:visible").length>0?t=e(".snippet-title-custom"):e(".snippet-title:visible").length>0?t=e(".snippet-title"):e(".snippet-title-default:visible").length>0&&(t=e(".snippet-title-default"));var s=t.val(),i=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").after('<div id="seopress_titles_title_counters_val">/ 60</div>'),s.length>0?(jQuery("#seopress_titles_title_counters").text(s.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(s))):i.length&&(jQuery("#seopress_titles_title_counters").text(i.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(i))),s.length>60?jQuery("#seopress_titles_title_counters").css("color","red"):i.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(s)>568?jQuery("#seopress_titles_title_pixel").css("color","red"):pixelTitle(i)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),s.length)var r=Math.round(pixelTitle(s)/568*100);else r=Math.round(pixelTitle(i)/568*100);r>=100&&(r=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",r),jQuery("#seopress_titles_title_counters_progress").text(r+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",r+"%"),jQuery("#seopress_titles_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",function(t){var s=e("#seopress_titles_title_meta").val();e(".snippet-title-custom:visible").length>0?s=e(".snippet-title-custom").text():e(".snippet-title:visible").length>0?s=e(".snippet-title").text():e(".snippet-title-default:visible").length>0&&(s=e(".snippet-title-default").text());var i=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").css("color","inherit"),jQuery("#seopress_titles_title_pixel").css("color","inherit"),s.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(s)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),0==s.length&&(i.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(i)>568&&jQuery("#seopress_titles_title_pixel").css("color","red")),s.length>0?(jQuery("#seopress_titles_title_counters").text(s.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(s))):i.length&&(jQuery("#seopress_titles_title_counters").text(i.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(i))),s.length)var r=Math.round(pixelTitle(s)/568*100);else r=Math.round(pixelTitle(i)/568*100);r>=100&&(r=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",r),jQuery("#seopress_titles_title_counters_progress").text(r+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",r+"%")})}}function sp_meta_desc_counters(){if(jQuery("#seopress_titles_desc_meta").length){var e=jQuery("#seopress_titles_desc_meta").val(),t=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").after('<div id="seopress_titles_desc_counters_val">/ 160</div>'),e.length>0?(jQuery("#seopress_titles_desc_counters").text(e.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(e))):t.length&&(jQuery("#seopress_titles_desc_counters").text(t.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(t))),e.length>160?jQuery("#seopress_titles_desc_counters").css("color","red"):t.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(e)>940?jQuery("#seopress_titles_desc_pixel").css("color","red"):pixelDesc(t)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),e.length)var s=Math.round(pixelDesc(e)/940*100);else s=Math.round(pixelDesc(t)/940*100);s>=100&&(s=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",s),jQuery("#seopress_titles_desc_counters_progress").text(s+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",s+"%"),jQuery("#seopress_titles_desc_meta, #seopress-tag-single-excerpt").on("keyup paste change click",function(e){var t=jQuery("#seopress_titles_desc_meta").val(),s=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").css("color","inherit"),jQuery("#seopress_titles_desc_pixel").css("color","inherit"),t.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(t)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),0==t.length&&(s.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(s)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red")),t.length>0?(jQuery("#seopress_titles_desc_counters").text(t.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(t))):s.length&&(jQuery("#seopress_titles_desc_counters").text(s.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(s))),t.length>0?(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")):0==t.length&&(jQuery(".snippet-description-default").css("display","inline"),jQuery(".snippet-description-custom").css("display","none"),jQuery(".snippet-description").css("display","none")),t.length)var i=Math.round(pixelDesc(t)/940*100);else i=Math.round(pixelDesc(s)/940*100);i>=100&&(i=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",i),jQuery("#seopress_titles_desc_counters_progress").text(i+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",i+"%")}),jQuery("#excerpt, .editor-post-excerpt textarea").keyup(function(e){var t=jQuery("#seopress_titles_desc_meta").val(),s=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(0==t.length&&0==jQuery(".snippet-description-custom").val().length&&(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")),t.length)var i=t.length;else i=s.length;i>=100&&(i=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",i),jQuery("#seopress_titles_desc_counters_progress").text(i+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",i+"%")})}}function pixelTitle(e){return inputText=e,font="18px Arial",canvas=document.createElement("canvas"),context=canvas.getContext("2d"),context.font=font,width=context.measureText(inputText).width,formattedWidth=Math.ceil(width),formattedWidth}function pixelDesc(e){return inputText=e,font="14px Arial",canvas=document.createElement("canvas"),context=canvas.getContext("2d"),context.font=font,width=context.measureText(inputText).width,formattedWidth=Math.ceil(width),formattedWidth}function sp_is_valid_url(e){var t=e.match(/(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g);return null!==t}function sp_social_img(e){if(jQuery("#seopress_social_fb_title_meta").length){jQuery(".snippet-"+e+"-img-alert").css("display","none");var t=jQuery("#seopress_social_"+e+"_img_meta").val();if(""==t)t=jQuery("#seopress_social_"+e+"_img_meta").attr("placeholder");!0===sp_is_valid_url(t)?(t.length>0?(jQuery(".snippet-"+e+"-img-custom img").attr("src",t),jQuery(".snippet-"+e+"-img").css("display","none"),jQuery(".snippet-"+e+"-img-custom").css("display","block"),jQuery(".snippet-"+e+"-img-default").css("display","none")):0==t.length&&(jQuery(".snippet-"+e+"-img-default").css("display","block"),jQuery(".snippet-"+e+"-img-custom").css("display","none"),jQuery(".snippet-"+e+"-img").css("display","none")),t.length>0&&jQuery.get(t).done(function(){var s=t.split(/\#|\?/)[0].split(".").pop().trim(),i=["jpg","jpeg","gif","png"];if(-1==i.indexOf(s))jQuery(".snippet-"+e+"-img-alert.alert1").css("display","block");else{var r=new Image;r.src=t,jQuery(r).one("load",function(){pic_real_width=parseInt(r.width),pic_real_height=parseInt(r.height),"fb"==e?(min_width=200,min_height=200):(min_width=144,min_height=144),(pic_real_width<min_width||pic_real_height<min_height)&&jQuery(".snippet-"+e+"-img-alert.alert2").css("display","block"),ratio_img=(pic_real_width/pic_real_height).toFixed(2),jQuery(".snippet-"+e+"-img-alert.alert4").css("display","block"),jQuery(".snippet-"+e+"-img-alert.alert4 span").text(ratio_img)})}}).fail(function(){jQuery(".snippet-"+e+"-img-alert.alert3").css("display","block")})):jQuery(".snippet-"+e+"-img-alert.alert5").css("display","block")}}function sp_social(){jQuery("#seopress_social_fb_title_meta").length&&(jQuery("#seopress_social_fb_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",function(e){var t=jQuery("#seopress_social_fb_title_meta").val();t.length>0?(jQuery(".snippet-fb-title-custom").text(e.target.value),jQuery(".snippet-fb-title").css("display","none"),jQuery(".snippet-fb-title-custom").css("display","block"),jQuery(".snippet-fb-title-default").css("display","none")):0==t.length&&(jQuery(".snippet-fb-title-default").css("display","block"),jQuery(".snippet-fb-title-custom").css("display","none"),jQuery(".snippet-fb-title").css("display","none"))}),jQuery("#seopress_social_fb_desc_meta").on("keyup paste change click",function(e){var t=jQuery("#seopress_social_fb_desc_meta").val();t.length>0?(jQuery(".snippet-fb-description-custom").text(e.target.value),jQuery(".snippet-fb-description").css("display","none"),jQuery(".snippet-fb-description-custom").css("display","block"),jQuery(".snippet-fb-description-default").css("display","none")):0==t.length&&(jQuery(".snippet-fb-description-default").css("display","block"),jQuery(".snippet-fb-description-custom").css("display","none"),jQuery(".snippet-fb-description").css("display","none"))}),sp_social_img("fb"),jQuery("#seopress_social_fb_img_meta").on("keyup paste change click",function(){sp_social_img("fb")}),jQuery("#seopress_social_twitter_title_meta").on("keyup paste change click",function(e){var t=jQuery("#seopress_social_twitter_title_meta").val();t.length>0?(jQuery(".snippet-twitter-title-custom").text(e.target.value),jQuery(".snippet-twitter-title").css("display","none"),jQuery(".snippet-twitter-title-custom").css("display","block"),jQuery(".snippet-twitter-title-default").css("display","none")):0==t.length&&(jQuery(".snippet-twitter-title-default").css("display","block"),jQuery(".snippet-twitter-title-custom").css("display","none"),jQuery(".snippet-twitter-title").css("display","none"))}),jQuery("#seopress_social_twitter_desc_meta").on("keyup paste change click",function(e){var t=jQuery("#seopress_social_twitter_desc_meta").val();t.length>0?(jQuery(".snippet-twitter-description-custom").text(e.target.value),jQuery(".snippet-twitter-description").css("display","none"),jQuery(".snippet-twitter-description-custom").css("display","block"),jQuery(".snippet-twitter-description-default").css("display","none")):0==t.length&&(jQuery(".snippet-twitter-description-default").css("display","block"),jQuery(".snippet-twitter-description-custom").css("display","none"),jQuery(".snippet-twitter-description").css("display","none"))}),sp_social_img("twitter"),jQuery("#seopress_social_twitter_img_meta").on("keyup paste change click",function(){sp_social_img("twitter")}))}function sp_ca_toggle(){var e=!1;jQuery(".gr-analysis-title .btn-toggle").on("click",function(t){e&&(event.stopImmediatePropagation(),event.preventDefault(),e=!1),jQuery(this).toggleClass("open"),jQuery(this).parent().parent().next(".gr-analysis-content").toggle()}),jQuery("#expand-all").on("click",function(e){e.preventDefault(),jQuery(".gr-analysis-content").show()}),jQuery("#close-all").on("click",function(e){e.preventDefault(),jQuery(".gr-analysis-content").hide()})}function seopress_google_suggest(e){var t,s=String(e),i=s.split(",");for(t=0;t<i.length;t++)null!=i[t]&&null!=i[t]&&""!=i[t]&&"[object Object]"!=i[t]&&(document.getElementById("seopress_suggestions").innerHTML+='<li><a href="#" class="sp-suggest-btn button button-small">'+i[t]+"</a></li>");jQuery(".sp-suggest-btn").click(function(e){e.preventDefault(),target_kw.addTags(jQuery(this).text())})}var input=document.querySelector("input[id=seopress_analysis_target_kw_meta]"),target_kw=new Tagify(input,{originalInputValueFormat:e=>e.map(e=>e.value).join(",")});jQuery(document).ready(function(e){function t(){if(void 0!==e("#seopress-tabs").attr("data_id"))var t=e("#seopress-tabs").attr("data_id");else if(void 0!==e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_id"))t=e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_id");if(void 0!==e("#seopress-tabs").attr("data_tax"))var s=e("#seopress-tabs").attr("data_tax");else if(void 0!==e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_tax"))s=e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_tax");if(void 0!==e("#seopress-tabs").attr("data_origin"))var i=e("#seopress-tabs").attr("data_origin");else if(void 0!==e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_origin"))i=e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_origin");e.ajax({method:"GET",url:seopressAjaxRealPreview.seopress_real_preview,data:{action:"seopress_do_real_preview",post_id:t,tax_name:s,origin:i,post_type:e("#seopress_launch_analysis").attr("data_post_type"),seopress_analysis_target_kw:e("#seopress_analysis_target_kw_meta").val(),_ajax_nonce:seopressAjaxRealPreview.seopress_nonce},beforeSend:function(){e(".analysis-score p span").fadeIn().text(seopressAjaxRealPreview.i18n.progress),e(".analysis-score p").addClass("loading")},success:function(t){void 0===t.data.og_title?og_title="":og_title=t.data.og_title.values,void 0===t.data.og_desc?og_desc="":og_desc=t.data.og_desc.values,void 0===t.data.og_img?og_img="":og_img=t.data.og_img.values,void 0===t.data.og_url?og_url="":og_url=t.data.og_url.host,void 0===t.data.og_site_name?og_site_name="":og_site_name=t.data.og_site_name.values,void 0===t.data.tw_title?tw_title="":tw_title=t.data.tw_title.values,void 0===t.data.tw_desc?tw_desc="":tw_desc=t.data.tw_desc.values,void 0===t.data.tw_img?tw_img="":tw_img=t.data.tw_img.values,void 0===t.data.meta_robots?meta_robots="":meta_robots=t.data.meta_robots[0];var s={og_title:og_title,og_desc:og_desc,og_img:og_img,og_url:og_url,og_site_name:og_site_name,tw_title:tw_title,tw_desc:tw_desc,tw_img:tw_img};for(var i in s)s.length&&(i=s[i].length>1?s[i].slice(-1)[0]:s[i][0]);meta_robots=meta_robots.toString(),e("#sp-advanced-alert").empty();var r=new RegExp("noindex");r.test(meta_robots)&&e("#sp-advanced-alert").append('<span class="impact high" aria-hidden="true"></span>'),e("#seopress_cpt .google-snippet-preview .snippet-title").html(t.data.title),e("#seopress_cpt .google-snippet-preview .snippet-title-default").html(t.data.title),e("#seopress_titles_title_meta").attr("placeholder",t.data.title),e("#seopress_cpt .google-snippet-preview .snippet-description").html(t.data.meta_desc),e("#seopress_cpt .google-snippet-preview .snippet-description-default").html(t.data.meta_desc),e("#seopress_titles_desc_meta").attr("placeholder",t.data.meta_desc),s.og_title&&(e("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder",s.og_title[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title").html(s.og_title[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title-default").html(s.og_title[0])),s.og_desc&&(e("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder",s.og_desc[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description").html(s.og_desc[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description-default").html(s.og_desc[0])),s.og_img&&(e("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder",s.og_img[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img img").attr("src",s.og_img[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img-default img").attr("src",s.og_img[0])),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-url").html(s.og_url),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-site-name").html(s.og_site_name),s.tw_title&&(e("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder",s.tw_title[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title").html(s.tw_title[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title-default").html(s.tw_title[0])),s.tw_desc&&(e("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder",s.tw_desc[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description").html(s.tw_desc[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description-default").html(s.tw_desc[0])),s.tw_img&&(e("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder",s.tw_img[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img img").attr("src",s.tw_img[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img-default img").attr("src",s.tw_img[0])),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-url").html(s.og_url),e("#seopress_cpt #seopress_robots_canonical_meta").attr("placeholder",t.data.canonical),e("#seopress-analysis-tabs").load(" #seopress-analysis-tabs-1","",sp_ca_toggle),e(".analysis-score p").removeClass("loading"),e(" #seopress_titles_title_counters_val").remove(),e(" #seopress_titles_desc_counters_val").remove(),sp_titles_counters(),sp_meta_desc_counters(),sp_social()}})}"1"==jQuery("#toggle-preview").attr("data-toggle")?jQuery("#seopress_cpt .google-snippet-preview").addClass("mobile-preview"):jQuery("#seopress_cpt .google-snippet-preview").removeClass("mobile-preview"),jQuery("#toggle-preview").on("click",function(){jQuery("#toggle-preview").attr("data-toggle","1"==jQuery("#toggle-preview").attr("data-toggle")?"0":"1"),jQuery("#seopress_cpt .google-snippet-preview").toggleClass("mobile-preview")}),t(),e("#seopress_launch_analysis").on("click",function(){t()}),sp_ca_toggle()});
1
+ function sp_titles_counters(){const $=jQuery;let elementTitleMeta=$("#seopress_titles_title_meta");if($("#seopress_titles_title_meta").length){$(".snippet-title-custom:visible").length>0?elementTitleMeta=$(".snippet-title-custom"):$(".snippet-title:visible").length>0?elementTitleMeta=$(".snippet-title"):$(".snippet-title-default:visible").length>0&&(elementTitleMeta=$(".snippet-title-default"));var meta_title_val=elementTitleMeta.val(),meta_title_placeholder=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").after('<div id="seopress_titles_title_counters_val">/ 60</div>'),meta_title_val.length>0?(jQuery("#seopress_titles_title_counters").text(meta_title_val.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(meta_title_val))):meta_title_placeholder.length&&(jQuery("#seopress_titles_title_counters").text(meta_title_placeholder.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(meta_title_placeholder))),meta_title_val.length>60?jQuery("#seopress_titles_title_counters").css("color","red"):meta_title_placeholder.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(meta_title_val)>568?jQuery("#seopress_titles_title_pixel").css("color","red"):pixelTitle(meta_title_placeholder)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),meta_title_val.length)var progress=Math.round(pixelTitle(meta_title_val)/568*100);else var progress=Math.round(pixelTitle(meta_title_placeholder)/568*100);progress>=100&&(progress=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",progress),jQuery("#seopress_titles_title_counters_progress").text(progress+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",progress+"%"),jQuery("#seopress_titles_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",(function(e){var meta_title_val=$("#seopress_titles_title_meta").val();$(".snippet-title-custom:visible").length>0?meta_title_val=$(".snippet-title-custom").text():$(".snippet-title:visible").length>0?meta_title_val=$(".snippet-title").text():$(".snippet-title-default:visible").length>0&&(meta_title_val=$(".snippet-title-default").text());var meta_title_placeholder=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").css("color","inherit"),jQuery("#seopress_titles_title_pixel").css("color","inherit"),meta_title_val.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(meta_title_val)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),0==meta_title_val.length&&(meta_title_placeholder.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(meta_title_placeholder)>568&&jQuery("#seopress_titles_title_pixel").css("color","red")),meta_title_val.length>0?(jQuery("#seopress_titles_title_counters").text(meta_title_val.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(meta_title_val))):meta_title_placeholder.length&&(jQuery("#seopress_titles_title_counters").text(meta_title_placeholder.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(meta_title_placeholder))),meta_title_val.length)var progress=Math.round(pixelTitle(meta_title_val)/568*100);else var progress=Math.round(pixelTitle(meta_title_placeholder)/568*100);progress>=100&&(progress=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",progress),jQuery("#seopress_titles_title_counters_progress").text(progress+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",progress+"%")}))}}function sp_meta_desc_counters(){if(jQuery("#seopress_titles_desc_meta").length){var meta_desc_val=jQuery("#seopress_titles_desc_meta").val(),meta_desc_placeholder=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").after('<div id="seopress_titles_desc_counters_val">/ 160</div>'),meta_desc_val.length>0?(jQuery("#seopress_titles_desc_counters").text(meta_desc_val.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(meta_desc_val))):meta_desc_placeholder.length&&(jQuery("#seopress_titles_desc_counters").text(meta_desc_placeholder.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(meta_desc_placeholder))),meta_desc_val.length>160?jQuery("#seopress_titles_desc_counters").css("color","red"):meta_desc_placeholder.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(meta_desc_val)>940?jQuery("#seopress_titles_desc_pixel").css("color","red"):pixelDesc(meta_desc_placeholder)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),meta_desc_val.length)var progress=Math.round(pixelDesc(meta_desc_val)/940*100);else var progress=Math.round(pixelDesc(meta_desc_placeholder)/940*100);progress>=100&&(progress=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",progress),jQuery("#seopress_titles_desc_counters_progress").text(progress+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",progress+"%"),jQuery("#seopress_titles_desc_meta, #seopress-tag-single-excerpt").on("keyup paste change click",(function(e){var meta_desc_val=jQuery("#seopress_titles_desc_meta").val(),meta_desc_placeholder=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").css("color","inherit"),jQuery("#seopress_titles_desc_pixel").css("color","inherit"),meta_desc_val.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(meta_desc_val)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),0==meta_desc_val.length&&(meta_desc_placeholder.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(meta_desc_placeholder)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red")),meta_desc_val.length>0?(jQuery("#seopress_titles_desc_counters").text(meta_desc_val.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(meta_desc_val))):meta_desc_placeholder.length&&(jQuery("#seopress_titles_desc_counters").text(meta_desc_placeholder.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(meta_desc_placeholder))),meta_desc_val.length>0?(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")):0==meta_desc_val.length&&(jQuery(".snippet-description-default").css("display","inline"),jQuery(".snippet-description-custom").css("display","none"),jQuery(".snippet-description").css("display","none")),meta_desc_val.length)var progress=Math.round(pixelDesc(meta_desc_val)/940*100);else var progress=Math.round(pixelDesc(meta_desc_placeholder)/940*100);progress>=100&&(progress=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",progress),jQuery("#seopress_titles_desc_counters_progress").text(progress+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",progress+"%")})),jQuery("#excerpt, .editor-post-excerpt textarea").keyup((function(e){var meta_desc_val=jQuery("#seopress_titles_desc_meta").val(),meta_desc_placeholder=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(0==meta_desc_val.length&&0==jQuery(".snippet-description-custom").val().length&&(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")),meta_desc_val.length)var progress=meta_desc_val.length;else var progress=meta_desc_placeholder.length;progress>=100&&(progress=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",progress),jQuery("#seopress_titles_desc_counters_progress").text(progress+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",progress+"%")}))}}function pixelTitle(e){return inputText=e,font="18px Arial",canvas=document.createElement("canvas"),context=canvas.getContext("2d"),context.font=font,width=context.measureText(inputText).width,formattedWidth=Math.ceil(width),formattedWidth}function pixelDesc(e){return inputText=e,font="14px Arial",canvas=document.createElement("canvas"),context=canvas.getContext("2d"),context.font=font,width=context.measureText(inputText).width,formattedWidth=Math.ceil(width),formattedWidth}function sp_is_valid_url(string){var res;return null!==string.match(/(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g)}function sp_social_img(social_slug){if(jQuery("#seopress_social_fb_title_meta").length){var meta_img_val;if(jQuery(".snippet-"+social_slug+"-img-alert").css("display","none"),""==(meta_img_val=jQuery("#seopress_social_"+social_slug+"_img_meta").val()))var meta_img_val=jQuery("#seopress_social_"+social_slug+"_img_meta").attr("placeholder");!0===sp_is_valid_url(meta_img_val)?(meta_img_val.length>0?(jQuery(".snippet-"+social_slug+"-img-custom img").attr("src",meta_img_val),jQuery(".snippet-"+social_slug+"-img").css("display","none"),jQuery(".snippet-"+social_slug+"-img-custom").css("display","block"),jQuery(".snippet-"+social_slug+"-img-default").css("display","none")):0==meta_img_val.length&&(jQuery(".snippet-"+social_slug+"-img-default").css("display","block"),jQuery(".snippet-"+social_slug+"-img-custom").css("display","none"),jQuery(".snippet-"+social_slug+"-img").css("display","none")),meta_img_val.length>0&&jQuery.get(meta_img_val).done((function(){var meta_img_filetype=meta_img_val.split(/\#|\?/)[0].split(".").pop().trim(),types;if(-1==["jpg","jpeg","gif","png"].indexOf(meta_img_filetype))jQuery(".snippet-"+social_slug+"-img-alert.alert1").css("display","block");else{var tmp_img=new Image;tmp_img.src=meta_img_val,jQuery(tmp_img).one("load",(function(){pic_real_width=parseInt(tmp_img.width),pic_real_height=parseInt(tmp_img.height),"fb"==social_slug?(min_width=200,min_height=200):(min_width=144,min_height=144),(pic_real_width<min_width||pic_real_height<min_height)&&jQuery(".snippet-"+social_slug+"-img-alert.alert2").css("display","block"),ratio_img=(pic_real_width/pic_real_height).toFixed(2),jQuery(".snippet-"+social_slug+"-img-alert.alert4").css("display","block"),jQuery(".snippet-"+social_slug+"-img-alert.alert4 span").text(ratio_img)}))}})).fail((function(){jQuery(".snippet-"+social_slug+"-img-alert.alert3").css("display","block")}))):jQuery(".snippet-"+social_slug+"-img-alert.alert5").css("display","block")}}function sp_social(){jQuery("#seopress_social_fb_title_meta").length&&(jQuery("#seopress_social_fb_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",(function(e){var meta_fb_title_val=jQuery("#seopress_social_fb_title_meta").val();meta_fb_title_val.length>0?(jQuery(".snippet-fb-title-custom").text(e.target.value),jQuery(".snippet-fb-title").css("display","none"),jQuery(".snippet-fb-title-custom").css("display","block"),jQuery(".snippet-fb-title-default").css("display","none")):0==meta_fb_title_val.length&&(jQuery(".snippet-fb-title-default").css("display","block"),jQuery(".snippet-fb-title-custom").css("display","none"),jQuery(".snippet-fb-title").css("display","none"))})),jQuery("#seopress_social_fb_desc_meta").on("keyup paste change click",(function(e){var meta_fb_desc_val=jQuery("#seopress_social_fb_desc_meta").val();meta_fb_desc_val.length>0?(jQuery(".snippet-fb-description-custom").text(e.target.value),jQuery(".snippet-fb-description").css("display","none"),jQuery(".snippet-fb-description-custom").css("display","block"),jQuery(".snippet-fb-description-default").css("display","none")):0==meta_fb_desc_val.length&&(jQuery(".snippet-fb-description-default").css("display","block"),jQuery(".snippet-fb-description-custom").css("display","none"),jQuery(".snippet-fb-description").css("display","none"))})),sp_social_img("fb"),jQuery("#seopress_social_fb_img_meta").on("keyup paste change click",(function(){sp_social_img("fb")})),jQuery("#seopress_social_twitter_title_meta").on("keyup paste change click",(function(e){var meta_fb_title_val=jQuery("#seopress_social_twitter_title_meta").val();meta_fb_title_val.length>0?(jQuery(".snippet-twitter-title-custom").text(e.target.value),jQuery(".snippet-twitter-title").css("display","none"),jQuery(".snippet-twitter-title-custom").css("display","block"),jQuery(".snippet-twitter-title-default").css("display","none")):0==meta_fb_title_val.length&&(jQuery(".snippet-twitter-title-default").css("display","block"),jQuery(".snippet-twitter-title-custom").css("display","none"),jQuery(".snippet-twitter-title").css("display","none"))})),jQuery("#seopress_social_twitter_desc_meta").on("keyup paste change click",(function(e){var meta_fb_desc_val=jQuery("#seopress_social_twitter_desc_meta").val();meta_fb_desc_val.length>0?(jQuery(".snippet-twitter-description-custom").text(e.target.value),jQuery(".snippet-twitter-description").css("display","none"),jQuery(".snippet-twitter-description-custom").css("display","block"),jQuery(".snippet-twitter-description-default").css("display","none")):0==meta_fb_desc_val.length&&(jQuery(".snippet-twitter-description-default").css("display","block"),jQuery(".snippet-twitter-description-custom").css("display","none"),jQuery(".snippet-twitter-description").css("display","none"))})),sp_social_img("twitter"),jQuery("#seopress_social_twitter_img_meta").on("keyup paste change click",(function(){sp_social_img("twitter")})))}function sp_ca_toggle(){var stop=!1;jQuery(".gr-analysis-title .btn-toggle").on("click",(function(e){stop&&(event.stopImmediatePropagation(),event.preventDefault(),stop=!1),jQuery(this).toggleClass("open"),jQuery(this).parent().parent().next(".gr-analysis-content").toggle()})),jQuery("#expand-all").on("click",(function(e){e.preventDefault(),jQuery(".gr-analysis-content").show()})),jQuery("#close-all").on("click",(function(e){e.preventDefault(),jQuery(".gr-analysis-content").hide()}))}var input=document.querySelector("input[id=seopress_analysis_target_kw_meta]"),target_kw=new Tagify(input,{originalInputValueFormat:valuesArr=>valuesArr.map(item=>item.value).join(",")});function seopress_google_suggest(data){var raw_suggestions,suggestions_array=String(data).split(","),i;for(i=0;i<suggestions_array.length;i++)null!=suggestions_array[i]&&null!=suggestions_array[i]&&""!=suggestions_array[i]&&"[object Object]"!=suggestions_array[i]&&(document.getElementById("seopress_suggestions").innerHTML+='<li><a href="#" class="sp-suggest-btn button button-small">'+suggestions_array[i]+"</a></li>");jQuery(".sp-suggest-btn").click((function(e){e.preventDefault(),target_kw.addTags(jQuery(this).text())}))}jQuery(document).ready((function(e){function s(){if(void 0!==e("#seopress-tabs").attr("data_id"))var post_id=e("#seopress-tabs").attr("data_id");else if(void 0!==e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_id"))var post_id=e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_id");if(void 0!==e("#seopress-tabs").attr("data_tax"))var tax_name=e("#seopress-tabs").attr("data_tax");else if(void 0!==e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_tax"))var tax_name=e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_tax");if(void 0!==e("#seopress-tabs").attr("data_origin"))var origin=e("#seopress-tabs").attr("data_origin");else if(void 0!==e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_origin"))var origin=e("#seopress_content_analysis .wrap-seopress-analysis").attr("data_origin");e.ajax({method:"GET",url:seopressAjaxRealPreview.seopress_real_preview,data:{action:"seopress_do_real_preview",post_id:post_id,tax_name:tax_name,origin:origin,post_type:e("#seopress_launch_analysis").attr("data_post_type"),seopress_analysis_target_kw:e("#seopress_analysis_target_kw_meta").val(),_ajax_nonce:seopressAjaxRealPreview.seopress_nonce},beforeSend:function(){e(".analysis-score p span").fadeIn().text(seopressAjaxRealPreview.i18n.progress),e(".analysis-score p").addClass("loading")},success:function(s){void 0===s.data.og_title?og_title="":og_title=s.data.og_title.values,void 0===s.data.og_desc?og_desc="":og_desc=s.data.og_desc.values,void 0===s.data.og_img?og_img="":og_img=s.data.og_img.values,void 0===s.data.og_url?og_url="":og_url=s.data.og_url.host,void 0===s.data.og_site_name?og_site_name="":og_site_name=s.data.og_site_name.values,void 0===s.data.tw_title?tw_title="":tw_title=s.data.tw_title.values,void 0===s.data.tw_desc?tw_desc="":tw_desc=s.data.tw_desc.values,void 0===s.data.tw_img?tw_img="":tw_img=s.data.tw_img.values,void 0===s.data.meta_robots?meta_robots="":meta_robots=s.data.meta_robots[0];var data_arr={og_title:og_title,og_desc:og_desc,og_img:og_img,og_url:og_url,og_site_name:og_site_name,tw_title:tw_title,tw_desc:tw_desc,tw_img:tw_img},if_noindex;for(var key in data_arr)data_arr.length&&(key=data_arr[key].length>1?data_arr[key].slice(-1)[0]:data_arr[key][0]);meta_robots=meta_robots.toString(),e("#sp-advanced-alert").empty(),new RegExp("noindex").test(meta_robots)&&e("#sp-advanced-alert").append('<span class="impact high" aria-hidden="true"></span>'),e("#seopress_cpt .google-snippet-preview .snippet-title").html(s.data.title),e("#seopress_cpt .google-snippet-preview .snippet-title-default").html(s.data.title),e("#seopress_titles_title_meta").attr("placeholder",s.data.title),e("#seopress_cpt .google-snippet-preview .snippet-description").html(s.data.meta_desc),e("#seopress_cpt .google-snippet-preview .snippet-description-default").html(s.data.meta_desc),e("#seopress_titles_desc_meta").attr("placeholder",s.data.meta_desc),data_arr.og_title&&(e("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder",data_arr.og_title[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title").html(data_arr.og_title[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title-default").html(data_arr.og_title[0])),data_arr.og_desc&&(e("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder",data_arr.og_desc[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description").html(data_arr.og_desc[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description-default").html(data_arr.og_desc[0])),data_arr.og_img&&(e("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder",data_arr.og_img[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img img").attr("src",data_arr.og_img[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img-default img").attr("src",data_arr.og_img[0])),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-url").html(data_arr.og_url),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-site-name").html(data_arr.og_site_name),data_arr.tw_title&&(e("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder",data_arr.tw_title[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title").html(data_arr.tw_title[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title-default").html(data_arr.tw_title[0])),data_arr.tw_desc&&(e("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder",data_arr.tw_desc[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description").html(data_arr.tw_desc[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description-default").html(data_arr.tw_desc[0])),data_arr.tw_img&&(e("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder",data_arr.tw_img[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img img").attr("src",data_arr.tw_img[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img-default img").attr("src",data_arr.tw_img[0])),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-url").html(data_arr.og_url),e("#seopress_cpt #seopress_robots_canonical_meta").attr("placeholder",s.data.canonical),e("#seopress-analysis-tabs").load(" #seopress-analysis-tabs-1","",sp_ca_toggle),e(".analysis-score p").removeClass("loading"),e(" #seopress_titles_title_counters_val").remove(),e(" #seopress_titles_desc_counters_val").remove(),sp_titles_counters(),sp_meta_desc_counters(),sp_social()}})}"1"==jQuery("#toggle-preview").attr("data-toggle")?jQuery("#seopress_cpt .google-snippet-preview").addClass("mobile-preview"):jQuery("#seopress_cpt .google-snippet-preview").removeClass("mobile-preview"),jQuery("#toggle-preview").on("click",(function(){jQuery("#toggle-preview").attr("data-toggle","1"==jQuery("#toggle-preview").attr("data-toggle")?"0":"1"),jQuery("#seopress_cpt .google-snippet-preview").toggleClass("mobile-preview")})),s(),e("#seopress_launch_analysis").on("click",(function(){s()})),sp_ca_toggle()}));
assets/js/seopress-dashboard.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(e){e.trim(e("#seopress-notifications-center").html())||e("#seopress-notifications-center").remove();const t=["notice-get-started","notice-wizard","notice-insights-wizard","notice-tagdiv","notice-divide-comments","notice-review","notice-trailingslash","notice-posts-number","notice-rss-use-excerpt","notice-ga-ids","notice-search-console","notice-google-business","notice-ssl","notice-title-tag","notice-enfold","notice-themes","notice-page-builders","notice-go-pro","notice-noindex"];t.forEach(function(t){e("#"+t).on("click",function(){e("#"+t).attr("data-notice","1"==e("#"+t).attr("data-notice")?"0":"1"),e.ajax({method:"POST",url:seopressAjaxHideNotices.seopress_hide_notices,data:{action:"seopress_hide_notices",notice:t,notice_value:e("#"+t).attr("data-notice"),_ajax_nonce:seopressAjaxHideNotices.seopress_nonce},success:function(s){e("#seopress-notice-save").css("display","block"),e("#seopress-notice-save .html").html("Notice successfully removed"),e("#"+t+"-alert").fadeOut(),e("#seopress-notice-save").delay(3500).fadeOut()}})})});const s=["titles","xml-sitemap","social","google-analytics","advanced","local-business","woocommerce","edd","dublin-core","rich-snippets","breadcrumbs","robots","news","404","bot","rewrite","white-label"];s.forEach(function(t){e("#toggle-"+t).on("click",function(){e("#toggle-"+t).attr("data-toggle","1"==e("#toggle-"+t).attr("data-toggle")?"0":"1"),e.ajax({method:"POST",url:seopressAjaxToggleFeatures.seopress_toggle_features,data:{action:"seopress_toggle_features",feature:"toggle-"+t,feature_value:e("#toggle-"+t).attr("data-toggle"),_ajax_nonce:seopressAjaxToggleFeatures.seopress_nonce},success:function(s){e("#seopress-notice-save").css("display","block"),e("#seopress-notice-save .html").html(t+" "+seopressAjaxToggleFeatures.i18n),e("#"+t+"-state").toggleClass("feature-state-on"),e("#"+t+"-state-default").toggleClass("feature-state-off"),e("#seopress-notice-save").delay(3500).fadeOut()}})})})});
1
+ jQuery(document).ready((function($){$.trim($("#seopress-notifications-center").html())||$("#seopress-notifications-center").remove();const notices=["notice-get-started","notice-wizard","notice-insights-wizard","notice-tagdiv","notice-divide-comments","notice-review","notice-trailingslash","notice-posts-number","notice-rss-use-excerpt","notice-ga-ids","notice-search-console","notice-google-business","notice-ssl","notice-title-tag","notice-enfold","notice-themes","notice-page-builders","notice-go-pro","notice-noindex"];notices.forEach((function(item){$("#"+item).on("click",(function(){$("#"+item).attr("data-notice","1"==$("#"+item).attr("data-notice")?"0":"1"),$.ajax({method:"POST",url:seopressAjaxHideNotices.seopress_hide_notices,data:{action:"seopress_hide_notices",notice:item,notice_value:$("#"+item).attr("data-notice"),_ajax_nonce:seopressAjaxHideNotices.seopress_nonce},success:function(data){$("#seopress-notice-save").css("display","block"),$("#seopress-notice-save .html").html("Notice successfully removed"),$("#"+item+"-alert").fadeOut(),$("#seopress-notice-save").delay(3500).fadeOut()}})}))}));const features=["titles","xml-sitemap","social","google-analytics","advanced","local-business","woocommerce","edd","dublin-core","rich-snippets","breadcrumbs","robots","news","404","bot","rewrite","white-label"];features.forEach((function(item){$("#toggle-"+item).on("click",(function(){$("#toggle-"+item).attr("data-toggle","1"==$("#toggle-"+item).attr("data-toggle")?"0":"1"),$.ajax({method:"POST",url:seopressAjaxToggleFeatures.seopress_toggle_features,data:{action:"seopress_toggle_features",feature:"toggle-"+item,feature_value:$("#toggle-"+item).attr("data-toggle"),_ajax_nonce:seopressAjaxToggleFeatures.seopress_nonce},success:function(data){$("#seopress-notice-save").css("display","block"),$("#seopress-notice-save .html").html(item+" "+seopressAjaxToggleFeatures.i18n),$("#"+item+"-state").toggleClass("feature-state-on"),$("#"+item+"-state-default").toggleClass("feature-state-off"),$("#seopress-notice-save").delay(3500).fadeOut()}})}))}))}));
assets/js/seopress-media-uploader.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(e){var t;e(".button.seopress_social_facebook_img_cpt").click(function(i){i.preventDefault();var s=e(this).parent().find("input[type=text]");t=wp.media.frames.file_frame=wp.media({multiple:!1}),t.on("select",function(){attachment=t.state().get("selection").first().toJSON(),e(s).val(attachment.url)}),t.open()});const i=["#seopress_social_knowledge_img","#seopress_social_twitter_img","#seopress_social_fb_img"];i.forEach(function(t){var i;e(t+"_upload").click(function(s){s.preventDefault(),i?i.open():(i=wp.media.frames.file_frame=wp.media({multiple:!1}),i.on("select",function(){attachment=i.state().get("selection").first().toJSON(),e(t+"_meta").val(attachment.url),"#seopress_social_fb_img"==t&&"undefined"!=typeof sp_social_img&&sp_social_img("fb"),"#seopress_social_twitter_img"==t&&"undefined"!=typeof sp_social_img&&sp_social_img("twitter")}),i.open())})})});
1
+ jQuery(document).ready((function($){var mediaUploader;$(".button.seopress_social_facebook_img_cpt").click((function(e){e.preventDefault();var url_field=$(this).parent().find("input[type=text]");(mediaUploader=wp.media.frames.file_frame=wp.media({multiple:!1})).on("select",(function(){attachment=mediaUploader.state().get("selection").first().toJSON(),$(url_field).val(attachment.url)})),mediaUploader.open()}));const array=["#seopress_social_knowledge_img","#seopress_social_twitter_img","#seopress_social_fb_img"];array.forEach((function(item){var mediaUploader;$(item+"_upload").click((function(e){e.preventDefault(),mediaUploader?mediaUploader.open():((mediaUploader=wp.media.frames.file_frame=wp.media({multiple:!1})).on("select",(function(){attachment=mediaUploader.state().get("selection").first().toJSON(),$(item+"_meta").val(attachment.url),"#seopress_social_fb_img"==item&&"undefined"!=typeof sp_social_img&&sp_social_img("fb"),"#seopress_social_twitter_img"==item&&"undefined"!=typeof sp_social_img&&sp_social_img("twitter")})),mediaUploader.open())}))}))}));
assets/js/seopress-migrate.js CHANGED
@@ -41,7 +41,7 @@ jQuery(document).ready(function ($) {
41
  "premium-seo-pack",
42
  "wpseo",
43
  "platinum-seo",
44
- "smartcrawl",
45
  "seopressor",
46
  "metadata",
47
  ];
41
  "premium-seo-pack",
42
  "wpseo",
43
  "platinum-seo",
44
+ "smart-crawl",
45
  "seopressor",
46
  "metadata",
47
  ];
assets/js/seopress-migrate.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(e){e("#select-wizard-redirects, #select-wizard-import").change(function(s){s.preventDefault();var r=e(this).val();"none"==r?e("#select-wizard-redirects option, #select-wizard-import option").each(function(){var s=e(this).val();e("#"+s).hide()}):(e("#select-wizard-redirects option:selected, #select-wizard-import option:selected").each(function(){var s=e(this).val();e("#"+s).show()}),e("#select-wizard-redirects option:not(:selected), #select-wizard-import option:not(:selected)").each(function(){var s=e(this).val();e("#"+s).hide()}))}).trigger("change");const s=["yoast","aio","seo-framework","rk","squirrly","seo-ultimate","wp-meta-seo","premium-seo-pack","wpseo","platinum-seo","smartcrawl","seopressor","metadata"];s.forEach(function(s){e("#seopress-"+s+"-migrate").on("click",function(e){switch(e.preventDefault(),id=s,e.target.id){case"seopress-yoast-migrate":url=seopressAjaxMigrate.seopress_yoast_migrate.seopress_yoast_migration,action="seopress_yoast_migration",_ajax_nonce=seopressAjaxMigrate.seopress_yoast_migrate.seopress_nonce;break;case"seopress-aio-migrate":url=seopressAjaxMigrate.seopress_aio_migrate.seopress_aio_migration,action="seopress_aio_migration",_ajax_nonce=seopressAjaxMigrate.seopress_aio_migrate.seopress_nonce;break;case"seopress-seo-framework-migrate":url=seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_seo_framework_migration,action="seopress_seo_framework_migration",_ajax_nonce=seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_nonce;break;case"seopress-rk-migrate":url=seopressAjaxMigrate.seopress_rk_migrate.seopress_rk_migration,action="seopress_rk_migration",_ajax_nonce=seopressAjaxMigrate.seopress_rk_migrate.seopress_nonce;break;case"seopress-squirrly-migrate":url=seopressAjaxMigrate.seopress_squirrly_migrate.seopress_squirrly_migration,action="seopress_squirrly_migration",_ajax_nonce=seopressAjaxMigrate.seopress_squirrly_migrate.seopress_nonce;break;case"seopress-seo-ultimate-migrate":url=seopressAjaxMigrate.seopress_seo_ultimate_migrate.seopress_seo_ultimate_migration,action="seopress_seo_ultimate_migration",_ajax_nonce=seopressAjaxMigrate.seopress_seo_ultimate_migrate.seopress_nonce;break;case"seopress-wp-meta-seo-migrate":url=seopressAjaxMigrate.seopress_wp_meta_seo_migrate.seopress_wp_meta_seo_migration,action="seopress_wp_meta_seo_migration",_ajax_nonce=seopressAjaxMigrate.seopress_wp_meta_seo_migrate.seopress_nonce;break;case"seopress-premium-seo-pack-migrate":url=seopressAjaxMigrate.seopress_premium_seo_pack_migrate.seopress_premium_seo_pack_migration,action="seopress_premium_seo_pack_migration",_ajax_nonce=seopressAjaxMigrate.seopress_premium_seo_pack_migrate.seopress_nonce;break;case"seopress-wpseo-migrate":url=seopressAjaxMigrate.seopress_wpseo_migrate.seopress_wpseo_migration,action="seopress_wpseo_migration",_ajax_nonce=seopressAjaxMigrate.seopress_wpseo_migrate.seopress_nonce;break;case"seopress-platinum-seo-migrate":url=seopressAjaxMigrate.seopress_platinum_seo_migrate.seopress_platinum_seo_migration,action="seopress_platinum_seo_migration",_ajax_nonce=seopressAjaxMigrate.seopress_platinum_seo_migrate.seopress_nonce;break;case"seopress-smart-crawl-migrate":url=seopressAjaxMigrate.seopress_smart_crawl_migrate.seopress_smart_crawl_migration,action="seopress_smart_crawl_migration",_ajax_nonce=seopressAjaxMigrate.seopress_smart_crawl_migrate.seopress_nonce;break;case"seopress-seopressor-migrate":url=seopressAjaxMigrate.seopress_seopressor_migrate.seopress_seopressor_migration,action="seopress_seopressor_migration",_ajax_nonce=seopressAjaxMigrate.seopress_seopressor_migrate.seopress_nonce;break;case"seopress-metadata-migrate":url=seopressAjaxMigrate.seopress_metadata_csv.seopress_metadata_export,action="seopress_metadata_export",_ajax_nonce=seopressAjaxMigrate.seopress_metadata_csv.seopress_nonce}self.process_offset(0,self,url,action,_ajax_nonce,id)}),process_offset=function(s,r,a,o,t,i,_,p){i18n=seopressAjaxMigrate.i18n.migration,"metadata"==i&&(i18n=seopressAjaxMigrate.i18n.export),e.ajax({method:"POST",url:a,data:{action:o,offset:s,post_export:_,term_export:p,_ajax_nonce:t},success:function(s){"done"==s.data.offset?(e("#seopress-"+i+"-migrate").removeAttr("disabled"),e(".spinner").css("visibility","hidden"),e("#"+i+"-migration-tool .log").html(i18n),""!=s.data.url&&e(location).attr("href",s.data.url)):r.process_offset(parseInt(s.data.offset),r,a,o,t,i,s.data.post_export,s.data.term_export)}})},e("#seopress-"+s+"-migrate").on("click",function(){e(this).attr("disabled","disabled"),e("#"+s+"-migration-tool .spinner").css("visibility","visible"),e("#"+s+"-migration-tool .spinner").css("float","none"),e("#"+s+"-migration-tool .log").html("")})})});
1
+ jQuery(document).ready((function($){$("#select-wizard-redirects, #select-wizard-import").change((function(e){var select;e.preventDefault(),"none"==$(this).val()?$("#select-wizard-redirects option, #select-wizard-import option").each((function(){var ids_to_hide=$(this).val();$("#"+ids_to_hide).hide()})):($("#select-wizard-redirects option:selected, #select-wizard-import option:selected").each((function(){var ids_to_show=$(this).val();$("#"+ids_to_show).show()})),$("#select-wizard-redirects option:not(:selected), #select-wizard-import option:not(:selected)").each((function(){var ids_to_hide=$(this).val();$("#"+ids_to_hide).hide()})))})).trigger("change");const seo_plugins=["yoast","aio","seo-framework","rk","squirrly","seo-ultimate","wp-meta-seo","premium-seo-pack","wpseo","platinum-seo","smart-crawl","seopressor","metadata"];seo_plugins.forEach((function(item){$("#seopress-"+item+"-migrate").on("click",(function(e){switch(e.preventDefault(),id=item,e.target.id){case"seopress-yoast-migrate":url=seopressAjaxMigrate.seopress_yoast_migrate.seopress_yoast_migration,action="seopress_yoast_migration",_ajax_nonce=seopressAjaxMigrate.seopress_yoast_migrate.seopress_nonce;break;case"seopress-aio-migrate":url=seopressAjaxMigrate.seopress_aio_migrate.seopress_aio_migration,action="seopress_aio_migration",_ajax_nonce=seopressAjaxMigrate.seopress_aio_migrate.seopress_nonce;break;case"seopress-seo-framework-migrate":url=seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_seo_framework_migration,action="seopress_seo_framework_migration",_ajax_nonce=seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_nonce;break;case"seopress-rk-migrate":url=seopressAjaxMigrate.seopress_rk_migrate.seopress_rk_migration,action="seopress_rk_migration",_ajax_nonce=seopressAjaxMigrate.seopress_rk_migrate.seopress_nonce;break;case"seopress-squirrly-migrate":url=seopressAjaxMigrate.seopress_squirrly_migrate.seopress_squirrly_migration,action="seopress_squirrly_migration",_ajax_nonce=seopressAjaxMigrate.seopress_squirrly_migrate.seopress_nonce;break;case"seopress-seo-ultimate-migrate":url=seopressAjaxMigrate.seopress_seo_ultimate_migrate.seopress_seo_ultimate_migration,action="seopress_seo_ultimate_migration",_ajax_nonce=seopressAjaxMigrate.seopress_seo_ultimate_migrate.seopress_nonce;break;case"seopress-wp-meta-seo-migrate":url=seopressAjaxMigrate.seopress_wp_meta_seo_migrate.seopress_wp_meta_seo_migration,action="seopress_wp_meta_seo_migration",_ajax_nonce=seopressAjaxMigrate.seopress_wp_meta_seo_migrate.seopress_nonce;break;case"seopress-premium-seo-pack-migrate":url=seopressAjaxMigrate.seopress_premium_seo_pack_migrate.seopress_premium_seo_pack_migration,action="seopress_premium_seo_pack_migration",_ajax_nonce=seopressAjaxMigrate.seopress_premium_seo_pack_migrate.seopress_nonce;break;case"seopress-wpseo-migrate":url=seopressAjaxMigrate.seopress_wpseo_migrate.seopress_wpseo_migration,action="seopress_wpseo_migration",_ajax_nonce=seopressAjaxMigrate.seopress_wpseo_migrate.seopress_nonce;break;case"seopress-platinum-seo-migrate":url=seopressAjaxMigrate.seopress_platinum_seo_migrate.seopress_platinum_seo_migration,action="seopress_platinum_seo_migration",_ajax_nonce=seopressAjaxMigrate.seopress_platinum_seo_migrate.seopress_nonce;break;case"seopress-smart-crawl-migrate":url=seopressAjaxMigrate.seopress_smart_crawl_migrate.seopress_smart_crawl_migration,action="seopress_smart_crawl_migration",_ajax_nonce=seopressAjaxMigrate.seopress_smart_crawl_migrate.seopress_nonce;break;case"seopress-seopressor-migrate":url=seopressAjaxMigrate.seopress_seopressor_migrate.seopress_seopressor_migration,action="seopress_seopressor_migration",_ajax_nonce=seopressAjaxMigrate.seopress_seopressor_migrate.seopress_nonce;break;case"seopress-metadata-migrate":url=seopressAjaxMigrate.seopress_metadata_csv.seopress_metadata_export,action="seopress_metadata_export",_ajax_nonce=seopressAjaxMigrate.seopress_metadata_csv.seopress_nonce}self.process_offset(0,self,url,action,_ajax_nonce,id)})),process_offset=function(offset,self,url,action,_ajax_nonce,id,post_export,term_export){i18n=seopressAjaxMigrate.i18n.migration,"metadata"==id&&(i18n=seopressAjaxMigrate.i18n.export),$.ajax({method:"POST",url:url,data:{action:action,offset:offset,post_export:post_export,term_export:term_export,_ajax_nonce:_ajax_nonce},success:function(data){"done"==data.data.offset?($("#seopress-"+id+"-migrate").removeAttr("disabled"),$(".spinner").css("visibility","hidden"),$("#"+id+"-migration-tool .log").html(i18n),""!=data.data.url&&$(location).attr("href",data.data.url)):self.process_offset(parseInt(data.data.offset),self,url,action,_ajax_nonce,id,data.data.post_export,data.data.term_export)}})},$("#seopress-"+item+"-migrate").on("click",(function(){$(this).attr("disabled","disabled"),$("#"+item+"-migration-tool .spinner").css("visibility","visible"),$("#"+item+"-migration-tool .spinner").css("float","none"),$("#"+item+"-migration-tool .log").html("")}))}))}));
assets/js/seopress-network-tabs.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(s){var e=window.location.hash,a=e.split("$");if("undefined"!=typeof sessionStorage){var t=sessionStorage.getItem("seopress_robots_tab");"1"==a[1]?(s("#tab_seopress_robots-tab").addClass("nav-tab-active"),s("#tab_seopress_robots").addClass("active")):"2"==a[1]?(s("#tab_seopress_htaccess-tab").addClass("nav-tab-active"),s("#tab_seopress_htaccess").addClass("active")):"3"==a[1]?(s("#tab_seopress_white_label-tab").addClass("nav-tab-active"),s("#tab_seopress_white_label").addClass("active")):t?(s("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+t.split("#tab=")+"-tab").addClass("nav-tab-active"),s("#"+t.split("#tab=")).addClass("active")):(s("#tab_seopress_robots-tab").addClass("nav-tab-active"),s("#tab_seopress_robots").addClass("active"))}s("#seopress-tabs").find("a.nav-tab").click(function(e){e.preventDefault();var t=s(this).attr("href").split("#tab=")[1];s("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#"+t+"-tab").addClass("nav-tab-active"),1==a[1]?sessionStorage.setItem("seopress_robots_tab","tab_seopress_robots"):2==a[1]?sessionStorage.setItem("seopress_robots_tab","tab_seopress_htaccess"):3==a[1]?sessionStorage.setItem("seopress_white_label","tab_seopress_white_label"):sessionStorage.setItem("seopress_robots_tab",t),s("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+t).addClass("active")}),s("#seopress-tag-robots-1, #seopress-tag-robots-2, #seopress-tag-robots-3, #seopress-tag-robots-4, #seopress-tag-robots-5, #seopress-tag-robots-6, #seopress-tag-robots-7").click(function(){s(".seopress_robots_file").val(s(".seopress_robots_file").val()+"\n"+s(this).attr("data-tag"))}),s("#seopress-flush-permalinks2").on("click",function(){s.ajax({method:"GET",url:seopressAjaxResetPermalinks.seopress_ajax_permalinks,data:{action:"seopress_flush_permalinks",_ajax_nonce:seopressAjaxResetPermalinks.seopress_nonce},success:function(s){window.location.reload(!0)}})}),s("#seopress-flush-permalinks2").on("click",function(){s(this).attr("disabled","disabled"),s(".spinner").css("visibility","visible"),s(".spinner").css("float","none")})});
1
+ jQuery(document).ready((function($){var get_hash,clean_hash=window.location.hash.split("$");if("undefined"!=typeof sessionStorage){var seopress_tab_session_storage=sessionStorage.getItem("seopress_robots_tab");"1"==clean_hash[1]?($("#tab_seopress_robots-tab").addClass("nav-tab-active"),$("#tab_seopress_robots").addClass("active")):"2"==clean_hash[1]?($("#tab_seopress_htaccess-tab").addClass("nav-tab-active"),$("#tab_seopress_htaccess").addClass("active")):"3"==clean_hash[1]?($("#tab_seopress_white_label-tab").addClass("nav-tab-active"),$("#tab_seopress_white_label").addClass("active")):seopress_tab_session_storage?($("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+seopress_tab_session_storage.split("#tab=")+"-tab").addClass("nav-tab-active"),$("#"+seopress_tab_session_storage.split("#tab=")).addClass("active")):($("#tab_seopress_robots-tab").addClass("nav-tab-active"),$("#tab_seopress_robots").addClass("active"))}$("#seopress-tabs").find("a.nav-tab").click((function(e){e.preventDefault();var hash=$(this).attr("href").split("#tab=")[1];$("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#"+hash+"-tab").addClass("nav-tab-active"),1==clean_hash[1]?sessionStorage.setItem("seopress_robots_tab","tab_seopress_robots"):2==clean_hash[1]?sessionStorage.setItem("seopress_robots_tab","tab_seopress_htaccess"):3==clean_hash[1]?sessionStorage.setItem("seopress_white_label","tab_seopress_white_label"):sessionStorage.setItem("seopress_robots_tab",hash),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+hash).addClass("active")})),$("#seopress-tag-robots-1, #seopress-tag-robots-2, #seopress-tag-robots-3, #seopress-tag-robots-4, #seopress-tag-robots-5, #seopress-tag-robots-6, #seopress-tag-robots-7").click((function(){$(".seopress_robots_file").val($(".seopress_robots_file").val()+"\n"+$(this).attr("data-tag"))})),$("#seopress-flush-permalinks2").on("click",(function(){$.ajax({method:"GET",url:seopressAjaxResetPermalinks.seopress_ajax_permalinks,data:{action:"seopress_flush_permalinks",_ajax_nonce:seopressAjaxResetPermalinks.seopress_nonce},success:function(data){window.location.reload(!0)}})})),$("#seopress-flush-permalinks2").on("click",(function(){$(this).attr("disabled","disabled"),$(".spinner").css("visibility","visible"),$(".spinner").css("float","none")}))}));
assets/js/seopress-quick-edit.js CHANGED
@@ -10,8 +10,6 @@
10
  // we don't want to leave WordPress hanging
11
  $wp_inline_edit.apply(this, arguments);
12
 
13
- // now we take care of our business
14
-
15
  // get the post ID
16
  var $post_id = 0;
17
  if (typeof (id) == 'object') {
@@ -24,37 +22,38 @@
24
  var $post_row = $('#post-' + $post_id);
25
 
26
  // get the data
27
- var $seopress_title = $('#seopress_title-' + $post_id).text();
28
- var $seopress_desc = $('#seopress_desc-' + $post_id).text();
29
- var $seopress_tkw = $('#seopress_tkw-' + $post_id).text();
30
- var $seopress_canonical = $('#seopress_canonical-' + $post_id).text();
31
- var $seopress_noindex = $('#post-' + $post_id + ' .column-seopress_noindex').html();
32
- var $seopress_nofollow = $('#post-' + $post_id + ' .column-seopress_nofollow').html();
33
- var $seopress_redirections_enable = $('#post-' + $post_id + ' .column-seopress_404_redirect_enable').html();
34
- var $seopress_redirections_type = $('#post-' + $post_id + ' .column-seopress_404_redirect_type').text();
35
- var $seopress_redirections_value = $('#post-' + $post_id + ' .column-seopress_404_redirect_value').text();
36
 
37
  // populate the data
38
- $edit_row.find('input[name="seopress_title"]').val($seopress_title);
39
- $edit_row.find('textarea[name="seopress_desc"]').val($seopress_desc);
40
- $edit_row.find('input[name="seopress_tkw"]').val($seopress_tkw);
41
- $edit_row.find('input[name="seopress_canonical"]').val($seopress_canonical);
42
 
43
  if ($seopress_noindex && $seopress_noindex.includes('<span class="dashicons dashicons-hidden"></span>')) {
44
- $edit_row.find('input[name="seopress_noindex"]').prop('checked', true);
45
  }
46
 
47
  if ($seopress_nofollow && $seopress_nofollow.includes('<span class="dashicons dashicons-yes"></span>')) {
48
- $edit_row.find('input[name="seopress_nofollow"]').prop('checked', true);
49
  }
50
 
51
  if ($seopress_redirections_enable && $seopress_redirections_enable == '<span class="dashicons dashicons-yes"></span>') {
52
- $edit_row.find('input[name="seopress_redirections_enabled"]').prop('checked', true);
53
  }
54
  if ($seopress_redirections_type && $seopress_redirections_type != '404') {
55
- $edit_row.find('select[name="seopress_redirections_type"] option[value="' + $seopress_redirections_type + '"]').prop('selected', true);
56
  }
57
- $edit_row.find('input[name="seopress_redirections_value"]').val($seopress_redirections_value);
 
58
  }
59
  };
60
 
10
  // we don't want to leave WordPress hanging
11
  $wp_inline_edit.apply(this, arguments);
12
 
 
 
13
  // get the post ID
14
  var $post_id = 0;
15
  if (typeof (id) == 'object') {
22
  var $post_row = $('#post-' + $post_id);
23
 
24
  // get the data
25
+ var $seopress_title = $('.column-seopress_title', $post_row).text();
26
+ var $seopress_desc = $('.column-seopress_desc', $post_row).text();
27
+ var $seopress_tkw = $('.column-seopress_tkw', $post_row).text();
28
+ var $seopress_canonical = $('.column-seopress_canonical', $post_row).text();
29
+ var $seopress_noindex = $('.column-seopress_noindex', $post_row).html();
30
+ var $seopress_nofollow = $('.column-seopress_nofollow', $post_row).html();
31
+ var $seopress_redirections_enable = $('.column-seopress_404_redirect_enable', $post_row).html();
32
+ var $seopress_redirections_type = $('.column-seopress_404_redirect_type', $post_row).text();
33
+ var $seopress_redirections_value = $('.column-seopress_404_redirect_value', $post_row).text();
34
 
35
  // populate the data
36
+ $(':input[name="seopress_title"]', $edit_row).val($seopress_title);
37
+ $(':input[name="seopress_desc"]', $edit_row).val($seopress_desc);
38
+ $(':input[name="seopress_tkw"]', $edit_row).val($seopress_tkw);
39
+ $(':input[name="seopress_canonical"]', $edit_row).val($seopress_canonical);
40
 
41
  if ($seopress_noindex && $seopress_noindex.includes('<span class="dashicons dashicons-hidden"></span>')) {
42
+ $(':input[name="seopress_noindex"]', $edit_row).prop('checked', true);
43
  }
44
 
45
  if ($seopress_nofollow && $seopress_nofollow.includes('<span class="dashicons dashicons-yes"></span>')) {
46
+ $(':input[name="seopress_nofollow"]', $edit_row).prop('checked', true);
47
  }
48
 
49
  if ($seopress_redirections_enable && $seopress_redirections_enable == '<span class="dashicons dashicons-yes"></span>') {
50
+ $(':input[name="seopress_redirections_enabled"]', $edit_row).prop('checked', true);
51
  }
52
  if ($seopress_redirections_type && $seopress_redirections_type != '404') {
53
+ $(':select[name="seopress_redirections_type"] option[value="' + $seopress_redirections_type + '"]', $edit_row).prop('checked', true);
54
  }
55
+
56
+ $(':input[name="seopress_redirections_value"]', $edit_row).val($seopress_redirections_value);
57
  }
58
  };
59
 
assets/js/seopress-quick-edit.min.js CHANGED
@@ -1 +1 @@
1
- (function(e){var s=inlineEditPost.edit;inlineEditPost.edit=function(n){s.apply(this,arguments);var t=0;if("object"==typeof n&&(t=parseInt(this.getId(n))),t>0){var o=e("#edit-"+t),i=(e("#post-"+t),e("#seopress_title-"+t).text()),p=e("#seopress_desc-"+t).text(),a=e("#seopress_tkw-"+t).text(),d=e("#seopress_canonical-"+t).text(),r=e("#post-"+t+" .column-seopress_noindex").html(),c=e("#post-"+t+" .column-seopress_nofollow").html(),l=e("#post-"+t+" .column-seopress_404_redirect_enable").html(),_=e("#post-"+t+" .column-seopress_404_redirect_type").text(),u=e("#post-"+t+" .column-seopress_404_redirect_value").text();o.find('input[name="seopress_title"]').val(i),o.find('textarea[name="seopress_desc"]').val(p),o.find('input[name="seopress_tkw"]').val(a),o.find('input[name="seopress_canonical"]').val(d),r&&r.includes('<span class="dashicons dashicons-hidden"></span>')&&o.find('input[name="seopress_noindex"]').prop("checked",!0),c&&c.includes('<span class="dashicons dashicons-yes"></span>')&&o.find('input[name="seopress_nofollow"]').prop("checked",!0),l&&'<span class="dashicons dashicons-yes"></span>'==l&&o.find('input[name="seopress_redirections_enabled"]').prop("checked",!0),_&&"404"!=_&&o.find('select[name="seopress_redirections_type"] option[value="'+_+'"]').prop("selected",!0),o.find('input[name="seopress_redirections_value"]').val(u)}}})(jQuery);
1
+ !function($){var $wp_inline_edit=inlineEditPost.edit;inlineEditPost.edit=function(id){$wp_inline_edit.apply(this,arguments);var $post_id=0;if("object"==typeof id&&($post_id=parseInt(this.getId(id))),$post_id>0){var $edit_row=$("#edit-"+$post_id),$post_row=$("#post-"+$post_id),$seopress_title=$(".column-seopress_title",$post_row).text(),$seopress_desc=$(".column-seopress_desc",$post_row).text(),$seopress_tkw=$(".column-seopress_tkw",$post_row).text(),$seopress_canonical=$(".column-seopress_canonical",$post_row).text(),$seopress_noindex=$(".column-seopress_noindex",$post_row).html(),$seopress_nofollow=$(".column-seopress_nofollow",$post_row).html(),$seopress_redirections_enable=$(".column-seopress_404_redirect_enable",$post_row).html(),$seopress_redirections_type=$(".column-seopress_404_redirect_type",$post_row).text(),$seopress_redirections_value=$(".column-seopress_404_redirect_value",$post_row).text();$(':input[name="seopress_title"]',$edit_row).val($seopress_title),$(':input[name="seopress_desc"]',$edit_row).val($seopress_desc),$(':input[name="seopress_tkw"]',$edit_row).val($seopress_tkw),$(':input[name="seopress_canonical"]',$edit_row).val($seopress_canonical),$seopress_noindex&&$seopress_noindex.includes('<span class="dashicons dashicons-hidden"></span>')&&$(':input[name="seopress_noindex"]',$edit_row).prop("checked",!0),$seopress_nofollow&&$seopress_nofollow.includes('<span class="dashicons dashicons-yes"></span>')&&$(':input[name="seopress_nofollow"]',$edit_row).prop("checked",!0),$seopress_redirections_enable&&'<span class="dashicons dashicons-yes"></span>'==$seopress_redirections_enable&&$(':input[name="seopress_redirections_enabled"]',$edit_row).prop("checked",!0),$seopress_redirections_type&&"404"!=$seopress_redirections_type&&$(':select[name="seopress_redirections_type"] option[value="'+$seopress_redirections_type+'"]',$edit_row).prop("checked",!0),$(':input[name="seopress_redirections_value"]',$edit_row).val($seopress_redirections_value)}}}(jQuery);
assets/js/seopress-sitemap-ajax.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(s){s("#seopress-flush-permalinks,#seopress-flush-permalinks2").on("click",function(){s.ajax({method:"GET",url:seopressAjaxResetPermalinks.seopress_ajax_permalinks,data:{action:"seopress_flush_permalinks",_ajax_nonce:seopressAjaxResetPermalinks.seopress_nonce},success:function(s){window.location.reload(!0)}})}),s("#seopress-flush-permalinks,#seopress-flush-permalinks2").on("click",function(){s(this).attr("disabled","disabled"),s(".spinner").css("visibility","visible"),s(".spinner").css("float","none")})});
1
+ jQuery(document).ready((function($){$("#seopress-flush-permalinks,#seopress-flush-permalinks2").on("click",(function(){$.ajax({method:"GET",url:seopressAjaxResetPermalinks.seopress_ajax_permalinks,data:{action:"seopress_flush_permalinks",_ajax_nonce:seopressAjaxResetPermalinks.seopress_nonce},success:function(data){window.location.reload(!0)}})})),$("#seopress-flush-permalinks,#seopress-flush-permalinks2").on("click",(function(){$(this).attr("disabled","disabled"),$(".spinner").css("visibility","visible"),$(".spinner").css("float","none")}))}));
assets/js/seopress-sitemap-video.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(e){function t(){var t;e(".seopress_video_thumbnail_upload").click(function(i){i.preventDefault(),$btn=e(this),t?t.open():(e(this).prev(),t=wp.media.frames.file_frame=wp.media({multiple:!1}),t.on("select",function(){var e=t.state().get("selection").first().toJSON();$btn.prev().val(e.url)}),t.open())})}function i(){e("#wrap-videos .video").accordion({collapsible:!0,active:!1,heightStyle:"panel"})}t();var a=e("#wrap-videos .video:last").clone(),r=!1;e("#wrap-videos .video h3").click(function(e){r&&(e.stopImmediatePropagation(),e.preventDefault(),r=!1)}),i();var o=e("#wrap-videos").attr("data-count");e("#add-video").click(function(){o++;a.clone().find(":input").each(function(){var t=this.id,i=this.name,a=this.id.replace(/^(\w+)\[.*?\]/,"$1["+o+"]");e(this).attr("name",i.replace(/^(\w+)\[.*?\]/,"$1["+o+"]")),e(this).hasClass("seopress_video_thumbnail_upload")||e(this).attr("value",""),e(this).is(":checkbox")?(e(this).parent().attr("for",t.replace(/^(\w+)\[.*?\]/,"$1["+o+"]")),e(this).parent().attr("id",i.replace(/^(\w+)\[.*?\]/,"$1["+o+"]"))):e(this).hasClass("seopress_video_thumbnail_upload")||(e(this).prev().attr("for",t.replace(/^(\w+)\[.*?\]/,"$1["+o+"]")),e(this).prev().attr("id",i.replace(/^(\w+)\[.*?\]/,"$1["+o+"]"))),this.id=a}).end().appendTo("#wrap-videos");return i(),e("#wrap-videos .video").accordion("destroy"),i(),e("[id^=__wp-uploader-id-]").each(function(){e(this).remove()}),t(),!1}),e("#wrap-videos").on("click",".remove-video",function(){return e(this).fadeOut(300,function(){return e(this).parent().parent().parent().parent().remove(),!1}),!1})});
1
+ jQuery(document).ready((function($){function seopress_call_media_uploader(){var mediaUploader,thumb;$(".seopress_video_thumbnail_upload").click((function(e){e.preventDefault(),$btn=$(this),mediaUploader?mediaUploader.open():(thumb=$(this).prev(),(mediaUploader=wp.media.frames.file_frame=wp.media({multiple:!1})).on("select",(function(){var attachment=mediaUploader.state().get("selection").first().toJSON();$btn.prev().val(attachment.url)})),mediaUploader.open())}))}seopress_call_media_uploader();var template=$("#wrap-videos .video:last").clone(),stop=!1;function seopress_call_video_accordion(){$("#wrap-videos .video").accordion({collapsible:!0,active:!1,heightStyle:"panel"})}$("#wrap-videos .video h3").click((function(event){stop&&(event.stopImmediatePropagation(),event.preventDefault(),stop=!1)})),seopress_call_video_accordion();var sectionsCount=$("#wrap-videos").attr("data-count");$("#add-video").click((function(){sectionsCount++;var section=template.clone().find(":input").each((function(){var input_id=this.id,input_name=this.name,newId=this.id.replace(/^(\w+)\[.*?\]/,"$1["+sectionsCount+"]");$(this).attr("name",input_name.replace(/^(\w+)\[.*?\]/,"$1["+sectionsCount+"]")),$(this).hasClass("seopress_video_thumbnail_upload")||$(this).attr("value",""),$(this).is(":checkbox")?($(this).parent().attr("for",input_id.replace(/^(\w+)\[.*?\]/,"$1["+sectionsCount+"]")),$(this).parent().attr("id",input_name.replace(/^(\w+)\[.*?\]/,"$1["+sectionsCount+"]"))):$(this).hasClass("seopress_video_thumbnail_upload")||($(this).prev().attr("for",input_id.replace(/^(\w+)\[.*?\]/,"$1["+sectionsCount+"]")),$(this).prev().attr("id",input_name.replace(/^(\w+)\[.*?\]/,"$1["+sectionsCount+"]"))),this.id=newId})).end().appendTo("#wrap-videos");return seopress_call_video_accordion(),$("#wrap-videos .video").accordion("destroy"),seopress_call_video_accordion(),$("[id^=__wp-uploader-id-]").each((function(){$(this).remove()})),seopress_call_media_uploader(),!1})),$("#wrap-videos").on("click",".remove-video",(function(){return $(this).fadeOut(300,(function(){return $(this).parent().parent().parent().parent().remove(),!1})),!1}))}));
assets/js/seopress-tabs.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(s){function t(s){return s.val().length>0?meta=s.val()+" ":meta=s.val(),meta}var e=s(location).attr("hash").split("#tab=")[1];if(void 0!==e)s("#"+e+"-tab").addClass("nav-tab-active"),s("#"+e).addClass("active");else if("undefined"!=typeof sessionStorage){var a=sessionStorage.getItem("seopress_titles_tab");a?(s("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+a+"-tab").addClass("nav-tab-active"),s("#"+a).addClass("active")):(s("#tab_seopress_titles_home-tab").addClass("nav-tab-active"),s("#tab_seopress_titles_home").addClass("active"))}s("#seopress-tabs").find("a.nav-tab").click(function(t){t.preventDefault();var e=s(this).attr("href").split("#tab=")[1];s("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#"+e+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("seopress_titles_tab",e),s("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+e).addClass("active")});let i=!1;s("#seopress-tag-site-title").click(function(){s("#seopress_titles_home_site_title").val(t(s("#seopress_titles_home_site_title"))+s("#seopress-tag-site-title").attr("data-tag"))}),s("#seopress-tag-site-desc").click(function(){s("#seopress_titles_home_site_title").val(t(s("#seopress_titles_home_site_title"))+s("#seopress-tag-site-desc").attr("data-tag"))}),s("#seopress-tag-site-sep").click(function(){s("#seopress_titles_home_site_title").val(t(s("#seopress_titles_home_site_title"))+s("#seopress-tag-site-sep").attr("data-tag"))}),s("#seopress-tag-meta-desc").click(function(){s("#seopress_titles_home_site_desc").val(t(s("#seopress_titles_home_site_desc"))+s("#seopress-tag-meta-desc").attr("data-tag"))}),s(".seopress-tag-dropdown").each(function(e){const a=s(this).parent(".wrap-tags").prev("input"),o=s(this);s(this).on("click",function(){function e(t){s(t.target).hasClass("dashicons")||s(t.target).hasClass("seopress-tag-single-all")||(i=!1,s(document).off("click",e),s(".sp-wrap-tag-variables-list").removeClass("open"))}s(this).next(".sp-wrap-tag-variables-list").toggleClass("open"),s(this).next(".sp-wrap-tag-variables-list").find("li").on("click",function(e){o.hasClass("tag-title")&&(a.val(t(a)+s(this).attr("data-value")),a.trigger("paste")),o.hasClass("tag-description")&&(s("#seopress_titles_home_site_desc").val(t(s("#seopress_titles_home_site_desc"))+s(this).attr("data-value")),s("#seopress_titles_home_site_desc").trigger("paste")),e.stopImmediatePropagation()}),i||(i=!0,s(document).on("click",e))})})});
1
+ jQuery(document).ready((function($){var hash=$(location).attr("hash").split("#tab=")[1];if(void 0!==hash)$("#"+hash+"-tab").addClass("nav-tab-active"),$("#"+hash).addClass("active");else if("undefined"!=typeof sessionStorage){var seopress_tab_session_storage=sessionStorage.getItem("seopress_titles_tab");seopress_tab_session_storage?($("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+seopress_tab_session_storage+"-tab").addClass("nav-tab-active"),$("#"+seopress_tab_session_storage).addClass("active")):($("#tab_seopress_titles_home-tab").addClass("nav-tab-active"),$("#tab_seopress_titles_home").addClass("active"))}function sp_get_field_length(e){return e.val().length>0?meta=e.val()+" ":meta=e.val(),meta}$("#seopress-tabs").find("a.nav-tab").click((function(e){e.preventDefault();var hash=$(this).attr("href").split("#tab=")[1];$("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#"+hash+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("seopress_titles_tab",hash),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+hash).addClass("active")}));let alreadyBind=!1;$("#seopress-tag-site-title").click((function(){$("#seopress_titles_home_site_title").val(sp_get_field_length($("#seopress_titles_home_site_title"))+$("#seopress-tag-site-title").attr("data-tag"))})),$("#seopress-tag-site-desc").click((function(){$("#seopress_titles_home_site_title").val(sp_get_field_length($("#seopress_titles_home_site_title"))+$("#seopress-tag-site-desc").attr("data-tag"))})),$("#seopress-tag-site-sep").click((function(){$("#seopress_titles_home_site_title").val(sp_get_field_length($("#seopress_titles_home_site_title"))+$("#seopress-tag-site-sep").attr("data-tag"))})),$("#seopress-tag-meta-desc").click((function(){$("#seopress_titles_home_site_desc").val(sp_get_field_length($("#seopress_titles_home_site_desc"))+$("#seopress-tag-meta-desc").attr("data-tag"))})),$(".seopress-tag-dropdown").each((function(item){const input_title=$(this).parent(".wrap-tags").prev("input"),_self=$(this);$(this).on("click",(function(){function closeItem(e){$(e.target).hasClass("dashicons")||$(e.target).hasClass("seopress-tag-single-all")||(alreadyBind=!1,$(document).off("click",closeItem),$(".sp-wrap-tag-variables-list").removeClass("open"))}$(this).next(".sp-wrap-tag-variables-list").toggleClass("open"),$(this).next(".sp-wrap-tag-variables-list").find("li").on("click",(function(e){_self.hasClass("tag-title")&&(input_title.val(sp_get_field_length(input_title)+$(this).attr("data-value")),input_title.trigger("paste")),_self.hasClass("tag-description")&&($("#seopress_titles_home_site_desc").val(sp_get_field_length($("#seopress_titles_home_site_desc"))+$(this).attr("data-value")),$("#seopress_titles_home_site_desc").trigger("paste")),e.stopImmediatePropagation()})),alreadyBind||(alreadyBind=!0,$(document).on("click",closeItem))}))}))}));
assets/js/seopress-tabs2.min.js CHANGED
@@ -1 +1 @@
1
- document.addEventListener("DOMContentLoaded",function(){function t(t){return t.val().length>0?meta=t.val()+" ":meta=t.val(),meta}const e=jQuery;e("#seopress-tabs .hidden").removeClass("hidden"),e("#seopress-tabs").tabs();var s=function(t,e,s){var i;return function(){var a=this,l=arguments,o=function(){i=null,s||t.apply(a,l)},r=s&&!i;clearTimeout(i),i=setTimeout(o,e),r&&t.apply(a,l)}};e("#seopress_titles_title_meta").on("change paste keyup",s(function(t){const s=e(this).val(),i=e("#seopress-tabs").data("term-id"),a=e("#seopress-tabs").data("home-id");e.ajax({method:"GET",url:seopressAjaxRealPreview.ajax_url,data:{action:"get_preview_meta_title",template:s,post_id:e("#seopress-tabs").attr("data_id"),term_id:0===i.length?void 0:i,home_id:0===a.length?void 0:a,nonce:seopressAjaxRealPreview.get_preview_meta_title},success:function(t){const{data:s}=t;s.length>0?(e(".snippet-title").hide(),e(".snippet-title-default").hide(),e(".snippet-title-custom").text(s),e(".snippet-title-custom").show(),e("#seopress_titles_title_counters").length>0&&e("#seopress_titles_title_counters").text(s.length),e("#seopress_titles_title_pixel").length>0&&e("#seopress_titles_title_pixel").text(pixelTitle(s))):(e(".snippet-title").hide(),e(".snippet-title-custom").hide(),e(".snippet-title-default").show())}})},300)),e("#seopress-tag-single-title").click(function(){e("#seopress_titles_title_meta").val(t(e("#seopress_titles_title_meta"))+e("#seopress-tag-single-title").attr("data-tag")),e("#seopress_titles_title_meta").trigger("paste")}),e("#seopress-tag-single-site-title").click(function(){e("#seopress_titles_title_meta").val(t(e("#seopress_titles_title_meta"))+e("#seopress-tag-single-site-title").attr("data-tag")),e("#seopress_titles_title_meta").trigger("paste")}),e("#seopress-tag-single-excerpt").click(function(){e("#seopress_titles_desc_meta").val(t(e("#seopress_titles_desc_meta"))+e("#seopress-tag-single-excerpt").attr("data-tag")),e("#seopress_titles_title_meta").trigger("paste")}),e("#seopress-tag-single-sep").click(function(){e("#seopress_titles_title_meta").val(t(e("#seopress_titles_title_meta"))+e("#seopress-tag-single-sep").attr("data-tag")),e("#seopress_titles_title_meta").trigger("paste")});let i=!1;e(".seopress-tag-dropdown").each(function(s){const a=e(this);e(this).on("click",function(){function s(t){e(t.target).hasClass("dashicons")||e(t.target).hasClass("seopress-tag-single-all")||(i=!1,e(document).off("click",s),e(".sp-wrap-tag-variables-list").removeClass("open"))}e(this).next(".sp-wrap-tag-variables-list").toggleClass("open"),e(this).next(".sp-wrap-tag-variables-list").find("li").on("click",function(s){a.hasClass("tag-title")&&(e("#seopress_titles_title_meta").val(t(e("#seopress_titles_title_meta"))+e(this).attr("data-value")),e("#seopress_titles_title_meta").trigger("paste")),a.hasClass("tag-description")&&(e("#seopress_titles_desc_meta").val(t(e("#seopress_titles_desc_meta"))+e(this).attr("data-value")),e("#seopress_titles_desc_meta").trigger("paste")),s.stopImmediatePropagation()}),i||(i=!0,e(document).on("click",s))})})});
1
+ document.addEventListener("DOMContentLoaded",(function(){const $=jQuery;function sp_get_field_length(e){return e.val().length>0?meta=e.val()+" ":meta=e.val(),meta}$("#seopress-tabs .hidden").removeClass("hidden"),$("#seopress-tabs").tabs();var debounce=function(func,wait,immediate){var timeout;return function(){var context=this,args=arguments,later=function(){timeout=null,immediate||func.apply(context,args)},callNow=immediate&&!timeout;clearTimeout(timeout),timeout=setTimeout(later,wait),callNow&&func.apply(context,args)}};$("#seopress_titles_title_meta").on("change paste keyup",debounce((function(e){const template=$(this).val(),termId=$("#seopress-tabs").data("term-id"),homeId=$("#seopress-tabs").data("home-id");$.ajax({method:"GET",url:seopressAjaxRealPreview.ajax_url,data:{action:"get_preview_meta_title",template:template,post_id:$("#seopress-tabs").attr("data_id"),term_id:0===termId.length?void 0:termId,home_id:0===homeId.length?void 0:homeId,nonce:seopressAjaxRealPreview.get_preview_meta_title},success:function(response){const{data:data}=response;data.length>0?($(".snippet-title").hide(),$(".snippet-title-default").hide(),$(".snippet-title-custom").text(data),$(".snippet-title-custom").show(),$("#seopress_titles_title_counters").length>0&&$("#seopress_titles_title_counters").text(data.length),$("#seopress_titles_title_pixel").length>0&&$("#seopress_titles_title_pixel").text(pixelTitle(data))):($(".snippet-title").hide(),$(".snippet-title-custom").hide(),$(".snippet-title-default").show())}})}),300)),$("#seopress-tag-single-title").click((function(){$("#seopress_titles_title_meta").val(sp_get_field_length($("#seopress_titles_title_meta"))+$("#seopress-tag-single-title").attr("data-tag")),$("#seopress_titles_title_meta").trigger("paste")})),$("#seopress-tag-single-site-title").click((function(){$("#seopress_titles_title_meta").val(sp_get_field_length($("#seopress_titles_title_meta"))+$("#seopress-tag-single-site-title").attr("data-tag")),$("#seopress_titles_title_meta").trigger("paste")})),$("#seopress-tag-single-excerpt").click((function(){$("#seopress_titles_desc_meta").val(sp_get_field_length($("#seopress_titles_desc_meta"))+$("#seopress-tag-single-excerpt").attr("data-tag")),$("#seopress_titles_title_meta").trigger("paste")})),$("#seopress-tag-single-sep").click((function(){$("#seopress_titles_title_meta").val(sp_get_field_length($("#seopress_titles_title_meta"))+$("#seopress-tag-single-sep").attr("data-tag")),$("#seopress_titles_title_meta").trigger("paste")}));let alreadyBind=!1;$(".seopress-tag-dropdown").each((function(item){const _self=$(this);$(this).on("click",(function(){function closeItem(e){$(e.target).hasClass("dashicons")||$(e.target).hasClass("seopress-tag-single-all")||(alreadyBind=!1,$(document).off("click",closeItem),$(".sp-wrap-tag-variables-list").removeClass("open"))}$(this).next(".sp-wrap-tag-variables-list").toggleClass("open"),$(this).next(".sp-wrap-tag-variables-list").find("li").on("click",(function(e){_self.hasClass("tag-title")&&($("#seopress_titles_title_meta").val(sp_get_field_length($("#seopress_titles_title_meta"))+$(this).attr("data-value")),$("#seopress_titles_title_meta").trigger("paste")),_self.hasClass("tag-description")&&($("#seopress_titles_desc_meta").val(sp_get_field_length($("#seopress_titles_desc_meta"))+$(this).attr("data-value")),$("#seopress_titles_desc_meta").trigger("paste")),e.stopImmediatePropagation()})),alreadyBind||(alreadyBind=!0,$(document).on("click",closeItem))}))}))}));
assets/js/seopress-tabs3.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(a){var s=a(location).attr("hash").split("#tab=")[1];if(void 0!==s)a("#"+s+"-tab").addClass("nav-tab-active"),a("#"+s).addClass("active");else if("undefined"!=typeof sessionStorage){var e=sessionStorage.getItem("seopress_social_tab");e?(a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+e+"-tab").addClass("nav-tab-active"),a("#"+e).addClass("active")):(a("#tab_seopress_social_knowledge-tab").addClass("nav-tab-active"),a("#tab_seopress_social_knowledge").addClass("active"))}a("#seopress-tabs").find("a.nav-tab").click(function(s){s.preventDefault();var e=a(this).attr("href").split("#tab=")[1];a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#"+e+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("seopress_social_tab",e),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+e).addClass("active")})});
1
+ jQuery(document).ready((function($){var hash=$(location).attr("hash").split("#tab=")[1];if(void 0!==hash)$("#"+hash+"-tab").addClass("nav-tab-active"),$("#"+hash).addClass("active");else if("undefined"!=typeof sessionStorage){var seopress_tab_session_storage=sessionStorage.getItem("seopress_social_tab");seopress_tab_session_storage?($("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+seopress_tab_session_storage+"-tab").addClass("nav-tab-active"),$("#"+seopress_tab_session_storage).addClass("active")):($("#tab_seopress_social_knowledge-tab").addClass("nav-tab-active"),$("#tab_seopress_social_knowledge").addClass("active"))}$("#seopress-tabs").find("a.nav-tab").click((function(e){e.preventDefault();var hash=$(this).attr("href").split("#tab=")[1];$("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#"+hash+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("seopress_social_tab",hash),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+hash).addClass("active")}))}));
assets/js/seopress-tabs4.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(a){var s=a(location).attr("hash").split("#tab=")[1];if(void 0!==s)a("#"+s+"-tab").addClass("nav-tab-active"),a("#"+s).addClass("active");else if("undefined"!=typeof sessionStorage){var e=sessionStorage.getItem("seopress_xml_sitemap_tab");e?(a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+e+"-tab").addClass("nav-tab-active"),a("#"+e).addClass("active")):(a("#tab_seopress_xml_sitemap_general-tab").addClass("nav-tab-active"),a("#tab_seopress_xml_sitemap_general").addClass("active"))}a("#seopress-tabs").find("a.nav-tab").click(function(s){s.preventDefault();var e=a(this).attr("href").split("#tab=")[1];a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#"+e+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("seopress_xml_sitemap_tab",e),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+e).addClass("active")})});
1
+ jQuery(document).ready((function($){var hash=$(location).attr("hash").split("#tab=")[1];if(void 0!==hash)$("#"+hash+"-tab").addClass("nav-tab-active"),$("#"+hash).addClass("active");else if("undefined"!=typeof sessionStorage){var seopress_tab_session_storage=sessionStorage.getItem("seopress_xml_sitemap_tab");seopress_tab_session_storage?($("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+seopress_tab_session_storage+"-tab").addClass("nav-tab-active"),$("#"+seopress_tab_session_storage).addClass("active")):($("#tab_seopress_xml_sitemap_general-tab").addClass("nav-tab-active"),$("#tab_seopress_xml_sitemap_general").addClass("active"))}$("#seopress-tabs").find("a.nav-tab").click((function(e){e.preventDefault();var hash=$(this).attr("href").split("#tab=")[1];$("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#"+hash+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("seopress_xml_sitemap_tab",hash),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+hash).addClass("active")}))}));
assets/js/seopress-tabs5.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(a){var s=a(location).attr("hash").split("#tab=")[1];if(void 0!==s)a("#"+s+"-tab").addClass("nav-tab-active"),a("#"+s).addClass("active");else if("undefined"!=typeof sessionStorage){var e=sessionStorage.getItem("tab_seopress_advanced_advanced");e?(a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+e+"-tab").addClass("nav-tab-active"),a("#"+e).addClass("active")):(a("#tab_seopress_advanced_advanced-tab").addClass("nav-tab-active"),a("#tab_seopress_advanced_advanced").addClass("active"))}a("#seopress-tabs").find("a.nav-tab").click(function(s){s.preventDefault();var e=a(this).attr("href").split("#tab=")[1];a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#"+e+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("tab_seopress_advanced_advanced",e),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+e).addClass("active")})});
1
+ jQuery(document).ready((function($){var hash=$(location).attr("hash").split("#tab=")[1];if(void 0!==hash)$("#"+hash+"-tab").addClass("nav-tab-active"),$("#"+hash).addClass("active");else if("undefined"!=typeof sessionStorage){var seopress_tab_session_storage=sessionStorage.getItem("tab_seopress_advanced_advanced");seopress_tab_session_storage?($("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+seopress_tab_session_storage+"-tab").addClass("nav-tab-active"),$("#"+seopress_tab_session_storage).addClass("active")):($("#tab_seopress_advanced_advanced-tab").addClass("nav-tab-active"),$("#tab_seopress_advanced_advanced").addClass("active"))}$("#seopress-tabs").find("a.nav-tab").click((function(e){e.preventDefault();var hash=$(this).attr("href").split("#tab=")[1];$("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#"+hash+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("tab_seopress_advanced_advanced",hash),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+hash).addClass("active")}))}));
assets/js/seopress-tabs6.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(a){var e=a(location).attr("hash").split("#tab=")[1];if(void 0!==e)a("#"+e+"-tab").addClass("nav-tab-active"),a("#"+e).addClass("active");else if("undefined"!=typeof sessionStorage){var s=sessionStorage.getItem("tab_seopress_google_analytics_enable");s?(a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+s+"-tab").addClass("nav-tab-active"),a("#"+s).addClass("active")):(a("#tab_seopress_google_analytics_enable-tab").addClass("nav-tab-active"),a("#tab_seopress_google_analytics_enable").addClass("active"))}a("#seopress-tabs").find("a.nav-tab").click(function(e){e.preventDefault();var s=a(this).attr("href").split("#tab=")[1];a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#"+s+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("tab_seopress_google_analytics_enable",s),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+s).addClass("active")}),a(".seopress_admin_color_picker").wpColorPicker()});
1
+ jQuery(document).ready((function($){var hash=$(location).attr("hash").split("#tab=")[1];if(void 0!==hash)$("#"+hash+"-tab").addClass("nav-tab-active"),$("#"+hash).addClass("active");else if("undefined"!=typeof sessionStorage){var seopress_tab_session_storage=sessionStorage.getItem("tab_seopress_google_analytics_enable");seopress_tab_session_storage?($("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+seopress_tab_session_storage+"-tab").addClass("nav-tab-active"),$("#"+seopress_tab_session_storage).addClass("active")):($("#tab_seopress_google_analytics_enable-tab").addClass("nav-tab-active"),$("#tab_seopress_google_analytics_enable").addClass("active"))}$("#seopress-tabs").find("a.nav-tab").click((function(e){e.preventDefault();var hash=$(this).attr("href").split("#tab=")[1];$("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#"+hash+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("tab_seopress_google_analytics_enable",hash),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+hash).addClass("active")})),$(".seopress_admin_color_picker").wpColorPicker()}));
assets/js/seopress-tabs7.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(s){var e=window.location.hash,a=e.split("$");if("undefined"!=typeof sessionStorage){var t=sessionStorage.getItem("seopress_admin_tab");"1"==a[1]?(s("#tab_seopress_notifications-tab").addClass("nav-tab-active"),s("#tab_seopress_notifications").addClass("active")):"2"==a[1]?(s("#tab_seopress_seo_tools-tab").addClass("nav-tab-active"),s("#tab_seopress_seo_tools").addClass("active")):"3"==a[1]?(s("#tab_seopress_links-tab").addClass("nav-tab-active"),s("#tab_seopress_links_tools").addClass("active")):t?(s("#seopress-admin-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#seopress-admin-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+t.split("#tab=")+"-tab").addClass("nav-tab-active"),s("#"+t.split("#tab=")).addClass("active")):(s("#tab_seopress_notifications-tab").addClass("nav-tab-active"),s("#tab_seopress_notifications").addClass("active"))}s("#seopress-admin-tabs").find("a.nav-tab").click(function(e){e.preventDefault();var t=s(this).attr("href").split("#tab=")[1];s("#seopress-admin-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#"+t+"-tab").addClass("nav-tab-active"),1==a[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_notifications"):2==a[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_seo_tools"):3==a[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_links_tools"):sessionStorage.setItem("seopress_admin_tab",t),s("#seopress-admin-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+t).addClass("active")}),s("#seopress-reverse-submit").on("click",function(){s.ajax({method:"GET",url:seopressAjaxReverse.seopress_request_reverse,data:{action:"seopress_request_reverse",_ajax_nonce:seopressAjaxReverse.seopress_nonce},success:function(s){window.location.reload(!0)}})}),s("#seopress-reverse-submit").on("click",function(){s(this).attr("disabled","disabled"),s("#spinner-reverse.spinner").css("visibility","visible"),s("#spinner-reverse.spinner").css("float","none")})});
1
+ jQuery(document).ready((function($){var get_hash,clean_hash=window.location.hash.split("$");if("undefined"!=typeof sessionStorage){var seopress_admin_tab_session_storage=sessionStorage.getItem("seopress_admin_tab");"1"==clean_hash[1]?($("#tab_seopress_notifications-tab").addClass("nav-tab-active"),$("#tab_seopress_notifications").addClass("active")):"2"==clean_hash[1]?($("#tab_seopress_seo_tools-tab").addClass("nav-tab-active"),$("#tab_seopress_seo_tools").addClass("active")):"3"==clean_hash[1]?($("#tab_seopress_links-tab").addClass("nav-tab-active"),$("#tab_seopress_links_tools").addClass("active")):seopress_admin_tab_session_storage?($("#seopress-admin-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#seopress-admin-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+seopress_admin_tab_session_storage.split("#tab=")+"-tab").addClass("nav-tab-active"),$("#"+seopress_admin_tab_session_storage.split("#tab=")).addClass("active")):($("#tab_seopress_notifications-tab").addClass("nav-tab-active"),$("#tab_seopress_notifications").addClass("active"))}$("#seopress-admin-tabs").find("a.nav-tab").click((function(e){e.preventDefault();var hash=$(this).attr("href").split("#tab=")[1];$("#seopress-admin-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#"+hash+"-tab").addClass("nav-tab-active"),1==clean_hash[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_notifications"):2==clean_hash[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_seo_tools"):3==clean_hash[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_links_tools"):sessionStorage.setItem("seopress_admin_tab",hash),$("#seopress-admin-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+hash).addClass("active")})),$("#seopress-reverse-submit").on("click",(function(){$.ajax({method:"GET",url:seopressAjaxReverse.seopress_request_reverse,data:{action:"seopress_request_reverse",_ajax_nonce:seopressAjaxReverse.seopress_nonce},success:function(data){window.location.reload(!0)}})})),$("#seopress-reverse-submit").on("click",(function(){$(this).attr("disabled","disabled"),$("#spinner-reverse.spinner").css("visibility","visible"),$("#spinner-reverse.spinner").css("float","none")}))}));
assets/js/seopress-tabs8.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(a){var s=a(location).attr("hash").split("#tab=")[1];if(void 0!==s)a("#"+s+"-tab").addClass("nav-tab-active"),a("#"+s).addClass("active");else if("undefined"!=typeof sessionStorage){var t=sessionStorage.getItem("tab_seopress_tool_settings");t?(a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+t+"-tab").addClass("nav-tab-active"),a("#"+t).addClass("active")):(a("#tab_seopress_tool_settings-tab").addClass("nav-tab-active"),a("#tab_seopress_tool_settings").addClass("active"))}a("#seopress-tabs").find("a.nav-tab").click(function(s){s.preventDefault();var t=a(this).attr("href").split("#tab=")[1];a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#"+t+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("tab_seopress_tool_settings",t),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+t).addClass("active")})});
1
+ jQuery(document).ready((function($){var hash=$(location).attr("hash").split("#tab=")[1];if(void 0!==hash)$("#"+hash+"-tab").addClass("nav-tab-active"),$("#"+hash).addClass("active");else if("undefined"!=typeof sessionStorage){var seopress_tab_session_storage=sessionStorage.getItem("tab_seopress_tool_settings");seopress_tab_session_storage?($("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+seopress_tab_session_storage+"-tab").addClass("nav-tab-active"),$("#"+seopress_tab_session_storage).addClass("active")):($("#tab_seopress_tool_settings-tab").addClass("nav-tab-active"),$("#tab_seopress_tool_settings").addClass("active"))}$("#seopress-tabs").find("a.nav-tab").click((function(e){e.preventDefault();var hash=$(this).attr("href").split("#tab=")[1];$("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#"+hash+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("tab_seopress_tool_settings",hash),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+hash).addClass("active")}))}));
inc/admin/admin-metaboxes-form.php CHANGED
@@ -500,7 +500,7 @@ echo '<div id="seopress-tabs" data-home-id="' . $data_attr['isHomeId'] . '" data
500
  }
501
  }
502
  }
503
- if (function_exists('seopress_get_toggle_option') && '1' == seopress_get_toggle_option('xml-sitemap') && '1' == seopress_xml_sitemap_video_enable_option()) {
504
  if ('post-new.php' == $pagenow || 'post.php' == $pagenow) {
505
  if ('seopress_404' != $typenow) {
506
  //Init $seopress_video array if empty
500
  }
501
  }
502
  }
503
+ if (function_exists('seopress_get_toggle_option') && '1' == seopress_get_toggle_option('xml-sitemap') && function_exists('seopress_xml_sitemap_video_enable_option') && '1' == seopress_xml_sitemap_video_enable_option()) {
504
  if ('post-new.php' == $pagenow || 'post.php' == $pagenow) {
505
  if ('seopress_404' != $typenow) {
506
  //Init $seopress_video array if empty
inc/admin/admin-wizard.php CHANGED
@@ -13,7 +13,8 @@ if ( ! defined('ABSPATH')) {
13
  /**
14
  * SEOPRESS_Admin_Setup_Wizard class.
15
  */
16
- class SEOPRESS_Admin_Setup_Wizard {
 
17
  /**
18
  * Current step.
19
  *
@@ -298,7 +299,7 @@ class SEOPRESS_Admin_Setup_Wizard {
298
  <option value="premium-seo-pack-migration-tool"><?php _e('Premium SEO Pack', 'wp-seopress'); ?></option>
299
  <option value="wpseo-migration-tool"><?php _e('wpSEO', 'wp-seopress'); ?></option>
300
  <option value="platinum-seo-migration-tool"><?php _e('Platinum SEO Pack', 'wp-seopress'); ?></option>
301
- <option value="smartcrawl-migration-tool"><?php _e('SmartCrawl', 'wp-seopress'); ?></option>
302
  <option value="seopressor-migration-tool"><?php _e('SEOPressor', 'wp-seopress'); ?></option>
303
  </select>
304
 
@@ -520,9 +521,9 @@ class SEOPRESS_Admin_Setup_Wizard {
520
  </div><!-- .postbox -->
521
 
522
  <!-- Smart Crawl import tool -->
523
- <div id="smartcrawl-migration-tool" class="postbox section-tool seopress-wizard-services">
524
  <div class="inside">
525
- <h3><span><?php _e('Import posts and terms metadata from Smart Crawl', 'wp-seopress'); ?></span></h3>
526
  <p><?php _e('By clicking Migrate, we\'ll import:', 'wp-seopress'); ?></p>
527
  <ul>
528
  <li><?php _e('Title tags', 'wp-seopress'); ?></li>
13
  /**
14
  * SEOPRESS_Admin_Setup_Wizard class.
15
  */
16
+ class SEOPRESS_Admin_Setup_Wizard
17
+ {
18
  /**
19
  * Current step.
20
  *
299
  <option value="premium-seo-pack-migration-tool"><?php _e('Premium SEO Pack', 'wp-seopress'); ?></option>
300
  <option value="wpseo-migration-tool"><?php _e('wpSEO', 'wp-seopress'); ?></option>
301
  <option value="platinum-seo-migration-tool"><?php _e('Platinum SEO Pack', 'wp-seopress'); ?></option>
302
+ <option value="smart-crawl-migration-tool"><?php _e('SmartCrawl', 'wp-seopress'); ?></option>
303
  <option value="seopressor-migration-tool"><?php _e('SEOPressor', 'wp-seopress'); ?></option>
304
  </select>
305
 
521
  </div><!-- .postbox -->
522
 
523
  <!-- Smart Crawl import tool -->
524
+ <div id="smart-crawl-migration-tool" class="postbox section-tool seopress-wizard-services">
525
  <div class="inside">
526
+ <h3><span><?php _e('Import posts and terms metadata from SmartCrawl', 'wp-seopress'); ?></span></h3>
527
  <p><?php _e('By clicking Migrate, we\'ll import:', 'wp-seopress'); ?></p>
528
  <ul>
529
  <li><?php _e('Title tags', 'wp-seopress'); ?></li>
inc/admin/admin.php CHANGED
@@ -2,7 +2,8 @@
2
 
3
  defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks :)');
4
 
5
- class seopress_options {
 
6
  /**
7
  * Holds the values to be used in the fields callbacks.
8
  */
@@ -776,7 +777,7 @@ class seopress_options {
776
  <option value="premium-seo-pack-migration-tool"><?php _e('Premium SEO Pack', 'wp-seopress'); ?></option>
777
  <option value="wpseo-migration-tool"><?php _e('wpSEO', 'wp-seopress'); ?></option>
778
  <option value="platinum-seo-migration-tool"><?php _e('Platinum SEO Pack', 'wp-seopress'); ?></option>
779
- <option value="smartcrawl-migration-tool"><?php _e('SmartCrawl', 'wp-seopress'); ?></option>
780
  <option value="seopressor-migration-tool"><?php _e('SEOPressor', 'wp-seopress'); ?></option>
781
  </select>
782
  <br><br>
@@ -990,9 +991,9 @@ class seopress_options {
990
  </div><!-- .postbox -->
991
 
992
  <!-- Smart Crawl import tool -->
993
- <div id="smartcrawl-migration-tool" class="postbox section-tool">
994
  <div class="inside">
995
- <h3><span><?php _e('Import posts and terms metadata from Smart Crawl', 'wp-seopress'); ?></span></h3>
996
  <p><?php _e('By clicking Migrate, we\'ll import:', 'wp-seopress'); ?></p>
997
  <ul>
998
  <li><?php _e('Title tags', 'wp-seopress'); ?></li>
@@ -1891,6 +1892,14 @@ class seopress_options {
1891
  'seopress-settings-admin-google-analytics-gdpr' // Page
1892
  );
1893
 
 
 
 
 
 
 
 
 
1894
  add_settings_field(
1895
  'seopress_google_analytics_disable', // ID
1896
  __('Analytics tracking opt-in', 'wp-seopress'), // Title
@@ -2111,7 +2120,7 @@ class seopress_options {
2111
 
2112
  add_settings_field(
2113
  'seopress_google_analytics_other_tracking', // ID
2114
- __('Add an additional tracking code (like Facebook Pixel, Hotjar...)', 'wp-seopress'), // Title
2115
  [$this, 'seopress_google_analytics_other_tracking_callback'], // Callback
2116
  'seopress-settings-admin-google-analytics-features', // Page
2117
  'seopress_setting_section_google_analytics_features' // Section
@@ -3078,7 +3087,7 @@ class seopress_options {
3078
  echo '
3079
  <ol>
3080
  <li>' . __('Custom OG Image from SEO metabox', 'wp-seopress') . '</li>
3081
- <li>' . __('Post thumbnail', 'wp-seopress') . '</li>
3082
  <li>' . __('First image of your post content', 'wp-seopress') . '</li>
3083
  <li>' . __('Global OG Image set in SEO > Social > Open Graph', 'wp-seopress') . '</li>
3084
  </ol>';
@@ -3092,7 +3101,7 @@ class seopress_options {
3092
  echo '
3093
  <ol>
3094
  <li>' . __('Custom Twitter image from SEO metabox', 'wp-seopress') . '</li>
3095
- <li>' . __('Post thumbnail', 'wp-seopress') . '</li>
3096
  <li>' . __('First image of your post content', 'wp-seopress') . '</li>
3097
  <li>' . __('Global Twitter:image set in SEO > Social > Twitter Card', 'wp-seopress') . '</li>
3098
  </ol>';
@@ -4943,6 +4952,36 @@ class seopress_options {
4943
  echo '<p class="seopress-help description"><span class="dashicons dashicons-external"></span><a href="https://support.google.com/analytics/answer/9539598?hl=en&ref_topic=9303319" target="_blank">' . __('Find your measurement ID', 'wp-seopress') . '</a></p>';
4944
  }
4945
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4946
  public function seopress_google_analytics_disable_callback() {
4947
  $options = get_option('seopress_google_analytics_option_name');
4948
 
2
 
3
  defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks :)');
4
 
5
+ class seopress_options
6
+ {
7
  /**
8
  * Holds the values to be used in the fields callbacks.
9
  */
777
  <option value="premium-seo-pack-migration-tool"><?php _e('Premium SEO Pack', 'wp-seopress'); ?></option>
778
  <option value="wpseo-migration-tool"><?php _e('wpSEO', 'wp-seopress'); ?></option>
779
  <option value="platinum-seo-migration-tool"><?php _e('Platinum SEO Pack', 'wp-seopress'); ?></option>
780
+ <option value="smart-crawl-migration-tool"><?php _e('SmartCrawl', 'wp-seopress'); ?></option>
781
  <option value="seopressor-migration-tool"><?php _e('SEOPressor', 'wp-seopress'); ?></option>
782
  </select>
783
  <br><br>
991
  </div><!-- .postbox -->
992
 
993
  <!-- Smart Crawl import tool -->
994
+ <div id="smart-crawl-migration-tool" class="postbox section-tool">
995
  <div class="inside">
996
+ <h3><span><?php _e('Import posts and terms metadata from SmartCrawl', 'wp-seopress'); ?></span></h3>
997
  <p><?php _e('By clicking Migrate, we\'ll import:', 'wp-seopress'); ?></p>
998
  <ul>
999
  <li><?php _e('Title tags', 'wp-seopress'); ?></li>
1892
  'seopress-settings-admin-google-analytics-gdpr' // Page
1893
  );
1894
 
1895
+ add_settings_field(
1896
+ 'seopress_google_analytics_hook', // ID
1897
+ __('Where to display the cookie bar?', 'wp-seopress'), // Title
1898
+ [$this, 'seopress_google_analytics_hook_callback'], // Callback
1899
+ 'seopress-settings-admin-google-analytics-gdpr', // Page
1900
+ 'seopress_setting_section_google_analytics_gdpr' // Section
1901
+ );
1902
+
1903
  add_settings_field(
1904
  'seopress_google_analytics_disable', // ID
1905
  __('Analytics tracking opt-in', 'wp-seopress'), // Title
2120
 
2121
  add_settings_field(
2122
  'seopress_google_analytics_other_tracking', // ID
2123
+ __('[HEAD] Add an additional tracking code (like Facebook Pixel, Hotjar...)', 'wp-seopress'), // Title
2124
  [$this, 'seopress_google_analytics_other_tracking_callback'], // Callback
2125
  'seopress-settings-admin-google-analytics-features', // Page
2126
  'seopress_setting_section_google_analytics_features' // Section
3087
  echo '
3088
  <ol>
3089
  <li>' . __('Custom OG Image from SEO metabox', 'wp-seopress') . '</li>
3090
+ <li>' . __('Post thumbnail / Product category thumbnail', 'wp-seopress') . '</li>
3091
  <li>' . __('First image of your post content', 'wp-seopress') . '</li>
3092
  <li>' . __('Global OG Image set in SEO > Social > Open Graph', 'wp-seopress') . '</li>
3093
  </ol>';
3101
  echo '
3102
  <ol>
3103
  <li>' . __('Custom Twitter image from SEO metabox', 'wp-seopress') . '</li>
3104
+ <li>' . __('Post thumbnail / Product category thumbnail', 'wp-seopress') . '</li>
3105
  <li>' . __('First image of your post content', 'wp-seopress') . '</li>
3106
  <li>' . __('Global Twitter:image set in SEO > Social > Twitter Card', 'wp-seopress') . '</li>
3107
  </ol>';
4952
  echo '<p class="seopress-help description"><span class="dashicons dashicons-external"></span><a href="https://support.google.com/analytics/answer/9539598?hl=en&ref_topic=9303319" target="_blank">' . __('Find your measurement ID', 'wp-seopress') . '</a></p>';
4953
  }
4954
 
4955
+ public function seopress_google_analytics_hook_callback() {
4956
+ $options = get_option('seopress_google_analytics_option_name');
4957
+
4958
+ $selected = isset($options['seopress_google_analytics_hook']) ? $options['seopress_google_analytics_hook'] : null;
4959
+
4960
+ echo '<select id="seopress_google_analytics_hook" name="seopress_google_analytics_option_name[seopress_google_analytics_hook]">';
4961
+ echo ' <option ';
4962
+ if ('wp_body_open' == $selected) {
4963
+ echo 'selected="selected"';
4964
+ }
4965
+ echo ' value="wp_body_open">' . __('After the opening body tag (recommended)', 'wp-seopress') . '</option>';
4966
+ echo ' <option ';
4967
+ if ('wp_footer' == $selected) {
4968
+ echo 'selected="selected"';
4969
+ }
4970
+ echo ' value="wp_footer">' . __('Footer', 'wp-seopress') . '</option>';
4971
+ echo ' <option ';
4972
+ if ('wp_head' == $selected) {
4973
+ echo 'selected="selected"';
4974
+ }
4975
+ echo ' value="wp_head">' . __('Head (not recommended)', 'wp-seopress') . '</option>';
4976
+ echo '</select>';
4977
+
4978
+ echo '<p class="description">'.__('Your theme must be compatible with wp_body_open hook introduced in WordPress 5.2 if "opening body tag" option selected.').'</p>';
4979
+
4980
+ if (isset($this->options['seopress_google_analytics_hook'])) {
4981
+ esc_attr($this->options['seopress_google_analytics_hook']);
4982
+ }
4983
+ }
4984
+
4985
  public function seopress_google_analytics_disable_callback() {
4986
  $options = get_option('seopress_google_analytics_option_name');
4987
 
inc/admin/ajax.php CHANGED
@@ -306,11 +306,11 @@ function seopress_do_real_preview() {
306
  $data['all_canonical'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mcanonical->nodeValue)));
307
  }
308
 
309
- if (isset($_GET['seopress_analysis_target_kw']) && ! empty($_GET['seopress_analysis_target_kw'])) {
310
- //h1
311
- $h1 = $xpath->query('//h1');
312
- if ( ! empty($h1)) {
313
- $data['h1']['nomatches']['count'] = count($h1);
314
  foreach ($h1 as $heading1) {
315
  foreach ($seopress_analysis_target_kw as $kw) {
316
  if (preg_match_all('#\b(' . $kw . ')\b#iu', $heading1->nodeValue, $m)) {
@@ -320,7 +320,9 @@ function seopress_do_real_preview() {
320
  $data['h1']['values'][] = esc_attr($heading1->nodeValue);
321
  }
322
  }
 
323
 
 
324
  //h2
325
  $h2 = $xpath->query('//h2');
326
  if ( ! empty($h2)) {
306
  $data['all_canonical'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mcanonical->nodeValue)));
307
  }
308
 
309
+ //h1
310
+ $h1 = $xpath->query('//h1');
311
+ if ( ! empty($h1)) {
312
+ $data['h1']['nomatches']['count'] = count($h1);
313
+ if (isset($_GET['seopress_analysis_target_kw']) && ! empty($_GET['seopress_analysis_target_kw'])) {
314
  foreach ($h1 as $heading1) {
315
  foreach ($seopress_analysis_target_kw as $kw) {
316
  if (preg_match_all('#\b(' . $kw . ')\b#iu', $heading1->nodeValue, $m)) {
320
  $data['h1']['values'][] = esc_attr($heading1->nodeValue);
321
  }
322
  }
323
+ }
324
 
325
+ if (isset($_GET['seopress_analysis_target_kw']) && ! empty($_GET['seopress_analysis_target_kw'])) {
326
  //h2
327
  $h2 = $xpath->query('//h2');
328
  if ( ! empty($h2)) {
inc/functions/options-advanced-admin.php CHANGED
@@ -399,6 +399,7 @@ if ('' != seopress_advanced_appearance_title_col_option()
399
 
400
  function seopress_admin_sortable_columns($columns) {
401
  $columns['seopress_noindex'] = 'seopress_noindex';
 
402
 
403
  return $columns;
404
  }
@@ -413,6 +414,10 @@ if ('' != seopress_advanced_appearance_title_col_option()
413
  $query->set('meta_key', '_seopress_robots_index');
414
  $query->set('orderby', 'meta_value');
415
  }
 
 
 
 
416
  }
417
  }
418
  }
@@ -882,6 +887,37 @@ function seopress_bulk_quick_edit_save_post($post_id) {
882
  delete_post_meta($post_id, '_seopress_robots_follow');
883
  }
884
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
885
  }
886
 
887
  //WP Editor on taxonomy description field
399
 
400
  function seopress_admin_sortable_columns($columns) {
401
  $columns['seopress_noindex'] = 'seopress_noindex';
402
+ $columns['seopress_nofollow'] = 'seopress_nofollow';
403
 
404
  return $columns;
405
  }
414
  $query->set('meta_key', '_seopress_robots_index');
415
  $query->set('orderby', 'meta_value');
416
  }
417
+ if ('seopress_nofollow' == $orderby) {
418
+ $query->set('meta_key', '_seopress_robots_follow');
419
+ $query->set('orderby', 'meta_value');
420
+ }
421
  }
422
  }
423
  }
887
  delete_post_meta($post_id, '_seopress_robots_follow');
888
  }
889
  }
890
+
891
+ //Elementor sync
892
+ if (did_action('elementor/loaded')) {
893
+ $elementor = get_post_meta($post_id, '_elementor_page_settings', true);
894
+
895
+ if ( ! empty($elementor)) {
896
+ if (isset($_REQUEST['seopress_title'])) {
897
+ $elementor['_seopress_titles_title'] = esc_html($_REQUEST['seopress_title']);
898
+ }
899
+ if (isset($_REQUEST['seopress_desc'])) {
900
+ $elementor['_seopress_titles_desc'] = esc_html($_REQUEST['seopress_desc']);
901
+ }
902
+ if (isset($_REQUEST['seopress_noindex'])) {
903
+ $elementor['_seopress_robots_index'] = 'yes';
904
+ } else {
905
+ $elementor['_seopress_robots_index'] = '';
906
+ }
907
+ if (isset($_REQUEST['seopress_nofollow'])) {
908
+ $elementor['_seopress_robots_follow'] = 'yes';
909
+ } else {
910
+ $elementor['_seopress_robots_follow'] = '';
911
+ }
912
+ if (isset($_REQUEST['seopress_canonical'])) {
913
+ $elementor['_seopress_robots_canonical'] = esc_html($_REQUEST['seopress_canonical']);
914
+ }
915
+ if (isset($_REQUEST['seopress_tkw'])) {
916
+ $elementor['_seopress_analysis_target_kw'] = esc_html($_REQUEST['seopress_tkw']);
917
+ }
918
+ update_post_meta($post_id, '_elementor_page_settings', $elementor);
919
+ }
920
+ }
921
  }
922
 
923
  //WP Editor on taxonomy description field
inc/functions/options-google-analytics.php CHANGED
@@ -4,509 +4,522 @@ defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks
4
 
5
  //Google Analytics
6
  //=================================================================================================
7
-
8
- function seopress_google_analytics_opt_out_msg_ok_option() {
9
- $seopress_google_analytics_opt_out_msg_ok_option = get_option('seopress_google_analytics_option_name');
10
- if ( ! empty($seopress_google_analytics_opt_out_msg_ok_option)) {
11
- foreach ($seopress_google_analytics_opt_out_msg_ok_option as $key => $seopress_google_analytics_opt_out_msg_ok_value) {
12
- $options[$key] = $seopress_google_analytics_opt_out_msg_ok_value;
13
- }
14
- if (isset($seopress_google_analytics_opt_out_msg_ok_option['seopress_google_analytics_opt_out_msg_ok'])) {
15
- return $seopress_google_analytics_opt_out_msg_ok_option['seopress_google_analytics_opt_out_msg_ok'];
16
- }
17
- }
 
 
 
 
 
 
 
 
18
  }
 
 
19
 
20
- function seopress_google_analytics_opt_out_msg_close_option() {
21
- $seopress_google_analytics_opt_out_msg_close_option = get_option('seopress_google_analytics_option_name');
22
- if ( ! empty($seopress_google_analytics_opt_out_msg_close_option)) {
23
- foreach ($seopress_google_analytics_opt_out_msg_close_option as $key => $seopress_google_analytics_opt_out_msg_close_value) {
24
- $options[$key] = $seopress_google_analytics_opt_out_msg_close_value;
25
- }
26
- if (isset($seopress_google_analytics_opt_out_msg_close_option['seopress_google_analytics_opt_out_msg_close'])) {
27
- return $seopress_google_analytics_opt_out_msg_close_option['seopress_google_analytics_opt_out_msg_close'];
28
- }
29
- }
30
  }
 
 
 
 
 
31
 
32
- function seopress_google_analytics_cb_bg_option() {
33
- $seopress_google_analytics_cb_bg_option = get_option('seopress_google_analytics_option_name');
34
- if ( ! empty($seopress_google_analytics_cb_bg_option)) {
35
- foreach ($seopress_google_analytics_cb_bg_option as $key => $seopress_google_analytics_cb_bg_value) {
36
- $options[$key] = $seopress_google_analytics_cb_bg_value;
37
- }
38
- if (isset($seopress_google_analytics_cb_bg_option['seopress_google_analytics_cb_bg'])) {
39
- return $seopress_google_analytics_cb_bg_option['seopress_google_analytics_cb_bg'];
40
- }
41
- }
42
  }
 
 
43
 
44
- function seopress_google_analytics_cb_txt_col_option() {
45
- $seopress_google_analytics_cb_txt_col_option = get_option('seopress_google_analytics_option_name');
46
- if ( ! empty($seopress_google_analytics_cb_txt_col_option)) {
47
- foreach ($seopress_google_analytics_cb_txt_col_option as $key => $seopress_google_analytics_cb_txt_col_value) {
48
- $options[$key] = $seopress_google_analytics_cb_txt_col_value;
49
- }
50
- if (isset($seopress_google_analytics_cb_txt_col_option['seopress_google_analytics_cb_txt_col'])) {
51
- return $seopress_google_analytics_cb_txt_col_option['seopress_google_analytics_cb_txt_col'];
52
- }
53
- }
54
  }
 
 
55
 
56
- function seopress_google_analytics_cb_lk_col_option() {
57
- $seopress_google_analytics_cb_lk_col_option = get_option('seopress_google_analytics_option_name');
58
- if ( ! empty($seopress_google_analytics_cb_lk_col_option)) {
59
- foreach ($seopress_google_analytics_cb_lk_col_option as $key => $seopress_google_analytics_cb_lk_col_value) {
60
- $options[$key] = $seopress_google_analytics_cb_lk_col_value;
61
- }
62
- if (isset($seopress_google_analytics_cb_lk_col_option['seopress_google_analytics_cb_lk_col'])) {
63
- return $seopress_google_analytics_cb_lk_col_option['seopress_google_analytics_cb_lk_col'];
64
- }
65
- }
66
  }
 
 
 
 
 
67
 
68
- function seopress_google_analytics_cb_btn_bg_option() {
69
- $seopress_google_analytics_cb_btn_bg_option = get_option('seopress_google_analytics_option_name');
70
- if ( ! empty($seopress_google_analytics_cb_btn_bg_option)) {
71
- foreach ($seopress_google_analytics_cb_btn_bg_option as $key => $seopress_google_analytics_cb_btn_bg_value) {
72
- $options[$key] = $seopress_google_analytics_cb_btn_bg_value;
73
- }
74
- if (isset($seopress_google_analytics_cb_btn_bg_option['seopress_google_analytics_cb_btn_bg'])) {
75
- return $seopress_google_analytics_cb_btn_bg_option['seopress_google_analytics_cb_btn_bg'];
76
- }
77
- }
78
  }
 
 
79
 
80
- function seopress_google_analytics_cb_btn_bg_hov_option() {
81
- $seopress_google_analytics_cb_btn_bg_hov_option = get_option('seopress_google_analytics_option_name');
82
- if ( ! empty($seopress_google_analytics_cb_btn_bg_hov_option)) {
83
- foreach ($seopress_google_analytics_cb_btn_bg_hov_option as $key => $seopress_google_analytics_cb_btn_bg_hov_value) {
84
- $options[$key] = $seopress_google_analytics_cb_btn_bg_hov_value;
85
- }
86
- if (isset($seopress_google_analytics_cb_btn_bg_hov_option['seopress_google_analytics_cb_btn_bg_hov'])) {
87
- return $seopress_google_analytics_cb_btn_bg_hov_option['seopress_google_analytics_cb_btn_bg_hov'];
88
- }
89
- }
90
  }
 
 
 
 
 
91
 
92
- function seopress_google_analytics_cb_btn_col_option() {
93
- $seopress_google_analytics_cb_btn_col_option = get_option('seopress_google_analytics_option_name');
94
- if ( ! empty($seopress_google_analytics_cb_btn_col_option)) {
95
- foreach ($seopress_google_analytics_cb_btn_col_option as $key => $seopress_google_analytics_cb_btn_col_value) {
96
- $options[$key] = $seopress_google_analytics_cb_btn_col_value;
97
- }
98
- if (isset($seopress_google_analytics_cb_btn_col_option['seopress_google_analytics_cb_btn_col'])) {
99
- return $seopress_google_analytics_cb_btn_col_option['seopress_google_analytics_cb_btn_col'];
100
- }
101
- }
102
  }
 
 
103
 
104
- function seopress_google_analytics_cb_btn_col_hov_option() {
105
- $seopress_google_analytics_cb_btn_col_hov_option = get_option('seopress_google_analytics_option_name');
106
- if ( ! empty($seopress_google_analytics_cb_btn_col_hov_option)) {
107
- foreach ($seopress_google_analytics_cb_btn_col_hov_option as $key => $seopress_google_analytics_cb_btn_col_hov_value) {
108
- $options[$key] = $seopress_google_analytics_cb_btn_col_hov_value;
109
- }
110
- if (isset($seopress_google_analytics_cb_btn_col_hov_option['seopress_google_analytics_cb_btn_col_hov'])) {
111
- return $seopress_google_analytics_cb_btn_col_hov_option['seopress_google_analytics_cb_btn_col_hov'];
112
- }
113
- }
114
  }
 
 
115
 
116
- function seopress_google_analytics_cb_btn_sec_bg_option() {
117
- $seopress_google_analytics_cb_btn_sec_bg_option = get_option('seopress_google_analytics_option_name');
118
- if ( ! empty($seopress_google_analytics_cb_btn_sec_bg_option)) {
119
- foreach ($seopress_google_analytics_cb_btn_sec_bg_option as $key => $seopress_google_analytics_cb_btn_sec_bg_value) {
120
- $options[$key] = $seopress_google_analytics_cb_btn_sec_bg_value;
121
- }
122
- if (isset($seopress_google_analytics_cb_btn_sec_bg_option['seopress_google_analytics_cb_btn_sec_bg'])) {
123
- return $seopress_google_analytics_cb_btn_sec_bg_option['seopress_google_analytics_cb_btn_sec_bg'];
124
- }
125
- }
126
  }
 
 
 
 
 
127
 
128
- function seopress_google_analytics_cb_btn_sec_col_option() {
129
- $seopress_google_analytics_cb_btn_sec_col_option = get_option('seopress_google_analytics_option_name');
130
- if ( ! empty($seopress_google_analytics_cb_btn_sec_col_option)) {
131
- foreach ($seopress_google_analytics_cb_btn_sec_col_option as $key => $seopress_google_analytics_cb_btn_sec_col_value) {
132
- $options[$key] = $seopress_google_analytics_cb_btn_sec_col_value;
133
- }
134
- if (isset($seopress_google_analytics_cb_btn_sec_col_option['seopress_google_analytics_cb_btn_sec_col'])) {
135
- return $seopress_google_analytics_cb_btn_sec_col_option['seopress_google_analytics_cb_btn_sec_col'];
136
- }
137
- }
138
  }
 
 
139
 
140
- function seopress_google_analytics_cb_btn_sec_bg_hov_option() {
141
- $seopress_google_analytics_cb_btn_sec_bg_hov_option = get_option('seopress_google_analytics_option_name');
142
- if ( ! empty($seopress_google_analytics_cb_btn_sec_bg_hov_option)) {
143
- foreach ($seopress_google_analytics_cb_btn_sec_bg_hov_option as $key => $seopress_google_analytics_cb_btn_sec_bg_hov_value) {
144
- $options[$key] = $seopress_google_analytics_cb_btn_sec_bg_hov_value;
145
- }
146
- if (isset($seopress_google_analytics_cb_btn_sec_bg_hov_option['seopress_google_analytics_cb_btn_sec_bg_hov'])) {
147
- return $seopress_google_analytics_cb_btn_sec_bg_hov_option['seopress_google_analytics_cb_btn_sec_bg_hov'];
148
- }
149
- }
150
  }
 
 
151
 
152
- function seopress_google_analytics_cb_btn_sec_col_hov_option() {
153
- $seopress_google_analytics_cb_btn_sec_col_hov_option = get_option('seopress_google_analytics_option_name');
154
- if ( ! empty($seopress_google_analytics_cb_btn_sec_col_hov_option)) {
155
- foreach ($seopress_google_analytics_cb_btn_sec_col_hov_option as $key => $seopress_google_analytics_cb_btn_sec_col_hov_value) {
156
- $options[$key] = $seopress_google_analytics_cb_btn_sec_col_hov_value;
157
- }
158
- if (isset($seopress_google_analytics_cb_btn_sec_col_hov_option['seopress_google_analytics_cb_btn_sec_col_hov'])) {
159
- return $seopress_google_analytics_cb_btn_sec_col_hov_option['seopress_google_analytics_cb_btn_sec_col_hov'];
160
- }
161
- }
162
  }
 
 
 
 
 
163
 
164
- function seopress_google_analytics_cb_pos_option() {
165
- $seopress_google_analytics_cb_pos_option = get_option('seopress_google_analytics_option_name');
166
- if ( ! empty($seopress_google_analytics_cb_pos_option)) {
167
- foreach ($seopress_google_analytics_cb_pos_option as $key => $seopress_google_analytics_cb_pos_value) {
168
- $options[$key] = $seopress_google_analytics_cb_pos_value;
169
- }
170
- if (isset($seopress_google_analytics_cb_pos_option['seopress_google_analytics_cb_pos'])) {
171
- return $seopress_google_analytics_cb_pos_option['seopress_google_analytics_cb_pos'];
172
- }
173
- }
174
  }
 
 
175
 
176
- function seopress_google_analytics_cb_width_option() {
177
- $seopress_google_analytics_cb_width_option = get_option('seopress_google_analytics_option_name');
178
- if ( ! empty($seopress_google_analytics_cb_width_option)) {
179
- foreach ($seopress_google_analytics_cb_width_option as $key => $seopress_google_analytics_cb_width_value) {
180
- $options[$key] = $seopress_google_analytics_cb_width_value;
181
- }
182
- if (isset($seopress_google_analytics_cb_width_option['seopress_google_analytics_cb_width'])) {
183
- return $seopress_google_analytics_cb_width_option['seopress_google_analytics_cb_width'];
184
- }
185
- }
186
  }
 
 
 
 
 
187
 
188
- function seopress_google_analytics_cb_backdrop_option() {
189
- $seopress_google_analytics_cb_backdrop_option = get_option('seopress_google_analytics_option_name');
190
- if ( ! empty($seopress_google_analytics_cb_backdrop_option)) {
191
- foreach ($seopress_google_analytics_cb_backdrop_option as $key => $seopress_google_analytics_cb_backdrop_value) {
192
- $options[$key] = $seopress_google_analytics_cb_backdrop_value;
193
- }
194
- if (isset($seopress_google_analytics_cb_backdrop_option['seopress_google_analytics_cb_backdrop'])) {
195
- return $seopress_google_analytics_cb_backdrop_option['seopress_google_analytics_cb_backdrop'];
196
- }
197
- }
198
  }
 
 
199
 
200
- function seopress_google_analytics_cb_backdrop_bg_option() {
201
- $seopress_google_analytics_cb_backdrop_bg_option = get_option('seopress_google_analytics_option_name');
202
- if ( ! empty($seopress_google_analytics_cb_backdrop_bg_option)) {
203
- foreach ($seopress_google_analytics_cb_backdrop_bg_option as $key => $seopress_google_analytics_cb_backdrop_bg_value) {
204
- $options[$key] = $seopress_google_analytics_cb_backdrop_bg_value;
205
- }
206
- if (isset($seopress_google_analytics_cb_backdrop_bg_option['seopress_google_analytics_cb_backdrop_bg'])) {
207
- return $seopress_google_analytics_cb_backdrop_bg_option['seopress_google_analytics_cb_backdrop_bg'];
208
- }
209
- }
210
  }
 
 
 
 
 
211
 
212
- function seopress_google_analytics_cb_txt_align_option() {
213
- $seopress_google_analytics_cb_txt_align_option = get_option('seopress_google_analytics_option_name');
214
- if ( ! empty($seopress_google_analytics_cb_txt_align_option)) {
215
- foreach ($seopress_google_analytics_cb_txt_align_option as $key => $seopress_google_analytics_cb_txt_align_value) {
216
- $options[$key] = $seopress_google_analytics_cb_txt_align_value;
217
- }
218
- if (isset($seopress_google_analytics_cb_txt_align_option['seopress_google_analytics_cb_txt_align'])) {
219
- return $seopress_google_analytics_cb_txt_align_option['seopress_google_analytics_cb_txt_align'];
220
- }
221
- }
222
  }
 
 
 
 
 
223
 
224
- function seopress_google_analytics_opt_out_edit_choice_option() {
225
- $seopress_google_analytics_opt_out_edit_choice_option = get_option('seopress_google_analytics_option_name');
226
- if ( ! empty($seopress_google_analytics_opt_out_edit_choice_option)) {
227
- foreach ($seopress_google_analytics_opt_out_edit_choice_option as $key => $seopress_google_analytics_opt_out_edit_choice_value) {
228
- $options[$key] = $seopress_google_analytics_opt_out_edit_choice_value;
229
- }
230
- if (isset($seopress_google_analytics_opt_out_edit_choice_option['seopress_google_analytics_opt_out_edit_choice'])) {
231
- return $seopress_google_analytics_opt_out_edit_choice_option['seopress_google_analytics_opt_out_edit_choice'];
232
- }
233
- }
234
  }
 
 
235
 
236
- function seopress_google_analytics_opt_out_msg_edit_option() {
237
- $seopress_google_analytics_opt_out_msg_edit_option = get_option('seopress_google_analytics_option_name');
238
- if ( ! empty($seopress_google_analytics_opt_out_msg_edit_option)) {
239
- foreach ($seopress_google_analytics_opt_out_msg_edit_option as $key => $seopress_google_analytics_opt_out_msg_edit_value) {
240
- $options[$key] = $seopress_google_analytics_opt_out_msg_edit_value;
241
- }
242
- if (isset($seopress_google_analytics_opt_out_msg_edit_option['seopress_google_analytics_opt_out_msg_edit'])) {
243
- return $seopress_google_analytics_opt_out_msg_edit_option['seopress_google_analytics_opt_out_msg_edit'];
244
- }
245
- }
246
  }
 
 
247
 
248
- function seopress_cookies_user_consent_html() {
249
- if ('' != seopress_google_analytics_opt_out_msg_option()) {
250
- $msg = seopress_google_analytics_opt_out_msg_option();
251
- } elseif (get_option('wp_page_for_privacy_policy')) {
252
- $msg = __('By visiting our site, you agree to our privacy policy regarding cookies, tracking statistics, etc.&nbsp;<a href="[seopress_privacy_page]">Read more</a>', 'wp-seopress');
253
- } else {
254
- $msg = __('By visiting our site, you agree to our privacy policy regarding cookies, tracking statistics, etc.', 'wp-seopress');
255
- }
256
 
257
- if (get_option('wp_page_for_privacy_policy') && '' != $msg) {
258
- $seopress_privacy_page = esc_url(get_permalink(get_option('wp_page_for_privacy_policy')));
259
- $msg = str_replace('[seopress_privacy_page]', $seopress_privacy_page, $msg);
260
- }
261
 
262
- $msg = apply_filters('seopress_rgpd_message', $msg);
263
 
264
- if ('' != seopress_google_analytics_opt_out_msg_ok_option()) {
265
- $consent_btn = seopress_google_analytics_opt_out_msg_ok_option();
266
- } else {
267
- $consent_btn = __('Accept', 'wp-seopress');
268
- }
269
 
270
- if ('' != seopress_google_analytics_opt_out_msg_close_option()) {
271
- $close_btn = seopress_google_analytics_opt_out_msg_close_option();
272
- } else {
273
- $close_btn = __('X', 'wp-seopress');
274
- }
 
 
 
 
 
 
 
 
275
 
276
- $user_msg = '<div data-nosnippet class="seopress-user-consent seopress-user-message seopress-user-consent-hide">
277
- <p>' . $msg . '</p>
278
- <p>
279
- <button id="seopress-user-consent-accept" type="button">' . $consent_btn . '</button>
280
- <button type="button" id="seopress-user-consent-close">' . $close_btn . '</button>
281
- </p>
282
- </div>';
283
 
284
- $backdrop = '<div class="seopress-user-consent-backdrop seopress-user-consent-hide"></div>';
285
 
286
- $user_msg = apply_filters('seopress_rgpd_full_message', $user_msg, $msg, $consent_btn, $close_btn, $backdrop);
 
287
 
288
- echo $user_msg . $backdrop;
 
 
 
 
 
289
  }
290
 
291
- function seopress_cookies_edit_choice_html() {
292
- if ('1' === seopress_google_analytics_opt_out_edit_choice_option()) {
293
- if ('' != seopress_google_analytics_opt_out_msg_edit_option()) {
294
- $edit_cookie_btn = seopress_google_analytics_opt_out_msg_edit_option();
295
- } else {
296
- $edit_cookie_btn = __('Manage cookies', 'wp-seopress');
297
- }
298
 
299
- $user_msg = '<div data-nosnippet class="seopress-user-consent seopress-edit-choice">
300
- <p>
301
- <button id="seopress-user-consent-edit" type="button">' . $edit_cookie_btn . '</button>
302
- </p>
303
- </div>';
304
 
305
- $user_msg = apply_filters('seopress_rgpd_full_message', $user_msg, $edit_cookie_btn);
 
306
 
307
- echo $user_msg;
308
- }
 
 
 
 
 
 
 
309
  }
310
 
311
- function seopress_cookies_user_consent_styles() {
312
- $styles = '<style>.seopress-user-consent {left: 50%;position: fixed;z-index: 8000;padding: 20px;display: inline-flex;justify-content: center;border: 1px solid #CCC;max-width:100%;';
 
 
313
 
314
- //Width
315
- if ('' != seopress_google_analytics_cb_width_option()) {
316
- $width = seopress_google_analytics_cb_width_option();
317
- $needle = '%';
 
 
 
 
 
 
 
318
 
319
- if (false !== strpos($width, $needle)) {
320
- $unit = '';
321
- } else {
322
- $unit = 'px';
323
- }
 
 
 
324
 
325
- $styles .= 'width: ' . $width . $unit . ';';
326
- } else {
327
- $styles .= 'width:100%;';
328
- }
 
 
329
 
330
- //Position
331
- if ('top' === seopress_google_analytics_cb_pos_option()) {
332
- $styles .= 'top:0;';
333
- $styles .= 'transform: translate(-50%, 0%);';
334
- } elseif ('center' === seopress_google_analytics_cb_pos_option()) {
335
- $styles .= 'top:45%;';
336
- $styles .= 'transform: translate(-50%, -50%);';
337
- } else {
338
- $styles .= 'bottom:0;';
339
- $styles .= 'transform: translate(-50%, 0);';
340
- }
341
 
342
- //Text alignment
343
- if ('left' === seopress_google_analytics_cb_txt_align_option()) {
344
- $styles .= 'text-align:left;';
345
- } elseif ('right' === seopress_google_analytics_cb_pos_option()) {
346
- $styles .= 'text-align:right;';
347
- } else {
348
- $styles .= 'text-align:center;';
349
- }
350
 
351
- //Background color
352
- if ('' != seopress_google_analytics_cb_bg_option()) {
353
- $styles .= 'background:' . seopress_google_analytics_cb_bg_option() . ';';
354
- } else {
355
- $styles .= 'background:#F1F1F1;';
356
- }
357
 
358
- $styles .= '}@media (max-width: 782px) {.seopress-user-consent {display: block;}}.seopress-user-consent.seopress-user-message p:first-child {margin-right:20px}.seopress-user-consent p {margin: 0;font-size: 0.8em;align-self: center;';
 
 
 
359
 
360
- //Text color
361
- if ('' != seopress_google_analytics_cb_txt_col_option()) {
362
- $styles .= 'color:' . seopress_google_analytics_cb_txt_col_option() . ';';
363
- }
364
 
365
- $styles .= '}.seopress-user-consent button {vertical-align: middle;margin: 0;font-size: 14px;';
366
 
367
- //Btn background color
368
- if ('' != seopress_google_analytics_cb_btn_bg_option()) {
369
- $styles .= 'background:' . seopress_google_analytics_cb_btn_bg_option() . ';';
370
- }
371
 
372
- //Btn text color
373
- if ('' != seopress_google_analytics_cb_btn_col_option()) {
374
- $styles .= 'color:' . seopress_google_analytics_cb_btn_col_option() . ';';
375
- }
376
 
377
- $styles .= '}.seopress-user-consent button:hover{';
378
 
379
- //Background hover color
380
- if ('' != seopress_google_analytics_cb_btn_bg_hov_option()) {
381
- $styles .= 'background:' . seopress_google_analytics_cb_btn_bg_hov_option() . ';';
382
- }
 
 
383
 
384
- //Text hover color
385
- if ('' != seopress_google_analytics_cb_btn_col_hov_option()) {
386
- $styles .= 'color:' . seopress_google_analytics_cb_btn_col_hov_option() . ';';
387
- }
 
 
388
 
389
- $styles .= '}#seopress-user-consent-close{margin: 0;position: relative;font-weight: bold;border: 1px solid #ccc;';
390
 
391
- //Background secondary button
392
- if ('' != seopress_google_analytics_cb_btn_sec_bg_option()) {
393
- $styles .= 'background:' . seopress_google_analytics_cb_btn_sec_bg_option() . ';';
394
- } else {
395
- $styles .= 'background:none;';
396
- }
397
 
398
- //Color secondary button
399
- if ('' != seopress_google_analytics_cb_btn_sec_col_option()) {
400
- $styles .= 'color:' . seopress_google_analytics_cb_btn_sec_col_option() . ';';
401
- } else {
402
- $styles .= 'color:inherit;';
403
- }
404
 
405
- $styles .= '}#seopress-user-consent-close:hover{cursor:pointer;';
406
 
407
- //Background secondary button hover
408
- if ('' != seopress_google_analytics_cb_btn_sec_bg_hov_option()) {
409
- $styles .= 'background:' . seopress_google_analytics_cb_btn_sec_bg_hov_option() . ';';
410
- } else {
411
- $styles .= 'background:#222;';
412
- }
413
 
414
- //Color secondary button hover
415
- if ('' != seopress_google_analytics_cb_btn_sec_col_hov_option()) {
416
- $styles .= 'color:' . seopress_google_analytics_cb_btn_sec_col_hov_option() . ';';
417
- } else {
418
- $styles .= 'color:#fff;';
419
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
420
 
421
- $styles .= '}';
 
 
 
 
 
 
 
 
 
 
422
 
423
- //Link color
424
- if ('' != seopress_google_analytics_cb_lk_col_option()) {
425
- $styles .= '.seopress-user-consent a{';
426
- $styles .= 'color:' . seopress_google_analytics_cb_lk_col_option();
427
- $styles .= '}';
428
- }
429
 
430
- $styles .= '.seopress-user-consent-hide{display:none;}';
431
 
432
- if ('' != seopress_google_analytics_cb_backdrop_option()) {
433
- $bg_backdrop = 'rgba(0,0,0,.65)';
434
- if ('' != seopress_google_analytics_cb_backdrop_bg_option()) {
435
- $bg_backdrop = seopress_google_analytics_cb_backdrop_bg_option();
436
- }
437
 
438
- $styles .= '.seopress-user-consent-backdrop{-webkit-box-align: center;
439
- -webkit-align-items: center;
440
- -ms-flex-align: center;
441
- align-items: center;
442
- background: ' . $bg_backdrop . ';
443
- bottom: 0;
444
- -webkit-box-orient: vertical;
445
- -webkit-box-direction: normal;
446
- -webkit-flex-direction: column;
447
- -ms-flex-direction: column;
448
- flex-direction: column;
449
- left: 0;
450
- -webkit-overflow-scrolling: touch;
451
- overflow-y: auto;
452
- position: fixed;
453
- right: 0;
454
- -webkit-tap-highlight-color: transparent;
455
- top: 0;
456
- z-index: 100;}';
457
- }
458
 
459
- $styles .= '.seopress-edit-choice{
460
- background: none;
461
- justify-content: start;
462
- z-index: 7500;
463
- border: none;
464
- width: inherit;
465
- transform: none;
466
- left: inherit;
467
- bottom: 0;
468
- top: inherit;
469
- }';
470
-
471
- $styles .= '</style>';
472
-
473
- $styles = apply_filters('seopress_rgpd_full_message_styles', $styles);
474
-
475
- echo $styles;
476
- }
477
-
478
- if ('1' == seopress_google_analytics_disable_option()) {
479
- if (is_user_logged_in()) {
480
- global $wp_roles;
481
-
482
- //Get current user role
483
- if (isset(wp_get_current_user()->roles[0])) {
484
- $seopress_user_role = wp_get_current_user()->roles[0];
485
- //If current user role matchs values from SEOPress GA settings then apply
486
- if (function_exists('seopress_google_analytics_roles_option') && '' != seopress_google_analytics_roles_option()) {
487
- if (array_key_exists($seopress_user_role, seopress_google_analytics_roles_option())) {
488
- //do nothing
489
- } else {
490
- add_action('wp_head', 'seopress_cookies_user_consent_html');
491
- add_action('wp_head', 'seopress_cookies_edit_choice_html');
492
- add_action('wp_head', 'seopress_cookies_user_consent_styles');
493
- }
494
- } else {
495
- add_action('wp_head', 'seopress_cookies_user_consent_html');
496
- add_action('wp_head', 'seopress_cookies_edit_choice_html');
497
- add_action('wp_head', 'seopress_cookies_user_consent_styles');
498
- }
499
  } else {
500
- add_action('wp_head', 'seopress_cookies_user_consent_html');
501
- add_action('wp_head', 'seopress_cookies_edit_choice_html');
502
- add_action('wp_head', 'seopress_cookies_user_consent_styles');
503
  }
504
  } else {
505
- add_action('wp_head', 'seopress_cookies_user_consent_html');
506
- add_action('wp_head', 'seopress_cookies_edit_choice_html');
507
- add_action('wp_head', 'seopress_cookies_user_consent_styles');
508
  }
 
 
509
  }
 
 
 
 
510
 
511
  //Optimize
512
  function seopress_google_analytics_optimize_option() {
4
 
5
  //Google Analytics
6
  //=================================================================================================
7
+ function seopress_google_analytics_hook_option() {
8
+ $seopress_google_analytics_hook_option = get_option('seopress_google_analytics_option_name');
9
+ if ( ! empty($seopress_google_analytics_hook_option)) {
10
+ foreach ($seopress_google_analytics_hook_option as $key => $seopress_google_analytics_hook_value) {
11
+ $options[$key] = $seopress_google_analytics_hook_value;
12
+ }
13
+ if (isset($seopress_google_analytics_hook_option['seopress_google_analytics_hook'])) {
14
+ return $seopress_google_analytics_hook_option['seopress_google_analytics_hook'];
15
+ }
16
+ }
17
+ }
18
+ function seopress_google_analytics_opt_out_msg_ok_option() {
19
+ $seopress_google_analytics_opt_out_msg_ok_option = get_option('seopress_google_analytics_option_name');
20
+ if ( ! empty($seopress_google_analytics_opt_out_msg_ok_option)) {
21
+ foreach ($seopress_google_analytics_opt_out_msg_ok_option as $key => $seopress_google_analytics_opt_out_msg_ok_value) {
22
+ $options[$key] = $seopress_google_analytics_opt_out_msg_ok_value;
23
+ }
24
+ if (isset($seopress_google_analytics_opt_out_msg_ok_option['seopress_google_analytics_opt_out_msg_ok'])) {
25
+ return $seopress_google_analytics_opt_out_msg_ok_option['seopress_google_analytics_opt_out_msg_ok'];
26
  }
27
+ }
28
+ }
29
 
30
+ function seopress_google_analytics_opt_out_msg_close_option() {
31
+ $seopress_google_analytics_opt_out_msg_close_option = get_option('seopress_google_analytics_option_name');
32
+ if ( ! empty($seopress_google_analytics_opt_out_msg_close_option)) {
33
+ foreach ($seopress_google_analytics_opt_out_msg_close_option as $key => $seopress_google_analytics_opt_out_msg_close_value) {
34
+ $options[$key] = $seopress_google_analytics_opt_out_msg_close_value;
 
 
 
 
 
35
  }
36
+ if (isset($seopress_google_analytics_opt_out_msg_close_option['seopress_google_analytics_opt_out_msg_close'])) {
37
+ return $seopress_google_analytics_opt_out_msg_close_option['seopress_google_analytics_opt_out_msg_close'];
38
+ }
39
+ }
40
+ }
41
 
42
+ function seopress_google_analytics_cb_bg_option() {
43
+ $seopress_google_analytics_cb_bg_option = get_option('seopress_google_analytics_option_name');
44
+ if ( ! empty($seopress_google_analytics_cb_bg_option)) {
45
+ foreach ($seopress_google_analytics_cb_bg_option as $key => $seopress_google_analytics_cb_bg_value) {
46
+ $options[$key] = $seopress_google_analytics_cb_bg_value;
47
+ }
48
+ if (isset($seopress_google_analytics_cb_bg_option['seopress_google_analytics_cb_bg'])) {
49
+ return $seopress_google_analytics_cb_bg_option['seopress_google_analytics_cb_bg'];
 
 
50
  }
51
+ }
52
+ }
53
 
54
+ function seopress_google_analytics_cb_txt_col_option() {
55
+ $seopress_google_analytics_cb_txt_col_option = get_option('seopress_google_analytics_option_name');
56
+ if ( ! empty($seopress_google_analytics_cb_txt_col_option)) {
57
+ foreach ($seopress_google_analytics_cb_txt_col_option as $key => $seopress_google_analytics_cb_txt_col_value) {
58
+ $options[$key] = $seopress_google_analytics_cb_txt_col_value;
59
+ }
60
+ if (isset($seopress_google_analytics_cb_txt_col_option['seopress_google_analytics_cb_txt_col'])) {
61
+ return $seopress_google_analytics_cb_txt_col_option['seopress_google_analytics_cb_txt_col'];
 
 
62
  }
63
+ }
64
+ }
65
 
66
+ function seopress_google_analytics_cb_lk_col_option() {
67
+ $seopress_google_analytics_cb_lk_col_option = get_option('seopress_google_analytics_option_name');
68
+ if ( ! empty($seopress_google_analytics_cb_lk_col_option)) {
69
+ foreach ($seopress_google_analytics_cb_lk_col_option as $key => $seopress_google_analytics_cb_lk_col_value) {
70
+ $options[$key] = $seopress_google_analytics_cb_lk_col_value;
 
 
 
 
 
71
  }
72
+ if (isset($seopress_google_analytics_cb_lk_col_option['seopress_google_analytics_cb_lk_col'])) {
73
+ return $seopress_google_analytics_cb_lk_col_option['seopress_google_analytics_cb_lk_col'];
74
+ }
75
+ }
76
+ }
77
 
78
+ function seopress_google_analytics_cb_btn_bg_option() {
79
+ $seopress_google_analytics_cb_btn_bg_option = get_option('seopress_google_analytics_option_name');
80
+ if ( ! empty($seopress_google_analytics_cb_btn_bg_option)) {
81
+ foreach ($seopress_google_analytics_cb_btn_bg_option as $key => $seopress_google_analytics_cb_btn_bg_value) {
82
+ $options[$key] = $seopress_google_analytics_cb_btn_bg_value;
83
+ }
84
+ if (isset($seopress_google_analytics_cb_btn_bg_option['seopress_google_analytics_cb_btn_bg'])) {
85
+ return $seopress_google_analytics_cb_btn_bg_option['seopress_google_analytics_cb_btn_bg'];
 
 
86
  }
87
+ }
88
+ }
89
 
90
+ function seopress_google_analytics_cb_btn_bg_hov_option() {
91
+ $seopress_google_analytics_cb_btn_bg_hov_option = get_option('seopress_google_analytics_option_name');
92
+ if ( ! empty($seopress_google_analytics_cb_btn_bg_hov_option)) {
93
+ foreach ($seopress_google_analytics_cb_btn_bg_hov_option as $key => $seopress_google_analytics_cb_btn_bg_hov_value) {
94
+ $options[$key] = $seopress_google_analytics_cb_btn_bg_hov_value;
 
 
 
 
 
95
  }
96
+ if (isset($seopress_google_analytics_cb_btn_bg_hov_option['seopress_google_analytics_cb_btn_bg_hov'])) {
97
+ return $seopress_google_analytics_cb_btn_bg_hov_option['seopress_google_analytics_cb_btn_bg_hov'];
98
+ }
99
+ }
100
+ }
101
 
102
+ function seopress_google_analytics_cb_btn_col_option() {
103
+ $seopress_google_analytics_cb_btn_col_option = get_option('seopress_google_analytics_option_name');
104
+ if ( ! empty($seopress_google_analytics_cb_btn_col_option)) {
105
+ foreach ($seopress_google_analytics_cb_btn_col_option as $key => $seopress_google_analytics_cb_btn_col_value) {
106
+ $options[$key] = $seopress_google_analytics_cb_btn_col_value;
107
+ }
108
+ if (isset($seopress_google_analytics_cb_btn_col_option['seopress_google_analytics_cb_btn_col'])) {
109
+ return $seopress_google_analytics_cb_btn_col_option['seopress_google_analytics_cb_btn_col'];
 
 
110
  }
111
+ }
112
+ }
113
 
114
+ function seopress_google_analytics_cb_btn_col_hov_option() {
115
+ $seopress_google_analytics_cb_btn_col_hov_option = get_option('seopress_google_analytics_option_name');
116
+ if ( ! empty($seopress_google_analytics_cb_btn_col_hov_option)) {
117
+ foreach ($seopress_google_analytics_cb_btn_col_hov_option as $key => $seopress_google_analytics_cb_btn_col_hov_value) {
118
+ $options[$key] = $seopress_google_analytics_cb_btn_col_hov_value;
119
+ }
120
+ if (isset($seopress_google_analytics_cb_btn_col_hov_option['seopress_google_analytics_cb_btn_col_hov'])) {
121
+ return $seopress_google_analytics_cb_btn_col_hov_option['seopress_google_analytics_cb_btn_col_hov'];
 
 
122
  }
123
+ }
124
+ }
125
 
126
+ function seopress_google_analytics_cb_btn_sec_bg_option() {
127
+ $seopress_google_analytics_cb_btn_sec_bg_option = get_option('seopress_google_analytics_option_name');
128
+ if ( ! empty($seopress_google_analytics_cb_btn_sec_bg_option)) {
129
+ foreach ($seopress_google_analytics_cb_btn_sec_bg_option as $key => $seopress_google_analytics_cb_btn_sec_bg_value) {
130
+ $options[$key] = $seopress_google_analytics_cb_btn_sec_bg_value;
 
 
 
 
 
131
  }
132
+ if (isset($seopress_google_analytics_cb_btn_sec_bg_option['seopress_google_analytics_cb_btn_sec_bg'])) {
133
+ return $seopress_google_analytics_cb_btn_sec_bg_option['seopress_google_analytics_cb_btn_sec_bg'];
134
+ }
135
+ }
136
+ }
137
 
138
+ function seopress_google_analytics_cb_btn_sec_col_option() {
139
+ $seopress_google_analytics_cb_btn_sec_col_option = get_option('seopress_google_analytics_option_name');
140
+ if ( ! empty($seopress_google_analytics_cb_btn_sec_col_option)) {
141
+ foreach ($seopress_google_analytics_cb_btn_sec_col_option as $key => $seopress_google_analytics_cb_btn_sec_col_value) {
142
+ $options[$key] = $seopress_google_analytics_cb_btn_sec_col_value;
143
+ }
144
+ if (isset($seopress_google_analytics_cb_btn_sec_col_option['seopress_google_analytics_cb_btn_sec_col'])) {
145
+ return $seopress_google_analytics_cb_btn_sec_col_option['seopress_google_analytics_cb_btn_sec_col'];
 
 
146
  }
147
+ }
148
+ }
149
 
150
+ function seopress_google_analytics_cb_btn_sec_bg_hov_option() {
151
+ $seopress_google_analytics_cb_btn_sec_bg_hov_option = get_option('seopress_google_analytics_option_name');
152
+ if ( ! empty($seopress_google_analytics_cb_btn_sec_bg_hov_option)) {
153
+ foreach ($seopress_google_analytics_cb_btn_sec_bg_hov_option as $key => $seopress_google_analytics_cb_btn_sec_bg_hov_value) {
154
+ $options[$key] = $seopress_google_analytics_cb_btn_sec_bg_hov_value;
155
+ }
156
+ if (isset($seopress_google_analytics_cb_btn_sec_bg_hov_option['seopress_google_analytics_cb_btn_sec_bg_hov'])) {
157
+ return $seopress_google_analytics_cb_btn_sec_bg_hov_option['seopress_google_analytics_cb_btn_sec_bg_hov'];
 
 
158
  }
159
+ }
160
+ }
161
 
162
+ function seopress_google_analytics_cb_btn_sec_col_hov_option() {
163
+ $seopress_google_analytics_cb_btn_sec_col_hov_option = get_option('seopress_google_analytics_option_name');
164
+ if ( ! empty($seopress_google_analytics_cb_btn_sec_col_hov_option)) {
165
+ foreach ($seopress_google_analytics_cb_btn_sec_col_hov_option as $key => $seopress_google_analytics_cb_btn_sec_col_hov_value) {
166
+ $options[$key] = $seopress_google_analytics_cb_btn_sec_col_hov_value;
 
 
 
 
 
167
  }
168
+ if (isset($seopress_google_analytics_cb_btn_sec_col_hov_option['seopress_google_analytics_cb_btn_sec_col_hov'])) {
169
+ return $seopress_google_analytics_cb_btn_sec_col_hov_option['seopress_google_analytics_cb_btn_sec_col_hov'];
170
+ }
171
+ }
172
+ }
173
 
174
+ function seopress_google_analytics_cb_pos_option() {
175
+ $seopress_google_analytics_cb_pos_option = get_option('seopress_google_analytics_option_name');
176
+ if ( ! empty($seopress_google_analytics_cb_pos_option)) {
177
+ foreach ($seopress_google_analytics_cb_pos_option as $key => $seopress_google_analytics_cb_pos_value) {
178
+ $options[$key] = $seopress_google_analytics_cb_pos_value;
179
+ }
180
+ if (isset($seopress_google_analytics_cb_pos_option['seopress_google_analytics_cb_pos'])) {
181
+ return $seopress_google_analytics_cb_pos_option['seopress_google_analytics_cb_pos'];
 
 
182
  }
183
+ }
184
+ }
185
 
186
+ function seopress_google_analytics_cb_width_option() {
187
+ $seopress_google_analytics_cb_width_option = get_option('seopress_google_analytics_option_name');
188
+ if ( ! empty($seopress_google_analytics_cb_width_option)) {
189
+ foreach ($seopress_google_analytics_cb_width_option as $key => $seopress_google_analytics_cb_width_value) {
190
+ $options[$key] = $seopress_google_analytics_cb_width_value;
 
 
 
 
 
191
  }
192
+ if (isset($seopress_google_analytics_cb_width_option['seopress_google_analytics_cb_width'])) {
193
+ return $seopress_google_analytics_cb_width_option['seopress_google_analytics_cb_width'];
194
+ }
195
+ }
196
+ }
197
 
198
+ function seopress_google_analytics_cb_backdrop_option() {
199
+ $seopress_google_analytics_cb_backdrop_option = get_option('seopress_google_analytics_option_name');
200
+ if ( ! empty($seopress_google_analytics_cb_backdrop_option)) {
201
+ foreach ($seopress_google_analytics_cb_backdrop_option as $key => $seopress_google_analytics_cb_backdrop_value) {
202
+ $options[$key] = $seopress_google_analytics_cb_backdrop_value;
203
+ }
204
+ if (isset($seopress_google_analytics_cb_backdrop_option['seopress_google_analytics_cb_backdrop'])) {
205
+ return $seopress_google_analytics_cb_backdrop_option['seopress_google_analytics_cb_backdrop'];
 
 
206
  }
207
+ }
208
+ }
209
 
210
+ function seopress_google_analytics_cb_backdrop_bg_option() {
211
+ $seopress_google_analytics_cb_backdrop_bg_option = get_option('seopress_google_analytics_option_name');
212
+ if ( ! empty($seopress_google_analytics_cb_backdrop_bg_option)) {
213
+ foreach ($seopress_google_analytics_cb_backdrop_bg_option as $key => $seopress_google_analytics_cb_backdrop_bg_value) {
214
+ $options[$key] = $seopress_google_analytics_cb_backdrop_bg_value;
 
 
 
 
 
215
  }
216
+ if (isset($seopress_google_analytics_cb_backdrop_bg_option['seopress_google_analytics_cb_backdrop_bg'])) {
217
+ return $seopress_google_analytics_cb_backdrop_bg_option['seopress_google_analytics_cb_backdrop_bg'];
218
+ }
219
+ }
220
+ }
221
 
222
+ function seopress_google_analytics_cb_txt_align_option() {
223
+ $seopress_google_analytics_cb_txt_align_option = get_option('seopress_google_analytics_option_name');
224
+ if ( ! empty($seopress_google_analytics_cb_txt_align_option)) {
225
+ foreach ($seopress_google_analytics_cb_txt_align_option as $key => $seopress_google_analytics_cb_txt_align_value) {
226
+ $options[$key] = $seopress_google_analytics_cb_txt_align_value;
 
 
 
 
 
227
  }
228
+ if (isset($seopress_google_analytics_cb_txt_align_option['seopress_google_analytics_cb_txt_align'])) {
229
+ return $seopress_google_analytics_cb_txt_align_option['seopress_google_analytics_cb_txt_align'];
230
+ }
231
+ }
232
+ }
233
 
234
+ function seopress_google_analytics_opt_out_edit_choice_option() {
235
+ $seopress_google_analytics_opt_out_edit_choice_option = get_option('seopress_google_analytics_option_name');
236
+ if ( ! empty($seopress_google_analytics_opt_out_edit_choice_option)) {
237
+ foreach ($seopress_google_analytics_opt_out_edit_choice_option as $key => $seopress_google_analytics_opt_out_edit_choice_value) {
238
+ $options[$key] = $seopress_google_analytics_opt_out_edit_choice_value;
239
+ }
240
+ if (isset($seopress_google_analytics_opt_out_edit_choice_option['seopress_google_analytics_opt_out_edit_choice'])) {
241
+ return $seopress_google_analytics_opt_out_edit_choice_option['seopress_google_analytics_opt_out_edit_choice'];
 
 
242
  }
243
+ }
244
+ }
245
 
246
+ function seopress_google_analytics_opt_out_msg_edit_option() {
247
+ $seopress_google_analytics_opt_out_msg_edit_option = get_option('seopress_google_analytics_option_name');
248
+ if ( ! empty($seopress_google_analytics_opt_out_msg_edit_option)) {
249
+ foreach ($seopress_google_analytics_opt_out_msg_edit_option as $key => $seopress_google_analytics_opt_out_msg_edit_value) {
250
+ $options[$key] = $seopress_google_analytics_opt_out_msg_edit_value;
251
+ }
252
+ if (isset($seopress_google_analytics_opt_out_msg_edit_option['seopress_google_analytics_opt_out_msg_edit'])) {
253
+ return $seopress_google_analytics_opt_out_msg_edit_option['seopress_google_analytics_opt_out_msg_edit'];
 
 
254
  }
255
+ }
256
+ }
257
 
258
+ function seopress_cookies_user_consent_html() {
259
+ if ('' != seopress_google_analytics_opt_out_msg_option()) {
260
+ $msg = seopress_google_analytics_opt_out_msg_option();
261
+ } elseif (get_option('wp_page_for_privacy_policy')) {
262
+ $msg = __('By visiting our site, you agree to our privacy policy regarding cookies, tracking statistics, etc.&nbsp;<a href="[seopress_privacy_page]">Read more</a>', 'wp-seopress');
263
+ } else {
264
+ $msg = __('By visiting our site, you agree to our privacy policy regarding cookies, tracking statistics, etc.', 'wp-seopress');
265
+ }
266
 
267
+ if (get_option('wp_page_for_privacy_policy') && '' != $msg) {
268
+ $seopress_privacy_page = esc_url(get_permalink(get_option('wp_page_for_privacy_policy')));
269
+ $msg = str_replace('[seopress_privacy_page]', $seopress_privacy_page, $msg);
270
+ }
271
 
272
+ $msg = apply_filters('seopress_rgpd_message', $msg);
273
 
274
+ if ('' != seopress_google_analytics_opt_out_msg_ok_option()) {
275
+ $consent_btn = seopress_google_analytics_opt_out_msg_ok_option();
276
+ } else {
277
+ $consent_btn = __('Accept', 'wp-seopress');
278
+ }
279
 
280
+ if ('' != seopress_google_analytics_opt_out_msg_close_option()) {
281
+ $close_btn = seopress_google_analytics_opt_out_msg_close_option();
282
+ } else {
283
+ $close_btn = __('X', 'wp-seopress');
284
+ }
285
+
286
+ $user_msg = '<div data-nosnippet class="seopress-user-consent seopress-user-message seopress-user-consent-hide">
287
+ <p>' . $msg . '</p>
288
+ <p>
289
+ <button id="seopress-user-consent-accept" type="button">' . $consent_btn . '</button>
290
+ <button type="button" id="seopress-user-consent-close">' . $close_btn . '</button>
291
+ </p>
292
+ </div>';
293
 
294
+ $backdrop = '<div class="seopress-user-consent-backdrop seopress-user-consent-hide"></div>';
 
 
 
 
 
 
295
 
296
+ $user_msg = apply_filters('seopress_rgpd_full_message', $user_msg, $msg, $consent_btn, $close_btn, $backdrop);
297
 
298
+ echo $user_msg . $backdrop;
299
+ }
300
 
301
+ function seopress_cookies_edit_choice_html() {
302
+ if ('1' === seopress_google_analytics_opt_out_edit_choice_option()) {
303
+ if ('' != seopress_google_analytics_opt_out_msg_edit_option()) {
304
+ $edit_cookie_btn = seopress_google_analytics_opt_out_msg_edit_option();
305
+ } else {
306
+ $edit_cookie_btn = __('Manage cookies', 'wp-seopress');
307
  }
308
 
309
+ $user_msg = '<div data-nosnippet class="seopress-user-consent seopress-edit-choice">
310
+ <p>
311
+ <button id="seopress-user-consent-edit" type="button">' . $edit_cookie_btn . '</button>
312
+ </p>
313
+ </div>';
314
+
315
+ $user_msg = apply_filters('seopress_rgpd_full_message', $user_msg, $edit_cookie_btn);
316
 
317
+ echo $user_msg;
318
+ }
319
+ }
 
 
320
 
321
+ function seopress_cookies_user_consent_styles() {
322
+ $styles = '<style>.seopress-user-consent {left: 50%;position: fixed;z-index: 8000;padding: 20px;display: inline-flex;justify-content: center;border: 1px solid #CCC;max-width:100%;';
323
 
324
+ //Width
325
+ if ('' != seopress_google_analytics_cb_width_option()) {
326
+ $width = seopress_google_analytics_cb_width_option();
327
+ $needle = '%';
328
+
329
+ if (false !== strpos($width, $needle)) {
330
+ $unit = '';
331
+ } else {
332
+ $unit = 'px';
333
  }
334
 
335
+ $styles .= 'width: ' . $width . $unit . ';';
336
+ } else {
337
+ $styles .= 'width:100%;';
338
+ }
339
 
340
+ //Position
341
+ if ('top' === seopress_google_analytics_cb_pos_option()) {
342
+ $styles .= 'top:0;';
343
+ $styles .= 'transform: translate(-50%, 0%);';
344
+ } elseif ('center' === seopress_google_analytics_cb_pos_option()) {
345
+ $styles .= 'top:45%;';
346
+ $styles .= 'transform: translate(-50%, -50%);';
347
+ } else {
348
+ $styles .= 'bottom:0;';
349
+ $styles .= 'transform: translate(-50%, 0);';
350
+ }
351
 
352
+ //Text alignment
353
+ if ('left' === seopress_google_analytics_cb_txt_align_option()) {
354
+ $styles .= 'text-align:left;';
355
+ } elseif ('right' === seopress_google_analytics_cb_pos_option()) {
356
+ $styles .= 'text-align:right;';
357
+ } else {
358
+ $styles .= 'text-align:center;';
359
+ }
360
 
361
+ //Background color
362
+ if ('' != seopress_google_analytics_cb_bg_option()) {
363
+ $styles .= 'background:' . seopress_google_analytics_cb_bg_option() . ';';
364
+ } else {
365
+ $styles .= 'background:#F1F1F1;';
366
+ }
367
 
368
+ $styles .= '}@media (max-width: 782px) {.seopress-user-consent {display: block;}}.seopress-user-consent.seopress-user-message p:first-child {margin-right:20px}.seopress-user-consent p {margin: 0;font-size: 0.8em;align-self: center;';
 
 
 
 
 
 
 
 
 
 
369
 
370
+ //Text color
371
+ if ('' != seopress_google_analytics_cb_txt_col_option()) {
372
+ $styles .= 'color:' . seopress_google_analytics_cb_txt_col_option() . ';';
373
+ }
 
 
 
 
374
 
375
+ $styles .= '}.seopress-user-consent button {vertical-align: middle;margin: 0;font-size: 14px;';
 
 
 
 
 
376
 
377
+ //Btn background color
378
+ if ('' != seopress_google_analytics_cb_btn_bg_option()) {
379
+ $styles .= 'background:' . seopress_google_analytics_cb_btn_bg_option() . ';';
380
+ }
381
 
382
+ //Btn text color
383
+ if ('' != seopress_google_analytics_cb_btn_col_option()) {
384
+ $styles .= 'color:' . seopress_google_analytics_cb_btn_col_option() . ';';
385
+ }
386
 
387
+ $styles .= '}.seopress-user-consent button:hover{';
388
 
389
+ //Background hover color
390
+ if ('' != seopress_google_analytics_cb_btn_bg_hov_option()) {
391
+ $styles .= 'background:' . seopress_google_analytics_cb_btn_bg_hov_option() . ';';
392
+ }
393
 
394
+ //Text hover color
395
+ if ('' != seopress_google_analytics_cb_btn_col_hov_option()) {
396
+ $styles .= 'color:' . seopress_google_analytics_cb_btn_col_hov_option() . ';';
397
+ }
398
 
399
+ $styles .= '}#seopress-user-consent-close{margin: 0;position: relative;font-weight: bold;border: 1px solid #ccc;';
400
 
401
+ //Background secondary button
402
+ if ('' != seopress_google_analytics_cb_btn_sec_bg_option()) {
403
+ $styles .= 'background:' . seopress_google_analytics_cb_btn_sec_bg_option() . ';';
404
+ } else {
405
+ $styles .= 'background:none;';
406
+ }
407
 
408
+ //Color secondary button
409
+ if ('' != seopress_google_analytics_cb_btn_sec_col_option()) {
410
+ $styles .= 'color:' . seopress_google_analytics_cb_btn_sec_col_option() . ';';
411
+ } else {
412
+ $styles .= 'color:inherit;';
413
+ }
414
 
415
+ $styles .= '}#seopress-user-consent-close:hover{cursor:pointer;';
416
 
417
+ //Background secondary button hover
418
+ if ('' != seopress_google_analytics_cb_btn_sec_bg_hov_option()) {
419
+ $styles .= 'background:' . seopress_google_analytics_cb_btn_sec_bg_hov_option() . ';';
420
+ } else {
421
+ $styles .= 'background:#222;';
422
+ }
423
 
424
+ //Color secondary button hover
425
+ if ('' != seopress_google_analytics_cb_btn_sec_col_hov_option()) {
426
+ $styles .= 'color:' . seopress_google_analytics_cb_btn_sec_col_hov_option() . ';';
427
+ } else {
428
+ $styles .= 'color:#fff;';
429
+ }
430
 
431
+ $styles .= '}';
432
 
433
+ //Link color
434
+ if ('' != seopress_google_analytics_cb_lk_col_option()) {
435
+ $styles .= '.seopress-user-consent a{';
436
+ $styles .= 'color:' . seopress_google_analytics_cb_lk_col_option();
437
+ $styles .= '}';
438
+ }
439
 
440
+ $styles .= '.seopress-user-consent-hide{display:none;}';
441
+
442
+ if ('' != seopress_google_analytics_cb_backdrop_option()) {
443
+ $bg_backdrop = 'rgba(0,0,0,.65)';
444
+ if ('' != seopress_google_analytics_cb_backdrop_bg_option()) {
445
+ $bg_backdrop = seopress_google_analytics_cb_backdrop_bg_option();
446
+ }
447
+
448
+ $styles .= '.seopress-user-consent-backdrop{-webkit-box-align: center;
449
+ -webkit-align-items: center;
450
+ -ms-flex-align: center;
451
+ align-items: center;
452
+ background: ' . $bg_backdrop . ';
453
+ bottom: 0;
454
+ -webkit-box-orient: vertical;
455
+ -webkit-box-direction: normal;
456
+ -webkit-flex-direction: column;
457
+ -ms-flex-direction: column;
458
+ flex-direction: column;
459
+ left: 0;
460
+ -webkit-overflow-scrolling: touch;
461
+ overflow-y: auto;
462
+ position: fixed;
463
+ right: 0;
464
+ -webkit-tap-highlight-color: transparent;
465
+ top: 0;
466
+ z-index: 100;}';
467
+ }
468
 
469
+ $styles .= '.seopress-edit-choice{
470
+ background: none;
471
+ justify-content: start;
472
+ z-index: 7500;
473
+ border: none;
474
+ width: inherit;
475
+ transform: none;
476
+ left: inherit;
477
+ bottom: 0;
478
+ top: inherit;
479
+ }';
480
 
481
+ $styles .= '</style>';
 
 
 
 
 
482
 
483
+ $styles = apply_filters('seopress_rgpd_full_message_styles', $styles);
484
 
485
+ echo $styles;
486
+ }
 
 
 
487
 
488
+ function seopress_cookies_user_consent_render() {
489
+ $hook = 'wp_head';
490
+ if (seopress_google_analytics_hook_option() !='') {
491
+ $hook = seopress_google_analytics_hook_option();
492
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
493
 
494
+ add_action($hook, 'seopress_cookies_user_consent_html');
495
+ add_action($hook, 'seopress_cookies_edit_choice_html');
496
+ add_action($hook, 'seopress_cookies_user_consent_styles');
497
+ }
498
+
499
+ if ('1' == seopress_google_analytics_disable_option()) {
500
+ if (is_user_logged_in()) {
501
+ global $wp_roles;
502
+
503
+ //Get current user role
504
+ if (isset(wp_get_current_user()->roles[0])) {
505
+ $seopress_user_role = wp_get_current_user()->roles[0];
506
+ //If current user role matchs values from SEOPress GA settings then apply
507
+ if (function_exists('seopress_google_analytics_roles_option') && '' != seopress_google_analytics_roles_option()) {
508
+ if (array_key_exists($seopress_user_role, seopress_google_analytics_roles_option())) {
509
+ //do nothing
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
510
  } else {
511
+ seopress_cookies_user_consent_render();
 
 
512
  }
513
  } else {
514
+ seopress_cookies_user_consent_render();
 
 
515
  }
516
+ } else {
517
+ seopress_cookies_user_consent_render();
518
  }
519
+ } else {
520
+ seopress_cookies_user_consent_render();
521
+ }
522
+ }
523
 
524
  //Optimize
525
  function seopress_google_analytics_optimize_option() {
inc/functions/options-social.php CHANGED
@@ -689,6 +689,18 @@ function seopress_social_fb_img_term_option() {
689
  }
690
  }
691
 
 
 
 
 
 
 
 
 
 
 
 
 
692
  function seopress_social_facebook_img_option() {
693
  $seopress_social_facebook_img_option = get_option('seopress_social_option_name');
694
  if ( ! empty($seopress_social_facebook_img_option)) {
@@ -841,21 +853,41 @@ function seopress_social_fb_img_hook() {
841
  $seopress_social_og_thumb ='';
842
 
843
  if (is_home() && '' != seopress_social_fb_img_home_option() && 'page' == get_option('show_on_front')) {
 
844
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_fb_img_home_option());
 
845
  } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == seopress_social_facebook_og_option() && '' != seopress_social_fb_img_post_option()) {//Custom OG:IMAGE from SEO metabox
 
846
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_fb_img_post_option());
 
847
  } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == seopress_social_facebook_og_option() && '1' == seopress_social_facebook_img_default_option() && '' != seopress_social_facebook_img_option()) {//If "Apply this image to all your og:image tag" ON
 
848
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_facebook_img_option());
 
849
  } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == seopress_social_facebook_og_option() && has_post_thumbnail()) {//If post thumbnail
 
850
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(get_the_post_thumbnail_url($post, 'full'));
 
851
  } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == seopress_social_facebook_og_option() && '' != seopress_thumbnail_in_content()) {//First image of post content
 
852
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_thumbnail_in_content());
 
853
  } elseif ((is_tax() || is_category() || is_tag()) && '' != seopress_social_fb_img_term_option()) {//Custom OG:IMAGE for term from SEO metabox
 
854
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_fb_img_term_option());
 
 
 
 
 
855
  } elseif (is_post_type_archive() && '1' == seopress_social_facebook_og_option() && '' != seopress_social_facebook_img_cpt_option()) {//Default OG:IMAGE from global settings
 
856
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_facebook_img_cpt_option());
 
857
  } elseif ('1' == seopress_social_facebook_og_option() && '' != seopress_social_facebook_img_option()) {//Default OG:IMAGE from global settings
 
858
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_facebook_img_option());
 
859
  }
860
 
861
  //Hook on post OG thumbnail - 'seopress_social_og_thumb'
@@ -1331,6 +1363,12 @@ function seopress_social_twitter_img_hook() {
1331
  } else {
1332
  $seopress_social_twitter_card_thumb .= '<meta name="twitter:image" content="' . seopress_social_fb_img_term_option() . '" />';
1333
  }
 
 
 
 
 
 
1334
  } elseif ('' != seopress_social_twitter_img_option()) {//Default Twitter
1335
  if ('large' == seopress_social_twitter_img_size_option()) {
1336
  $seopress_social_twitter_card_thumb .= '<meta name="twitter:image:src" content="' . seopress_social_twitter_img_option() . '" />';
689
  }
690
  }
691
 
692
+ function seopress_social_fb_img_product_cat_option() {
693
+ if ( is_tax('product_cat') ){
694
+ global $wp_query;
695
+ $cat = $wp_query->get_queried_object();
696
+ $thumbnail_id = get_term_meta( $cat->term_id, 'thumbnail_id', true );
697
+ $image = wp_get_attachment_url( $thumbnail_id );
698
+ if ( $image ) {
699
+ return $image;
700
+ }
701
+ }
702
+ }
703
+
704
  function seopress_social_facebook_img_option() {
705
  $seopress_social_facebook_img_option = get_option('seopress_social_option_name');
706
  if ( ! empty($seopress_social_facebook_img_option)) {
853
  $seopress_social_og_thumb ='';
854
 
855
  if (is_home() && '' != seopress_social_fb_img_home_option() && 'page' == get_option('show_on_front')) {
856
+
857
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_fb_img_home_option());
858
+
859
  } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == seopress_social_facebook_og_option() && '' != seopress_social_fb_img_post_option()) {//Custom OG:IMAGE from SEO metabox
860
+
861
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_fb_img_post_option());
862
+
863
  } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == seopress_social_facebook_og_option() && '1' == seopress_social_facebook_img_default_option() && '' != seopress_social_facebook_img_option()) {//If "Apply this image to all your og:image tag" ON
864
+
865
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_facebook_img_option());
866
+
867
  } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == seopress_social_facebook_og_option() && has_post_thumbnail()) {//If post thumbnail
868
+
869
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(get_the_post_thumbnail_url($post, 'full'));
870
+
871
  } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == seopress_social_facebook_og_option() && '' != seopress_thumbnail_in_content()) {//First image of post content
872
+
873
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_thumbnail_in_content());
874
+
875
  } elseif ((is_tax() || is_category() || is_tag()) && '' != seopress_social_fb_img_term_option()) {//Custom OG:IMAGE for term from SEO metabox
876
+
877
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_fb_img_term_option());
878
+
879
+ } elseif (is_tax('product_cat') && '1' == seopress_social_facebook_og_option() && seopress_social_fb_img_product_cat_option() !='') {//If product category thumbnail
880
+
881
+ $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_fb_img_product_cat_option());
882
+
883
  } elseif (is_post_type_archive() && '1' == seopress_social_facebook_og_option() && '' != seopress_social_facebook_img_cpt_option()) {//Default OG:IMAGE from global settings
884
+
885
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_facebook_img_cpt_option());
886
+
887
  } elseif ('1' == seopress_social_facebook_og_option() && '' != seopress_social_facebook_img_option()) {//Default OG:IMAGE from global settings
888
+
889
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_facebook_img_option());
890
+
891
  }
892
 
893
  //Hook on post OG thumbnail - 'seopress_social_og_thumb'
1363
  } else {
1364
  $seopress_social_twitter_card_thumb .= '<meta name="twitter:image" content="' . seopress_social_fb_img_term_option() . '" />';
1365
  }
1366
+ } elseif (is_tax('product_cat') && seopress_social_fb_img_product_cat_option() !='') {//If product category thumbnail
1367
+ if ('large' == seopress_social_twitter_img_size_option()) {
1368
+ $seopress_social_twitter_card_thumb .= '<meta name="twitter:image:src" content="' . seopress_social_fb_img_product_cat_option() . '" />';
1369
+ } else {
1370
+ $seopress_social_twitter_card_thumb .= '<meta name="twitter:image" content="' . seopress_social_fb_img_product_cat_option() . '" />';
1371
+ }
1372
  } elseif ('' != seopress_social_twitter_img_option()) {//Default Twitter
1373
  if ('large' == seopress_social_twitter_img_size_option()) {
1374
  $seopress_social_twitter_card_thumb .= '<meta name="twitter:image:src" content="' . seopress_social_twitter_img_option() . '" />';
inc/functions/sitemap/template-xml-sitemaps.php CHANGED
@@ -186,7 +186,11 @@ function seopress_xml_sitemap_index() {
186
 
187
  $args = apply_filters('seopress_sitemaps_index_tax_query', $args, $tax_key);
188
 
189
- $count_terms = count(get_terms($args));
 
 
 
 
190
 
191
  //Max terms per paginated sitemap
192
  $max = 1000;
186
 
187
  $args = apply_filters('seopress_sitemaps_index_tax_query', $args, $tax_key);
188
 
189
+ $termsData = get_terms($args);
190
+ $count_terms = 0;
191
+ if (is_array($termsData) && ! is_wp_error($termsData)) {
192
+ $count_terms = count($termsData);
193
+ }
194
 
195
  //Max terms per paginated sitemap
196
  $max = 1000;
inc/functions/variables/dynamic-variables.php CHANGED
@@ -120,7 +120,9 @@ $get_search_query = apply_filters('seopress_get_search_query', $get_search_query
120
 
121
  //Post Title
122
  if (is_singular() && isset($post)) {
123
- $seopress_get_post_title = esc_attr(strip_tags(get_post_field('post_title', $post->ID)));
 
 
124
  }
125
 
126
  //Post Excerpt
120
 
121
  //Post Title
122
  if (is_singular() && isset($post)) {
123
+ $seopress_get_post_title = get_post_field('post_title', $post->ID);
124
+ $seopress_get_post_title = str_replace('<br>', ' ', $seopress_get_post_title);
125
+ $seopress_get_post_title = esc_attr(strip_tags($seopress_get_post_title));
126
  }
127
 
128
  //Post Excerpt
readme.txt CHANGED
@@ -6,7 +6,7 @@ Tags: SEO, XML sitemap, meta title, open graph, content analysis, knowledge grap
6
  Requires at least: 4.7+
7
  Tested up to: 5.7
8
  Requires PHP: 5.6
9
- Stable tag: 4.5.0.2
10
  License: GPLv2 or later
11
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
12
 
@@ -324,6 +324,23 @@ You're theme is probably using a deprecated function to handle the title. <a hre
324
  9. Schemas metabox
325
 
326
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
327
  = 4.5.0.2 =
328
  * FIX PHP Error: Call to undefined function seopress_white_label_help_links_option()
329
  = 4.5.0.1 =
6
  Requires at least: 4.7+
7
  Tested up to: 5.7
8
  Requires PHP: 5.6
9
+ Stable tag: 4.5.1
10
  License: GPLv2 or later
11
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
12
 
324
  9. Schemas metabox
325
 
326
  == Changelog ==
327
+ = 4.5.1 (08/04/2021) =
328
+ * NEW Where to display the cookie bar? option from SEO, Analytics, Cookie bar tab
329
+ * INFO Stop loading the CSS for the admin bar if it doesn't show up
330
+ * INFO Allow HTML in Homepage field for Breadcrumbs
331
+ * FIX Fatal error: Call to undefined function seopress_xml_sitemap_video_enable_option()
332
+ * FIX Opening hours for Local Business widget
333
+ * FIX Heading 1 in content analysis if no target keywords
334
+ * FIX SEO columns design in posts list
335
+ * FIX Quick edit design issue on save
336
+ * FIX SmartCrawl import tool
337
+ * FIX PHP Warning: count(): Parameter must be an array or an object that implements in XML sitemaps
338
+ * FIX Warning: date() expects parameter 2 to be int, string given
339
+ * FIX Redirections capabilities on older versions of WordPress (< 5.0)
340
+ * FIX White Label links in plugins list
341
+ * FIX Primary category hierarchy in breadcrumbs
342
+ * FIX Oxygen compatibility for Word counters / Keyword density
343
+ * FIX i18n
344
  = 4.5.0.2 =
345
  * FIX PHP Error: Call to undefined function seopress_white_label_help_links_option()
346
  = 4.5.0.1 =
seopress.php CHANGED
@@ -4,58 +4,58 @@ Plugin Name: SEOPress
4
  Plugin URI: https://www.seopress.org/
5
  Description: One of the best SEO plugins for WordPress.
6
  Author: SEOPress
7
- Version: 4.5.0.2
8
  Author URI: https://www.seopress.org/
9
  License: GPLv2
10
  Text Domain: wp-seopress
11
  Domain Path: /languages
12
  */
13
 
14
- /* Copyright 2016 - 2020 - Benjamin Denis (email : contact@seopress.org)
15
 
16
- This program is free software; you can redistribute it and/or modify
17
- it under the terms of the GNU General Public License, version 2, as
18
- published by the Free Software Foundation.
19
 
20
- This program is distributed in the hope that it will be useful,
21
- but WITHOUT ANY WARRANTY; without even the implied warranty of
22
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23
- GNU General Public License for more details.
24
 
25
- You should have received a copy of the GNU General Public License
26
- along with this program; if not, write to the Free Software
27
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28
  */
29
 
30
  // To prevent calling the plugin directly
31
  if ( ! function_exists('add_action')) {
32
- echo 'Please don&rsquo;t call the plugin directly. Thanks :)';
33
- exit;
34
  }
35
 
36
  ///////////////////////////////////////////////////////////////////////////////////////////////////
37
  //Hooks activation
38
  ///////////////////////////////////////////////////////////////////////////////////////////////////
39
  function seopress_activation() {
40
- add_option('seopress_activated', 'yes');
41
- flush_rewrite_rules(false);
42
- do_action('seopress_activation');
43
  }
44
  register_activation_hook(__FILE__, 'seopress_activation');
45
 
46
  function seopress_deactivation() {
47
- deactivate_plugins(['wp-seopress-pro/seopress-pro.php', 'wp-seopress-insights/seopress-insights.php']);
48
 
49
- delete_option('seopress_activated');
50
- flush_rewrite_rules(false);
51
- do_action('seopress_deactivation');
52
  }
53
  register_deactivation_hook(__FILE__, 'seopress_deactivation');
54
 
55
  ///////////////////////////////////////////////////////////////////////////////////////////////////
56
  //Define
57
  ///////////////////////////////////////////////////////////////////////////////////////////////////
58
- define('SEOPRESS_VERSION', '4.5.0.2');
59
  define('SEOPRESS_AUTHOR', 'Benjamin Denis');
60
  define('SEOPRESS_PLUGIN_DIR_PATH', plugin_dir_path(__FILE__));
61
  define('SEOPRESS_TEMPLATE_DIR', SEOPRESS_PLUGIN_DIR_PATH . 'templates');
@@ -65,104 +65,104 @@ define('SEOPRESS_TEMPLATE_JSON_SCHEMAS', SEOPRESS_TEMPLATE_DIR . '/json-schemas'
65
  use SEOPress\Core\Kernel;
66
 
67
  if (file_exists(__DIR__ . '/vendor/autoload.php')) {
68
- require_once __DIR__ . '/vendor/autoload.php';
69
- require_once __DIR__ . '/seopress-functions.php';
70
-
71
- Kernel::execute([
72
- 'file' => __FILE__,
73
- 'slug' => 'wp-seopress',
74
- 'main_file' => 'seopress',
75
- 'root' => __DIR__,
76
- ]);
77
  }
78
 
79
  function seopress_titles_single_cpt_enable_option($cpt) {
80
- $current_cpt = null;
81
- $seopress_titles_single_enable_option = get_option('seopress_titles_option_name');
82
- if ( ! empty($seopress_titles_single_enable_option)) {
83
- foreach ($seopress_titles_single_enable_option as $key => $seopress_titles_single_enable_value) {
84
- $options[$key] = $seopress_titles_single_enable_value;
85
- if (isset($seopress_titles_single_enable_option['seopress_titles_single_titles'][$cpt]['enable'])) {
86
- $current_cpt = $seopress_titles_single_enable_option['seopress_titles_single_titles'][$cpt]['enable'];
87
- }
88
- }
89
- }
90
-
91
- return $current_cpt;
92
  }
93
 
94
  //Archive CPT Titles
95
  function seopress_titles_archive_titles_option() {
96
- global $post;
97
- $seopress_get_current_cpt = get_post_type($post);
98
-
99
- $seopress_titles_archive_titles_option = get_option('seopress_titles_option_name');
100
- if ( ! empty($seopress_titles_archive_titles_option)) {
101
- foreach ($seopress_titles_archive_titles_option as $key => $seopress_titles_archive_titles_value) {
102
- $options[$key] = $seopress_titles_archive_titles_value;
103
- }
104
- if (isset($seopress_titles_archive_titles_option['seopress_titles_archive_titles'][$seopress_get_current_cpt]['title'])) {
105
- return $seopress_titles_archive_titles_option['seopress_titles_archive_titles'][$seopress_get_current_cpt]['title'];
106
- }
107
- }
108
  }
109
 
110
  ///////////////////////////////////////////////////////////////////////////////////////////////////
111
  //SEOPRESS INIT = Admin + Core + API + Translation
112
  ///////////////////////////////////////////////////////////////////////////////////////////////////
113
  function seopress_init($hook) {
114
- load_plugin_textdomain('wp-seopress', false, dirname(plugin_basename(__FILE__)) . '/languages/');
115
-
116
- global $pagenow;
117
- global $typenow;
118
- global $wp_version;
119
-
120
- if (is_admin() || is_network_admin()) {
121
- require_once dirname(__FILE__) . '/inc/admin/plugin-upgrader.php';
122
- require_once dirname(__FILE__) . '/inc/admin/admin.php';
123
-
124
- if ('post-new.php' == $pagenow || 'post.php' == $pagenow) {
125
- if ('seopress_schemas' != $typenow) {
126
- require_once dirname(__FILE__) . '/inc/admin/admin-metaboxes.php';
127
- }
128
- }
129
- if ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) {
130
- require_once dirname(__FILE__) . '/inc/admin/admin-term-metaboxes.php';
131
- }
132
- require_once dirname(__FILE__) . '/inc/admin/ajax.php';
133
- if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
134
- //do not load the SEOPress admin header
135
- } else {
136
- require_once dirname(__FILE__) . '/inc/admin/admin-header.php';
137
- }
138
- }
139
-
140
- require_once dirname(__FILE__) . '/inc/functions/options.php';
141
-
142
- require_once dirname(__FILE__) . '/inc/admin/adminbar.php';
143
-
144
- remove_action('wp_head', 'rel_canonical'); //remove default WordPress Canonical
145
-
146
- //Setup/welcome
147
- if ( ! empty($_GET['page'])) {
148
- switch ($_GET['page']) {
149
- case 'seopress-setup':
150
- include_once dirname(__FILE__) . '/inc/admin/admin-wizard.php';
151
- break;
152
- default:
153
- break;
154
- }
155
- }
156
-
157
- //Elementor
158
- if (did_action('elementor/loaded')) {
159
- include_once dirname(__FILE__) . '/inc/admin/page-builders/elementor/elementor-addon.php';
160
- }
161
-
162
- //Block Editor
163
- if (version_compare($wp_version, '5.0', '>=')) {
164
- include_once dirname(__FILE__) . '/inc/admin/page-builders/gutenberg/gutenberg-addon.php';
165
- }
166
  }
167
  add_action('plugins_loaded', 'seopress_init', 999);
168
 
@@ -173,13 +173,13 @@ add_action('plugins_loaded', 'seopress_init', 999);
173
  * @author Benjamin
174
  */
175
  if ( ! function_exists('array_key_first')) {
176
- function array_key_first(array $arr) {
177
- foreach ($arr as $key => $unused) {
178
- return $key;
179
- }
180
 
181
- return null;
182
- }
183
  }
184
 
185
  /*
@@ -189,21 +189,21 @@ if ( ! function_exists('array_key_first')) {
189
  * @author Benjamin
190
  */
191
  if ( ! function_exists('array_key_last')) {
192
- function array_key_last(array $arr) {
193
- end($arr);
194
- $key = key($arr);
195
 
196
- return $key;
197
- }
198
  }
199
 
200
  ///////////////////////////////////////////////////////////////////////////////////////////////////
201
  //Loads dynamic variables for titles, metas, schemas...
202
  ///////////////////////////////////////////////////////////////////////////////////////////////////
203
  function seopress_dyn_variables_init($variables) {
204
- $variables = include dirname(__FILE__) . '/inc/functions/variables/dynamic-variables.php';
205
 
206
- return $variables;
207
  }
208
  add_filter('seopress_dyn_variables_fn', 'seopress_dyn_variables_init');
209
 
@@ -212,195 +212,197 @@ add_filter('seopress_dyn_variables_fn', 'seopress_dyn_variables_init');
212
  ///////////////////////////////////////////////////////////////////////////////////////////////////
213
  //SEOPRESS Options page
214
  function seopress_add_admin_options_scripts($hook) {
215
- $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
216
- wp_register_style('seopress-admin', plugins_url('assets/css/seopress' . $prefix . '.css', __FILE__), [], SEOPRESS_VERSION);
217
- wp_enqueue_style('seopress-admin');
218
-
219
- if ( ! isset($_GET['page'])) {
220
- return;
221
- }
222
- if ('seopress-network-option' === $_GET['page']) {
223
- wp_enqueue_script('seopress-network-tabs', plugins_url('assets/js/seopress-network-tabs' . $prefix . '.js', __FILE__), ['jquery'], SEOPRESS_VERSION, true);
224
- }
225
-
226
- //Toggle / Notices JS
227
- $_pages = ['seopress-option' => true, 'seopress-network-option' => true, 'seopress-titles' => true, 'seopress-xml-sitemap' => true, 'seopress-social' => true, 'seopress-google-analytics' => true, 'seopress-pro-page' => true, 'seopress-advanced' => true];
228
- if (isset($_pages[$_GET['page']])) {
229
- wp_enqueue_script('seopress-toggle-ajax', plugins_url('assets/js/seopress-dashboard' . $prefix . '.js', __FILE__), ['jquery'], SEOPRESS_VERSION, true);
230
-
231
- //Features
232
- $seopress_toggle_features = [
233
- 'seopress_nonce' => wp_create_nonce('seopress_toggle_features_nonce'),
234
- 'seopress_toggle_features' => admin_url('admin-ajax.php'),
235
- 'i18n' => __('has been successfully updated!', 'wp-seopress'),
236
- ];
237
- wp_localize_script('seopress-toggle-ajax', 'seopressAjaxToggleFeatures', $seopress_toggle_features);
238
- }
239
- unset($_pages);
240
-
241
- if ('seopress-option' === $_GET['page']) {
242
- //Notices
243
- $seopress_hide_notices = [
244
- 'seopress_nonce' => wp_create_nonce('seopress_hide_notices_nonce'),
245
- 'seopress_hide_notices' => admin_url('admin-ajax.php'),
246
- ];
247
- wp_localize_script('seopress-toggle-ajax', 'seopressAjaxHideNotices', $seopress_hide_notices);
248
-
249
- //Admin Tabs
250
- wp_enqueue_script('seopress-reverse-ajax', plugins_url('assets/js/seopress-tabs7' . $prefix . '.js', __FILE__), ['jquery-ui-tabs'], SEOPRESS_VERSION);
251
-
252
- //Reverse domains
253
- $seopress_request_reverse = [
254
- 'seopress_nonce' => wp_create_nonce('seopress_request_reverse_nonce'),
255
- 'seopress_request_reverse' => admin_url('admin-ajax.php'),
256
- ];
257
- wp_localize_script('seopress-reverse-ajax', 'seopressAjaxReverse', $seopress_request_reverse);
258
-
259
- $seopress_clear_reverse_cache = [
260
- 'seopress_nonce' => wp_create_nonce('seopress_clear_reverse_cache_nonce'),
261
- 'seopress_clear_reverse_cache' => admin_url('admin-ajax.php'),
262
- ];
263
- wp_localize_script('seopress-reverse-ajax', 'seopressAjaxClearReverseCache', $seopress_clear_reverse_cache);
264
- }
265
-
266
- //Migration
267
- if ('seopress-option' === $_GET['page'] || 'seopress-import-export' === $_GET['page']) {
268
- wp_enqueue_script('seopress-migrate-ajax', plugins_url('assets/js/seopress-migrate' . $prefix . '.js', __FILE__), ['jquery'], SEOPRESS_VERSION, true);
269
-
270
- $seopress_migrate = [
271
- 'seopress_aio_migrate' => [
272
- 'seopress_nonce' => wp_create_nonce('seopress_aio_migrate_nonce'),
273
- 'seopress_aio_migration' => admin_url('admin-ajax.php'),
274
- ],
275
- 'seopress_yoast_migrate' => [
276
- 'seopress_nonce' => wp_create_nonce('seopress_yoast_migrate_nonce'),
277
- 'seopress_yoast_migration' => admin_url('admin-ajax.php'),
278
- ],
279
- 'seopress_seo_framework_migrate' => [
280
- 'seopress_nonce' => wp_create_nonce('seopress_seo_framework_migrate_nonce'),
281
- 'seopress_seo_framework_migration' => admin_url('admin-ajax.php'),
282
- ],
283
- 'seopress_rk_migrate' => [
284
- 'seopress_nonce' => wp_create_nonce('seopress_rk_migrate_nonce'),
285
- 'seopress_rk_migration' => admin_url('admin-ajax.php'),
286
- ],
287
- 'seopress_squirrly_migrate' => [
288
- 'seopress_nonce' => wp_create_nonce('seopress_squirrly_migrate_nonce'),
289
- 'seopress_squirrly_migration' => admin_url('admin-ajax.php'),
290
- ],
291
- 'seopress_seo_ultimate_migrate' => [
292
- 'seopress_nonce' => wp_create_nonce('seopress_seo_ultimate_migrate_nonce'),
293
- 'seopress_seo_ultimate_migration' => admin_url('admin-ajax.php'),
294
- ],
295
- 'seopress_wp_meta_seo_migrate' => [
296
- 'seopress_nonce' => wp_create_nonce('seopress_meta_seo_migrate_nonce'),
297
- 'seopress_wp_meta_seo_migration' => admin_url('admin-ajax.php'),
298
- ],
299
- 'seopress_premium_seo_pack_migrate' => [
300
- 'seopress_nonce' => wp_create_nonce('seopress_premium_seo_pack_migrate_nonce'),
301
- 'seopress_premium_seo_pack_migration' => admin_url('admin-ajax.php'),
302
- ],
303
- 'seopress_wpseo_migrate' => [
304
- 'seopress_nonce' => wp_create_nonce('seopress_wpseo_migrate_nonce'),
305
- 'seopress_wpseo_migration' => admin_url('admin-ajax.php'),
306
- ],
307
- 'seopress_platinum_seo_migrate' => [
308
- 'seopress_nonce' => wp_create_nonce('seopress_platinum_seo_migrate_nonce'),
309
- 'seopress_platinum_seo_migration' => admin_url('admin-ajax.php'),
310
- ],
311
- 'seopress_smart_crawl_migrate' => [
312
- 'seopress_nonce' => wp_create_nonce('seopress_smart_crawl_migrate_nonce'),
313
- 'seopress_smart_crawl_migration' => admin_url('admin-ajax.php'),
314
- ],
315
- 'seopress_seopressor_migrate' => [
316
- 'seopress_nonce' => wp_create_nonce('seopress_seopressor_migrate_nonce'),
317
- 'seopress_seopressor_migration' => admin_url('admin-ajax.php'),
318
- ],
319
- 'seopress_metadata_csv' => [
320
- 'seopress_nonce' => wp_create_nonce('seopress_export_csv_metadata_nonce'),
321
- 'seopress_metadata_export' => admin_url('admin-ajax.php'),
322
- ],
323
- 'i18n' => [
324
- 'migration' => __('Migration completed!', 'wp-seopress'),
325
- 'export' => __('Export completed!', 'wp-seopress'),
326
- ],
327
- ];
328
- wp_localize_script('seopress-migrate-ajax', 'seopressAjaxMigrate', $seopress_migrate);
329
- }
330
-
331
- //Tabs
332
- if ('seopress-titles' === $_GET['page']) {
333
- wp_enqueue_script('seopress-admin-tabs-js', plugins_url('assets/js/seopress-tabs' . $prefix . '.js', __FILE__), ['jquery-ui-tabs'], SEOPRESS_VERSION);
334
- }
335
-
336
- if ('seopress-xml-sitemap' === $_GET['page']) {
337
- wp_enqueue_script('seopress-admin-tabs-js', plugins_url('assets/js/seopress-tabs4' . $prefix . '.js', __FILE__), ['jquery-ui-tabs'], SEOPRESS_VERSION);
338
- }
339
-
340
- if ('seopress-xml-sitemap' === $_GET['page'] || 'seopress-pro-page' === $_GET['page'] || 'seopress-network-option' === $_GET['page']) {
341
- wp_enqueue_script('seopress-xml-ajax', plugins_url('assets/js/seopress-sitemap-ajax' . $prefix . '.js', __FILE__), ['jquery'], SEOPRESS_VERSION, true);
342
-
343
- $seopress_ajax_permalinks = [
344
- 'seopress_nonce' => wp_create_nonce('seopress_flush_permalinks_nonce'),
345
- 'seopress_ajax_permalinks' => admin_url('admin-ajax.php'),
346
- ];
347
- wp_localize_script('seopress-xml-ajax', 'seopressAjaxResetPermalinks', $seopress_ajax_permalinks);
348
- }
349
-
350
- if ('seopress-google-analytics' === $_GET['page']) {
351
- wp_enqueue_style('wp-color-picker');
352
-
353
- wp_enqueue_script('wp-color-picker-alpha', plugins_url('assets/js/wp-color-picker-alpha.min.js', __FILE__), ['wp-color-picker'], SEOPRESS_VERSION, true);
354
- $color_picker_strings = [
355
- 'clear' => __('Clear', 'wp-seopress'),
356
- 'clearAriaLabel' => __('Clear color', 'wp-seopress'),
357
- 'defaultString' => __('Default', 'wp-seopress'),
358
- 'defaultAriaLabel' => __('Select default color', 'wp-seopress'),
359
- 'pick' => __('Select Color', 'wp-seopress'),
360
- 'defaultLabel' => __('Color value', 'wp-seopress'),
361
- ];
362
- wp_localize_script('wp-color-picker-alpha', 'wpColorPickerL10n', $color_picker_strings);
363
-
364
- wp_enqueue_script('seopress-admin-tabs-js', plugins_url('assets/js/seopress-tabs6' . $prefix . '.js', __FILE__), ['jquery-ui-tabs', 'wp-color-picker'], SEOPRESS_VERSION);
365
- }
366
-
367
- if ('seopress-advanced' === $_GET['page']) {
368
- wp_enqueue_script('seopress-admin-tabs-js', plugins_url('assets/js/seopress-tabs5' . $prefix . '.js', __FILE__), ['jquery-ui-tabs'], SEOPRESS_VERSION);
369
- }
370
-
371
- if ('seopress-import-export' === $_GET['page']) {
372
- wp_enqueue_script('seopress-admin-tabs-js', plugins_url('assets/js/seopress-tabs8' . $prefix . '.js', __FILE__), ['jquery-ui-tabs'], SEOPRESS_VERSION);
373
- }
374
-
375
- if ('seopress-social' === $_GET['page']) {
376
- wp_enqueue_script('seopress-social-tabs-js', plugins_url('assets/js/seopress-tabs3' . $prefix . '.js', __FILE__), ['jquery-ui-tabs'], SEOPRESS_VERSION);
377
- wp_enqueue_script('seopress-cpt-tabs-js', plugins_url('assets/js/seopress-tabs2' . $prefix . '.js', __FILE__), ['jquery-ui-tabs'], SEOPRESS_VERSION);
378
- wp_enqueue_script('seopress-media-uploader-js', plugins_url('assets/js/seopress-media-uploader' . $prefix . '.js', __FILE__), ['jquery'], SEOPRESS_VERSION, false);
379
- wp_enqueue_media();
380
- }
381
-
382
- //CSV Importer
383
- if ('seopress_csv_importer' === $_GET['page']) {
384
- wp_enqueue_style('seopress-setup', plugins_url('assets/css/seopress-setup' . $prefix . '.css', __FILE__), ['dashicons'], SEOPRESS_VERSION);
385
- }
386
  }
387
 
388
  add_action('admin_enqueue_scripts', 'seopress_add_admin_options_scripts', 10, 1);
389
 
390
  //SEOPRESS Admin bar
391
  function seopress_admin_bar_css() {
392
- $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
393
- if (is_user_logged_in() && function_exists('seopress_advanced_appearance_adminbar_option') && '1' != seopress_advanced_appearance_adminbar_option()) {
394
- wp_register_style('seopress-admin-bar', plugins_url('assets/css/seopress-admin-bar' . $prefix . '.css', __FILE__), [], SEOPRESS_VERSION);
395
- wp_enqueue_style('seopress-admin-bar');
396
- }
 
 
397
  }
398
  add_action('init', 'seopress_admin_bar_css', 12, 1);
399
 
400
  //Quick Edit
401
  function seopress_add_admin_options_scripts_quick_edit() {
402
- $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
403
- wp_enqueue_script('seopress-quick-edit', plugins_url('assets/js/seopress-quick-edit' . $prefix . '.js', __FILE__), ['jquery', 'inline-edit-post'], SEOPRESS_VERSION, true);
404
  }
405
  add_action('admin_print_scripts-edit.php', 'seopress_add_admin_options_scripts_quick_edit');
406
 
@@ -409,28 +411,28 @@ add_action('admin_print_scripts-edit.php', 'seopress_add_admin_options_scripts_q
409
  ///////////////////////////////////////////////////////////////////////////////////////////////////
410
  add_filter('admin_body_class', 'seopress_admin_body_class', 100);
411
  function seopress_admin_body_class($classes) {
412
- if ( ! isset($_GET['page'])) {
413
- return $classes;
414
- }
415
- $_pages = [
416
- 'seopress_csv_importer' => true,
417
- 'seopress-option' => true,
418
- 'seopress-network-option' => true,
419
- 'seopress-titles' => true,
420
- 'seopress-xml-sitemap' => true,
421
- 'seopress-social' => true,
422
- 'seopress-google-analytics' => true,
423
- 'seopress-advanced' => true,
424
- 'seopress-import-export' => true,
425
- 'seopress-pro-page' => true,
426
- 'seopress-bot-batch' => true,
427
- 'seopress-license' => true,
428
- ];
429
- if (isset($_pages[$_GET['page']])) {
430
- $classes .= ' seopress-styles ';
431
- }
432
-
433
- return $classes;
434
  }
435
 
436
  ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -448,11 +450,11 @@ remove_filter('wp_robots', 'wp_robots_max_image_preview_large');
448
  ///////////////////////////////////////////////////////////////////////////////////////////////////
449
  //Jetpack
450
  function seopress_compatibility_jetpack() {
451
- if (function_exists('is_plugin_active')) {
452
- if (is_plugin_active('jetpack/jetpack.php') && ! is_admin()) {
453
- add_filter('jetpack_enable_open_graph', '__return_false');
454
- }
455
- }
456
  }
457
  add_action('wp_head', 'seopress_compatibility_jetpack', 0);
458
 
@@ -462,11 +464,11 @@ add_action('wp_head', 'seopress_compatibility_jetpack', 0);
462
  * @since 3.8.1
463
  */
464
  function seopress_compatibility_woocommerce() {
465
- if (function_exists('is_plugin_active')) {
466
- if (is_plugin_active('woocommerce/woocommerce.php') && ! is_admin()) {
467
- remove_action('wp_head', 'wc_page_noindex');
468
- }
469
- }
470
  }
471
  add_action('wp_head', 'seopress_compatibility_woocommerce', 0);
472
 
@@ -482,7 +484,7 @@ add_action('wp_head', 'seopress_compatibility_woocommerce', 0);
482
  * @param mixed $blog_id
483
  */
484
  function seopress_remove_wpml_home_url_filter($home_url, $url, $path, $orig_scheme, $blog_id) {
485
- return $url;
486
  }
487
 
488
  /*
@@ -492,64 +494,64 @@ function seopress_remove_wpml_home_url_filter($home_url, $url, $path, $orig_sche
492
  */
493
  add_action('do_meta_boxes', 'seopress_remove_metaboxes', 10);
494
  function seopress_remove_metaboxes() {
495
- //Oxygen Builder
496
- remove_meta_box('ct_views_cpt', 'seopress_404', 'normal');
497
- remove_meta_box('ct_views_cpt', 'seopress_schemas', 'normal');
498
- remove_meta_box('ct_views_cpt', 'seopress_bot', 'normal');
499
  }
500
 
501
  ///////////////////////////////////////////////////////////////////////////////////////////////////
502
  //Credits footer
503
  ///////////////////////////////////////////////////////////////////////////////////////////////////
504
  function seopress_custom_credits_footer() {
505
- $html = '<span id="seopress-footer-credits">
506
- <span class="dashicons dashicons-wordpress"></span>
507
- ' . __("You like SEOPress? Don't forget to rate it 5 stars!", 'wp-seopress') . '<span class="wporg-ratings rating-stars">';
508
- for ($i=1; $i < 6; ++$i) {
509
- $html .= '<a href="//wordpress.org/support/view/plugin-reviews/wp-seopress?rate=' . $i . '#postform" data-rating="' . $i . '" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#FFDE24 !important;"></span></a>';
510
- }
511
- $html .= '</span>
512
- <script>
513
- jQuery(document).ready( function($) {
514
- $(".rating-stars").find("a").hover(
515
- function() {
516
- $(this).nextAll("a").children("span").removeClass("dashicons-star-filled").addClass("dashicons-star-empty");
517
- $(this).prevAll("a").children("span").removeClass("dashicons-star-empty").addClass("dashicons-star-filled");
518
- $(this).children("span").removeClass("dashicons-star-empty").addClass("dashicons-star-filled");
519
- }, function() {
520
- var rating = $("input#rating").val();
521
- if (rating) {
522
- var list = $(".rating-stars a");
523
- list.children("span").removeClass("dashicons-star-filled").addClass("dashicons-star-empty");
524
- list.slice(0, rating).children("span").removeClass("dashicons-star-empty").addClass("dashicons-star-filled");
525
- }
526
- }
527
- );
528
- });
529
- </script>
530
- </span>';
531
-
532
- return $html;
533
  }
534
  if ((isset($_GET['page']) && (
535
- 'seopress-option' == $_GET['page']
536
- || 'seopress-network-option' == $_GET['page']
537
- || 'seopress-titles' == $_GET['page']
538
- || 'seopress-xml-sitemap' == $_GET['page']
539
- || 'seopress-social' == $_GET['page']
540
- || 'seopress-google-analytics' == $_GET['page']
541
- || 'seopress-advanced' == $_GET['page']
542
- || 'seopress-pro-page' == $_GET['page']
543
- || 'seopress-import-export' == $_GET['page']
544
- || 'seopress-bot-batch' == $_GET['page']
545
- || 'seopress-insights' == $_GET['page']
546
- || 'seopress-license' == $_GET['page']))
547
- || (isset($_GET['post_type']) && (
548
- 'seopress_404' == $_GET['post_type']
549
- || 'seopress_schemas' == $_GET['post_type']
550
- || 'seopress_bot' == $_GET['post_type']
551
- || 'seopress_backlinks' == $_GET['post_type']))) {
552
- add_filter('admin_footer_text', 'seopress_custom_credits_footer');
553
  }
554
 
555
  ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -558,30 +560,35 @@ if ((isset($_GET['page']) && (
558
  add_filter('plugin_action_links', 'seopress_plugin_action_links', 10, 2);
559
 
560
  function seopress_plugin_action_links($links, $file) {
561
- static $this_plugin;
562
-
563
- if ( ! $this_plugin) {
564
- $this_plugin = plugin_basename(__FILE__);
565
- }
566
-
567
- if ($file == $this_plugin) {
568
- $settings_link = '<a href="' . admin_url('admin.php?page=seopress-option') . '">' . __('Settings', 'wp-seopress') . '</a>';
569
- $website_link = '<a href="https://www.seopress.org/support/" target="_blank">' . __('Docs', 'wp-seopress') . '</a>';
570
- $wizard_link = '<a href="' . admin_url('admin.php?page=seopress-setup') . '">' . __('Configuration Wizard', 'wp-seopress') . '</a>';
571
- if ( ! is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
572
- $pro_link = '<a href="https://www.seopress.org/seopress-pro/" style="color:red;font-weight:bold" target="_blank">' . __('GO PRO!', 'wp-seopress') . '</a>';
573
- array_unshift($links, $pro_link);
574
- }
575
- if (is_plugin_active('wp-seopress-pro/seopress-pro.php') || is_plugin_active('wp-seopress-insights/seopress-insights.php')) {
576
- if (array_key_exists('deactivate', $links) && in_array($file, [
577
- 'wp-seopress/seopress.php',
578
- ]));
579
- unset($links['deactivate']);
 
 
 
 
 
 
580
  }
581
- array_unshift($links, $settings_link, $wizard_link, $website_link);
582
- }
583
 
584
- return $links;
585
  }
586
 
587
  /**
@@ -594,35 +601,35 @@ function seopress_plugin_action_links($links, $file) {
594
  * @return (array) $wp_post_types
595
  **/
596
  function seopress_get_post_types() {
597
- if ( ! function_exists('seopress_get_service')) {
598
- global $wp_post_types;
599
-
600
- $args = [
601
- 'show_ui' => true,
602
- 'public' => true,
603
- ];
604
-
605
- $output = 'objects'; // names or objects, note names is the default
606
- $operator = 'and'; // 'and' or 'or'
607
-
608
- $post_types = get_post_types($args, $output, $operator);
609
- unset(
610
- $post_types['attachment'],
611
- $post_types['seopress_rankings'],
612
- $post_types['seopress_backlinks'],
613
- $post_types['seopress_404'],
614
- $post_types['elementor_library'],
615
- $post_types['customer_discount'],
616
- $post_types['cuar_private_file'],
617
- $post_types['cuar_private_page'],
618
- $post_types['ct_template']
619
- );
620
- $post_types = apply_filters('seopress_post_types', $post_types);
621
-
622
- return $post_types;
623
- }
624
-
625
- return seopress_get_service('WordPressData')->getPostTypes();
626
  }
627
 
628
  /**
@@ -635,81 +642,81 @@ function seopress_get_post_types() {
635
  * @return (array) $taxonomies
636
  **/
637
  function seopress_get_taxonomies($with_terms = false) {
638
- $args = [
639
- 'show_ui' => true,
640
- 'public' => true,
641
- ];
642
- $args = apply_filters('seopress_get_taxonomies_args', $args);
643
 
644
- $output = 'objects'; // or objects
645
- $operator = 'and'; // 'and' or 'or'
646
- $taxonomies = get_taxonomies($args, $output, $operator);
647
 
648
- unset(
649
- $taxonomies['seopress_bl_competitors']
650
- );
651
 
652
- $taxonomies = apply_filters('seopress_get_taxonomies_list', $taxonomies);
653
 
654
- if ( ! $with_terms) {
655
- return $taxonomies;
656
- }
657
 
658
- foreach ($taxonomies as $_tax_slug => &$_tax) {
659
- $_tax->terms = get_terms(['taxonomy' => $_tax_slug]);
660
- }
661
 
662
- return $taxonomies;
663
  }
664
 
665
  ///////////////////////////////////////////////////////////////////////////////////////////////////
666
  //Get all custom fields (limit: 250)
667
  ///////////////////////////////////////////////////////////////////////////////////////////////////
668
  function seopress_get_custom_fields() {
669
- $cf_keys = wp_cache_get('seopress_get_custom_fields');
670
-
671
- if (false === $cf_keys) {
672
- global $wpdb;
673
-
674
- $limit = (int) apply_filters('postmeta_form_limit', 250);
675
- $cf_keys = $wpdb->get_col($wpdb->prepare("
676
- SELECT DISTINCT meta_key
677
- FROM $wpdb->postmeta
678
- GROUP BY meta_key
679
- HAVING meta_key NOT LIKE '\_%%'
680
- ORDER BY meta_key
681
- LIMIT %d", $limit));
682
-
683
- if (is_plugin_active('types/wpcf.php')) {
684
- $wpcf_fields = get_option('wpcf-fields');
685
-
686
- if ( ! empty($wpcf_fields)) {
687
- foreach ($wpcf_fields as $key => $value) {
688
- $cf_keys[] = $value['meta_key'];
689
- }
690
- }
691
- }
692
-
693
- $cf_keys = apply_filters('seopress_get_custom_fields', $cf_keys);
694
-
695
- if ($cf_keys) {
696
- natcasesort($cf_keys);
697
- }
698
- wp_cache_set('seopress_get_custom_fields', $cf_keys);
699
- }
700
-
701
- return $cf_keys;
702
  }
703
 
704
  ///////////////////////////////////////////////////////////////////////////////////////////////////
705
  //Check SSL for schema.org
706
  ///////////////////////////////////////////////////////////////////////////////////////////////////
707
  function seopress_check_ssl() {
708
- if (is_ssl()) {
709
- return 'https://';
710
- } else {
711
- return 'http://';
712
- }
713
  }
714
 
715
  /**
@@ -720,17 +727,17 @@ function seopress_check_ssl() {
720
  * @return (string) $ip
721
  **/
722
  function seopress_get_ip_address() {
723
- foreach (['HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR'] as $key) {
724
- if (true === array_key_exists($key, $_SERVER)) {
725
- foreach (explode(',', $_SERVER[$key]) as $ip) {
726
- $ip = trim($ip); // just to be safe
727
-
728
- if (false !== filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
729
- return $ip;
730
- }
731
- }
732
- }
733
- }
734
  }
735
 
736
  ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -748,15 +755,15 @@ function seopress_get_ip_address() {
748
  * @author Benjamin
749
  */
750
  function seopress_get_toggle_option($feature) {
751
- $seopress_get_toggle_option = get_option('seopress_toggle');
752
- if ( ! empty($seopress_get_toggle_option)) {
753
- foreach ($seopress_get_toggle_option as $key => $seopress_get_toggle_value) {
754
- $options[$key] = $seopress_get_toggle_value;
755
- if (isset($seopress_get_toggle_option['toggle-' . $feature])) {
756
- return $seopress_get_toggle_option['toggle-' . $feature];
757
- }
758
- }
759
- }
760
  }
761
 
762
  // Is Titles enable?
@@ -764,75 +771,75 @@ function seopress_get_toggle_option($feature) {
764
  * @since 3.8
765
  */
766
  function seopress_get_toggle_titles_option() {
767
- $seopress_get_toggle_titles_option = get_option('seopress_toggle');
768
- if ( ! empty($seopress_get_toggle_titles_option)) {
769
- foreach ($seopress_get_toggle_titles_option as $key => $seopress_get_toggle_titles_value) {
770
- $options[$key] = $seopress_get_toggle_titles_value;
771
- }
772
- if (isset($seopress_get_toggle_titles_option['toggle-titles'])) {
773
- return $seopress_get_toggle_titles_option['toggle-titles'];
774
- }
775
- }
776
  }
777
  // Is Social enable?
778
  /**
779
  * @since 3.8
780
  */
781
  function seopress_get_toggle_social_option() {
782
- $seopress_get_toggle_social_option = get_option('seopress_toggle');
783
- if ( ! empty($seopress_get_toggle_social_option)) {
784
- foreach ($seopress_get_toggle_social_option as $key => $seopress_get_toggle_social_value) {
785
- $options[$key] = $seopress_get_toggle_social_value;
786
- }
787
- if (isset($seopress_get_toggle_social_option['toggle-social'])) {
788
- return $seopress_get_toggle_social_option['toggle-social'];
789
- }
790
- }
791
  }
792
  // Is XML Sitemap enable?
793
  /**
794
  * @since 3.8
795
  */
796
  function seopress_get_toggle_xml_sitemap_option() {
797
- $seopress_get_toggle_xml_sitemap_option = get_option('seopress_toggle');
798
- if ( ! empty($seopress_get_toggle_xml_sitemap_option)) {
799
- foreach ($seopress_get_toggle_xml_sitemap_option as $key => $seopress_get_toggle_xml_sitemap_value) {
800
- $options[$key] = $seopress_get_toggle_xml_sitemap_value;
801
- }
802
- if (isset($seopress_get_toggle_xml_sitemap_option['toggle-xml-sitemap'])) {
803
- return $seopress_get_toggle_xml_sitemap_option['toggle-xml-sitemap'];
804
- }
805
- }
806
  }
807
  // Is Google Analytics enable?
808
  /**
809
  * @since 3.8
810
  */
811
  function seopress_get_toggle_google_analytics_option() {
812
- $seopress_get_toggle_google_analytics_option = get_option('seopress_toggle');
813
- if ( ! empty($seopress_get_toggle_google_analytics_option)) {
814
- foreach ($seopress_get_toggle_google_analytics_option as $key => $seopress_get_toggle_google_analytics_value) {
815
- $options[$key] = $seopress_get_toggle_google_analytics_value;
816
- }
817
- if (isset($seopress_get_toggle_google_analytics_option['toggle-google-analytics'])) {
818
- return $seopress_get_toggle_google_analytics_option['toggle-google-analytics'];
819
- }
820
- }
821
  }
822
  // Is Advanced enable?
823
  /**
824
  * @since 3.8
825
  */
826
  function seopress_get_toggle_advanced_option() {
827
- $seopress_get_toggle_advanced_option = get_option('seopress_toggle');
828
- if ( ! empty($seopress_get_toggle_advanced_option)) {
829
- foreach ($seopress_get_toggle_advanced_option as $key => $seopress_get_toggle_advanced_value) {
830
- $options[$key] = $seopress_get_toggle_advanced_value;
831
- }
832
- if (isset($seopress_get_toggle_advanced_option['toggle-advanced'])) {
833
- return $seopress_get_toggle_advanced_option['toggle-advanced'];
834
- }
835
- }
836
  }
837
 
838
  ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -843,113 +850,113 @@ function seopress_get_toggle_advanced_option() {
843
  * @deprecated 4.3.0
844
  */
845
  function seopress_xml_sitemap_general_enable_option() {
846
- if ( ! function_exists('seopress_get_service')) {
847
- return '1';
848
- }
849
 
850
- return seopress_get_service('SitemapOption')->isEnabled();
851
  }
852
 
853
  /**
854
  * @deprecated 4.3.0
855
  */
856
  function seopress_xml_sitemap_post_types_list_option() {
857
- if ( ! function_exists('seopress_get_service')) {
858
- return '';
859
- }
860
 
861
- return seopress_get_service('SitemapOption')->getPostTypesList();
862
  }
863
 
864
  /**
865
  * @deprecated 4.3.0
866
  */
867
  function seopress_xml_sitemap_taxonomies_list_option() {
868
- if ( ! function_exists('seopress_get_service')) {
869
- return '';
870
- }
871
 
872
- return seopress_get_service('SitemapOption')->getTaxonomiesList();
873
  }
874
 
875
  /**
876
  * @deprecated 4.3.0
877
  */
878
  function seopress_xml_sitemap_author_enable_option() {
879
- if ( ! function_exists('seopress_get_service')) {
880
- return '';
881
- }
882
 
883
- return seopress_get_service('SitemapOption')->authorIsEnable();
884
  }
885
 
886
  /**
887
  * @deprecated 4.3.0
888
  */
889
  function seopress_xml_sitemap_img_enable_option() {
890
- if ( ! function_exists('seopress_get_service')) {
891
- return '';
892
- }
893
 
894
- return seopress_get_service('SitemapOption')->imageIsEnable();
895
  }
896
 
897
  //Rewrite Rules for XML Sitemap
898
  if ('1' == seopress_xml_sitemap_general_enable_option() && '1' == seopress_get_toggle_option('xml-sitemap')) {
899
- function seopress_sitemaps_headers() {
900
- if ( ! function_exists('seopress_get_service')) {
901
- return;
902
- }
903
-
904
- seopress_get_service('SitemapHeaders')->printHeaders();
905
- }
906
-
907
- //WPML compatibility
908
- if (defined('ICL_SITEPRESS_VERSION')) {
909
- add_filter('request', 'seopress_wpml_block_secondary_languages');
910
- }
911
-
912
- function seopress_wpml_block_secondary_languages($q) {
913
- $current_language = apply_filters('wpml_current_language', false);
914
- $default_language = apply_filters('wpml_default_language', false);
915
- if ($current_language !== $default_language) {
916
- unset($q['seopress_sitemap']);
917
- unset($q['seopress_cpt']);
918
- unset($q['seopress_paged']);
919
- unset($q['seopress_author']);
920
- unset($q['seopress_sitemap_xsl']);
921
- }
922
-
923
- return $q;
924
- }
925
  }
926
 
927
  function seopress_disable_qm($allcaps, $caps, $args) {
928
- $allcaps['view_query_monitor'] = false;
929
 
930
- return $allcaps;
931
  }
932
  ///////////////////////////////////////////////////////////////////////////////////////////////////
933
  // Remove Admin Bar with Content Analysis
934
  ///////////////////////////////////////////////////////////////////////////////////////////////////
935
  function seopress_clean_content_analysis() {
936
- if (current_user_can('edit_posts')) {
937
- if (isset($_GET['no_admin_bar']) && '1' === $_GET['no_admin_bar']) {
938
- //Remove admin bar
939
- add_filter('show_admin_bar', '__return_false');
940
-
941
- //Disable Query Monitor
942
- add_filter('user_has_cap', 'seopress_disable_qm', 10, 3);
943
-
944
- //Disable wptexturize
945
- add_filter('run_wptexturize', '__return_false');
946
-
947
- //Oxygen compatibility
948
- if (function_exists('ct_template_output')) { //disable for Oxygen
949
- add_action('template_redirect', 'seopress_get_oxygen_content');
950
- }
951
- }
952
- }
953
  }
954
  add_action('plugins_loaded', 'seopress_clean_content_analysis');
955
 
@@ -957,30 +964,30 @@ add_action('plugins_loaded', 'seopress_clean_content_analysis');
957
  // Test abolute URLs (return true if absolute)
958
  ///////////////////////////////////////////////////////////////////////////////////////////////////
959
  function seopress_is_absolute($url) {
960
- $pattern = "%^(?:(?:https?|ftp)://)(?:\S+(?::\S*)?@|\d{1,3}(?:\.\d{1,3}){3}|(?:(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)(?:\.(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)*(?:\.[a-z\x{00a1}-\x{ffff}]{2,6}))(?::\d+)?(?:[^\s]*)?$%iu";
961
 
962
- return (bool) preg_match($pattern, $url);
963
  }
964
 
965
  ///////////////////////////////////////////////////////////////////////////////////////////////////
966
  // Manage localized links
967
  ///////////////////////////////////////////////////////////////////////////////////////////////////
968
  function seopress_get_locale() {
969
- switch (get_user_locale(get_current_user_id())) {
970
- case 'fr_FR':
971
- case 'fr_BE':
972
- case 'fr_CA':
973
- case 'fr_LU':
974
- case 'fr_MC':
975
- case 'fr_CH':
976
- $locale_link = 'fr';
977
- break;
978
- default:
979
- $locale_link = '';
980
- break;
981
- }
982
-
983
- return $locale_link;
984
  }
985
 
986
  /**
@@ -997,15 +1004,15 @@ function seopress_get_locale() {
997
  * @author Benjamin
998
  */
999
  function seopress_tooltip($tooltip_title, $tooltip_desc, $tooltip_code) {
1000
- $html =
1001
- '<button type="button" class="sp-tooltip"><span class="dashicons dashicons-editor-help"></span>
1002
- <span class="sp-tooltiptext" role="tooltip" tabindex="0">
1003
- <span class="sp-tooltip-headings">' . $tooltip_title . '</span>
1004
- <span class="sp-tooltip-desc">' . $tooltip_desc . '</span>
1005
- <span class="sp-tooltip-code">' . $tooltip_code . '</span>
1006
- </span></button>';
1007
-
1008
- return $html;
1009
  }
1010
 
1011
  /**
@@ -1022,14 +1029,14 @@ function seopress_tooltip($tooltip_title, $tooltip_desc, $tooltip_code) {
1022
  * @author Benjamin
1023
  */
1024
  function seopress_tooltip_alt($tooltip_anchor, $tooltip_desc) {
1025
- $html =
1026
- '<button type="button" class="sp-tooltip alt">' . $tooltip_anchor . '
1027
- <span class="sp-tooltiptext" role="tooltip" tabindex="0">
1028
- <span class="sp-tooltip-desc">' . $tooltip_desc . '</span>
1029
- </span>
1030
- </button>';
1031
-
1032
- return $html;
1033
  }
1034
 
1035
  /**
@@ -1044,10 +1051,10 @@ function seopress_tooltip_alt($tooltip_anchor, $tooltip_desc) {
1044
  * @author Benjamin
1045
  */
1046
  function seopress_remove_utf8_bom($text) {
1047
- $bom = pack('H*', 'EFBBBF');
1048
- $text = preg_replace("/^$bom/", '', $text);
1049
 
1050
- return $text;
1051
  }
1052
 
1053
  /**
@@ -1062,69 +1069,69 @@ function seopress_remove_utf8_bom($text) {
1062
  * @author Benjamin
1063
  */
1064
  function seopress_notification($args) {
1065
- if ( ! empty($args)) {
1066
- $id = isset($args['id']) ? $args['id'] : null;
1067
- $title = isset($args['title']) ? $args['title'] : null;
1068
- $desc = isset($args['desc']) ? $args['desc'] : null;
1069
- $impact = isset($args['impact']) ? $args['impact'] : [];
1070
- $link = isset($args['link']) ? $args['link'] : null;
1071
- $deleteable = isset($args['deleteable']) ? $args['deleteable'] : null;
1072
- $icon = isset($args['icon']) ? $args['icon'] : null;
1073
-
1074
- $class = '';
1075
- if ( ! empty($impact)) {
1076
- $class .= ' impact';
1077
- $class .= ' ' . key($impact);
1078
- }
1079
-
1080
- if (true === $deleteable) {
1081
- $class .= ' deleteable';
1082
- }
1083
-
1084
- $html = '<div id="' . $id . '-alert" class="seopress-alert">';
1085
-
1086
- if ( ! empty($impact)) {
1087
- $html .= '<span class="screen-reader-text">' . reset($impact) . '</span>';
1088
- }
1089
-
1090
- if ( ! empty($icon)) {
1091
- $html .= '<span class="dashicons ' . $icon . '"></span>';
1092
- } else {
1093
- $html .= '<span class="dashicons dashicons-info"></span>';
1094
- }
1095
-
1096
- $html .= '<div class="notice-left">
1097
- <p>' . $title . '</p>
1098
- <p>' . $desc . '</p>
1099
- ';
1100
-
1101
- $href = '';
1102
- if (function_exists('seopress_get_locale') && 'fr' == seopress_get_locale() && isset($link['fr'])) {
1103
- $href = ' href="' . $link['fr'] . '"';
1104
- } elseif (isset($link['en'])) {
1105
- $href = ' href="' . $link['en'] . '"';
1106
- }
1107
-
1108
- $target = '';
1109
- if (isset($link['external']) && true === $link['external']) {
1110
- $target = ' target="_blank"';
1111
- }
1112
-
1113
- if ( ! empty($link) || true === $deleteable) {
1114
- $html .= '<div class="notice-right">';
1115
-
1116
- if ( ! empty($link)) {
1117
- $html .= '<a class="button-primary"' . $href . $target . '>' . $link['title'] . '</a>';
1118
- }
1119
- if (true === $deleteable) {
1120
- $html .= '<span name="notice-title-tag" id="' . $id . '" class="dashicons dashicons-no-alt remove-notice" data-notice="' . $id . '"></span>';
1121
- }
1122
-
1123
- $html .= '</div>';
1124
- }
1125
- $html .= '</div></div>';
1126
- echo $html;
1127
- }
1128
  }
1129
  /**
1130
  * Filter the capability to allow other roles to use the plugin.
@@ -1139,12 +1146,12 @@ function seopress_notification($args) {
1139
  * @return (string)
1140
  **/
1141
  function seopress_capability($cap, $context = '') {
1142
- $newcap = apply_filters('seopress_capability', $cap, $context);
1143
- if ( ! current_user_can($newcap)) {
1144
- return $cap;
1145
- }
1146
 
1147
- return $newcap;
1148
  }
1149
 
1150
  /**
@@ -1157,15 +1164,15 @@ function seopress_capability($cap, $context = '') {
1157
  * @return (bool)
1158
  **/
1159
  function is_seopress_page() {
1160
- if ( ! is_admin() && ( ! isset($_REQUEST['page']) || ! isset($_REQUEST['post_type']))) {
1161
- return false;
1162
- }
1163
-
1164
- if (isset($_REQUEST['page'])) {
1165
- return 0 === strpos($_REQUEST['page'], 'seopress');
1166
- } elseif (isset($_REQUEST['post_type'])) {
1167
- return 0 === strpos($_REQUEST['post_type'], 'seopress');
1168
- }
1169
  }
1170
  /*
1171
  * Only add our notices on our pages
@@ -1177,16 +1184,16 @@ function is_seopress_page() {
1177
  **/
1178
  add_action('in_admin_header', 'seopress_remove_other_notices');
1179
  function seopress_remove_other_notices() {
1180
- if (is_seopress_page()) {
1181
- remove_all_actions('network_admin_notices');
1182
- remove_all_actions('admin_notices');
1183
- remove_all_actions('user_admin_notices');
1184
- remove_all_actions('all_admin_notices');
1185
- add_action('admin_notices', 'seopress_admin_notices');
1186
- if (is_plugin_active('wp-seopress-insights/seopress-insights.php')) {
1187
- add_action('admin_notices', 'seopress_insights_notice');
1188
- }
1189
- }
1190
  }
1191
 
1192
  /**
@@ -1199,7 +1206,7 @@ function seopress_remove_other_notices() {
1199
  * @return (bool)
1200
  **/
1201
  function seopress_admin_notices() {
1202
- do_action('seopress_admin_notices');
1203
  }
1204
 
1205
  /**
@@ -1212,22 +1219,22 @@ function seopress_admin_notices() {
1212
  * @return (bool)
1213
  **/
1214
  function seopress_get_days() {
1215
- $start_of_week = (int) get_option('start_of_week');
1216
-
1217
- return array_map(
1218
- function () use ($start_of_week) {
1219
- static $start_of_week;
1220
-
1221
- return ucfirst(date_i18n('l', strtotime($start_of_week++ - date('w', 0) . ' day', 0)));
1222
- },
1223
- array_combine(
1224
- array_merge(
1225
- array_slice(range(0, 6), $start_of_week, 7),
1226
- array_slice(range(0, 6), 0, $start_of_week)
1227
- ),
1228
- range(0, 6)
1229
- )
1230
- );
1231
  }
1232
 
1233
  /**
@@ -1242,21 +1249,21 @@ function seopress_get_days() {
1242
  * @param mixed $key
1243
  **/
1244
  function seopress_if_key_exists(array $arr, $key) {
1245
- // is in base array?
1246
- if (array_key_exists($key, $arr)) {
1247
- return true;
1248
- }
1249
-
1250
- // check arrays contained in this array
1251
- foreach ($arr as $element) {
1252
- if (is_array($element)) {
1253
- if (seopress_if_key_exists($element, $key)) {
1254
- return true;
1255
- }
1256
- }
1257
- }
1258
-
1259
- return false;
1260
  }
1261
 
1262
  /**
@@ -1269,41 +1276,43 @@ function seopress_if_key_exists(array $arr, $key) {
1269
  * @return null
1270
  **/
1271
  function seopress_get_oxygen_content() {
1272
- if (is_plugin_active('oxygen/functions.php') && function_exists('ct_template_output')) {
1273
- $seopress_get_the_content = ct_template_output();
1274
-
1275
- if ($seopress_get_the_content) {
1276
- //Get post content
1277
- $seopress_get_the_content = apply_filters('the_content', get_post_field('post_content', get_the_ID()));
1278
- }
1279
-
1280
- if ($seopress_get_the_content) {
1281
- //Get Target Keywords
1282
- if (get_post_meta(get_the_ID(), '_seopress_analysis_target_kw', true)) {
1283
- $seopress_analysis_target_kw = array_filter(explode(',', strtolower(esc_attr(get_post_meta(get_the_ID(), '_seopress_analysis_target_kw', true)))));
1284
-
1285
- //Keywords density
1286
- foreach ($seopress_analysis_target_kw as $kw) {
1287
- if (preg_match_all('#\b(' . $kw . ')\b#iu', normalize_whitespace(strip_tags(wp_filter_nohtml_kses($seopress_get_the_content))), $m)) {
1288
- $data['kws_density']['matches'][$kw][] = $m[0];
1289
- }
1290
- }
1291
- }
1292
-
1293
- //Words Counter
1294
- $data['words_counter'] = preg_match_all("/\p{L}[\p{L}\p{Mn}\p{Pd}'\x{2019}]*/u", normalize_whitespace(strip_tags(wp_filter_nohtml_kses($seopress_get_the_content))), $matches);
1295
-
1296
- if ( ! empty($matches[0])) {
1297
- $words_counter_unique = count(array_unique($matches[0]));
1298
- } else {
1299
- $words_counter_unique = '0';
1300
- }
1301
- $data['words_counter_unique'] = $words_counter_unique;
1302
-
1303
- //Update analysis
1304
- update_post_meta(get_the_ID(), '_seopress_analysis_data_oxygen', $data);
1305
- }
1306
- }
 
 
1307
  }
1308
 
1309
  /**
@@ -1315,57 +1324,57 @@ function seopress_get_oxygen_content() {
1315
  *
1316
  **/
1317
  function seopress_wizard_follow_us() {
1318
- ?>
1319
- <li class="seopress-wizard-additional-steps">
1320
- <div class="seopress-wizard-next-step-description">
1321
- <p class="next-step-heading"><?php esc_html_e('Follow us:', 'wp-seopress'); ?></p>
1322
- </div>
1323
- <div class="seopress-wizard-next-step-action step">
1324
- <ul class="recommended-step">
1325
- <li class="recommended-item">
1326
- <a href="https://www.facebook.com/seopresspro/" target="_blank">
1327
- <span class="dashicons dashicons-facebook"></span>
1328
- <?php _e('Like our Facebook page', 'wp-seopress'); ?>
1329
- </a>
1330
- </li>
1331
- <li class="recommended-item">
1332
- <a href="https://www.facebook.com/groups/seopress/" target="_blank">
1333
- <span class="dashicons dashicons-facebook"></span>
1334
- <?php _e('Join our Facebook Community group', 'wp-seopress'); ?>
1335
- </a>
1336
- </li>
1337
- <li class="recommended-item">
1338
- <a href="https://www.youtube.com/seopress" target="_blank">
1339
- <span class="dashicons dashicons-video-alt3"></span>
1340
- <?php _e('Watch our guided tour videos to learn more about SEOPress', 'wp-seopress'); ?>
1341
- </a>
1342
- </li>
1343
- <li class="recommended-item">
1344
- <?php
1345
- if (function_exists('seopress_get_locale') && 'fr' == seopress_get_locale()) {
1346
- $link = 'https://www.seopress.org/fr/blog/category/tutoriels/?utm_source=plugin&utm_medium=wizard&utm_campaign=seopress';
1347
- } else {
1348
- $link = 'https://www.seopress.org/blog/how-to/?utm_source=plugin&utm_medium=wizard&utm_campaign=seopress';
1349
- } ?>
1350
- <a href="<?php echo $link; ?>" target="_blank">
1351
- <span class="dashicons dashicons-format-aside"></span>
1352
- <?php _e('Read our blog posts about SEO concepts, tutorials and more', 'wp-seopress'); ?>
1353
- </a>
1354
- </li>
1355
- <li class="recommended-item">
1356
- <a href="https://twitter.com/wp_seopress" target="_blank">
1357
- <span class="dashicons dashicons-twitter"></span>
1358
- <?php _e('Follow us on Twitter', 'wp-seopress'); ?>
1359
- </a>
1360
- </li>
1361
- <li class="recommended-item">
1362
- <a href="https://www.instagram.com/wp_seopress/" target="_blank">
1363
- <span class="dashicons dashicons-instagram"></span>
1364
- <?php _e('The off side of SEOPress', 'wp-seopress'); ?>
1365
- </a>
1366
- </li>
1367
- </ul>
1368
- </div>
1369
- </li>
1370
- <?php
1371
  }
4
  Plugin URI: https://www.seopress.org/
5
  Description: One of the best SEO plugins for WordPress.
6
  Author: SEOPress
7
+ Version: 4.5.1
8
  Author URI: https://www.seopress.org/
9
  License: GPLv2
10
  Text Domain: wp-seopress
11
  Domain Path: /languages
12
  */
13
 
14
+ /* Copyright 2016 - 2021 - Benjamin Denis (email : contact@seopress.org)
15
 
16
+ This program is free software; you can redistribute it and/or modify
17
+ it under the terms of the GNU General Public License, version 2, as
18
+ published by the Free Software Foundation.
19
 
20
+ This program is distributed in the hope that it will be useful,
21
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
22
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23
+ GNU General Public License for more details.
24
 
25
+ You should have received a copy of the GNU General Public License
26
+ along with this program; if not, write to the Free Software
27
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28
  */
29
 
30
  // To prevent calling the plugin directly
31
  if ( ! function_exists('add_action')) {
32
+ echo 'Please don&rsquo;t call the plugin directly. Thanks :)';
33
+ exit;
34
  }
35
 
36
  ///////////////////////////////////////////////////////////////////////////////////////////////////
37
  //Hooks activation
38
  ///////////////////////////////////////////////////////////////////////////////////////////////////
39
  function seopress_activation() {
40
+ add_option('seopress_activated', 'yes');
41
+ flush_rewrite_rules(false);
42
+ do_action('seopress_activation');
43
  }
44
  register_activation_hook(__FILE__, 'seopress_activation');
45
 
46
  function seopress_deactivation() {
47
+ deactivate_plugins(['wp-seopress-pro/seopress-pro.php', 'wp-seopress-insights/seopress-insights.php']);
48
 
49
+ delete_option('seopress_activated');
50
+ flush_rewrite_rules(false);
51
+ do_action('seopress_deactivation');
52
  }
53
  register_deactivation_hook(__FILE__, 'seopress_deactivation');
54
 
55
  ///////////////////////////////////////////////////////////////////////////////////////////////////
56
  //Define
57
  ///////////////////////////////////////////////////////////////////////////////////////////////////
58
+ define('SEOPRESS_VERSION', '4.5.1');
59
  define('SEOPRESS_AUTHOR', 'Benjamin Denis');
60
  define('SEOPRESS_PLUGIN_DIR_PATH', plugin_dir_path(__FILE__));
61
  define('SEOPRESS_TEMPLATE_DIR', SEOPRESS_PLUGIN_DIR_PATH . 'templates');
65
  use SEOPress\Core\Kernel;
66
 
67
  if (file_exists(__DIR__ . '/vendor/autoload.php')) {
68
+ require_once __DIR__ . '/vendor/autoload.php';
69
+ require_once __DIR__ . '/seopress-functions.php';
70
+
71
+ Kernel::execute([
72
+ 'file' => __FILE__,
73
+ 'slug' => 'wp-seopress',
74
+ 'main_file' => 'seopress',
75
+ 'root' => __DIR__,
76
+ ]);
77
  }
78
 
79
  function seopress_titles_single_cpt_enable_option($cpt) {
80
+ $current_cpt = null;
81
+ $seopress_titles_single_enable_option = get_option('seopress_titles_option_name');
82
+ if ( ! empty($seopress_titles_single_enable_option)) {
83
+ foreach ($seopress_titles_single_enable_option as $key => $seopress_titles_single_enable_value) {
84
+ $options[$key] = $seopress_titles_single_enable_value;
85
+ if (isset($seopress_titles_single_enable_option['seopress_titles_single_titles'][$cpt]['enable'])) {
86
+ $current_cpt = $seopress_titles_single_enable_option['seopress_titles_single_titles'][$cpt]['enable'];
87
+ }
88
+ }
89
+ }
90
+
91
+ return $current_cpt;
92
  }
93
 
94
  //Archive CPT Titles
95
  function seopress_titles_archive_titles_option() {
96
+ global $post;
97
+ $seopress_get_current_cpt = get_post_type($post);
98
+
99
+ $seopress_titles_archive_titles_option = get_option('seopress_titles_option_name');
100
+ if ( ! empty($seopress_titles_archive_titles_option)) {
101
+ foreach ($seopress_titles_archive_titles_option as $key => $seopress_titles_archive_titles_value) {
102
+ $options[$key] = $seopress_titles_archive_titles_value;
103
+ }
104
+ if (isset($seopress_titles_archive_titles_option['seopress_titles_archive_titles'][$seopress_get_current_cpt]['title'])) {
105
+ return $seopress_titles_archive_titles_option['seopress_titles_archive_titles'][$seopress_get_current_cpt]['title'];
106
+ }
107
+ }
108
  }
109
 
110
  ///////////////////////////////////////////////////////////////////////////////////////////////////
111
  //SEOPRESS INIT = Admin + Core + API + Translation
112
  ///////////////////////////////////////////////////////////////////////////////////////////////////
113
  function seopress_init($hook) {
114
+ load_plugin_textdomain('wp-seopress', false, dirname(plugin_basename(__FILE__)) . '/languages/');
115
+
116
+ global $pagenow;
117
+ global $typenow;
118
+ global $wp_version;
119
+
120
+ if (is_admin() || is_network_admin()) {
121
+ require_once dirname(__FILE__) . '/inc/admin/plugin-upgrader.php';
122
+ require_once dirname(__FILE__) . '/inc/admin/admin.php';
123
+
124
+ if ('post-new.php' == $pagenow || 'post.php' == $pagenow) {
125
+ if ('seopress_schemas' != $typenow) {
126
+ require_once dirname(__FILE__) . '/inc/admin/admin-metaboxes.php';
127
+ }
128
+ }
129
+ if ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) {
130
+ require_once dirname(__FILE__) . '/inc/admin/admin-term-metaboxes.php';
131
+ }
132
+ require_once dirname(__FILE__) . '/inc/admin/ajax.php';
133
+ if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
134
+ //do not load the SEOPress admin header
135
+ } else {
136
+ require_once dirname(__FILE__) . '/inc/admin/admin-header.php';
137
+ }
138
+ }
139
+
140
+ require_once dirname(__FILE__) . '/inc/functions/options.php';
141
+
142
+ require_once dirname(__FILE__) . '/inc/admin/adminbar.php';
143
+
144
+ remove_action('wp_head', 'rel_canonical'); //remove default WordPress Canonical
145
+
146
+ //Setup/welcome
147
+ if ( ! empty($_GET['page'])) {
148
+ switch ($_GET['page']) {
149
+ case 'seopress-setup':
150
+ include_once dirname(__FILE__) . '/inc/admin/admin-wizard.php';
151
+ break;
152
+ default:
153
+ break;
154
+ }
155
+ }
156
+
157
+ //Elementor
158
+ if (did_action('elementor/loaded')) {
159
+ include_once dirname(__FILE__) . '/inc/admin/page-builders/elementor/elementor-addon.php';
160
+ }
161
+
162
+ //Block Editor
163
+ if (version_compare($wp_version, '5.0', '>=')) {
164
+ include_once dirname(__FILE__) . '/inc/admin/page-builders/gutenberg/gutenberg-addon.php';
165
+ }
166
  }
167
  add_action('plugins_loaded', 'seopress_init', 999);
168
 
173
  * @author Benjamin
174
  */
175
  if ( ! function_exists('array_key_first')) {
176
+ function array_key_first(array $arr) {
177
+ foreach ($arr as $key => $unused) {
178
+ return $key;
179
+ }
180
 
181
+ return null;
182
+ }
183
  }
184
 
185
  /*
189
  * @author Benjamin
190
  */
191
  if ( ! function_exists('array_key_last')) {
192
+ function array_key_last(array $arr) {
193
+ end($arr);
194
+ $key = key($arr);
195
 
196
+ return $key;
197
+ }
198
  }
199
 
200
  ///////////////////////////////////////////////////////////////////////////////////////////////////
201
  //Loads dynamic variables for titles, metas, schemas...
202
  ///////////////////////////////////////////////////////////////////////////////////////////////////
203
  function seopress_dyn_variables_init($variables) {
204
+ $variables = include dirname(__FILE__) . '/inc/functions/variables/dynamic-variables.php';
205
 
206
+ return $variables;
207
  }
208
  add_filter('seopress_dyn_variables_fn', 'seopress_dyn_variables_init');
209
 
212
  ///////////////////////////////////////////////////////////////////////////////////////////////////
213
  //SEOPRESS Options page
214
  function seopress_add_admin_options_scripts($hook) {
215
+ $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
216
+ wp_register_style('seopress-admin', plugins_url('assets/css/seopress' . $prefix . '.css', __FILE__), [], SEOPRESS_VERSION);
217
+ wp_enqueue_style('seopress-admin');
218
+
219
+ if ( ! isset($_GET['page'])) {
220
+ return;
221
+ }
222
+ if ('seopress-network-option' === $_GET['page']) {
223
+ wp_enqueue_script('seopress-network-tabs', plugins_url('assets/js/seopress-network-tabs' . $prefix . '.js', __FILE__), ['jquery'], SEOPRESS_VERSION, true);
224
+ }
225
+
226
+ //Toggle / Notices JS
227
+ $_pages = ['seopress-option' => true, 'seopress-network-option' => true, 'seopress-titles' => true, 'seopress-xml-sitemap' => true, 'seopress-social' => true, 'seopress-google-analytics' => true, 'seopress-pro-page' => true, 'seopress-advanced' => true];
228
+ if (isset($_pages[$_GET['page']])) {
229
+ wp_enqueue_script('seopress-toggle-ajax', plugins_url('assets/js/seopress-dashboard' . $prefix . '.js', __FILE__), ['jquery'], SEOPRESS_VERSION, true);
230
+
231
+ //Features
232
+ $seopress_toggle_features = [
233
+ 'seopress_nonce' => wp_create_nonce('seopress_toggle_features_nonce'),
234
+ 'seopress_toggle_features' => admin_url('admin-ajax.php'),
235
+ 'i18n' => __('has been successfully updated!', 'wp-seopress'),
236
+ ];
237
+ wp_localize_script('seopress-toggle-ajax', 'seopressAjaxToggleFeatures', $seopress_toggle_features);
238
+ }
239
+ unset($_pages);
240
+
241
+ if ('seopress-option' === $_GET['page']) {
242
+ //Notices
243
+ $seopress_hide_notices = [
244
+ 'seopress_nonce' => wp_create_nonce('seopress_hide_notices_nonce'),
245
+ 'seopress_hide_notices' => admin_url('admin-ajax.php'),
246
+ ];
247
+ wp_localize_script('seopress-toggle-ajax', 'seopressAjaxHideNotices', $seopress_hide_notices);
248
+
249
+ //Admin Tabs
250
+ wp_enqueue_script('seopress-reverse-ajax', plugins_url('assets/js/seopress-tabs7' . $prefix . '.js', __FILE__), ['jquery-ui-tabs'], SEOPRESS_VERSION);
251
+
252
+ //Reverse domains
253
+ $seopress_request_reverse = [
254
+ 'seopress_nonce' => wp_create_nonce('seopress_request_reverse_nonce'),
255
+ 'seopress_request_reverse' => admin_url('admin-ajax.php'),
256
+ ];
257
+ wp_localize_script('seopress-reverse-ajax', 'seopressAjaxReverse', $seopress_request_reverse);
258
+
259
+ $seopress_clear_reverse_cache = [
260
+ 'seopress_nonce' => wp_create_nonce('seopress_clear_reverse_cache_nonce'),
261
+ 'seopress_clear_reverse_cache' => admin_url('admin-ajax.php'),
262
+ ];
263
+ wp_localize_script('seopress-reverse-ajax', 'seopressAjaxClearReverseCache', $seopress_clear_reverse_cache);
264
+ }
265
+
266
+ //Migration
267
+ if ('seopress-option' === $_GET['page'] || 'seopress-import-export' === $_GET['page']) {
268
+ wp_enqueue_script('seopress-migrate-ajax', plugins_url('assets/js/seopress-migrate' . $prefix . '.js', __FILE__), ['jquery'], SEOPRESS_VERSION, true);
269
+
270
+ $seopress_migrate = [
271
+ 'seopress_aio_migrate' => [
272
+ 'seopress_nonce' => wp_create_nonce('seopress_aio_migrate_nonce'),
273
+ 'seopress_aio_migration' => admin_url('admin-ajax.php'),
274
+ ],
275
+ 'seopress_yoast_migrate' => [
276
+ 'seopress_nonce' => wp_create_nonce('seopress_yoast_migrate_nonce'),
277
+ 'seopress_yoast_migration' => admin_url('admin-ajax.php'),
278
+ ],
279
+ 'seopress_seo_framework_migrate' => [
280
+ 'seopress_nonce' => wp_create_nonce('seopress_seo_framework_migrate_nonce'),
281
+ 'seopress_seo_framework_migration' => admin_url('admin-ajax.php'),
282
+ ],
283
+ 'seopress_rk_migrate' => [
284
+ 'seopress_nonce' => wp_create_nonce('seopress_rk_migrate_nonce'),
285
+ 'seopress_rk_migration' => admin_url('admin-ajax.php'),
286
+ ],
287
+ 'seopress_squirrly_migrate' => [
288
+ 'seopress_nonce' => wp_create_nonce('seopress_squirrly_migrate_nonce'),
289
+ 'seopress_squirrly_migration' => admin_url('admin-ajax.php'),
290
+ ],
291
+ 'seopress_seo_ultimate_migrate' => [
292
+ 'seopress_nonce' => wp_create_nonce('seopress_seo_ultimate_migrate_nonce'),
293
+ 'seopress_seo_ultimate_migration' => admin_url('admin-ajax.php'),
294
+ ],
295
+ 'seopress_wp_meta_seo_migrate' => [
296
+ 'seopress_nonce' => wp_create_nonce('seopress_meta_seo_migrate_nonce'),
297
+ 'seopress_wp_meta_seo_migration' => admin_url('admin-ajax.php'),
298
+ ],
299
+ 'seopress_premium_seo_pack_migrate' => [
300
+ 'seopress_nonce' => wp_create_nonce('seopress_premium_seo_pack_migrate_nonce'),
301
+ 'seopress_premium_seo_pack_migration' => admin_url('admin-ajax.php'),
302
+ ],
303
+ 'seopress_wpseo_migrate' => [
304
+ 'seopress_nonce' => wp_create_nonce('seopress_wpseo_migrate_nonce'),
305
+ 'seopress_wpseo_migration' => admin_url('admin-ajax.php'),
306
+ ],
307
+ 'seopress_platinum_seo_migrate' => [
308
+ 'seopress_nonce' => wp_create_nonce('seopress_platinum_seo_migrate_nonce'),
309
+ 'seopress_platinum_seo_migration' => admin_url('admin-ajax.php'),
310
+ ],
311
+ 'seopress_smart_crawl_migrate' => [
312
+ 'seopress_nonce' => wp_create_nonce('seopress_smart_crawl_migrate_nonce'),
313
+ 'seopress_smart_crawl_migration' => admin_url('admin-ajax.php'),
314
+ ],
315
+ 'seopress_seopressor_migrate' => [
316
+ 'seopress_nonce' => wp_create_nonce('seopress_seopressor_migrate_nonce'),
317
+ 'seopress_seopressor_migration' => admin_url('admin-ajax.php'),
318
+ ],
319
+ 'seopress_metadata_csv' => [
320
+ 'seopress_nonce' => wp_create_nonce('seopress_export_csv_metadata_nonce'),
321
+ 'seopress_metadata_export' => admin_url('admin-ajax.php'),
322
+ ],
323
+ 'i18n' => [
324
+ 'migration' => __('Migration completed!', 'wp-seopress'),
325
+ 'export' => __('Export completed!', 'wp-seopress'),
326
+ ],
327
+ ];
328
+ wp_localize_script('seopress-migrate-ajax', 'seopressAjaxMigrate', $seopress_migrate);
329
+ }
330
+
331
+ //Tabs
332
+ if ('seopress-titles' === $_GET['page']) {
333
+ wp_enqueue_script('seopress-admin-tabs-js', plugins_url('assets/js/seopress-tabs' . $prefix . '.js', __FILE__), ['jquery-ui-tabs'], SEOPRESS_VERSION);
334
+ }
335
+
336
+ if ('seopress-xml-sitemap' === $_GET['page']) {
337
+ wp_enqueue_script('seopress-admin-tabs-js', plugins_url('assets/js/seopress-tabs4' . $prefix . '.js', __FILE__), ['jquery-ui-tabs'], SEOPRESS_VERSION);
338
+ }
339
+
340
+ if ('seopress-xml-sitemap' === $_GET['page'] || 'seopress-pro-page' === $_GET['page'] || 'seopress-network-option' === $_GET['page']) {
341
+ wp_enqueue_script('seopress-xml-ajax', plugins_url('assets/js/seopress-sitemap-ajax' . $prefix . '.js', __FILE__), ['jquery'], SEOPRESS_VERSION, true);
342
+
343
+ $seopress_ajax_permalinks = [
344
+ 'seopress_nonce' => wp_create_nonce('seopress_flush_permalinks_nonce'),
345
+ 'seopress_ajax_permalinks' => admin_url('admin-ajax.php'),
346
+ ];
347
+ wp_localize_script('seopress-xml-ajax', 'seopressAjaxResetPermalinks', $seopress_ajax_permalinks);
348
+ }
349
+
350
+ if ('seopress-google-analytics' === $_GET['page']) {
351
+ wp_enqueue_style('wp-color-picker');
352
+
353
+ wp_enqueue_script('wp-color-picker-alpha', plugins_url('assets/js/wp-color-picker-alpha.min.js', __FILE__), ['wp-color-picker'], SEOPRESS_VERSION, true);
354
+ $color_picker_strings = [
355
+ 'clear' => __('Clear', 'wp-seopress'),
356
+ 'clearAriaLabel' => __('Clear color', 'wp-seopress'),
357
+ 'defaultString' => __('Default', 'wp-seopress'),
358
+ 'defaultAriaLabel' => __('Select default color', 'wp-seopress'),
359
+ 'pick' => __('Select Color', 'wp-seopress'),
360
+ 'defaultLabel' => __('Color value', 'wp-seopress'),
361
+ ];
362
+ wp_localize_script('wp-color-picker-alpha', 'wpColorPickerL10n', $color_picker_strings);
363
+
364
+ wp_enqueue_script('seopress-admin-tabs-js', plugins_url('assets/js/seopress-tabs6' . $prefix . '.js', __FILE__), ['jquery-ui-tabs', 'wp-color-picker'], SEOPRESS_VERSION);
365
+ }
366
+
367
+ if ('seopress-advanced' === $_GET['page']) {
368
+ wp_enqueue_script('seopress-admin-tabs-js', plugins_url('assets/js/seopress-tabs5' . $prefix . '.js', __FILE__), ['jquery-ui-tabs'], SEOPRESS_VERSION);
369
+ }
370
+
371
+ if ('seopress-import-export' === $_GET['page']) {
372
+ wp_enqueue_script('seopress-admin-tabs-js', plugins_url('assets/js/seopress-tabs8' . $prefix . '.js', __FILE__), ['jquery-ui-tabs'], SEOPRESS_VERSION);
373
+ }
374
+
375
+ if ('seopress-social' === $_GET['page']) {
376
+ wp_enqueue_script('seopress-social-tabs-js', plugins_url('assets/js/seopress-tabs3' . $prefix . '.js', __FILE__), ['jquery-ui-tabs'], SEOPRESS_VERSION);
377
+ wp_enqueue_script('seopress-cpt-tabs-js', plugins_url('assets/js/seopress-tabs2' . $prefix . '.js', __FILE__), ['jquery-ui-tabs'], SEOPRESS_VERSION);
378
+ wp_enqueue_script('seopress-media-uploader-js', plugins_url('assets/js/seopress-media-uploader' . $prefix . '.js', __FILE__), ['jquery'], SEOPRESS_VERSION, false);
379
+ wp_enqueue_media();
380
+ }
381
+
382
+ //CSV Importer
383
+ if ('seopress_csv_importer' === $_GET['page']) {
384
+ wp_enqueue_style('seopress-setup', plugins_url('assets/css/seopress-setup' . $prefix . '.css', __FILE__), ['dashicons'], SEOPRESS_VERSION);
385
+ }
386
  }
387
 
388
  add_action('admin_enqueue_scripts', 'seopress_add_admin_options_scripts', 10, 1);
389
 
390
  //SEOPRESS Admin bar
391
  function seopress_admin_bar_css() {
392
+ $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
393
+ if (is_user_logged_in() && function_exists('seopress_advanced_appearance_adminbar_option') && '1' != seopress_advanced_appearance_adminbar_option()) {
394
+ if (is_admin_bar_showing()) {
395
+ wp_register_style('seopress-admin-bar', plugins_url('assets/css/seopress-admin-bar' . $prefix . '.css', __FILE__), [], SEOPRESS_VERSION);
396
+ wp_enqueue_style('seopress-admin-bar');
397
+ }
398
+ }
399
  }
400
  add_action('init', 'seopress_admin_bar_css', 12, 1);
401
 
402
  //Quick Edit
403
  function seopress_add_admin_options_scripts_quick_edit() {
404
+ $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
405
+ wp_enqueue_script('seopress-quick-edit', plugins_url('assets/js/seopress-quick-edit' . $prefix . '.js', __FILE__), ['jquery', 'inline-edit-post'], SEOPRESS_VERSION, true);
406
  }
407
  add_action('admin_print_scripts-edit.php', 'seopress_add_admin_options_scripts_quick_edit');
408
 
411
  ///////////////////////////////////////////////////////////////////////////////////////////////////
412
  add_filter('admin_body_class', 'seopress_admin_body_class', 100);
413
  function seopress_admin_body_class($classes) {
414
+ if ( ! isset($_GET['page'])) {
415
+ return $classes;
416
+ }
417
+ $_pages = [
418
+ 'seopress_csv_importer' => true,
419
+ 'seopress-option' => true,
420
+ 'seopress-network-option' => true,
421
+ 'seopress-titles' => true,
422
+ 'seopress-xml-sitemap' => true,
423
+ 'seopress-social' => true,
424
+ 'seopress-google-analytics' => true,
425
+ 'seopress-advanced' => true,
426
+ 'seopress-import-export' => true,
427
+ 'seopress-pro-page' => true,
428
+ 'seopress-bot-batch' => true,
429
+ 'seopress-license' => true,
430
+ ];
431
+ if (isset($_pages[$_GET['page']])) {
432
+ $classes .= ' seopress-styles ';
433
+ }
434
+
435
+ return $classes;
436
  }
437
 
438
  ///////////////////////////////////////////////////////////////////////////////////////////////////
450
  ///////////////////////////////////////////////////////////////////////////////////////////////////
451
  //Jetpack
452
  function seopress_compatibility_jetpack() {
453
+ if (function_exists('is_plugin_active')) {
454
+ if (is_plugin_active('jetpack/jetpack.php') && ! is_admin()) {
455
+ add_filter('jetpack_enable_open_graph', '__return_false');
456
+ }
457
+ }
458
  }
459
  add_action('wp_head', 'seopress_compatibility_jetpack', 0);
460
 
464
  * @since 3.8.1
465
  */
466
  function seopress_compatibility_woocommerce() {
467
+ if (function_exists('is_plugin_active')) {
468
+ if (is_plugin_active('woocommerce/woocommerce.php') && ! is_admin()) {
469
+ remove_action('wp_head', 'wc_page_noindex');
470
+ }
471
+ }
472
  }
473
  add_action('wp_head', 'seopress_compatibility_woocommerce', 0);
474
 
484
  * @param mixed $blog_id
485
  */
486
  function seopress_remove_wpml_home_url_filter($home_url, $url, $path, $orig_scheme, $blog_id) {
487
+ return $url;
488
  }
489
 
490
  /*
494
  */
495
  add_action('do_meta_boxes', 'seopress_remove_metaboxes', 10);
496
  function seopress_remove_metaboxes() {
497
+ //Oxygen Builder
498
+ remove_meta_box('ct_views_cpt', 'seopress_404', 'normal');
499
+ remove_meta_box('ct_views_cpt', 'seopress_schemas', 'normal');
500
+ remove_meta_box('ct_views_cpt', 'seopress_bot', 'normal');
501
  }
502
 
503
  ///////////////////////////////////////////////////////////////////////////////////////////////////
504
  //Credits footer
505
  ///////////////////////////////////////////////////////////////////////////////////////////////////
506
  function seopress_custom_credits_footer() {
507
+ $html = '<span id="seopress-footer-credits">
508
+ <span class="dashicons dashicons-wordpress"></span>
509
+ ' . __("You like SEOPress? Don't forget to rate it 5 stars!", 'wp-seopress') . '<span class="wporg-ratings rating-stars">';
510
+ for ($i=1; $i < 6; ++$i) {
511
+ $html .= '<a href="//wordpress.org/support/view/plugin-reviews/wp-seopress?rate=' . $i . '#postform" data-rating="' . $i . '" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#FFDE24 !important;"></span></a>';
512
+ }
513
+ $html .= '</span>
514
+ <script>
515
+ jQuery(document).ready( function($) {
516
+ $(".rating-stars").find("a").hover(
517
+ function() {
518
+ $(this).nextAll("a").children("span").removeClass("dashicons-star-filled").addClass("dashicons-star-empty");
519
+ $(this).prevAll("a").children("span").removeClass("dashicons-star-empty").addClass("dashicons-star-filled");
520
+ $(this).children("span").removeClass("dashicons-star-empty").addClass("dashicons-star-filled");
521
+ }, function() {
522
+ var rating = $("input#rating").val();
523
+ if (rating) {
524
+ var list = $(".rating-stars a");
525
+ list.children("span").removeClass("dashicons-star-filled").addClass("dashicons-star-empty");
526
+ list.slice(0, rating).children("span").removeClass("dashicons-star-empty").addClass("dashicons-star-filled");
527
+ }
528
+ }
529
+ );
530
+ });
531
+ </script>
532
+ </span>';
533
+
534
+ return $html;
535
  }
536
  if ((isset($_GET['page']) && (
537
+ 'seopress-option' == $_GET['page']
538
+ || 'seopress-network-option' == $_GET['page']
539
+ || 'seopress-titles' == $_GET['page']
540
+ || 'seopress-xml-sitemap' == $_GET['page']
541
+ || 'seopress-social' == $_GET['page']
542
+ || 'seopress-google-analytics' == $_GET['page']
543
+ || 'seopress-advanced' == $_GET['page']
544
+ || 'seopress-pro-page' == $_GET['page']
545
+ || 'seopress-import-export' == $_GET['page']
546
+ || 'seopress-bot-batch' == $_GET['page']
547
+ || 'seopress-insights' == $_GET['page']
548
+ || 'seopress-license' == $_GET['page']))
549
+ || (isset($_GET['post_type']) && (
550
+ 'seopress_404' == $_GET['post_type']
551
+ || 'seopress_schemas' == $_GET['post_type']
552
+ || 'seopress_bot' == $_GET['post_type']
553
+ || 'seopress_backlinks' == $_GET['post_type']))) {
554
+ add_filter('admin_footer_text', 'seopress_custom_credits_footer');
555
  }
556
 
557
  ///////////////////////////////////////////////////////////////////////////////////////////////////
560
  add_filter('plugin_action_links', 'seopress_plugin_action_links', 10, 2);
561
 
562
  function seopress_plugin_action_links($links, $file) {
563
+ static $this_plugin;
564
+
565
+ if ( ! $this_plugin) {
566
+ $this_plugin = plugin_basename(__FILE__);
567
+ }
568
+
569
+ if ($file == $this_plugin) {
570
+ $settings_link = '<a href="' . admin_url('admin.php?page=seopress-option') . '">' . __('Settings', 'wp-seopress') . '</a>';
571
+ $website_link = '<a href="https://www.seopress.org/support/" target="_blank">' . __('Docs', 'wp-seopress') . '</a>';
572
+ $wizard_link = '<a href="' . admin_url('admin.php?page=seopress-setup') . '">' . __('Configuration Wizard', 'wp-seopress') . '</a>';
573
+ if ( ! is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
574
+ $pro_link = '<a href="https://www.seopress.org/seopress-pro/" style="color:red;font-weight:bold" target="_blank">' . __('GO PRO!', 'wp-seopress') . '</a>';
575
+ array_unshift($links, $pro_link);
576
+ }
577
+ if (is_plugin_active('wp-seopress-pro/seopress-pro.php') || is_plugin_active('wp-seopress-insights/seopress-insights.php')) {
578
+ if (array_key_exists('deactivate', $links) && in_array($file, [
579
+ 'wp-seopress/seopress.php',
580
+ ]));
581
+ unset($links['deactivate']);
582
+ }
583
+
584
+ if (function_exists('seopress_get_toggle_white_label_option') && '1' == seopress_get_toggle_white_label_option() && function_exists('seopress_white_label_help_links_option') && '1' === seopress_white_label_help_links_option()) {
585
+ array_unshift($links, $settings_link, $wizard_link);
586
+ } else {
587
+ array_unshift($links, $settings_link, $wizard_link, $website_link);
588
  }
589
+ }
 
590
 
591
+ return $links;
592
  }
593
 
594
  /**
601
  * @return (array) $wp_post_types
602
  **/
603
  function seopress_get_post_types() {
604
+ if ( ! function_exists('seopress_get_service')) {
605
+ global $wp_post_types;
606
+
607
+ $args = [
608
+ 'show_ui' => true,
609
+ 'public' => true,
610
+ ];
611
+
612
+ $output = 'objects'; // names or objects, note names is the default
613
+ $operator = 'and'; // 'and' or 'or'
614
+
615
+ $post_types = get_post_types($args, $output, $operator);
616
+ unset(
617
+ $post_types['attachment'],
618
+ $post_types['seopress_rankings'],
619
+ $post_types['seopress_backlinks'],
620
+ $post_types['seopress_404'],
621
+ $post_types['elementor_library'],
622
+ $post_types['customer_discount'],
623
+ $post_types['cuar_private_file'],
624
+ $post_types['cuar_private_page'],
625
+ $post_types['ct_template']
626
+ );
627
+ $post_types = apply_filters('seopress_post_types', $post_types);
628
+
629
+ return $post_types;
630
+ }
631
+
632
+ return seopress_get_service('WordPressData')->getPostTypes();
633
  }
634
 
635
  /**
642
  * @return (array) $taxonomies
643
  **/
644
  function seopress_get_taxonomies($with_terms = false) {
645
+ $args = [
646
+ 'show_ui' => true,
647
+ 'public' => true,
648
+ ];
649
+ $args = apply_filters('seopress_get_taxonomies_args', $args);
650
 
651
+ $output = 'objects'; // or objects
652
+ $operator = 'and'; // 'and' or 'or'
653
+ $taxonomies = get_taxonomies($args, $output, $operator);
654
 
655
+ unset(
656
+ $taxonomies['seopress_bl_competitors']
657
+ );
658
 
659
+ $taxonomies = apply_filters('seopress_get_taxonomies_list', $taxonomies);
660
 
661
+ if ( ! $with_terms) {
662
+ return $taxonomies;
663
+ }
664
 
665
+ foreach ($taxonomies as $_tax_slug => &$_tax) {
666
+ $_tax->terms = get_terms(['taxonomy' => $_tax_slug]);
667
+ }
668
 
669
+ return $taxonomies;
670
  }
671
 
672
  ///////////////////////////////////////////////////////////////////////////////////////////////////
673
  //Get all custom fields (limit: 250)
674
  ///////////////////////////////////////////////////////////////////////////////////////////////////
675
  function seopress_get_custom_fields() {
676
+ $cf_keys = wp_cache_get('seopress_get_custom_fields');
677
+
678
+ if (false === $cf_keys) {
679
+ global $wpdb;
680
+
681
+ $limit = (int) apply_filters('postmeta_form_limit', 250);
682
+ $cf_keys = $wpdb->get_col($wpdb->prepare("
683
+ SELECT DISTINCT meta_key
684
+ FROM $wpdb->postmeta
685
+ GROUP BY meta_key
686
+ HAVING meta_key NOT LIKE '\_%%'
687
+ ORDER BY meta_key
688
+ LIMIT %d", $limit));
689
+
690
+ if (is_plugin_active('types/wpcf.php')) {
691
+ $wpcf_fields = get_option('wpcf-fields');
692
+
693
+ if ( ! empty($wpcf_fields)) {
694
+ foreach ($wpcf_fields as $key => $value) {
695
+ $cf_keys[] = $value['meta_key'];
696
+ }
697
+ }
698
+ }
699
+
700
+ $cf_keys = apply_filters('seopress_get_custom_fields', $cf_keys);
701
+
702
+ if ($cf_keys) {
703
+ natcasesort($cf_keys);
704
+ }
705
+ wp_cache_set('seopress_get_custom_fields', $cf_keys);
706
+ }
707
+
708
+ return $cf_keys;
709
  }
710
 
711
  ///////////////////////////////////////////////////////////////////////////////////////////////////
712
  //Check SSL for schema.org
713
  ///////////////////////////////////////////////////////////////////////////////////////////////////
714
  function seopress_check_ssl() {
715
+ if (is_ssl()) {
716
+ return 'https://';
717
+ } else {
718
+ return 'http://';
719
+ }
720
  }
721
 
722
  /**
727
  * @return (string) $ip
728
  **/
729
  function seopress_get_ip_address() {
730
+ foreach (['HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR'] as $key) {
731
+ if (true === array_key_exists($key, $_SERVER)) {
732
+ foreach (explode(',', $_SERVER[$key]) as $ip) {
733
+ $ip = trim($ip); // just to be safe
734
+
735
+ if (false !== filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
736
+ return $ip;
737
+ }
738
+ }
739
+ }
740
+ }
741
  }
742
 
743
  ///////////////////////////////////////////////////////////////////////////////////////////////////
755
  * @author Benjamin
756
  */
757
  function seopress_get_toggle_option($feature) {
758
+ $seopress_get_toggle_option = get_option('seopress_toggle');
759
+ if ( ! empty($seopress_get_toggle_option)) {
760
+ foreach ($seopress_get_toggle_option as $key => $seopress_get_toggle_value) {
761
+ $options[$key] = $seopress_get_toggle_value;
762
+ if (isset($seopress_get_toggle_option['toggle-' . $feature])) {
763
+ return $seopress_get_toggle_option['toggle-' . $feature];
764
+ }
765
+ }
766
+ }
767
  }
768
 
769
  // Is Titles enable?
771
  * @since 3.8
772
  */
773
  function seopress_get_toggle_titles_option() {
774
+ $seopress_get_toggle_titles_option = get_option('seopress_toggle');
775
+ if ( ! empty($seopress_get_toggle_titles_option)) {
776
+ foreach ($seopress_get_toggle_titles_option as $key => $seopress_get_toggle_titles_value) {
777
+ $options[$key] = $seopress_get_toggle_titles_value;
778
+ }
779
+ if (isset($seopress_get_toggle_titles_option['toggle-titles'])) {
780
+ return $seopress_get_toggle_titles_option['toggle-titles'];
781
+ }
782
+ }
783
  }
784
  // Is Social enable?
785
  /**
786
  * @since 3.8
787
  */
788
  function seopress_get_toggle_social_option() {
789
+ $seopress_get_toggle_social_option = get_option('seopress_toggle');
790
+ if ( ! empty($seopress_get_toggle_social_option)) {
791
+ foreach ($seopress_get_toggle_social_option as $key => $seopress_get_toggle_social_value) {
792
+ $options[$key] = $seopress_get_toggle_social_value;
793
+ }
794
+ if (isset($seopress_get_toggle_social_option['toggle-social'])) {
795
+ return $seopress_get_toggle_social_option['toggle-social'];
796
+ }
797
+ }
798
  }
799
  // Is XML Sitemap enable?
800
  /**
801
  * @since 3.8
802
  */
803
  function seopress_get_toggle_xml_sitemap_option() {
804
+ $seopress_get_toggle_xml_sitemap_option = get_option('seopress_toggle');
805
+ if ( ! empty($seopress_get_toggle_xml_sitemap_option)) {
806
+ foreach ($seopress_get_toggle_xml_sitemap_option as $key => $seopress_get_toggle_xml_sitemap_value) {
807
+ $options[$key] = $seopress_get_toggle_xml_sitemap_value;
808
+ }
809
+ if (isset($seopress_get_toggle_xml_sitemap_option['toggle-xml-sitemap'])) {
810
+ return $seopress_get_toggle_xml_sitemap_option['toggle-xml-sitemap'];
811
+ }
812
+ }
813
  }
814
  // Is Google Analytics enable?
815
  /**
816
  * @since 3.8
817
  */
818
  function seopress_get_toggle_google_analytics_option() {
819
+ $seopress_get_toggle_google_analytics_option = get_option('seopress_toggle');
820
+ if ( ! empty($seopress_get_toggle_google_analytics_option)) {
821
+ foreach ($seopress_get_toggle_google_analytics_option as $key => $seopress_get_toggle_google_analytics_value) {
822
+ $options[$key] = $seopress_get_toggle_google_analytics_value;
823
+ }
824
+ if (isset($seopress_get_toggle_google_analytics_option['toggle-google-analytics'])) {
825
+ return $seopress_get_toggle_google_analytics_option['toggle-google-analytics'];
826
+ }
827
+ }
828
  }
829
  // Is Advanced enable?
830
  /**
831
  * @since 3.8
832
  */
833
  function seopress_get_toggle_advanced_option() {
834
+ $seopress_get_toggle_advanced_option = get_option('seopress_toggle');
835
+ if ( ! empty($seopress_get_toggle_advanced_option)) {
836
+ foreach ($seopress_get_toggle_advanced_option as $key => $seopress_get_toggle_advanced_value) {
837
+ $options[$key] = $seopress_get_toggle_advanced_value;
838
+ }
839
+ if (isset($seopress_get_toggle_advanced_option['toggle-advanced'])) {
840
+ return $seopress_get_toggle_advanced_option['toggle-advanced'];
841
+ }
842
+ }
843
  }
844
 
845
  ///////////////////////////////////////////////////////////////////////////////////////////////////
850
  * @deprecated 4.3.0
851
  */
852
  function seopress_xml_sitemap_general_enable_option() {
853
+ if ( ! function_exists('seopress_get_service')) {
854
+ return '1';
855
+ }
856
 
857
+ return seopress_get_service('SitemapOption')->isEnabled();
858
  }
859
 
860
  /**
861
  * @deprecated 4.3.0
862
  */
863
  function seopress_xml_sitemap_post_types_list_option() {
864
+ if ( ! function_exists('seopress_get_service')) {
865
+ return '';
866
+ }
867
 
868
+ return seopress_get_service('SitemapOption')->getPostTypesList();
869
  }
870
 
871
  /**
872
  * @deprecated 4.3.0
873
  */
874
  function seopress_xml_sitemap_taxonomies_list_option() {
875
+ if ( ! function_exists('seopress_get_service')) {
876
+ return '';
877
+ }
878
 
879
+ return seopress_get_service('SitemapOption')->getTaxonomiesList();
880
  }
881
 
882
  /**
883
  * @deprecated 4.3.0
884
  */
885
  function seopress_xml_sitemap_author_enable_option() {
886
+ if ( ! function_exists('seopress_get_service')) {
887
+ return '';
888
+ }
889
 
890
+ return seopress_get_service('SitemapOption')->authorIsEnable();
891
  }
892
 
893
  /**
894
  * @deprecated 4.3.0
895
  */
896
  function seopress_xml_sitemap_img_enable_option() {
897
+ if ( ! function_exists('seopress_get_service')) {
898
+ return '';
899
+ }
900
 
901
+ return seopress_get_service('SitemapOption')->imageIsEnable();
902
  }
903
 
904
  //Rewrite Rules for XML Sitemap
905
  if ('1' == seopress_xml_sitemap_general_enable_option() && '1' == seopress_get_toggle_option('xml-sitemap')) {
906
+ function seopress_sitemaps_headers() {
907
+ if ( ! function_exists('seopress_get_service')) {
908
+ return;
909
+ }
910
+
911
+ seopress_get_service('SitemapHeaders')->printHeaders();
912
+ }
913
+
914
+ //WPML compatibility
915
+ if (defined('ICL_SITEPRESS_VERSION')) {
916
+ add_filter('request', 'seopress_wpml_block_secondary_languages');
917
+ }
918
+
919
+ function seopress_wpml_block_secondary_languages($q) {
920
+ $current_language = apply_filters('wpml_current_language', false);
921
+ $default_language = apply_filters('wpml_default_language', false);
922
+ if ($current_language !== $default_language) {
923
+ unset($q['seopress_sitemap']);
924
+ unset($q['seopress_cpt']);
925
+ unset($q['seopress_paged']);
926
+ unset($q['seopress_author']);
927
+ unset($q['seopress_sitemap_xsl']);
928
+ }
929
+
930
+ return $q;
931
+ }
932
  }
933
 
934
  function seopress_disable_qm($allcaps, $caps, $args) {
935
+ $allcaps['view_query_monitor'] = false;
936
 
937
+ return $allcaps;
938
  }
939
  ///////////////////////////////////////////////////////////////////////////////////////////////////
940
  // Remove Admin Bar with Content Analysis
941
  ///////////////////////////////////////////////////////////////////////////////////////////////////
942
  function seopress_clean_content_analysis() {
943
+ if (current_user_can('edit_posts')) {
944
+ if (isset($_GET['no_admin_bar']) && '1' === $_GET['no_admin_bar']) {
945
+ //Remove admin bar
946
+ add_filter('show_admin_bar', '__return_false');
947
+
948
+ //Disable Query Monitor
949
+ add_filter('user_has_cap', 'seopress_disable_qm', 10, 3);
950
+
951
+ //Disable wptexturize
952
+ add_filter('run_wptexturize', '__return_false');
953
+
954
+ //Oxygen compatibility
955
+ if (function_exists('ct_template_output')) { //disable for Oxygen
956
+ add_action('template_redirect', 'seopress_get_oxygen_content');
957
+ }
958
+ }
959
+ }
960
  }
961
  add_action('plugins_loaded', 'seopress_clean_content_analysis');
962
 
964
  // Test abolute URLs (return true if absolute)
965
  ///////////////////////////////////////////////////////////////////////////////////////////////////
966
  function seopress_is_absolute($url) {
967
+ $pattern = "%^(?:(?:https?|ftp)://)(?:\S+(?::\S*)?@|\d{1,3}(?:\.\d{1,3}){3}|(?:(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)(?:\.(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)*(?:\.[a-z\x{00a1}-\x{ffff}]{2,6}))(?::\d+)?(?:[^\s]*)?$%iu";
968
 
969
+ return (bool) preg_match($pattern, $url);
970
  }
971
 
972
  ///////////////////////////////////////////////////////////////////////////////////////////////////
973
  // Manage localized links
974
  ///////////////////////////////////////////////////////////////////////////////////////////////////
975
  function seopress_get_locale() {
976
+ switch (get_user_locale(get_current_user_id())) {
977
+ case 'fr_FR':
978
+ case 'fr_BE':
979
+ case 'fr_CA':
980
+ case 'fr_LU':
981
+ case 'fr_MC':
982
+ case 'fr_CH':
983
+ $locale_link = 'fr';
984
+ break;
985
+ default:
986
+ $locale_link = '';
987
+ break;
988
+ }
989
+
990
+ return $locale_link;
991
  }
992
 
993
  /**
1004
  * @author Benjamin
1005
  */
1006
  function seopress_tooltip($tooltip_title, $tooltip_desc, $tooltip_code) {
1007
+ $html =
1008
+ '<button type="button" class="sp-tooltip"><span class="dashicons dashicons-editor-help"></span>
1009
+ <span class="sp-tooltiptext" role="tooltip" tabindex="0">
1010
+ <span class="sp-tooltip-headings">' . $tooltip_title . '</span>
1011
+ <span class="sp-tooltip-desc">' . $tooltip_desc . '</span>
1012
+ <span class="sp-tooltip-code">' . $tooltip_code . '</span>
1013
+ </span></button>';
1014
+
1015
+ return $html;
1016
  }
1017
 
1018
  /**
1029
  * @author Benjamin
1030
  */
1031
  function seopress_tooltip_alt($tooltip_anchor, $tooltip_desc) {
1032
+ $html =
1033
+ '<button type="button" class="sp-tooltip alt">' . $tooltip_anchor . '
1034
+ <span class="sp-tooltiptext" role="tooltip" tabindex="0">
1035
+ <span class="sp-tooltip-desc">' . $tooltip_desc . '</span>
1036
+ </span>
1037
+ </button>';
1038
+
1039
+ return $html;
1040
  }
1041
 
1042
  /**
1051
  * @author Benjamin
1052
  */
1053
  function seopress_remove_utf8_bom($text) {
1054
+ $bom = pack('H*', 'EFBBBF');
1055
+ $text = preg_replace("/^$bom/", '', $text);
1056
 
1057
+ return $text;
1058
  }
1059
 
1060
  /**
1069
  * @author Benjamin
1070
  */
1071
  function seopress_notification($args) {
1072
+ if ( ! empty($args)) {
1073
+ $id = isset($args['id']) ? $args['id'] : null;
1074
+ $title = isset($args['title']) ? $args['title'] : null;
1075
+ $desc = isset($args['desc']) ? $args['desc'] : null;
1076
+ $impact = isset($args['impact']) ? $args['impact'] : [];
1077
+ $link = isset($args['link']) ? $args['link'] : null;
1078
+ $deleteable = isset($args['deleteable']) ? $args['deleteable'] : null;
1079
+ $icon = isset($args['icon']) ? $args['icon'] : null;
1080
+
1081
+ $class = '';
1082
+ if ( ! empty($impact)) {
1083
+ $class .= ' impact';
1084
+ $class .= ' ' . key($impact);
1085
+ }
1086
+
1087
+ if (true === $deleteable) {
1088
+ $class .= ' deleteable';
1089
+ }
1090
+
1091
+ $html = '<div id="' . $id . '-alert" class="seopress-alert">';
1092
+
1093
+ if ( ! empty($impact)) {
1094
+ $html .= '<span class="screen-reader-text">' . reset($impact) . '</span>';
1095
+ }
1096
+
1097
+ if ( ! empty($icon)) {
1098
+ $html .= '<span class="dashicons ' . $icon . '"></span>';
1099
+ } else {
1100
+ $html .= '<span class="dashicons dashicons-info"></span>';
1101
+ }
1102
+
1103
+ $html .= '<div class="notice-left">
1104
+ <p>' . $title . '</p>
1105
+ <p>' . $desc . '</p>
1106
+ ';
1107
+
1108
+ $href = '';
1109
+ if (function_exists('seopress_get_locale') && 'fr' == seopress_get_locale() && isset($link['fr'])) {
1110
+ $href = ' href="' . $link['fr'] . '"';
1111
+ } elseif (isset($link['en'])) {
1112
+ $href = ' href="' . $link['en'] . '"';
1113
+ }
1114
+
1115
+ $target = '';
1116
+ if (isset($link['external']) && true === $link['external']) {
1117
+ $target = ' target="_blank"';
1118
+ }
1119
+
1120
+ if ( ! empty($link) || true === $deleteable) {
1121
+ $html .= '<div class="notice-right">';
1122
+
1123
+ if ( ! empty($link)) {
1124
+ $html .= '<a class="button-primary"' . $href . $target . '>' . $link['title'] . '</a>';
1125
+ }
1126
+ if (true === $deleteable) {
1127
+ $html .= '<span name="notice-title-tag" id="' . $id . '" class="dashicons dashicons-no-alt remove-notice" data-notice="' . $id . '"></span>';
1128
+ }
1129
+
1130
+ $html .= '</div>';
1131
+ }
1132
+ $html .= '</div></div>';
1133
+ echo $html;
1134
+ }
1135
  }
1136
  /**
1137
  * Filter the capability to allow other roles to use the plugin.
1146
  * @return (string)
1147
  **/
1148
  function seopress_capability($cap, $context = '') {
1149
+ $newcap = apply_filters('seopress_capability', $cap, $context);
1150
+ if ( ! current_user_can($newcap)) {
1151
+ return $cap;
1152
+ }
1153
 
1154
+ return $newcap;
1155
  }
1156
 
1157
  /**
1164
  * @return (bool)
1165
  **/
1166
  function is_seopress_page() {
1167
+ if ( ! is_admin() && ( ! isset($_REQUEST['page']) || ! isset($_REQUEST['post_type']))) {
1168
+ return false;
1169
+ }
1170
+
1171
+ if (isset($_REQUEST['page'])) {
1172
+ return 0 === strpos($_REQUEST['page'], 'seopress');
1173
+ } elseif (isset($_REQUEST['post_type'])) {
1174
+ return 0 === strpos($_REQUEST['post_type'], 'seopress');
1175
+ }
1176
  }
1177
  /*
1178
  * Only add our notices on our pages
1184
  **/
1185
  add_action('in_admin_header', 'seopress_remove_other_notices');
1186
  function seopress_remove_other_notices() {
1187
+ if (is_seopress_page()) {
1188
+ remove_all_actions('network_admin_notices');
1189
+ remove_all_actions('admin_notices');
1190
+ remove_all_actions('user_admin_notices');
1191
+ remove_all_actions('all_admin_notices');
1192
+ add_action('admin_notices', 'seopress_admin_notices');
1193
+ if (is_plugin_active('wp-seopress-insights/seopress-insights.php')) {
1194
+ add_action('admin_notices', 'seopress_insights_notice');
1195
+ }
1196
+ }
1197
  }
1198
 
1199
  /**
1206
  * @return (bool)
1207
  **/
1208
  function seopress_admin_notices() {
1209
+ do_action('seopress_admin_notices');
1210
  }
1211
 
1212
  /**
1219
  * @return (bool)
1220
  **/
1221
  function seopress_get_days() {
1222
+ $start_of_week = (int) get_option('start_of_week');
1223
+
1224
+ return array_map(
1225
+ function () use ($start_of_week) {
1226
+ static $start_of_week;
1227
+
1228
+ return ucfirst(date_i18n('l', strtotime($start_of_week++ - date('w', 0) . ' day', 0)));
1229
+ },
1230
+ array_combine(
1231
+ array_merge(
1232
+ array_slice(range(0, 6), $start_of_week, 7),
1233
+ array_slice(range(0, 6), 0, $start_of_week)
1234
+ ),
1235
+ range(0, 6)
1236
+ )
1237
+ );
1238
  }
1239
 
1240
  /**
1249
  * @param mixed $key
1250
  **/
1251
  function seopress_if_key_exists(array $arr, $key) {
1252
+ // is in base array?
1253
+ if (array_key_exists($key, $arr)) {
1254
+ return true;
1255
+ }
1256
+
1257
+ // check arrays contained in this array
1258
+ foreach ($arr as $element) {
1259
+ if (is_array($element)) {
1260
+ if (seopress_if_key_exists($element, $key)) {
1261
+ return true;
1262
+ }
1263
+ }
1264
+ }
1265
+
1266
+ return false;
1267
  }
1268
 
1269
  /**
1276
  * @return null
1277
  **/
1278
  function seopress_get_oxygen_content() {
1279
+ if (is_plugin_active('oxygen/functions.php') && function_exists('ct_template_output')) {
1280
+ $seopress_get_the_content = ct_template_output();
1281
+
1282
+ if (!$seopress_get_the_content) {
1283
+ //Get post content
1284
+ $seopress_get_the_content = apply_filters('the_content', get_post_field('post_content', get_the_ID()));
1285
+ }
1286
+
1287
+ $seopress_get_the_content = normalize_whitespace(wp_strip_all_tags($seopress_get_the_content));
1288
+
1289
+ if ($seopress_get_the_content) {
1290
+ //Get Target Keywords
1291
+ if (get_post_meta(get_the_ID(), '_seopress_analysis_target_kw', true)) {
1292
+ $seopress_analysis_target_kw = array_filter(explode(',', strtolower(esc_attr(get_post_meta(get_the_ID(), '_seopress_analysis_target_kw', true)))));
1293
+
1294
+ //Keywords density
1295
+ foreach ($seopress_analysis_target_kw as $kw) {
1296
+ if (preg_match_all('#\b(' . $kw . ')\b#iu', $seopress_get_the_content, $m)) {
1297
+ $data['kws_density']['matches'][$kw][] = $m[0];
1298
+ }
1299
+ }
1300
+ }
1301
+
1302
+ //Words Counter
1303
+ $data['words_counter'] = preg_match_all("/\p{L}[\p{L}\p{Mn}\p{Pd}'\x{2019}]*/u", $seopress_get_the_content, $matches);
1304
+
1305
+ if ( ! empty($matches[0])) {
1306
+ $words_counter_unique = count(array_unique($matches[0]));
1307
+ } else {
1308
+ $words_counter_unique = '0';
1309
+ }
1310
+ $data['words_counter_unique'] = $words_counter_unique;
1311
+
1312
+ //Update analysis
1313
+ update_post_meta(get_the_ID(), '_seopress_analysis_data_oxygen', $data);
1314
+ }
1315
+ }
1316
  }
1317
 
1318
  /**
1324
  *
1325
  **/
1326
  function seopress_wizard_follow_us() {
1327
+ ?>
1328
+ <li class="seopress-wizard-additional-steps">
1329
+ <div class="seopress-wizard-next-step-description">
1330
+ <p class="next-step-heading"><?php esc_html_e('Follow us:', 'wp-seopress'); ?></p>
1331
+ </div>
1332
+ <div class="seopress-wizard-next-step-action step">
1333
+ <ul class="recommended-step">
1334
+ <li class="recommended-item">
1335
+ <a href="https://www.facebook.com/seopresspro/" target="_blank">
1336
+ <span class="dashicons dashicons-facebook"></span>
1337
+ <?php _e('Like our Facebook page', 'wp-seopress'); ?>
1338
+ </a>
1339
+ </li>
1340
+ <li class="recommended-item">
1341
+ <a href="https://www.facebook.com/groups/seopress/" target="_blank">
1342
+ <span class="dashicons dashicons-facebook"></span>
1343
+ <?php _e('Join our Facebook Community group', 'wp-seopress'); ?>
1344
+ </a>
1345
+ </li>
1346
+ <li class="recommended-item">
1347
+ <a href="https://www.youtube.com/seopress" target="_blank">
1348
+ <span class="dashicons dashicons-video-alt3"></span>
1349
+ <?php _e('Watch our guided tour videos to learn more about SEOPress', 'wp-seopress'); ?>
1350
+ </a>
1351
+ </li>
1352
+ <li class="recommended-item">
1353
+ <?php
1354
+ if (function_exists('seopress_get_locale') && 'fr' == seopress_get_locale()) {
1355
+ $link = 'https://www.seopress.org/fr/blog/category/tutoriels/?utm_source=plugin&utm_medium=wizard&utm_campaign=seopress';
1356
+ } else {
1357
+ $link = 'https://www.seopress.org/blog/how-to/?utm_source=plugin&utm_medium=wizard&utm_campaign=seopress';
1358
+ } ?>
1359
+ <a href="<?php echo $link; ?>" target="_blank">
1360
+ <span class="dashicons dashicons-format-aside"></span>
1361
+ <?php _e('Read our blog posts about SEO concepts, tutorials and more', 'wp-seopress'); ?>
1362
+ </a>
1363
+ </li>
1364
+ <li class="recommended-item">
1365
+ <a href="https://twitter.com/wp_seopress" target="_blank">
1366
+ <span class="dashicons dashicons-twitter"></span>
1367
+ <?php _e('Follow us on Twitter', 'wp-seopress'); ?>
1368
+ </a>
1369
+ </li>
1370
+ <li class="recommended-item">
1371
+ <a href="https://www.instagram.com/wp_seopress/" target="_blank">
1372
+ <span class="dashicons dashicons-instagram"></span>
1373
+ <?php _e('The off side of SEOPress', 'wp-seopress'); ?>
1374
+ </a>
1375
+ </li>
1376
+ </ul>
1377
+ </div>
1378
+ </li>
1379
+ <?php
1380
  }
src/Actions/Admin/ManageColumn.php CHANGED
@@ -8,7 +8,8 @@ if ( ! defined('ABSPATH')) {
8
 
9
  use SEOPress\Core\Hooks\ExecuteHooksBackend;
10
 
11
- class ManageColumn implements ExecuteHooksBackend {
 
12
  /**
13
  * @since 4.4.0
14
  */
@@ -22,38 +23,22 @@ class ManageColumn implements ExecuteHooksBackend {
22
  * @return void
23
  */
24
  public function hooks() {
25
- add_action('current_screen', [$this, 'didAddColumns']);
26
  }
27
 
28
- /**
29
- * @since 4.4.0
30
- *
31
- * @return void
32
- */
33
- public function didAddColumns() {
34
- if (1 !== did_action('current_screen')) {
35
- return;
36
- }
37
-
38
- if ( ! isset(get_current_screen()->post_type)) {
39
- return;
40
- }
41
-
42
- $postType = get_current_screen()->post_type;
43
- if (null !== seopress_titles_single_cpt_enable_option($postType) || empty($postType)) {
44
- return;
45
- }
46
  $listPostTypes = seopress_get_service('WordPressData')->getPostTypes();
47
 
48
- if ( ! array_key_exists($postType, $listPostTypes)) {
49
  return;
50
  }
51
 
52
- add_filter('manage_' . $postType . '_posts_columns', [$this, 'addColumn']);
53
- add_action('manage_' . $postType . '_posts_custom_column', [$this, 'displayColumn'], 10, 2);
54
- if (is_plugin_active('easy-digital-downloads/easy-digital-downloads.php')) {
55
- add_filter('manage_edit-' . $postType . '_columns', [$this, 'addColumn']);
56
  }
 
 
57
  }
58
 
59
  public function addColumn($columns) {
8
 
9
  use SEOPress\Core\Hooks\ExecuteHooksBackend;
10
 
11
+ class ManageColumn implements ExecuteHooksBackend
12
+ {
13
  /**
14
  * @since 4.4.0
15
  */
23
  * @return void
24
  */
25
  public function hooks() {
26
+ add_action('init', [$this, 'setup']);
27
  }
28
 
29
+ public function setup() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  $listPostTypes = seopress_get_service('WordPressData')->getPostTypes();
31
 
32
+ if (empty($listPostTypes)) {
33
  return;
34
  }
35
 
36
+ foreach ($listPostTypes as $key => $value) {
37
+ add_filter('manage_' . $key . '_posts_columns', [$this, 'addColumn']);
38
+ add_action('manage_' . $key . '_posts_custom_column', [$this, 'displayColumn'], 10, 2);
 
39
  }
40
+
41
+ add_filter('manage_edit-download_columns', [$this, 'addColumn'], 10, 2);
42
  }
43
 
44
  public function addColumn($columns) {
src/Services/ContentAnalysis/GetContent.php CHANGED
@@ -181,7 +181,7 @@ class GetContent {
181
 
182
  foreach ($target_kws_h1 as $key => $value) {
183
  foreach ($value as $_key => $_value) {
184
- $kw_count = count($value);
185
  }
186
  $kw_name = $key;
187
  $desc .= '<li><span class="dashicons dashicons-minus"></span>' . sprintf(esc_html__('%s was found %d times.', 'wp-seopress'), $kw_name, $kw_count) . '</li>';
@@ -220,7 +220,7 @@ class GetContent {
220
  $target_kws_h2 = $data['h2']['matches'];
221
  foreach ($target_kws_h2 as $key => $value) {
222
  foreach ($value as $_key => $_value) {
223
- $kw_count = count($value);
224
  }
225
  $kw_name = $key;
226
  $desc .= '<li><span class="dashicons dashicons-minus"></span>' . sprintf(esc_html__('%s was found %d times.', 'wp-seopress'), $kw_name, $kw_count) . '</li>';
@@ -241,7 +241,7 @@ class GetContent {
241
  $target_kws_h3 = $data['h3']['matches'];
242
  foreach ($target_kws_h3 as $key => $value) {
243
  foreach ($value as $_key => $_value) {
244
- $kw_count = count($value);
245
  }
246
  $kw_name = $key;
247
  $desc .= '<li><span class="dashicons dashicons-minus"></span>' . sprintf(esc_html__('%s was found %d times.', 'wp-seopress'), $kw_name, $kw_count) . '</li>';
181
 
182
  foreach ($target_kws_h1 as $key => $value) {
183
  foreach ($value as $_key => $_value) {
184
+ $kw_count = count($_value);
185
  }
186
  $kw_name = $key;
187
  $desc .= '<li><span class="dashicons dashicons-minus"></span>' . sprintf(esc_html__('%s was found %d times.', 'wp-seopress'), $kw_name, $kw_count) . '</li>';
220
  $target_kws_h2 = $data['h2']['matches'];
221
  foreach ($target_kws_h2 as $key => $value) {
222
  foreach ($value as $_key => $_value) {
223
+ $kw_count = count($_value);
224
  }
225
  $kw_name = $key;
226
  $desc .= '<li><span class="dashicons dashicons-minus"></span>' . sprintf(esc_html__('%s was found %d times.', 'wp-seopress'), $kw_name, $kw_count) . '</li>';
241
  $target_kws_h3 = $data['h3']['matches'];
242
  foreach ($target_kws_h3 as $key => $value) {
243
  foreach ($value as $_key => $_value) {
244
+ $kw_count = count($_value);
245
  }
246
  $kw_name = $key;
247
  $desc .= '<li><span class="dashicons dashicons-minus"></span>' . sprintf(esc_html__('%s was found %d times.', 'wp-seopress'), $kw_name, $kw_count) . '</li>';
src/Services/WordPressData.php CHANGED
@@ -6,7 +6,8 @@ if ( ! defined('ABSPATH')) {
6
  exit;
7
  }
8
 
9
- class WordPressData {
 
10
  public function getPostTypes() {
11
  global $wp_post_types;
12
 
6
  exit;
7
  }
8
 
9
+ class WordPressData
10
+ {
11
  public function getPostTypes() {
12
  global $wp_post_types;
13
 
src/Tags/PostTitle.php CHANGED
@@ -22,7 +22,9 @@ class PostTitle implements GetTagValue {
22
  if (
23
  (isset($context['is_home']) || isset($context['is_single']))
24
  && isset($context['post']) && $context['post']) {
25
- $value = esc_attr(strip_tags(get_post_field('post_title', $context['post']->ID)));
 
 
26
  }
27
 
28
  return apply_filters('seopress_get_tag_post_title_value', $value, $context);
22
  if (
23
  (isset($context['is_home']) || isset($context['is_single']))
24
  && isset($context['post']) && $context['post']) {
25
+ $value = get_post_field('post_title', $context['post']->ID);
26
+ $value = str_replace('<br>', ' ', $value);
27
+ $value = esc_attr(strip_tags($value));
28
  }
29
 
30
  return apply_filters('seopress_get_tag_post_title_value', $value, $context);
vendor/composer/InstalledVersions.php CHANGED
@@ -29,7 +29,7 @@ private static $installed = array (
29
  'aliases' =>
30
  array (
31
  ),
32
- 'reference' => 'c5a0e845031b44c1d5f1a3bb29e943c2d836d2b9',
33
  'name' => 'wp-seopress/wp-seopress',
34
  ),
35
  'versions' =>
@@ -41,7 +41,7 @@ private static $installed = array (
41
  'aliases' =>
42
  array (
43
  ),
44
- 'reference' => 'c5a0e845031b44c1d5f1a3bb29e943c2d836d2b9',
45
  ),
46
  ),
47
  );
29
  'aliases' =>
30
  array (
31
  ),
32
+ 'reference' => '660df399ebce8d2047aebbbc9d065227a34fba3e',
33
  'name' => 'wp-seopress/wp-seopress',
34
  ),
35
  'versions' =>
41
  'aliases' =>
42
  array (
43
  ),
44
+ 'reference' => '660df399ebce8d2047aebbbc9d065227a34fba3e',
45
  ),
46
  ),
47
  );
vendor/composer/installed.php CHANGED
@@ -6,7 +6,7 @@
6
  'aliases' =>
7
  array (
8
  ),
9
- 'reference' => 'c5a0e845031b44c1d5f1a3bb29e943c2d836d2b9',
10
  'name' => 'wp-seopress/wp-seopress',
11
  ),
12
  'versions' =>
@@ -18,7 +18,7 @@
18
  'aliases' =>
19
  array (
20
  ),
21
- 'reference' => 'c5a0e845031b44c1d5f1a3bb29e943c2d836d2b9',
22
  ),
23
  ),
24
  );
6
  'aliases' =>
7
  array (
8
  ),
9
+ 'reference' => '660df399ebce8d2047aebbbc9d065227a34fba3e',
10
  'name' => 'wp-seopress/wp-seopress',
11
  ),
12
  'versions' =>
18
  'aliases' =>
19
  array (
20
  ),
21
+ 'reference' => '660df399ebce8d2047aebbbc9d065227a34fba3e',
22
  ),
23
  ),
24
  );