SEOPress - Version 5.2

Version Description

Read the blog post update = * NEW Universal SEO metabox now with schemas * NEW Performance improvement and code factorization * NEW Import CSV metadata now supports comma and semi-colon as delimiter * NEW Breadcrumbs: add new options to translate "Page" and "Attachments" from SEO, PRO, Breadcrumbs * NEW Add "nofollow noopener noreferrer" rel attributes to the comments form link (SEO, Advanced, Advanced tab) * NEW %%archive_date_month_name%% dynamic variable in meta to output month name in archive page * NEW 'seopress_get_tag_site_url_value' hook to filter site_url tag in meta / schema (https://www.seopress.org/support/hooks/filter-site_url-tag/) * NEW 'seopress_sitemaps_html_cpt_name' hook to filter custom post type name in HTML sitemap (https://www.seopress.org/support/hooks/filter-custom-post-type-name-in-html-sitemap/) * NEW 'seopress_rss_dyn_vars' and 'seopress_rss_dyn_vars_value' hooks to filter dynamic variables in RSS feeds (https://www.seopress.org/support/hooks/add-your-custom-global-dynamic-variables-for-rss-feeds/) * INFO Display Blog page for date archive in Breadcrumbs * INFO Add new HTML class to wrap post and product categories in HTML sitemap * INFO Remove author meta in source code * INFO Remove WooCommerce products with visibility "hidden" from XML sitemaps * INFO Update updater * INFO Author URL missing for automatic schemas * INFO Check user capabilities before displaying automatic redirection suggestions notices * INFO Add image field for HowToStep (How-to schema) * INFO Remove Action Scheduler * FIX Remove /product-category/ with paginated archive pages (flush your permalinks if you're using this option) * FIX RSS feeds: display content before / after each post (excerpt of full text) * FIX Wrong quick tags for global meta description template * FIX Export Redirections to CSV file * FIX Missing tooltips from SEO universal metabox * FIX Green circle of the SEO score in the list of posts * FIX JS Arrow state for each analysis * FIX Warning Opening Hours (Local Business schema) * FIX Warning in Schemas post type list if a taxonomy no longer exists * FIX Page Speed full report button link * FIX WPML / Polylang config XML file * FIX White label for SEO dashboard and Wizard * FIX CSS conflicts with default WP theme for Universal SEO metabox * FIX Trying to get property 'name' / 'term_id' of non-object in HTML sitemap * FIX Uncaught TypeError: array_sum() in /wp-seopress-pro/inc/admin/dashboard-google-analytics.php:224 * FIX Warning: Undefined array key "ui_theme" /inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php on line 37 * FIX WPML: Fatal error when adding 'og:locale:alternate' link to non-existent post (thanks @vdwijngaert for reporting this) * FIX Redirections: Filter by Count

Download this release

Release Info

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

Code changes from version 5.1 to 5.2

assets/css/seopress.css CHANGED
@@ -1084,7 +1084,10 @@ table.fixed thead .column-seopress_noindex {
1084
  right: 10px;
1085
  top: calc(50% - 7px);
1086
  }
1087
- #seopress_content_analysis .gr-analysis-title button.open .seopress-arrow::after {
 
 
 
1088
  content: "\f347";
1089
  }
1090
  #seopress_content_analysis .gr-analysis-content {
@@ -2030,6 +2033,11 @@ body #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active {
2030
  margin: 15px 0 30px 0;
2031
  width: auto;
2032
  }
 
 
 
 
 
2033
  .seopress-notice pre {
2034
  background: #fff;
2035
  }
1084
  right: 10px;
1085
  top: calc(50% - 7px);
1086
  }
1087
+ #seopress_content_analysis
1088
+ .gr-analysis-title
1089
+ button.open
1090
+ .seopress-arrow::after {
1091
  content: "\f347";
1092
  }
1093
  #seopress_content_analysis .gr-analysis-content {
2033
  margin: 15px 0 30px 0;
2034
  width: auto;
2035
  }
2036
+
2037
+ .seopress-hidden {
2038
+ display: none;
2039
+ }
2040
+
2041
  .seopress-notice pre {
2042
  background: #fff;
2043
  }
assets/css/seopress.min.css CHANGED
@@ -1 +1 @@
1
- #seopress_content_analysis *,#seopress_cpt *,#seopress_pro_cpt *,.seopress-option *,.seopress-styles *{box-sizing:border-box}@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}#adminmenu div.wp-menu-image.dashicons-admin-seopress::before{content:"\e800";font-family:seopress;font-weight:700;font-size:12px;line-height:20px}#seopress_content_analysis,#seopress_cpt,#seopress_pro_cpt,#wpadminbar,.column-seopress_score,.post-type-seopress_404 #wpcontent,.post-type-seopress_schemas #wpcontent,.seopress-option #wpcontent,.seopress-styles #wpcontent,.seopress-ui-datepicker{--primaryColor:#007cba;--paragraphColor:#757575;--fontSize:13px;--fontFamily:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--color:#757575;--colorDark:#1e1e1e;--colorAlert:#a00;--colorWarning:#ffba00;--colorSuccess:#4ab866;--colorLowAlert:#e39f48;--colorPre:#37864b;--colorIcon:#d7dade;--lineHeight:24px;--titleColor:#3c434a;--titleFontSize:20px;--titleFontWeight:normal;--titleMargin:10px 0;--backgroundPrimary:#007cba;--backgroundPrimaryHover:#006ba1;--backgroundSecondaryHover:#f0f0f0;--borderColor:#a7aaad;--borderColorLight:#dcdcde;--borderColorLight40:rgba(220, 220, 222, 0.4);--borderColorCard:#e2e4e7;--borderColorTab:#c3c4c7}.seopress-option .text-center,.seopress-styles .text-center{text-align:center}.post-type-seopress_404 .btn,.post-type-seopress_schemas .btn,.seopress-option .btn,.seopress-styles .btn{display:inline-flex;text-decoration:none;font-size:var(--fontSize);margin:0;border:0;cursor:pointer;-webkit-appearance:none;background:0 0;transition:box-shadow .1s linear;height:36px;align-items:center;padding:6px 12px;border-radius:2px;vertical-align:middle;color:var(--colorDark);white-space:nowrap;outline:1px solid transparent}.post-type-seopress_404 .btnPrimary,.post-type-seopress_schemas .btnPrimary,.seopress-option .btnPrimary,.seopress-styles .btnPrimary{background:var(--primaryColor);color:#fff;text-decoration:none}.post-type-seopress_404 .btnPrimary:hover,.post-type-seopress_schemas .btnPrimary:hover,.seopress-option .btnPrimary:hover,.seopress-styles .btnPrimary:hover{background:var(--backgroundPrimaryHover);color:#fff}.post-type-seopress_404 .btnSecondary,.post-type-seopress_schemas .btnSecondary,.seopress-option .btnSecondary,.seopress-styles .btnSecondary{box-shadow:inset 0 0 0 1px var(--primaryColor);color:var(--primaryColor);background:0 0}.post-type-seopress_404 .btnTertiary,.post-type-seopress_schemas .btnTertiary,.seopress-option .btnTertiary,.seopress-styles .btnTertiary{color:var(--primaryColor);background:0 0}.post-type-seopress_404 .btnTertiary:hover,.post-type-seopress_schemas .btnTertiary:hover,.seopress-option .btnTertiary:hover,.seopress-styles .btnTertiary:hover{box-shadow:inset 0 0 0 1px var(--primaryColor)}.seopress-option hr,.seopress-styles hr{align-self:center;flex-grow:1;height:1px;margin:0 10px}#seopress-tabs.wrap .list-none{list-style:none;padding-left:0}.seopress-option .dashicons,.seopress-page-list .dashicons{vertical-align:middle;margin-right:5px;text-decoration:none}#seopress-news-panel .seopress-item-inner .dashicons{vertical-align:top}.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;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}body .seopress-option h2{color:var(--titleColor);font-size:20px;line-height:24px;font-weight:400}body .seopress-option h3{color:var(--titleColor);font-size:16px;line-height:20px}#seopress_content_analysis input[type=text],#seopress_content_analysis textarea,#seopress_cpt input[type=text],#seopress_cpt textarea,#seopress_pro_cpt input[type=text],#seopress_pro_cpt textarea{width:100%;display:inline-block}#seopress_cpt #tabs-6 input[type=number]{min-width:200px}#seopress_cpt #tabs-6 #wrap-videos .video:first-child .remove-video{display:none}#seopress_content_analysis label,#seopress_cpt label,#seopress_pro_cpt label{margin-bottom:8px;display:inline-block;width:100%}#seopress_cpt #tabs-6{padding:0}body .seopress-option input[type=password],body .seopress-option input[type=text],body .seopress-option select,body .seopress-option textarea{max-width:35rem;border:1px solid var(--borderColor);box-shadow:0 2px 6px rgb(0 0 0 / 5%);width:100%}body .seopress-option select{min-height:50px}.wrap-opening-hours select{width:inherit}body .seopress-option input[type=number],body .seopress-option input[type=password],body .seopress-option input[type=text]{line-height:46px}body .seopress-option input[type=number]:hover,body .seopress-option input[type=password]:hover,body .seopress-option input[type=text]:hover,body .seopress-option select:hover,body .seopress-option textarea:hover{border-color:#787c82}body .seopress-option input[type=number]:active,body .seopress-option input[type=number]:focus,body .seopress-option input[type=password]:active,body .seopress-option input[type=password]:focus,body .seopress-option input[type=text]:active,body .seopress-option input[type=text]:focus,body .seopress-option select:active,body .seopress-option select:focus,body .seopress-option textarea:active,body .seopress-option textarea:focus{box-shadow:0 0 0 2px var(--primaryColor);border-color:transparent}@media only screen and (max-width:1024px){body .seopress-option input[type=number],body .seopress-option input[type=password],body .seopress-option input[type=text],body .seopress-option textarea{min-width:inherit;width:100%}}#seopress_content_analysis input[type=checkbox],#seopress_cpt input[type=checkbox],#seopress_pro_cpt input[type=checkbox],body .seopress-option input[type=checkbox]{font-family:var(--fontFamily);padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid var(--color);font-size:16px;line-height:normal;border:1px solid var(--colorDark);margin-right:12px;transition:none;border-radius:2px;background:#fff;color:var(--colorDark);clear:none;cursor:pointer;display:inline-block;line-height:0;margin:-1px 4px 0 0!important;outline:0;padding:0!important;text-align:center;vertical-align:top;width:20px;height:20px;-webkit-appearance:none;appearance:none;transition:.1s border-color ease-in-out}#seopress_content_analysis input[type=checkbox]:checked::before,#seopress_cpt input[type=checkbox]:checked::before,#seopress_pro_cpt input[type=checkbox]:checked::before,body .seopress-option input[type=checkbox]:checked::before{content:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");background:var(--primaryColor);margin:-1px;width:20px;height:20px}#seopress_content_analysis input[type=checkbox]:active,#seopress_content_analysis input[type=checkbox]:focus,#seopress_cpt input[type=checkbox]:active,#seopress_cpt input[type=checkbox]:focus,#seopress_pro_cpt input[type=checkbox]:active,#seopress_pro_cpt input[type=checkbox]:focus,body .seopress-option input[type=checkbox]:active,body .seopress-option input[type=checkbox]:focus{box-shadow:0 0 0 2px var(--primaryColor);border-color:transparent}.field-recommended,.field-required{font-weight:700}.field-required{color:var(--colorAlert)}.field-recommended{color:var(--colorWarning)}.form-table td{padding:15px 0}.form-table td p{margin:4px 0}.form-table td p.seopress_wrap_archive_cpt{margin-bottom:15px}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}.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_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_words{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.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 #seopress-header{padding:22px 120px 22px 40px;height:60px;margin:0 auto;width:calc(100% - 160px);background:#fff;position:fixed;top:32px;z-index:110;display:flex;justify-content:space-between;align-items:center}.folded.seopress-styles #seopress-header{width:calc(100% - 35px)}@media only screen and (max-width:782px){.seopress-styles #seopress-header{width:100%;padding:22px;top:46px;position:absolute}}#seopress-header #seopress-navbar ul{margin:0;padding:0}#seopress-header #seopress-navbar ul li{margin:0;display:inline-block;position:relative;padding:0 20px 0 0;font-weight:700}#seopress-header #seopress-navbar ul li::after{content:"/";color:var(--paragraphColor);position:absolute;display:block;top:0;left:calc(100% - 10px)}#seopress-header #seopress-navbar ul li:last-child:after{content:none}.seopress-summary-items{display:flex;flex-wrap:wrap}.seopress-summary-item{display:flex;flex-direction:column;height:100%;padding:20px;border-bottom:1px solid var(--borderColorLight40);border-right:1px solid var(--borderColorLight40);line-height:1.4em;text-decoration:none;width:50%;color:var(--colorDark)}.seopress-summary-item-label{display:block;margin-bottom:16px;color:var(--color);font-size:14px;line-height:20px}.seopress-summary-item-data{margin-bottom:4px;font-weight:500;color:var(--colorDark);font-size:20px;line-height:28px}.seopress-tab.inside{padding:20px}#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-admin-tabs.wrap{background:#fff;display:block;width:64rem;max-width:100%;margin:0 auto}@media only screen and (max-width:1024px){#seopress-admin-tabs.wrap{width:100%}}#seopress-admin-tabs .seopress-tab{width:100%;display:none}#seopress-admin-tabs .seopress-tab.active{visibility:visible;overflow:inherit;opacity:1;transform:translateX(0);display:inherit;position:relative}.seopress-dashboard-columns{display:flex;max-width:64rem;margin:0 auto;justify-content:space-between;flex-direction:row}.seopress-dashboard-column{align-self:flex-start;width:calc(50% - 12px);margin:0}@media only screen and (max-width:782px){.seopress-dashboard-columns{max-width:100%;flex-direction:column}.seopress-dashboard-column{width:100%}}#seopress-admin-tabs .ui-tabs-nav,.seopress-get-started{margin:0 auto 20px;max-width:64rem;padding:2rem;width:100%;border-radius:0 0 4px 4px}.seopress-get-started{background:#fff url(img/bg-hero-started.svg) no-repeat 100% 50%/contain;position:relative}.seopress-get-started .inside{padding:2rem}.seopress-get-started .preheader{text-transform:uppercase;font-size:11px;font-weight:600;color:var(--paragraphColor)}.seopress-activity-panel-tabs{height:60px;display:flex;align-items:center}.seopress-activity-panel-tabs .btn{display:flex;flex-direction:column;justify-content:center;color:var(--color);height:60px;padding:10px 26px;border-bottom:3px solid transparent}.seopress-activity-panel-tabs .btn:hover{background:var(--backgroundSecondaryHover)}.seopress-activity-panel-tabs .btn.is-active{border-bottom:3px solid var(--backgroundPrimary);color:var(--colorDark)}.seopress-activity-panel-wrapper{height:calc(100vh - 92px);top:92px;background:var(--backgroundSecondaryHover);width:510px;transform:translateX(100%);transition-duration:.3s;transition-timing-function:ease-in-out;position:fixed;right:0;z-index:1000;overflow-x:hidden;overflow-y:auto}@media only screen and (max-width:782px){.seopress-activity-panel-wrapper{top:106px}}.seopress-activity-panel-wrapper.is-open{transform:none;box-shadow:0 12px 12px 0 rgb(85 93 102 / 30%)}.seopress-activity-panel-header{background:#e0e0e0;padding:16px 24px}.seopress-activity-panel-content{background:#fff;padding:16px 24px}.seopress-list-items,.seopress-list-items .seopress-item{margin:0}.seopress-list-items .seopress-item{border-bottom:1px solid var(--borderColorLight40)}.seopress-list-items .seopress-item:last-child{border-bottom:none}.seopress-list-items .seopress-item .seopress-item-inner{color:var(--primaryColor);text-decoration:none;padding:15px 20px;background:#fff;font-size:var(--fontSize);font-weight:700;width:100%}.seopress-option .has-action{display:flex;align-items:center}.seopress-list-items .seopress-item .seopress-item-inner:hover{background:var(--backgroundSecondaryHover)}.seopress-list-items .seopress-item-after,.seopress-list-items .seopress-item-before{margin:0 20px 0 10px;position:relative}.seopress-list-items .seopress-item-after::after,.seopress-list-items .seopress-item-before::before{content:"\f330";font-family:Dashicons;vertical-align:middle;font-size:20px;font-weight:400}.seopress-list-items .seopress-item-after{margin-left:auto;padding-left:20px;margin-right:0}.seopress-list-items .seopress-item-after::after{content:"\f345"}.seopress-list-items .seopress-item .seopress-item-title{margin:5px 0;color:var(--primaryColor)}.seopress-list-items .seopress-item .seopress-item-date{color:var(--paragraphColor);font-weight:400;margin:0}.seopress-list-items .seopress-item .seopress-item-content{color:var(--colorDark);font-weight:400;margin:0}.seopress-list-items .seopress-item .seopress-item-inner.check{position:relative}.seopress-list-items .seopress-item .seopress-item-inner.check::before{content:"";width:32px;height:32px;font-size:24px;vertical-align:middle;border-radius:50px;color:#fff;margin-right:10px;display:inline-block;border:1px solid var(--borderColorLight);line-height:32px;text-align:center}.seopress-list-items .seopress-item .seopress-item-inner.done::before{background:var(--backgroundPrimary);border:none;content:"\f15e";font-family:Dashicons}.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:var(--colorDark)}.sp-tooltip .sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;width:350px;right:-310px;padding:20px;top:25px;font-weight:400;box-shadow:0 3px 30px rgb(25 30 35 / 10%);border:1px solid var(--borderColorLight40);background:#fff;word-break:break-word;text-transform:none}.sp-tooltip .sp-tooltiptext::before{border:8px solid var(--borderColorLight40);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 var(--borderColorLight40);padding-bottom:20px;font-size:var(--fontSize);line-height:1.5}.sp-tooltip .sp-tooltip-code{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;display:block;word-break:break-all;color:var(--colorPre);font-size:11px}.analysis-score .sp-tooltip{vertical-align:middle;font-size:.75em}#seopress_content_analysis .wrap-insights-post .sp-tooltip *{font-weight:400}#seopress_content_analysis .wrap-insights-post .sp-tooltip-headings{font-weight:700}#seopress_content_analysis a{color:var(--backgroundPrimary)}#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;position:relative;left:-5px}#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 var(--borderColorCard);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:var(--colorSuccess)}#seopress_content_analysis .analysis-score .notgood #bar,.column-seopress_score .analysis-score #bar.notgood{stroke-dashoffset:565;stroke:var(--colorWarning)}#seopress_content_analysis .analysis-score svg circle,#tab_seopress_page_speed .ps-score svg circle,#tab_seopress_ps .ps-score svg circle,.column-seopress_score .analysis-score svg circle{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;stroke:#ccc;stroke-width:2em}#tab_seopress_page_speed .ps-score,#tab_seopress_ps .ps-score{position:relative;display:inline-block}#tab_seopress_page_speed .ps-score svg,#tab_seopress_ps .ps-score svg{width:60px;height:60px}#tab_seopress_page_speed .ps-score svg circle,#tab_seopress_ps .ps-score svg circle{stroke-width:1em}#tab_seopress_page_speed .ps-score span,#tab_seopress_ps .ps-score span{font-weight:700;left:0;position:absolute;top:0;width:60px;height:60px;align-items:center;display:flex;justify-content:center;margin:0}#tab_seopress_page_speed .ps-score.green #bar,#tab_seopress_ps .ps-score.green #bar{stroke:var(--colorSuccess)}#tab_seopress_page_speed .ps-score.yellow #bar,#tab_seopress_ps .ps-score.yellow #bar{stroke:var(--colorWarning)}#tab_seopress_page_speed .ps-score.red #bar,#tab_seopress_ps .ps-score.red #bar{stroke:var(--colorAlert)}#seopress_content_analysis .gr-analysis{clear:both}#seopress_content_analysis .gr-analysis-title{border-top:1px solid var(--borderColorCard);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:var(--colorSuccess);box-shadow:0 0 5px var(--colorSuccess)}#seopress_content_analysis .gr-analysis .impact.low{background:var(--colorWarning);box-shadow:0 0 5px var(--colorWarning)}#seopress_content_analysis .gr-analysis .impact.medium{background:var(--colorLowAlert);box-shadow:0 0 5px var(--colorLowAlert)}#seopress_content_analysis .gr-analysis .impact.high,#seopress_cpt .impact.high{background:var(--colorAlert);box-shadow:0 0 5px var(--colorAlert)}#seopress_content_analysis .gr-analysis-content .impact.high{background:var(--colorAlert);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_pro_cpt .description,.seopress-option .description{display:block;font-size:12px;color:var(--color)}@media only screen and (max-width:782px){#seopress_content_analysis .description,#seopress_cpt .description,#seopress_pro_cpt .description,.seopress-option .description{word-break:break-word}}#seopress_content_analysis input~span.description,#seopress_content_analysis span.description~input,#seopress_cpt input~span.description,#seopress_cpt span.description~input,#seopress_pro_cpt input~span.description,#seopress_pro_cpt span.description~input{margin-top:5px}#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 .seopress-arrow::after{content:"\f343";font-family:Dashicons;position:absolute;right:10px;top:calc(50% - 7px)}#seopress_content_analysis .gr-analysis-title button.open .seopress-arrow::after{content:"\f347"}#seopress_content_analysis .gr-analysis-content{padding:0 1rem .5rem 1rem;display:none;width:100%;border-top:1px solid var(--borderColorCard)}#seopress_content_analysis h3{margin:0;font-size:1em}#seopress_content_analysis h4{border-bottom:1px solid var(--borderColorCard);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 var(--borderColorLight);padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul li img{max-width:150px;max-height:150px;object-fit:cover;border:1px solid var(--borderColorLight);cursor:default;padding:1px}#seopress-analysis-tabs .dashicons,#seopress_cpt .dashicons{vertical-align:middle}#seopress-analysis-tabs{clear:both}#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:var(--colorSuccess);border-radius:50px;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_pro_cpt .dashicons-no-alt{background:var(--colorAlert)}#seopress_content_analysis .description-alt,#seopress_cpt .description-alt{padding:1em 0;border-top:1px solid var(--borderColorLight);border-bottom:1px solid var(--borderColorLight);display:flex}#seopress_cpt .desc-fb{margin-top:0;border-top:none}#seopress_content_analysis .description-alt svg,#seopress_cpt .description-alt svg{vertical-align:middle;align-self:center;fill:#f0b849;flex-shrink:0;margin-right:16px}#seopress_cpt .notice{padding:10px 14px;margin:0}#seopress_cpt .inside{margin:0;padding:0}#seopress_cpt .ui-tabs .ui-tabs-nav{display:flex;position:relative;width:100%;z-index:10;margin:0;border-radius:0;padding:0;align-items:center;padding:0;height:48px;border-bottom:1px solid #ddd;background:inherit;line-height:inherit;color:inherit;border-top:none;border-left:none;border-right:none}#seopress_cpt .ui-tabs .sp-section{font-weight:700;font-size:var(--fontSize)}#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%}#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}body #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{position:relative;z-index:60;cursor:pointer;border-radius:0;border-bottom:4px solid var(--backgroundPrimary)!important}#seopress_cpt .wp-color-result{margin: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 var(--borderColorLight)}#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 var(--borderColorLight)}#seopress_content_analysis .mandatory,#seopress_cpt .mandatory{color:var(--colorAlert)}#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}#term-seopress #seopress_cpt{width:95%}#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;position:relative;padding:0;white-space:nowrap;margin:0;border:none;height:48px;background:0 0}#seopress_cpt .ui-tabs .ui-tabs-nav li a{display:flex;padding:3px 15px;align-items:center}#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:0;padding-bottom:0}#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{font-weight:500}#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:48px}#seopress_cpt .ui-tabs .ui-tabs-nav li a:focus,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a:focus{outline:3px solid transparent;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--backgroundPrimary),inset 0 -4px 0 0 var(--backgroundPrimary)}#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}#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;max-width:100%}#seopress_cpt .facebook-snippet-box .notice,#seopress_cpt .twitter-snippet-box .notice{padding:10px 14px;margin:0 0 10px 0;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:#f0f0f0;text-align:center;border-bottom:none}.term-php #seopress_cpt .facebook-snippet-box img,.term-php #seopress_cpt .twitter-snippet-box img{width:100%;height:auto}#seopress_cpt .twitter-snippet-box{color:#4b4f56;font-size:14px}#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:#f0f0f0;text-align:center;border-bottom:none}.wrap-toggle-preview{position:relative}.wrap-toggle-preview p{font-weight:700;margin:0 0 1rem 0}#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_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:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem .25rem 0 0;margin:-15px 0 0 0}#seopress_cpt .sp-progress-bar,#seopress_pro_cpt .sp-progress-bar,.seopress-setup .sp-progress-bar,.seopress-styles .sp-progress-bar{display:flex;flex-direction:column;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}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}.seopress-styles .seopress-option{margin:85px 40px 40px}@media only screen and (max-width:782px){.seopress-styles .seopress-option{margin:85px 22px 22px}}.seopress-styles .seopress-option h1{font-size:var(--titleFontSize);color:var(--titleColor);font-weight:var(--titleFontWeight);margin:var(--titleMargin);display:flex;justify-content:space-between}.seopress_wrap_archive_cpt,.seopress_wrap_single_cpt,.seopress_wrap_single_tax,.seopress_wrap_tax{margin:0 0 20px 0}#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}.seopress-styles .seopress-option .link-archive{font-size:var(--fontSize)}.seopress-styles .seopress-option .link-archive .dashicons{font-size:18px;width:20px;height:20px;margin:inherit}.seopress-option h1 .feature-state .dashicons{font-size:16px;width:16px;height:16px;vertical-align:middle;margin:0 10px 0 0}.seopress-styles .seopress-option .submit{padding:20px 0 20px 0;left:0;margin:0;position:sticky;bottom:0;z-index:100;display:inline-block}@media only screen and (max-width:782px){.seopress-styles .seopress-option .submit{position:relative}}.seopress-styles .seopress-option .seopress-tab .submit{display:block;position:relative}.seopress-styles #wpcontent{padding-left:0}.seopress-styles pre{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;padding:10px;display:inline-block;background-color:var(--backgroundSecondaryHover);border-radius:3px;color:var(--colorDark);font-size:var(--fontSize)}.seopress-option .seopress-settings{float:left;max-width:750px;width:100%}.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}#seopress-tabs .seopress-tab{padding:10px 1.5rem;width:100%;display:none}#seopress-tabs.full-width .seopress-tab{width:100%}@media only screen and (max-width:1024px){#seopress-tabs .seopress-tab{width:100%}}#seopress-tabs .seopress-tab.active{display:inline-block;background:#fff}@media only screen and (max-width:782px){#seopress-tabs .seopress-tab.active{width:100%;border-left:none;border-top:1px solid RGB(238,238,238)}}#seopress_htaccess_file{width:100%}.seopress-option textarea{min-height:100px}.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-inbox-title p{font-size:20px;color:var(--titleColor);margin:0}#seopress-admin-tabs .ui-tabs-nav{display:flex;padding-top:1rem;padding-bottom:0}#seopress-admin-tabs .nav-tab-wrapper a.nav-tab-active:focus{color:inherit}.seopress-intro{padding:20px}.seopress-option .seopress-table{background:#fff;border:1px solid var(--borderColorLight)}.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 var(--borderColorLight);font-weight:700;background:#f1f1f1}#seopress-content .feature-state,.seopress-option .feature-state{font-style:italic;font-size:11px;font-weight:400}@media only screen and (max-width:782px){#seopress-content .feature-state,.seopress-option .feature-state{display:none}}.seopress-option #tab_seopress_titles_archives h3,.seopress-option #tab_seopress_titles_single h3,.seopress-option #tab_seopress_titles_tax h3{margin:2em 0 1em 0;border-top:1px solid var(--borderColorLight);padding:1em 0 0 0}.seopress-option #tab_seopress_titles_archives h3:first-child,.seopress-option #tab_seopress_titles_single h3:first-child,.seopress-option #tab_seopress_titles_tax h3:first-child{margin:0 0 1em 0}.seopress-option #tab_seopress_titles_archives h3 div,.seopress-option #tab_seopress_titles_single h3 div,.seopress-option #tab_seopress_titles_tax h3 div{display:inline}#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{display:none;font-weight:700}.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 #seopress_titles_title_meta{margin-bottom:.2rem}.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 .section-tool:last-child{margin-bottom:0}.seopress-option .section-tool:last-child::after{content:none}.seopress-option .section-tool .inside{padding-left:0;padding-right:0}.seopress-option .sp-section-header{width:100%;display:flex;position:relative;align-items:center}.seopress-option .sp-section-header h2{font-size:1.5em}.seopress-option .sp-section-header>.dashicons{color:var(--primaryColor);padding:10px;border-radius:6px;margin-right:10px;background:#c4f0ff}.seopress-option .sp-section-header .wrap-toggle-checkboxes{display:flex}.seopress-notice{margin:5px 0 35px 15px;position:relative;top:75px;left:25px;background:rgb(0 124 186 / 10%);border-left:4px solid var(--primaryColor);padding:8px 12px;width:calc(100% - 108px);z-index:10}#seopress-tabs .seopress-notice,#seopress_pro_cpt .seopress-notice,.seopress-setup .seopress-notice{top:inherit;left:inherit;margin:15px 0 30px 0;width:auto}.seopress-notice pre{background:#fff}.seopress-notice.is-success{border-left-color:var(--colorSuccess);background:#eff9f1}.seopress-notice.is-warning{border-left-color:#f0b849;background:#fef8ee}.seopress-notice.is-error{border-left-color:#cc1818;background:rgb(244 162 162 / 30%)}#seopress-tabs.wrap{margin:30px 0 0 0}#seopress-notifications-center .seopress-alert ul,#seopress-tabs.wrap ul{list-style:square inside;padding-left:5px;display:inline-block;max-width:35rem;width:100%}.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}.seopress-BlankState{max-width:764px;text-align:center;margin:auto}.seopress-BlankState .seopress-BlankState-message{color:var(--titleColor);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:var(--colorSuccess)}#seopress_content_analysis .down,#seopress_content_analysis .down .dashicons{color:var(--colorAlert)}#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 var(--borderColorCard);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}.wrap-user-roles{display:grid;grid-template-columns:repeat(4,1fr)}@media only screen and (max-width:782px){.wrap-user-roles{display:block}}#seopress-news-panel.is-active,#seopress-notifications-center.is-active{display:block!important}#seopress-notifications-center .seopress-alert{padding:16px 25px;position:relative;transition:all 150ms ease;justify-content:space-between;margin-bottom:20px}#seopress-notifications-center .seopress-alert:last-child{margin-bottom:0;border-bottom:none}#seopress-notifications-center .dashicons{display:flex;align-self:normal;width:30px;height:30px;color:var(--colorIcon);font-size:30px;margin:0 0 10px 0}#seopress-admin-tabs #tab_seopress_notifications.seopress-tab{background:0 0;padding:0;border-radius:0;width:100%}.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}.post-type-seopress_404 .seopress-notice,.post-type-seopress_bot .seopress-notice,.post-type-seopress_schemas .seopress-notice{left:0;top:40px;margin:0 0 50px;width:calc(100% - 48px)}.seopress-search{position:relative;padding:20px}.seopress-search::before{content:"\f179";font-family:Dashicons;position:absolute;top:35px;left:30px;font-size:20px}.seopress-search input{padding-left:40px}.seopress-item-toggle-options{position:relative;cursor:pointer;padding:5px 10px;border:1px solid var(--borderColor);border-radius:3px;transform:rotate(90deg)}.seopress-item-toggle-options::before{content:"\f11c";font-family:Dashicons;font-size:18px;vertical-align:middle}.seopress-card{background:#fff;border:1px solid var(--borderColorCard);border-radius:3px;position:relative}.seopress-option .seopress-card-actions button{margin-left:.5em}.seopress-card-title{border-bottom:1px solid var(--borderColorCard);padding:18px 24px;display:flex;justify-content:space-between;align-items:center}.seopress-card-title h2{margin:0}.seopress-cart-list{border-bottom:1px solid var(--borderColorCard);padding:18px 24px;display:flex;align-items:center;text-decoration:none;color:var(--primaryColor);font-weight:700;line-height:20px}.seopress-cart-list:last-child{border-bottom:none}.seopress-cart-list:active,.seopress-cart-list:focus,.seopress-cart-list:hover{background:var(--backgroundSecondaryHover)}body .seopress-cart-list h3{font-size:var(--fontSize);color:var(--primaryColor);font-weight:700;margin:0}.seopress-cart-list p{color:var(--titleColor);font-weight:400;margin:0;font-size:12px;line-height:20px}.seopress-card-footer{padding:10px 20px;border-top:1px solid var(--borderColorLight40)}.seopress-card-popover{display:none;background:#fff;border:1px solid var(--borderColor);padding:20px;position:absolute;top:55px;overflow-y:auto;right:28px;z-index:20}.seopress-card-popover.is-open{display:block}#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_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{position:relative;display:inline-flex;width:100%;margin:10px 0}.seopress-option .wrap-tags{flex-wrap:wrap}.seopress-option .wrap-tags button{margin-bottom:10px}@media only screen and (max-width:782px){#seopress_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{flex-wrap:wrap}}#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.wrap .sp-tag-variables-list,#seopress_cpt .sp-tag-variables-list,#seopress_pro_cpt .sp-tag-variables-list{position:absolute;left:-48px;width:300px;z-index:100;top:20px;color:var(--titleColor);height:300px;z-index:100;overflow:auto;background:#fff;border:1px solid var(--borderColorLight);box-shadow:0 2px 6px rgb(0 0 0 / 5%);border-radius:2px;list-style:none;padding:0}#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.wrap .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 var(--borderColorLight40)}#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.wrap .sp-tag-variables-list li:hover,#seopress_cpt .sp-tag-variables-list li:hover,#seopress_pro_cpt .sp-tag-variables-list li:hover{background:var(--backgroundPrimaryHover);color:#fff;border-bottom-color:#fff}#seopress-tabs.wrap .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.wrap .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;color:var(--primaryColor);vertical-align:middle}#seopress-tabs.wrap .seopress-tag-dropdown:hover .dashicons,#seopress_cpt .seopress-tag-dropdown:hover .dashicons,#seopress_cpt .tag-title:hover .dashicons,#seopress_pro_cpt .tag-title:hover .dashicons,.seopress-option .tag-title:hover .dashicons{color:#fff}#seopress-tabs.wrap .seopress-tag-dropdown .dashicons{margin:0}.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:5px 12px;font-size:10px;user-select:none;margin:0 5px 0 0;display:inline-flex;text-transform:uppercase;align-items:center;color:var(--primaryColor)}#seopress-tabs .seopress-tag-dropdown:focus,#seopress-tabs .seopress-tag-dropdown:hover,#seopress_cpt .seopress-tag-dropdown:focus,#seopress_cpt .seopress-tag-dropdown:hover,#seopress_cpt .tag-title:focus,#seopress_cpt .tag-title:hover,#seopress_pro_cpt .tag-title:focus,#seopress_pro_cpt .tag-title:hover,.seopress-option .tag-title:focus,.seopress-option .tag-title:hover{box-shadow:0 0 var(--wp-admin-border-width-focus) var(--backgroundPrimary);background:var(--backgroundPrimaryHover);color:#fff}@media only screen and (max-width:782px){#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-option .tag-title{margin-bottom:10px}}#seopress-content .seopress-useful-tools .widget-reverse li{padding:10px;margin:0;border-bottom:1px solid var(--borderColorLight)}#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}.seopress-styles #screen-meta{position:relative;top:60px}.seopress-styles #screen-meta-links .show-settings{box-shadow:none}.seopress-styles #screen-meta-links .screen-meta-toggle{position:fixed;top:32px;z-index:2000;right:40px}@media only screen and (max-width:782px){.seopress-styles #screen-meta-links .screen-meta-toggle{position:relative;top:60px}}#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}#seopress_cpt input.toggle,.seopress_wrap_single_cpt input.toggle,.seopress_wrap_tax input.toggle{margin:0;border:none;min-width:0}#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;margin:0 10px 0 0}#seopress-content input.toggle+label{margin:0;left:-20px}#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);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);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,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:before{width:40px;background:var(--backgroundPrimary)}#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 var(--backgroundPrimary),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 var(--backgroundPrimary),0 2px 4px rgba(0,0,0,.2)}#seopress-content .seopress-page-list{position:relative;display:block;max-width:64rem}@media only screen and (max-width:782px){#seopress-content .seopress-page-list{grid-template-columns:repeat(1,1fr)}}.seopress-styles .wrap{margin: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-option .wrap div.nav-tab-wrapper{margin:0;padding:0;line-height:inherit;width:15%;z-index:10;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 0 20px 0;padding:0}}#seopress-admin-tabs.wrap div.nav-tab-wrapper{background:#fff;margin:0 auto;max-width:64rem;width:100%;border-bottom:1px solid var(--borderColorCard);padding:0;line-height:inherit;position:sticky;z-index:10;top:92px;border-radius:4px 4px 0 0;font-weight:400;overflow:hidden;display:flex;align-items:center;justify-content:space-between}@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-option .nav-tab{border:0;background:0 0;opacity:.5;padding:6px 30px 6px 10px;transition:opacity .3s linear;color:var(--titleColor);margin:0;float:none;display:inline-block;width:100%;text-align:left;font-weight:400;white-space:normal}#seopress-admin-tabs .nav-tab{background:0 0;opacity:.5;padding:14px 20px;transition:opacity .3s linear;margin:0;float:none;display:inline-block;font-weight:400}#seopress-admin-tabs .nav-tab{width:100%}#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;border-left:3px solid var(--backgroundPrimary)}#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:4px solid var(--backgroundPrimary);border-left:none}#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}@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}}.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:var(--fontFamily);font-size:var(--fontSize);background-color:#32373c;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;cursor:pointer}.sp-components-snackbar .dashicons{color:#fff}
1
+ #seopress_content_analysis *,#seopress_cpt *,#seopress_pro_cpt *,.seopress-option *,.seopress-styles *{box-sizing:border-box}@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}#adminmenu div.wp-menu-image.dashicons-admin-seopress::before{content:"\e800";font-family:seopress;font-weight:700;font-size:12px;line-height:20px}#seopress_content_analysis,#seopress_cpt,#seopress_pro_cpt,#wpadminbar,.column-seopress_score,.post-type-seopress_404 #wpcontent,.post-type-seopress_schemas #wpcontent,.seopress-option #wpcontent,.seopress-styles #wpcontent,.seopress-ui-datepicker{--primaryColor:#007cba;--paragraphColor:#757575;--fontSize:13px;--fontFamily:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--color:#757575;--colorDark:#1e1e1e;--colorAlert:#a00;--colorWarning:#ffba00;--colorSuccess:#4ab866;--colorLowAlert:#e39f48;--colorPre:#37864b;--colorIcon:#d7dade;--lineHeight:24px;--titleColor:#3c434a;--titleFontSize:20px;--titleFontWeight:normal;--titleMargin:10px 0;--backgroundPrimary:#007cba;--backgroundPrimaryHover:#006ba1;--backgroundSecondaryHover:#f0f0f0;--borderColor:#a7aaad;--borderColorLight:#dcdcde;--borderColorLight40:rgba(220, 220, 222, 0.4);--borderColorCard:#e2e4e7;--borderColorTab:#c3c4c7}.seopress-option .text-center,.seopress-styles .text-center{text-align:center}.post-type-seopress_404 .btn,.post-type-seopress_schemas .btn,.seopress-option .btn,.seopress-styles .btn{display:inline-flex;text-decoration:none;font-size:var(--fontSize);margin:0;border:0;cursor:pointer;-webkit-appearance:none;background:0 0;transition:box-shadow .1s linear;height:36px;align-items:center;padding:6px 12px;border-radius:2px;vertical-align:middle;color:var(--colorDark);white-space:nowrap;outline:1px solid transparent}.post-type-seopress_404 .btnPrimary,.post-type-seopress_schemas .btnPrimary,.seopress-option .btnPrimary,.seopress-styles .btnPrimary{background:var(--primaryColor);color:#fff;text-decoration:none}.post-type-seopress_404 .btnPrimary:hover,.post-type-seopress_schemas .btnPrimary:hover,.seopress-option .btnPrimary:hover,.seopress-styles .btnPrimary:hover{background:var(--backgroundPrimaryHover);color:#fff}.post-type-seopress_404 .btnSecondary,.post-type-seopress_schemas .btnSecondary,.seopress-option .btnSecondary,.seopress-styles .btnSecondary{box-shadow:inset 0 0 0 1px var(--primaryColor);color:var(--primaryColor);background:0 0}.post-type-seopress_404 .btnTertiary,.post-type-seopress_schemas .btnTertiary,.seopress-option .btnTertiary,.seopress-styles .btnTertiary{color:var(--primaryColor);background:0 0}.post-type-seopress_404 .btnTertiary:hover,.post-type-seopress_schemas .btnTertiary:hover,.seopress-option .btnTertiary:hover,.seopress-styles .btnTertiary:hover{box-shadow:inset 0 0 0 1px var(--primaryColor)}.seopress-option hr,.seopress-styles hr{align-self:center;flex-grow:1;height:1px;margin:0 10px}#seopress-tabs.wrap .list-none{list-style:none;padding-left:0}.seopress-option .dashicons,.seopress-page-list .dashicons{vertical-align:middle;margin-right:5px;text-decoration:none}#seopress-news-panel .seopress-item-inner .dashicons{vertical-align:top}.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;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}body .seopress-option h2{color:var(--titleColor);font-size:20px;line-height:24px;font-weight:400}body .seopress-option h3{color:var(--titleColor);font-size:16px;line-height:20px}#seopress_content_analysis input[type=text],#seopress_content_analysis textarea,#seopress_cpt input[type=text],#seopress_cpt textarea,#seopress_pro_cpt input[type=text],#seopress_pro_cpt textarea{width:100%;display:inline-block}#seopress_cpt #tabs-6 input[type=number]{min-width:200px}#seopress_cpt #tabs-6 #wrap-videos .video:first-child .remove-video{display:none}#seopress_content_analysis label,#seopress_cpt label,#seopress_pro_cpt label{margin-bottom:8px;display:inline-block;width:100%}#seopress_cpt #tabs-6{padding:0}body .seopress-option input[type=password],body .seopress-option input[type=text],body .seopress-option select,body .seopress-option textarea{max-width:35rem;border:1px solid var(--borderColor);box-shadow:0 2px 6px rgb(0 0 0 / 5%);width:100%}body .seopress-option select{min-height:50px}.wrap-opening-hours select{width:inherit}body .seopress-option input[type=number],body .seopress-option input[type=password],body .seopress-option input[type=text]{line-height:46px}body .seopress-option input[type=number]:hover,body .seopress-option input[type=password]:hover,body .seopress-option input[type=text]:hover,body .seopress-option select:hover,body .seopress-option textarea:hover{border-color:#787c82}body .seopress-option input[type=number]:active,body .seopress-option input[type=number]:focus,body .seopress-option input[type=password]:active,body .seopress-option input[type=password]:focus,body .seopress-option input[type=text]:active,body .seopress-option input[type=text]:focus,body .seopress-option select:active,body .seopress-option select:focus,body .seopress-option textarea:active,body .seopress-option textarea:focus{box-shadow:0 0 0 2px var(--primaryColor);border-color:transparent}@media only screen and (max-width:1024px){body .seopress-option input[type=number],body .seopress-option input[type=password],body .seopress-option input[type=text],body .seopress-option textarea{min-width:inherit;width:100%}}#seopress_content_analysis input[type=checkbox],#seopress_cpt input[type=checkbox],#seopress_pro_cpt input[type=checkbox],body .seopress-option input[type=checkbox]{font-family:var(--fontFamily);padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid var(--color);font-size:16px;line-height:normal;border:1px solid var(--colorDark);margin-right:12px;transition:none;border-radius:2px;background:#fff;color:var(--colorDark);clear:none;cursor:pointer;display:inline-block;line-height:0;margin:-1px 4px 0 0!important;outline:0;padding:0!important;text-align:center;vertical-align:top;width:20px;height:20px;-webkit-appearance:none;appearance:none;transition:.1s border-color ease-in-out}#seopress_content_analysis input[type=checkbox]:checked::before,#seopress_cpt input[type=checkbox]:checked::before,#seopress_pro_cpt input[type=checkbox]:checked::before,body .seopress-option input[type=checkbox]:checked::before{content:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");background:var(--primaryColor);margin:-1px;width:20px;height:20px}#seopress_content_analysis input[type=checkbox]:active,#seopress_content_analysis input[type=checkbox]:focus,#seopress_cpt input[type=checkbox]:active,#seopress_cpt input[type=checkbox]:focus,#seopress_pro_cpt input[type=checkbox]:active,#seopress_pro_cpt input[type=checkbox]:focus,body .seopress-option input[type=checkbox]:active,body .seopress-option input[type=checkbox]:focus{box-shadow:0 0 0 2px var(--primaryColor);border-color:transparent}.field-recommended,.field-required{font-weight:700}.field-required{color:var(--colorAlert)}.field-recommended{color:var(--colorWarning)}.form-table td{padding:15px 0}.form-table td p{margin:4px 0}.form-table td p.seopress_wrap_archive_cpt{margin-bottom:15px}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}.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_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_words{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.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 #seopress-header{padding:22px 120px 22px 40px;height:60px;margin:0 auto;width:calc(100% - 160px);background:#fff;position:fixed;top:32px;z-index:110;display:flex;justify-content:space-between;align-items:center}.folded.seopress-styles #seopress-header{width:calc(100% - 35px)}@media only screen and (max-width:782px){.seopress-styles #seopress-header{width:100%;padding:22px;top:46px;position:absolute}}#seopress-header #seopress-navbar ul{margin:0;padding:0}#seopress-header #seopress-navbar ul li{margin:0;display:inline-block;position:relative;padding:0 20px 0 0;font-weight:700}#seopress-header #seopress-navbar ul li::after{content:"/";color:var(--paragraphColor);position:absolute;display:block;top:0;left:calc(100% - 10px)}#seopress-header #seopress-navbar ul li:last-child:after{content:none}.seopress-summary-items{display:flex;flex-wrap:wrap}.seopress-summary-item{display:flex;flex-direction:column;height:100%;padding:20px;border-bottom:1px solid var(--borderColorLight40);border-right:1px solid var(--borderColorLight40);line-height:1.4em;text-decoration:none;width:50%;color:var(--colorDark)}.seopress-summary-item-label{display:block;margin-bottom:16px;color:var(--color);font-size:14px;line-height:20px}.seopress-summary-item-data{margin-bottom:4px;font-weight:500;color:var(--colorDark);font-size:20px;line-height:28px}.seopress-tab.inside{padding:20px}#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-admin-tabs.wrap{background:#fff;display:block;width:64rem;max-width:100%;margin:0 auto}@media only screen and (max-width:1024px){#seopress-admin-tabs.wrap{width:100%}}#seopress-admin-tabs .seopress-tab{width:100%;display:none}#seopress-admin-tabs .seopress-tab.active{visibility:visible;overflow:inherit;opacity:1;transform:translateX(0);display:inherit;position:relative}.seopress-dashboard-columns{display:flex;max-width:64rem;margin:0 auto;justify-content:space-between;flex-direction:row}.seopress-dashboard-column{align-self:flex-start;width:calc(50% - 12px);margin:0}@media only screen and (max-width:782px){.seopress-dashboard-columns{max-width:100%;flex-direction:column}.seopress-dashboard-column{width:100%}}#seopress-admin-tabs .ui-tabs-nav,.seopress-get-started{margin:0 auto 20px;max-width:64rem;padding:2rem;width:100%;border-radius:0 0 4px 4px}.seopress-get-started{background:#fff url(img/bg-hero-started.svg) no-repeat 100% 50%/contain;position:relative}.seopress-get-started .inside{padding:2rem}.seopress-get-started .preheader{text-transform:uppercase;font-size:11px;font-weight:600;color:var(--paragraphColor)}.seopress-activity-panel-tabs{height:60px;display:flex;align-items:center}.seopress-activity-panel-tabs .btn{display:flex;flex-direction:column;justify-content:center;color:var(--color);height:60px;padding:10px 26px;border-bottom:3px solid transparent}.seopress-activity-panel-tabs .btn:hover{background:var(--backgroundSecondaryHover)}.seopress-activity-panel-tabs .btn.is-active{border-bottom:3px solid var(--backgroundPrimary);color:var(--colorDark)}.seopress-activity-panel-wrapper{height:calc(100vh - 92px);top:92px;background:var(--backgroundSecondaryHover);width:510px;transform:translateX(100%);transition-duration:.3s;transition-timing-function:ease-in-out;position:fixed;right:0;z-index:1000;overflow-x:hidden;overflow-y:auto}@media only screen and (max-width:782px){.seopress-activity-panel-wrapper{top:106px}}.seopress-activity-panel-wrapper.is-open{transform:none;box-shadow:0 12px 12px 0 rgb(85 93 102 / 30%)}.seopress-activity-panel-header{background:#e0e0e0;padding:16px 24px}.seopress-activity-panel-content{background:#fff;padding:16px 24px}.seopress-list-items,.seopress-list-items .seopress-item{margin:0}.seopress-list-items .seopress-item{border-bottom:1px solid var(--borderColorLight40)}.seopress-list-items .seopress-item:last-child{border-bottom:none}.seopress-list-items .seopress-item .seopress-item-inner{color:var(--primaryColor);text-decoration:none;padding:15px 20px;background:#fff;font-size:var(--fontSize);font-weight:700;width:100%}.seopress-option .has-action{display:flex;align-items:center}.seopress-list-items .seopress-item .seopress-item-inner:hover{background:var(--backgroundSecondaryHover)}.seopress-list-items .seopress-item-after,.seopress-list-items .seopress-item-before{margin:0 20px 0 10px;position:relative}.seopress-list-items .seopress-item-after::after,.seopress-list-items .seopress-item-before::before{content:"\f330";font-family:Dashicons;vertical-align:middle;font-size:20px;font-weight:400}.seopress-list-items .seopress-item-after{margin-left:auto;padding-left:20px;margin-right:0}.seopress-list-items .seopress-item-after::after{content:"\f345"}.seopress-list-items .seopress-item .seopress-item-title{margin:5px 0;color:var(--primaryColor)}.seopress-list-items .seopress-item .seopress-item-date{color:var(--paragraphColor);font-weight:400;margin:0}.seopress-list-items .seopress-item .seopress-item-content{color:var(--colorDark);font-weight:400;margin:0}.seopress-list-items .seopress-item .seopress-item-inner.check{position:relative}.seopress-list-items .seopress-item .seopress-item-inner.check::before{content:"";width:32px;height:32px;font-size:24px;vertical-align:middle;border-radius:50px;color:#fff;margin-right:10px;display:inline-block;border:1px solid var(--borderColorLight);line-height:32px;text-align:center}.seopress-list-items .seopress-item .seopress-item-inner.done::before{background:var(--backgroundPrimary);border:none;content:"\f15e";font-family:Dashicons}.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:var(--colorDark)}.sp-tooltip .sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;width:350px;right:-310px;padding:20px;top:25px;font-weight:400;box-shadow:0 3px 30px rgb(25 30 35 / 10%);border:1px solid var(--borderColorLight40);background:#fff;word-break:break-word;text-transform:none}.sp-tooltip .sp-tooltiptext::before{border:8px solid var(--borderColorLight40);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 var(--borderColorLight40);padding-bottom:20px;font-size:var(--fontSize);line-height:1.5}.sp-tooltip .sp-tooltip-code{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;display:block;word-break:break-all;color:var(--colorPre);font-size:11px}.analysis-score .sp-tooltip{vertical-align:middle;font-size:.75em}#seopress_content_analysis .wrap-insights-post .sp-tooltip *{font-weight:400}#seopress_content_analysis .wrap-insights-post .sp-tooltip-headings{font-weight:700}#seopress_content_analysis a{color:var(--backgroundPrimary)}#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;position:relative;left:-5px}#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 var(--borderColorCard);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:var(--colorSuccess)}#seopress_content_analysis .analysis-score .notgood #bar,.column-seopress_score .analysis-score #bar.notgood{stroke-dashoffset:565;stroke:var(--colorWarning)}#seopress_content_analysis .analysis-score svg circle,#tab_seopress_page_speed .ps-score svg circle,#tab_seopress_ps .ps-score svg circle,.column-seopress_score .analysis-score svg circle{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;stroke:#ccc;stroke-width:2em}#tab_seopress_page_speed .ps-score,#tab_seopress_ps .ps-score{position:relative;display:inline-block}#tab_seopress_page_speed .ps-score svg,#tab_seopress_ps .ps-score svg{width:60px;height:60px}#tab_seopress_page_speed .ps-score svg circle,#tab_seopress_ps .ps-score svg circle{stroke-width:1em}#tab_seopress_page_speed .ps-score span,#tab_seopress_ps .ps-score span{font-weight:700;left:0;position:absolute;top:0;width:60px;height:60px;align-items:center;display:flex;justify-content:center;margin:0}#tab_seopress_page_speed .ps-score.green #bar,#tab_seopress_ps .ps-score.green #bar{stroke:var(--colorSuccess)}#tab_seopress_page_speed .ps-score.yellow #bar,#tab_seopress_ps .ps-score.yellow #bar{stroke:var(--colorWarning)}#tab_seopress_page_speed .ps-score.red #bar,#tab_seopress_ps .ps-score.red #bar{stroke:var(--colorAlert)}#seopress_content_analysis .gr-analysis{clear:both}#seopress_content_analysis .gr-analysis-title{border-top:1px solid var(--borderColorCard);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:var(--colorSuccess);box-shadow:0 0 5px var(--colorSuccess)}#seopress_content_analysis .gr-analysis .impact.low{background:var(--colorWarning);box-shadow:0 0 5px var(--colorWarning)}#seopress_content_analysis .gr-analysis .impact.medium{background:var(--colorLowAlert);box-shadow:0 0 5px var(--colorLowAlert)}#seopress_content_analysis .gr-analysis .impact.high,#seopress_cpt .impact.high{background:var(--colorAlert);box-shadow:0 0 5px var(--colorAlert)}#seopress_content_analysis .gr-analysis-content .impact.high{background:var(--colorAlert);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_pro_cpt .description,.seopress-option .description{display:block;font-size:12px;color:var(--color)}@media only screen and (max-width:782px){#seopress_content_analysis .description,#seopress_cpt .description,#seopress_pro_cpt .description,.seopress-option .description{word-break:break-word}}#seopress_content_analysis input~span.description,#seopress_content_analysis span.description~input,#seopress_cpt input~span.description,#seopress_cpt span.description~input,#seopress_pro_cpt input~span.description,#seopress_pro_cpt span.description~input{margin-top:5px}#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 .seopress-arrow::after{content:"\f343";font-family:Dashicons;position:absolute;right:10px;top:calc(50% - 7px)}#seopress_content_analysis .gr-analysis-title button.open .seopress-arrow::after{content:"\f347"}#seopress_content_analysis .gr-analysis-content{padding:0 1rem .5rem 1rem;display:none;width:100%;border-top:1px solid var(--borderColorCard)}#seopress_content_analysis h3{margin:0;font-size:1em}#seopress_content_analysis h4{border-bottom:1px solid var(--borderColorCard);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 var(--borderColorLight);padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul li img{max-width:150px;max-height:150px;object-fit:cover;border:1px solid var(--borderColorLight);cursor:default;padding:1px}#seopress-analysis-tabs .dashicons,#seopress_cpt .dashicons{vertical-align:middle}#seopress-analysis-tabs{clear:both}#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:var(--colorSuccess);border-radius:50px;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_pro_cpt .dashicons-no-alt{background:var(--colorAlert)}#seopress_content_analysis .description-alt,#seopress_cpt .description-alt{padding:1em 0;border-top:1px solid var(--borderColorLight);border-bottom:1px solid var(--borderColorLight);display:flex}#seopress_cpt .desc-fb{margin-top:0;border-top:none}#seopress_content_analysis .description-alt svg,#seopress_cpt .description-alt svg{vertical-align:middle;align-self:center;fill:#f0b849;flex-shrink:0;margin-right:16px}#seopress_cpt .notice{padding:10px 14px;margin:0}#seopress_cpt .inside{margin:0;padding:0}#seopress_cpt .ui-tabs .ui-tabs-nav{display:flex;position:relative;width:100%;z-index:10;margin:0;border-radius:0;padding:0;align-items:center;padding:0;height:48px;border-bottom:1px solid #ddd;background:inherit;line-height:inherit;color:inherit;border-top:none;border-left:none;border-right:none}#seopress_cpt .ui-tabs .sp-section{font-weight:700;font-size:var(--fontSize)}#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%}#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}body #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{position:relative;z-index:60;cursor:pointer;border-radius:0;border-bottom:4px solid var(--backgroundPrimary)!important}#seopress_cpt .wp-color-result{margin: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 var(--borderColorLight)}#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 var(--borderColorLight)}#seopress_content_analysis .mandatory,#seopress_cpt .mandatory{color:var(--colorAlert)}#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}#term-seopress #seopress_cpt{width:95%}#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;position:relative;padding:0;white-space:nowrap;margin:0;border:none;height:48px;background:0 0}#seopress_cpt .ui-tabs .ui-tabs-nav li a{display:flex;padding:3px 15px;align-items:center}#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:0;padding-bottom:0}#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{font-weight:500}#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:48px}#seopress_cpt .ui-tabs .ui-tabs-nav li a:focus,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a:focus{outline:3px solid transparent;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--backgroundPrimary),inset 0 -4px 0 0 var(--backgroundPrimary)}#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}#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;max-width:100%}#seopress_cpt .facebook-snippet-box .notice,#seopress_cpt .twitter-snippet-box .notice{padding:10px 14px;margin:0 0 10px 0;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:#f0f0f0;text-align:center;border-bottom:none}.term-php #seopress_cpt .facebook-snippet-box img,.term-php #seopress_cpt .twitter-snippet-box img{width:100%;height:auto}#seopress_cpt .twitter-snippet-box{color:#4b4f56;font-size:14px}#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:#f0f0f0;text-align:center;border-bottom:none}.wrap-toggle-preview{position:relative}.wrap-toggle-preview p{font-weight:700;margin:0 0 1rem 0}#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_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:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem .25rem 0 0;margin:-15px 0 0 0}#seopress_cpt .sp-progress-bar,#seopress_pro_cpt .sp-progress-bar,.seopress-setup .sp-progress-bar,.seopress-styles .sp-progress-bar{display:flex;flex-direction:column;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}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}.seopress-styles .seopress-option{margin:85px 40px 40px}@media only screen and (max-width:782px){.seopress-styles .seopress-option{margin:85px 22px 22px}}.seopress-styles .seopress-option h1{font-size:var(--titleFontSize);color:var(--titleColor);font-weight:var(--titleFontWeight);margin:var(--titleMargin);display:flex;justify-content:space-between}.seopress_wrap_archive_cpt,.seopress_wrap_single_cpt,.seopress_wrap_single_tax,.seopress_wrap_tax{margin:0 0 20px 0}#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}.seopress-styles .seopress-option .link-archive{font-size:var(--fontSize)}.seopress-styles .seopress-option .link-archive .dashicons{font-size:18px;width:20px;height:20px;margin:inherit}.seopress-option h1 .feature-state .dashicons{font-size:16px;width:16px;height:16px;vertical-align:middle;margin:0 10px 0 0}.seopress-styles .seopress-option .submit{padding:20px 0 20px 0;left:0;margin:0;position:sticky;bottom:0;z-index:100;display:inline-block}@media only screen and (max-width:782px){.seopress-styles .seopress-option .submit{position:relative}}.seopress-styles .seopress-option .seopress-tab .submit{display:block;position:relative}.seopress-styles #wpcontent{padding-left:0}.seopress-styles pre{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;padding:10px;display:inline-block;background-color:var(--backgroundSecondaryHover);border-radius:3px;color:var(--colorDark);font-size:var(--fontSize)}.seopress-option .seopress-settings{float:left;max-width:750px;width:100%}.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}#seopress-tabs .seopress-tab{padding:10px 1.5rem;width:100%;display:none}#seopress-tabs.full-width .seopress-tab{width:100%}@media only screen and (max-width:1024px){#seopress-tabs .seopress-tab{width:100%}}#seopress-tabs .seopress-tab.active{display:inline-block;background:#fff}@media only screen and (max-width:782px){#seopress-tabs .seopress-tab.active{width:100%;border-left:none;border-top:1px solid RGB(238,238,238)}}#seopress_htaccess_file{width:100%}.seopress-option textarea{min-height:100px}.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-inbox-title p{font-size:20px;color:var(--titleColor);margin:0}#seopress-admin-tabs .ui-tabs-nav{display:flex;padding-top:1rem;padding-bottom:0}#seopress-admin-tabs .nav-tab-wrapper a.nav-tab-active:focus{color:inherit}.seopress-intro{padding:20px}.seopress-option .seopress-table{background:#fff;border:1px solid var(--borderColorLight)}.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 var(--borderColorLight);font-weight:700;background:#f1f1f1}#seopress-content .feature-state,.seopress-option .feature-state{font-style:italic;font-size:11px;font-weight:400}@media only screen and (max-width:782px){#seopress-content .feature-state,.seopress-option .feature-state{display:none}}.seopress-option #tab_seopress_titles_archives h3,.seopress-option #tab_seopress_titles_single h3,.seopress-option #tab_seopress_titles_tax h3{margin:2em 0 1em 0;border-top:1px solid var(--borderColorLight);padding:1em 0 0 0}.seopress-option #tab_seopress_titles_archives h3:first-child,.seopress-option #tab_seopress_titles_single h3:first-child,.seopress-option #tab_seopress_titles_tax h3:first-child{margin:0 0 1em 0}.seopress-option #tab_seopress_titles_archives h3 div,.seopress-option #tab_seopress_titles_single h3 div,.seopress-option #tab_seopress_titles_tax h3 div{display:inline}#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{display:none;font-weight:700}.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 #seopress_titles_title_meta{margin-bottom:.2rem}.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 .section-tool:last-child{margin-bottom:0}.seopress-option .section-tool:last-child::after{content:none}.seopress-option .section-tool .inside{padding-left:0;padding-right:0}.seopress-option .sp-section-header{width:100%;display:flex;position:relative;align-items:center}.seopress-option .sp-section-header h2{font-size:1.5em}.seopress-option .sp-section-header>.dashicons{color:var(--primaryColor);padding:10px;border-radius:6px;margin-right:10px;background:#c4f0ff}.seopress-option .sp-section-header .wrap-toggle-checkboxes{display:flex}.seopress-notice{margin:5px 0 35px 15px;position:relative;top:75px;left:25px;background:rgb(0 124 186 / 10%);border-left:4px solid var(--primaryColor);padding:8px 12px;width:calc(100% - 108px);z-index:10}#seopress-tabs .seopress-notice,#seopress_pro_cpt .seopress-notice,.seopress-setup .seopress-notice{top:inherit;left:inherit;margin:15px 0 30px 0;width:auto}.seopress-hidden{display:none}.seopress-notice pre{background:#fff}.seopress-notice.is-success{border-left-color:var(--colorSuccess);background:#eff9f1}.seopress-notice.is-warning{border-left-color:#f0b849;background:#fef8ee}.seopress-notice.is-error{border-left-color:#cc1818;background:rgb(244 162 162 / 30%)}#seopress-tabs.wrap{margin:30px 0 0 0}#seopress-notifications-center .seopress-alert ul,#seopress-tabs.wrap ul{list-style:square inside;padding-left:5px;display:inline-block;max-width:35rem;width:100%}.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}.seopress-BlankState{max-width:764px;text-align:center;margin:auto}.seopress-BlankState .seopress-BlankState-message{color:var(--titleColor);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:var(--colorSuccess)}#seopress_content_analysis .down,#seopress_content_analysis .down .dashicons{color:var(--colorAlert)}#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 var(--borderColorCard);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}.wrap-user-roles{display:grid;grid-template-columns:repeat(4,1fr)}@media only screen and (max-width:782px){.wrap-user-roles{display:block}}#seopress-news-panel.is-active,#seopress-notifications-center.is-active{display:block!important}#seopress-notifications-center .seopress-alert{padding:16px 25px;position:relative;transition:all 150ms ease;justify-content:space-between;margin-bottom:20px}#seopress-notifications-center .seopress-alert:last-child{margin-bottom:0;border-bottom:none}#seopress-notifications-center .dashicons{display:flex;align-self:normal;width:30px;height:30px;color:var(--colorIcon);font-size:30px;margin:0 0 10px 0}#seopress-admin-tabs #tab_seopress_notifications.seopress-tab{background:0 0;padding:0;border-radius:0;width:100%}.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}.post-type-seopress_404 .seopress-notice,.post-type-seopress_bot .seopress-notice,.post-type-seopress_schemas .seopress-notice{left:0;top:40px;margin:0 0 50px;width:calc(100% - 48px)}.seopress-search{position:relative;padding:20px}.seopress-search::before{content:"\f179";font-family:Dashicons;position:absolute;top:35px;left:30px;font-size:20px}.seopress-search input{padding-left:40px}.seopress-item-toggle-options{position:relative;cursor:pointer;padding:5px 10px;border:1px solid var(--borderColor);border-radius:3px;transform:rotate(90deg)}.seopress-item-toggle-options::before{content:"\f11c";font-family:Dashicons;font-size:18px;vertical-align:middle}.seopress-card{background:#fff;border:1px solid var(--borderColorCard);border-radius:3px;position:relative}.seopress-option .seopress-card-actions button{margin-left:.5em}.seopress-card-title{border-bottom:1px solid var(--borderColorCard);padding:18px 24px;display:flex;justify-content:space-between;align-items:center}.seopress-card-title h2{margin:0}.seopress-cart-list{border-bottom:1px solid var(--borderColorCard);padding:18px 24px;display:flex;align-items:center;text-decoration:none;color:var(--primaryColor);font-weight:700;line-height:20px}.seopress-cart-list:last-child{border-bottom:none}.seopress-cart-list:active,.seopress-cart-list:focus,.seopress-cart-list:hover{background:var(--backgroundSecondaryHover)}body .seopress-cart-list h3{font-size:var(--fontSize);color:var(--primaryColor);font-weight:700;margin:0}.seopress-cart-list p{color:var(--titleColor);font-weight:400;margin:0;font-size:12px;line-height:20px}.seopress-card-footer{padding:10px 20px;border-top:1px solid var(--borderColorLight40)}.seopress-card-popover{display:none;background:#fff;border:1px solid var(--borderColor);padding:20px;position:absolute;top:55px;overflow-y:auto;right:28px;z-index:20}.seopress-card-popover.is-open{display:block}#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_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{position:relative;display:inline-flex;width:100%;margin:10px 0}.seopress-option .wrap-tags{flex-wrap:wrap}.seopress-option .wrap-tags button{margin-bottom:10px}@media only screen and (max-width:782px){#seopress_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{flex-wrap:wrap}}#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.wrap .sp-tag-variables-list,#seopress_cpt .sp-tag-variables-list,#seopress_pro_cpt .sp-tag-variables-list{position:absolute;left:-48px;width:300px;z-index:100;top:20px;color:var(--titleColor);height:300px;z-index:100;overflow:auto;background:#fff;border:1px solid var(--borderColorLight);box-shadow:0 2px 6px rgb(0 0 0 / 5%);border-radius:2px;list-style:none;padding:0}#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.wrap .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 var(--borderColorLight40)}#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.wrap .sp-tag-variables-list li:hover,#seopress_cpt .sp-tag-variables-list li:hover,#seopress_pro_cpt .sp-tag-variables-list li:hover{background:var(--backgroundPrimaryHover);color:#fff;border-bottom-color:#fff}#seopress-tabs.wrap .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.wrap .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;color:var(--primaryColor);vertical-align:middle}#seopress-tabs.wrap .seopress-tag-dropdown:hover .dashicons,#seopress_cpt .seopress-tag-dropdown:hover .dashicons,#seopress_cpt .tag-title:hover .dashicons,#seopress_pro_cpt .tag-title:hover .dashicons,.seopress-option .tag-title:hover .dashicons{color:#fff}#seopress-tabs.wrap .seopress-tag-dropdown .dashicons{margin:0}.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:5px 12px;font-size:10px;user-select:none;margin:0 5px 0 0;display:inline-flex;text-transform:uppercase;align-items:center;color:var(--primaryColor)}#seopress-tabs .seopress-tag-dropdown:focus,#seopress-tabs .seopress-tag-dropdown:hover,#seopress_cpt .seopress-tag-dropdown:focus,#seopress_cpt .seopress-tag-dropdown:hover,#seopress_cpt .tag-title:focus,#seopress_cpt .tag-title:hover,#seopress_pro_cpt .tag-title:focus,#seopress_pro_cpt .tag-title:hover,.seopress-option .tag-title:focus,.seopress-option .tag-title:hover{box-shadow:0 0 var(--wp-admin-border-width-focus) var(--backgroundPrimary);background:var(--backgroundPrimaryHover);color:#fff}@media only screen and (max-width:782px){#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-option .tag-title{margin-bottom:10px}}#seopress-content .seopress-useful-tools .widget-reverse li{padding:10px;margin:0;border-bottom:1px solid var(--borderColorLight)}#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}.seopress-styles #screen-meta{position:relative;top:60px}.seopress-styles #screen-meta-links .show-settings{box-shadow:none}.seopress-styles #screen-meta-links .screen-meta-toggle{position:fixed;top:32px;z-index:2000;right:40px}@media only screen and (max-width:782px){.seopress-styles #screen-meta-links .screen-meta-toggle{position:relative;top:60px}}#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}#seopress_cpt input.toggle,.seopress_wrap_single_cpt input.toggle,.seopress_wrap_tax input.toggle{margin:0;border:none;min-width:0}#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;margin:0 10px 0 0}#seopress-content input.toggle+label{margin:0;left:-20px}#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);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);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,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:before{width:40px;background:var(--backgroundPrimary)}#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 var(--backgroundPrimary),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 var(--backgroundPrimary),0 2px 4px rgba(0,0,0,.2)}#seopress-content .seopress-page-list{position:relative;display:block;max-width:64rem}@media only screen and (max-width:782px){#seopress-content .seopress-page-list{grid-template-columns:repeat(1,1fr)}}.seopress-styles .wrap{margin: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-option .wrap div.nav-tab-wrapper{margin:0;padding:0;line-height:inherit;width:15%;z-index:10;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 0 20px 0;padding:0}}#seopress-admin-tabs.wrap div.nav-tab-wrapper{background:#fff;margin:0 auto;max-width:64rem;width:100%;border-bottom:1px solid var(--borderColorCard);padding:0;line-height:inherit;position:sticky;z-index:10;top:92px;border-radius:4px 4px 0 0;font-weight:400;overflow:hidden;display:flex;align-items:center;justify-content:space-between}@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-option .nav-tab{border:0;background:0 0;opacity:.5;padding:6px 30px 6px 10px;transition:opacity .3s linear;color:var(--titleColor);margin:0;float:none;display:inline-block;width:100%;text-align:left;font-weight:400;white-space:normal}#seopress-admin-tabs .nav-tab{background:0 0;opacity:.5;padding:14px 20px;transition:opacity .3s linear;margin:0;float:none;display:inline-block;font-weight:400}#seopress-admin-tabs .nav-tab{width:100%}#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;border-left:3px solid var(--backgroundPrimary)}#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:4px solid var(--backgroundPrimary);border-left:none}#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}@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}}.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:var(--fontFamily);font-size:var(--fontSize);background-color:#32373c;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;cursor:pointer}.sp-components-snackbar .dashicons{color:#fff}
assets/js/seopress-media-uploader.js CHANGED
@@ -62,6 +62,12 @@ jQuery(document).ready(function ($) {
62
  ) {
63
  sp_social_img("twitter");
64
  }
 
 
 
 
 
 
65
  });
66
 
67
  // Open the uploader dialog
62
  ) {
63
  sp_social_img("twitter");
64
  }
65
+
66
+ if ($(item + "_attachment_id").length != 0) {
67
+ $(item + "_attachment_id").val(attachment.id);
68
+ $(item + "_width").val(attachment.width);
69
+ $(item + "_height").val(attachment.height);
70
+ }
71
  });
72
 
73
  // Open the uploader dialog
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 a=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(a).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(a){a.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())})}),e(".seopress-btn-upload-media").click(function(t){var i;if(t.preventDefault(),i)i.open();else{i=wp.media.frames.file_frame=wp.media({multiple:!1});var a=e(this);i.on("select",function(){attachment=i.state().get("selection").first().toJSON(),e(a.data("input-value")).val(attachment.url)}),i.open()}})});
1
+ jQuery(document).ready(function(t){var e;t(".button.seopress_social_facebook_img_cpt").click(function(a){a.preventDefault();var i=t(this).parent().find("input[type=text]");e=wp.media.frames.file_frame=wp.media({multiple:!1}),e.on("select",function(){attachment=e.state().get("selection").first().toJSON(),t(i).val(attachment.url)}),e.open()});const a=["#seopress_social_knowledge_img","#seopress_social_twitter_img","#seopress_social_fb_img"];a.forEach(function(e){var a;t(e+"_upload").click(function(i){i.preventDefault(),a?a.open():(a=wp.media.frames.file_frame=wp.media({multiple:!1}),a.on("select",function(){attachment=a.state().get("selection").first().toJSON(),t(e+"_meta").val(attachment.url),"#seopress_social_fb_img"==e&&"undefined"!=typeof sp_social_img&&sp_social_img("fb"),"#seopress_social_twitter_img"==e&&"undefined"!=typeof sp_social_img&&sp_social_img("twitter"),0!=t(e+"_attachment_id").length&&(t(e+"_attachment_id").val(attachment.id),t(e+"_width").val(attachment.width),t(e+"_height").val(attachment.height))}),a.open())})}),t(".seopress-btn-upload-media").click(function(e){var a;if(e.preventDefault(),a)a.open();else{a=wp.media.frames.file_frame=wp.media({multiple:!1});var i=t(this);a.on("select",function(){attachment=a.state().get("selection").first().toJSON(),t(i.data("input-value")).val(attachment.url)}),a.open()}})});
inc/admin/admin-dyn-variables-helper.php CHANGED
@@ -30,6 +30,7 @@ function seopress_get_dyn_variables()
30
  '%%archive_date%%' => __('Archive date', 'wp-seopress'),
31
  '%%archive_date_day%%' => __('Day Archive date', 'wp-seopress'),
32
  '%%archive_date_month%%' => __('Month Archive title', 'wp-seopress'),
 
33
  '%%archive_date_year%%' => __('Year Archive title', 'wp-seopress'),
34
  '%%_cf_your_custom_field_name%%' => __('Custom fields from post, page or post type', 'wp-seopress'),
35
  '%%_ct_your_custom_taxonomy_slug%%' => __('Custom term taxonomy from post, page or post type', 'wp-seopress'),
30
  '%%archive_date%%' => __('Archive date', 'wp-seopress'),
31
  '%%archive_date_day%%' => __('Day Archive date', 'wp-seopress'),
32
  '%%archive_date_month%%' => __('Month Archive title', 'wp-seopress'),
33
+ '%%archive_date_month_name%%' => __('Month name Archive title', 'wp-seopress'),
34
  '%%archive_date_year%%' => __('Year Archive title', 'wp-seopress'),
35
  '%%_cf_your_custom_field_name%%' => __('Custom fields from post, page or post type', 'wp-seopress'),
36
  '%%_ct_your_custom_taxonomy_slug%%' => __('Custom term taxonomy from post, page or post type', 'wp-seopress'),
inc/admin/admin-pages/Main.php CHANGED
@@ -32,16 +32,31 @@ if ('1' != seopress_get_hidden_notices_get_started_option()) {
32
  } ?>
33
  <div class="seopress-dashboard-columns">
34
  <div class="seopress-dashboard-column">
35
- <?php include_once dirname(dirname(__FILE__)) . '/blocks/intro.php'; ?>
36
- <?php include_once dirname(dirname(__FILE__)) . '/blocks/tasks.php'; ?>
37
- <?php include_once dirname(dirname(__FILE__)) . '/blocks/notifications-center.php'; ?>
 
 
 
 
 
 
38
  </div>
39
  <div class="seopress-dashboard-column">
40
  <?php
41
  if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
42
- include_once dirname(dirname(__FILE__)) . '/blocks/insights.php';
 
 
 
 
43
  } ?>
44
- <?php include_once dirname(dirname(__FILE__)) . '/blocks/news.php'; ?>
 
 
 
 
 
45
  <?php include_once dirname(dirname(__FILE__)) . '/admin-features-list.php'; ?>
46
  </div>
47
  </div>
32
  } ?>
33
  <div class="seopress-dashboard-columns">
34
  <div class="seopress-dashboard-column">
35
+ <?php
36
+ include_once dirname(dirname(__FILE__)) . '/blocks/intro.php';
37
+ if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
38
+ //do nothing
39
+ } else {
40
+ include_once dirname(dirname(__FILE__)) . '/blocks/tasks.php';
41
+ include_once dirname(dirname(__FILE__)) . '/blocks/notifications-center.php';
42
+ }
43
+ ?>
44
  </div>
45
  <div class="seopress-dashboard-column">
46
  <?php
47
  if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
48
+ if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
49
+ //do nothing
50
+ } else {
51
+ include_once dirname(dirname(__FILE__)) . '/blocks/insights.php';
52
+ }
53
  } ?>
54
+ <?php
55
+ if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
56
+ //do nothing
57
+ } else {
58
+ include_once dirname(dirname(__FILE__)) . '/blocks/news.php';
59
+ } ?>
60
  <?php include_once dirname(dirname(__FILE__)) . '/admin-features-list.php'; ?>
61
  </div>
62
  </div>
inc/admin/ajax-migrate/seopressor.php CHANGED
@@ -216,7 +216,7 @@ function seopress_metadata_export() {
216
  wp_reset_query();
217
  //Reset offset once Posts export is done
218
  $offset = 0;
219
- update_option('seopress_metadata_csv', $csv);
220
  $post_export = 'done';
221
  } else {
222
  $args = [
@@ -332,12 +332,12 @@ function seopress_metadata_export() {
332
  }
333
  }
334
  $offset += $increment;
335
- update_option('seopress_metadata_csv', $csv);
336
  }
337
  } elseif ('done' != $term_export) {
338
  //Terms
339
  if ($offset > $total_count_terms) {
340
- update_option('seopress_metadata_csv', $csv);
341
  $post_export = 'done';
342
  $term_export = 'done';
343
  } else {
@@ -453,7 +453,7 @@ function seopress_metadata_export() {
453
  }
454
  $offset += $increment;
455
  $post_export = 'done';
456
- update_option('seopress_metadata_csv', $csv);
457
  }
458
  } else {
459
  $post_export = 'done';
216
  wp_reset_query();
217
  //Reset offset once Posts export is done
218
  $offset = 0;
219
+ update_option('seopress_metadata_csv', $csv, false);
220
  $post_export = 'done';
221
  } else {
222
  $args = [
332
  }
333
  }
334
  $offset += $increment;
335
+ update_option('seopress_metadata_csv', $csv, false);
336
  }
337
  } elseif ('done' != $term_export) {
338
  //Terms
339
  if ($offset > $total_count_terms) {
340
+ update_option('seopress_metadata_csv', $csv, false);
341
  $post_export = 'done';
342
  $term_export = 'done';
343
  } else {
453
  }
454
  $offset += $increment;
455
  $post_export = 'done';
456
+ update_option('seopress_metadata_csv', $csv, false);
457
  }
458
  } else {
459
  $post_export = 'done';
inc/admin/ajax.php CHANGED
@@ -145,6 +145,7 @@ function seopress_do_real_preview()
145
 
146
  //Get post content (used for Words counter)
147
  $seopress_get_the_content = apply_filters('the_content', get_post_field('post_content', $seopress_get_the_id));
 
148
 
149
  //Cornerstone compatibility
150
  if (is_plugin_active('cornerstone/cornerstone.php')) {
@@ -576,7 +577,7 @@ function seopress_toggle_features()
576
  if (isset($_POST['feature']) && isset($_POST['feature_value'])) {
577
  $seopress_toggle_options = get_option('seopress_toggle');
578
  $seopress_toggle_options[$_POST['feature']] = $_POST['feature_value'];
579
- update_option('seopress_toggle', $seopress_toggle_options, 'yes');
580
  }
581
  exit();
582
  }
@@ -647,7 +648,7 @@ function seopress_hide_notices()
647
  if (isset($_POST['notice']) && isset($_POST['notice_value'])) {
648
  $seopress_notices_options = get_option('seopress_notices');
649
  $seopress_notices_options[$_POST['notice']] = $_POST['notice_value'];
650
- update_option('seopress_notices', $seopress_notices_options, 'yes');
651
  }
652
  exit();
653
  }
145
 
146
  //Get post content (used for Words counter)
147
  $seopress_get_the_content = apply_filters('the_content', get_post_field('post_content', $seopress_get_the_id));
148
+ $seopress_get_the_content = apply_filters('seopress_dom_analysis_get_post_content', $seopress_get_the_content);
149
 
150
  //Cornerstone compatibility
151
  if (is_plugin_active('cornerstone/cornerstone.php')) {
577
  if (isset($_POST['feature']) && isset($_POST['feature_value'])) {
578
  $seopress_toggle_options = get_option('seopress_toggle');
579
  $seopress_toggle_options[$_POST['feature']] = $_POST['feature_value'];
580
+ update_option('seopress_toggle', $seopress_toggle_options, 'yes', false);
581
  }
582
  exit();
583
  }
648
  if (isset($_POST['notice']) && isset($_POST['notice_value'])) {
649
  $seopress_notices_options = get_option('seopress_notices');
650
  $seopress_notices_options[$_POST['notice']] = $_POST['notice_value'];
651
+ update_option('seopress_notices', $seopress_notices_options, 'yes', false);
652
  }
653
  exit();
654
  }
inc/admin/blocks/insights.php CHANGED
@@ -117,7 +117,7 @@
117
  <span><?php echo $ps_score . '%'; ?></span>
118
  </div>
119
 
120
- <a href="<?php echo admin_url('admin.php?page=seopress-pro-page#tab=tab_seopress_ps'); ?>"
121
  class="btn btnSecondary">
122
  <?php _e('See full report', 'wp-seopress'); ?>
123
  </a>
117
  <span><?php echo $ps_score . '%'; ?></span>
118
  </div>
119
 
120
+ <a href="<?php echo admin_url('admin.php?page=seopress-pro-page#tab=tab_seopress_page_speed'); ?>"
121
  class="btn btnSecondary">
122
  <?php _e('See full report', 'wp-seopress'); ?>
123
  </a>
inc/admin/callbacks/Advanced.php CHANGED
@@ -230,6 +230,26 @@ function seopress_advanced_advanced_comments_website_callback() {
230
  }
231
  }
232
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
233
  function seopress_advanced_advanced_wp_shortlink_callback() {
234
  $options = get_option('seopress_advanced_option_name');
235
 
230
  }
231
  }
232
 
233
+ function seopress_advanced_advanced_comments_form_link_callback() {
234
+ $options = get_option('seopress_advanced_option_name');
235
+
236
+ $check = isset($options['seopress_advanced_advanced_comments_form_link']); ?>
237
+
238
+ <label for="seopress_advanced_advanced_comments_form_link">
239
+ <input id="seopress_advanced_advanced_comments_form_link"
240
+ name="seopress_advanced_option_name[seopress_advanced_advanced_comments_form_link]" type="checkbox" <?php if ('1' == $check) { ?>
241
+ checked="yes"
242
+ <?php } ?>
243
+ value="1"/>
244
+
245
+ <?php _e('Prevent search engines to follow / index the link to the comments form (<em>eg: https://www.example.com/my-blog-post/#respond</em>)', 'wp-seopress'); ?>
246
+ </label>
247
+
248
+ <?php if (isset($options['seopress_advanced_advanced_comments_form_link'])) {
249
+ esc_attr($options['seopress_advanced_advanced_comments_form_link']);
250
+ }
251
+ }
252
+
253
  function seopress_advanced_advanced_wp_shortlink_callback() {
254
  $options = get_option('seopress_advanced_option_name');
255
 
inc/admin/callbacks/Social.php CHANGED
@@ -282,7 +282,14 @@ function seopress_social_facebook_img_callback()
282
  {
283
  $options = get_option('seopress_social_option_name');
284
 
285
- $options_set = isset($options['seopress_social_facebook_img']) ? esc_attr($options['seopress_social_facebook_img']) : null; ?>
 
 
 
 
 
 
 
286
 
287
  <input id="seopress_social_fb_img_meta" type="text"
288
  value="<?php echo $options_set; ?>"
@@ -290,6 +297,11 @@ function seopress_social_facebook_img_callback()
290
  aria-label="<?php _e('Select a default image', 'wp-seopress'); ?>"
291
  placeholder="<?php esc_html_e('Select your default thumbnail', 'wp-seopress'); ?>" />
292
 
 
 
 
 
 
293
  <input id="seopress_social_fb_img_upload" class="btn btnSecondary" type="button"
294
  value="<?php _e('Upload an Image', 'wp-seopress'); ?>" />
295
 
282
  {
283
  $options = get_option('seopress_social_option_name');
284
 
285
+ $options_set = isset($options['seopress_social_facebook_img']) ? esc_attr($options['seopress_social_facebook_img']) : null;
286
+ $options_set_attachment_id = isset($options['seopress_social_facebook_img_attachment_id']) ? esc_attr($options['seopress_social_facebook_img_attachment_id']) : null;
287
+ $options_set_width = isset($options['seopress_social_facebook_img_width']) ? esc_attr($options['seopress_social_facebook_img_width']) : null;
288
+ $options_set_height = isset($options['seopress_social_facebook_img_height']) ? esc_attr($options['seopress_social_facebook_img_height']) : null;
289
+
290
+
291
+
292
+ ?>
293
 
294
  <input id="seopress_social_fb_img_meta" type="text"
295
  value="<?php echo $options_set; ?>"
297
  aria-label="<?php _e('Select a default image', 'wp-seopress'); ?>"
298
  placeholder="<?php esc_html_e('Select your default thumbnail', 'wp-seopress'); ?>" />
299
 
300
+
301
+ <input type="hidden" name="seopress_social_facebook_img_width" id="seopress_social_fb_img_width" value="<?php echo esc_html($options_set_width); ?>">
302
+ <input type="hidden" name="seopress_social_facebook_img_height" id="seopress_social_fb_img_height" value="<?php echo esc_html($options_set_height); ?>">
303
+ <input type="hidden" name="seopress_social_facebook_img_attachment_id" id="seopress_social_fb_img_attachment_id" value="<?php echo esc_html($options_set_attachment_id); ?>">
304
+
305
  <input id="seopress_social_fb_img_upload" class="btn btnSecondary" type="button"
306
  value="<?php _e('Upload an Image', 'wp-seopress'); ?>" />
307
 
inc/admin/callbacks/Titles.php CHANGED
@@ -254,24 +254,6 @@ function seopress_titles_single_titles_callback()
254
  '#seopress-tag-single-desc-<?php echo $seopress_cpt_key; ?>'
255
  ).attr('data-tag'));
256
  });
257
- $('#seopress-tag-desc-sep-<?php echo $seopress_cpt_key; ?>')
258
- .click(function() {
259
- $('#seopress_titles_single_desc_<?php echo $seopress_cpt_key; ?>')
260
- .val(sp_get_field_length($(
261
- '#seopress_titles_single_desc_<?php echo $seopress_cpt_key; ?>'
262
- )) + $(
263
- '#seopress-tag-desc-sep-<?php echo $seopress_cpt_key; ?>'
264
- ).attr('data-tag'));
265
- });
266
- $('#seopress-tag-single-desc-sitetitle-<?php echo $seopress_cpt_key; ?>')
267
- .click(function() {
268
- $('#seopress_titles_single_desc_<?php echo $seopress_cpt_key; ?>')
269
- .val(sp_get_field_length($(
270
- '#seopress_titles_single_desc_<?php echo $seopress_cpt_key; ?>'
271
- )) + $(
272
- '#seopress-tag-single-desc-sitetitle-<?php echo $seopress_cpt_key; ?>'
273
- ).attr('data-tag'));
274
- });
275
  });
276
  </script>
277
 
@@ -282,25 +264,10 @@ function seopress_titles_single_titles_callback()
282
  <div class="wrap-tags">
283
  <button type="button" class="btn btnSecondary tag-title"
284
  id="seopress-tag-single-desc-<?php echo $seopress_cpt_key; ?>"
285
- data-tag="%%post_title%%">
286
  <span class="dashicons dashicons-plus-alt2"></span>
287
- <?php _e('Post Title', 'wp-seopress'); ?>
288
  </button>
289
-
290
- <button type="button" class="btn btnSecondary tag-title"
291
- id="seopress-tag-desc-sep-<?php echo $seopress_cpt_key; ?>"
292
- data-tag="%%sep%%">
293
- <span class="dashicons dashicons-plus-alt2"></span>
294
- <?php _e('Separator', 'wp-seopress'); ?>
295
- </span>
296
-
297
- <button type="button" class="btn btnSecondary tag-title"
298
- id="seopress-tag-single-desc-sitetitle-<?php echo $seopress_cpt_key; ?>"
299
- data-tag="%%sitetitle%%">
300
- <span class="dashicons dashicons-plus-alt2"></span>
301
- <?php _e('Site Title', 'wp-seopress'); ?>
302
- </button>
303
-
304
  <?php
305
  echo seopress_render_dyn_variables('tag-description'); ?>
306
  </div>
254
  '#seopress-tag-single-desc-<?php echo $seopress_cpt_key; ?>'
255
  ).attr('data-tag'));
256
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
257
  });
258
  </script>
259
 
264
  <div class="wrap-tags">
265
  <button type="button" class="btn btnSecondary tag-title"
266
  id="seopress-tag-single-desc-<?php echo $seopress_cpt_key; ?>"
267
+ data-tag="%%post_excerpt%%">
268
  <span class="dashicons dashicons-plus-alt2"></span>
269
+ <?php _e('Post excerpt', 'wp-seopress'); ?>
270
  </button>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
271
  <?php
272
  echo seopress_render_dyn_variables('tag-description'); ?>
273
  </div>
inc/admin/docs/DocsLinks.php CHANGED
@@ -105,15 +105,15 @@ function seopress_get_docs_links()
105
  'faq' => 'https://www.seopress.org/support/faq/' . $utm,
106
  'insights' => 'https://www.seopress.org/insights/' . $utm2,
107
  'get_started' => [
108
- 'installation' => [__('Installation of SEOPress') => 'https://www.seopress.org/support/guides/get-started-seopress/' . $utm],
109
- 'license' => [__('Activate your license key to receive automatic updates') => 'https://www.seopress.org/support/guides/activate-seopress-pro-license/' . $utm],
110
- 'wizard' => [__('Configure SEOPress in 5 minutes') => 'https://youtu.be/uwgS5zTk0j0' . $utm],
111
- 'migration' => [__('Migrate your SEO metadata from other plugins') => 'https://www.seopress.org/migrate-to-seopress/' . $utm],
112
- 'sitemaps' => [__('Promote the exploration of your WordPress site by search engine robots') => 'https://www.seopress.org/support/guides/enable-xml-sitemaps/' . $utm],
113
- 'content' => [__('Optimize content from A to Z with SEOPress') => 'https://www.seopress.org/blog/optimize-wordpress-posts-for-a-keyword/' . $utm],
114
- 'analytics' => [__('Measure your traffic with Google Analytics') => 'https://www.seopress.org/support/guides/google-analytics/' . $utm],
115
- 'search_console' => [__('Add your WordPress site to Google’s index') => 'https://www.seopress.org/support/guides/google-search-console/' . $utm],
116
- 'social' => [__('Optimize your click-through rate on social networks') => 'https://www.seopress.org/support/guides/manage-facebook-open-graph-and-twitter-cards-metas/' . $utm],
117
  ],
118
  'titles' => [
119
  'thumbnail' => 'https://support.google.com/programmable-search/answer/1626955?hl=en',
105
  'faq' => 'https://www.seopress.org/support/faq/' . $utm,
106
  'insights' => 'https://www.seopress.org/insights/' . $utm2,
107
  'get_started' => [
108
+ 'installation' => [__('Installation of SEOPress', 'wp-seopress') => 'https://www.seopress.org/support/guides/get-started-seopress/' . $utm],
109
+ 'license' => [__('Activate your license key to receive automatic updates', 'wp-seopress') => 'https://www.seopress.org/support/guides/activate-seopress-pro-license/' . $utm],
110
+ 'wizard' => [__('Configure SEOPress in 5 minutes', 'wp-seopress') => 'https://youtu.be/uwgS5zTk0j0' . $utm],
111
+ 'migration' => [__('Migrate your SEO metadata from other plugins', 'wp-seopress') => 'https://www.seopress.org/migrate-to-seopress/' . $utm],
112
+ 'sitemaps' => [__('Promote the exploration of your WordPress site by search engine robots', 'wp-seopress') => 'https://www.seopress.org/support/guides/enable-xml-sitemaps/' . $utm],
113
+ 'content' => [__('Optimize content from A to Z with SEOPress', 'wp-seopress') => 'https://www.seopress.org/blog/optimize-wordpress-posts-for-a-keyword/' . $utm],
114
+ 'analytics' => [__('Measure your traffic with Google Analytics', 'wp-seopress') => 'https://www.seopress.org/support/guides/google-analytics/' . $utm],
115
+ 'search_console' => [__('Add your WordPress site to Google’s index', 'wp-seopress') => 'https://www.seopress.org/support/guides/google-search-console/' . $utm],
116
+ 'social' => [__('Optimize your click-through rate on social networks', 'wp-seopress') => 'https://www.seopress.org/support/guides/manage-facebook-open-graph-and-twitter-cards-metas/' . $utm],
117
  ],
118
  'titles' => [
119
  'thumbnail' => 'https://support.google.com/programmable-search/answer/1626955?hl=en',
inc/admin/metaboxes/admin-metaboxes-form.php CHANGED
@@ -412,6 +412,10 @@ if ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) { ?>
412
  <?php _e('Minimum size: 200x200px, ideal ratio 1.91:1, 8Mb max. (eg: 1640x856px or 3280x1712px for retina screens)', 'wp-seopress'); ?>
413
  </p>
414
  <p>
 
 
 
 
415
  <input id="seopress_social_fb_img_upload"
416
  class="<?php echo seopress_btn_secondary_classes(); ?>"
417
  type="button"
@@ -527,6 +531,10 @@ if ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) { ?>
527
  <?php _e('Minimum size: 144x144px (300x157px with large card enabled), ideal ratio 1:1 (2:1 with large card), 5Mb max.', 'wp-seopress'); ?>
528
  </p>
529
  <p>
 
 
 
 
530
  <input id="seopress_social_twitter_img_upload"
531
  class="<?php echo seopress_btn_secondary_classes(); ?>"
532
  type="button"
412
  <?php _e('Minimum size: 200x200px, ideal ratio 1.91:1, 8Mb max. (eg: 1640x856px or 3280x1712px for retina screens)', 'wp-seopress'); ?>
413
  </p>
414
  <p>
415
+ <input type="hidden" name="seopress_social_fb_img_attachment_id" id="seopress_social_fb_img_attachment_id" value="<?php echo esc_html($seopress_social_fb_img_attachment_id); ?>">
416
+ <input type="hidden" name="seopress_social_fb_img_width" id="seopress_social_fb_img_width" value="<?php echo esc_html($seopress_social_fb_img_width); ?>">
417
+ <input type="hidden" name="seopress_social_fb_img_height" id="seopress_social_fb_img_height" value="<?php echo esc_html($seopress_social_fb_img_height); ?>">
418
+
419
  <input id="seopress_social_fb_img_upload"
420
  class="<?php echo seopress_btn_secondary_classes(); ?>"
421
  type="button"
531
  <?php _e('Minimum size: 144x144px (300x157px with large card enabled), ideal ratio 1:1 (2:1 with large card), 5Mb max.', 'wp-seopress'); ?>
532
  </p>
533
  <p>
534
+ <input type="hidden" name="seopress_social_twitter_img_attachment_id" id="seopress_social_twitter_img_attachment_id" value="<?php echo esc_html($seopress_social_twitter_img_attachment_id); ?>">
535
+ <input type="hidden" name="seopress_social_twitter_img_width" id="seopress_social_twitter_img_width" value="<?php echo esc_html($seopress_social_twitter_img_width); ?>">
536
+ <input type="hidden" name="seopress_social_twitter_img_height" id="seopress_social_twitter_img_height" value="<?php echo esc_html($seopress_social_twitter_img_height); ?>">
537
+
538
  <input id="seopress_social_twitter_img_upload"
539
  class="<?php echo seopress_btn_secondary_classes(); ?>"
540
  type="button"
inc/admin/metaboxes/admin-metaboxes.php CHANGED
@@ -347,9 +347,15 @@ function seopress_display_seo_metaboxe()
347
  $seopress_social_fb_title = get_post_meta($post->ID, '_seopress_social_fb_title', true);
348
  $seopress_social_fb_desc = get_post_meta($post->ID, '_seopress_social_fb_desc', true);
349
  $seopress_social_fb_img = get_post_meta($post->ID, '_seopress_social_fb_img', true);
 
 
 
350
  $seopress_social_twitter_title = get_post_meta($post->ID, '_seopress_social_twitter_title', true);
351
  $seopress_social_twitter_desc = get_post_meta($post->ID, '_seopress_social_twitter_desc', true);
352
  $seopress_social_twitter_img = get_post_meta($post->ID, '_seopress_social_twitter_img', true);
 
 
 
353
  $seopress_redirections_enabled = get_post_meta($post->ID, '_seopress_redirections_enabled', true);
354
  $seopress_redirections_type = get_post_meta($post->ID, '_seopress_redirections_type', true);
355
  $seopress_redirections_value = get_post_meta($post->ID, '_seopress_redirections_value', true);
@@ -446,6 +452,15 @@ function seopress_display_seo_metaboxe()
446
  if (isset($_POST['seopress_social_fb_img'])) {
447
  update_post_meta($post_id, '_seopress_social_fb_img', esc_html($_POST['seopress_social_fb_img']));
448
  }
 
 
 
 
 
 
 
 
 
449
  if (isset($_POST['seopress_social_twitter_title'])) {
450
  update_post_meta($post_id, '_seopress_social_twitter_title', esc_html($_POST['seopress_social_twitter_title']));
451
  }
@@ -455,6 +470,15 @@ function seopress_display_seo_metaboxe()
455
  if (isset($_POST['seopress_social_twitter_img'])) {
456
  update_post_meta($post_id, '_seopress_social_twitter_img', esc_html($_POST['seopress_social_twitter_img']));
457
  }
 
 
 
 
 
 
 
 
 
458
  }
459
  if (in_array('redirect-tab', $seo_tabs)) {
460
  if (isset($_POST['seopress_redirections_type'])) {
347
  $seopress_social_fb_title = get_post_meta($post->ID, '_seopress_social_fb_title', true);
348
  $seopress_social_fb_desc = get_post_meta($post->ID, '_seopress_social_fb_desc', true);
349
  $seopress_social_fb_img = get_post_meta($post->ID, '_seopress_social_fb_img', true);
350
+ $seopress_social_fb_img_attachment_id = get_post_meta($post->ID, '_seopress_social_fb_img_attachment_id', true);
351
+ $seopress_social_fb_img_width = get_post_meta($post->ID, '_seopress_social_fb_img_width', true);
352
+ $seopress_social_fb_img_height = get_post_meta($post->ID, '_seopress_social_fb_img_height', true);
353
  $seopress_social_twitter_title = get_post_meta($post->ID, '_seopress_social_twitter_title', true);
354
  $seopress_social_twitter_desc = get_post_meta($post->ID, '_seopress_social_twitter_desc', true);
355
  $seopress_social_twitter_img = get_post_meta($post->ID, '_seopress_social_twitter_img', true);
356
+ $seopress_social_twitter_img_attachment_id = get_post_meta($post->ID, '_seopress_social_twitter_img_attachment_id', true);
357
+ $seopress_social_twitter_img_width = get_post_meta($post->ID, '_seopress_social_twitter_img_width', true);
358
+ $seopress_social_twitter_img_height = get_post_meta($post->ID, '_seopress_social_twitter_img_height', true);
359
  $seopress_redirections_enabled = get_post_meta($post->ID, '_seopress_redirections_enabled', true);
360
  $seopress_redirections_type = get_post_meta($post->ID, '_seopress_redirections_type', true);
361
  $seopress_redirections_value = get_post_meta($post->ID, '_seopress_redirections_value', true);
452
  if (isset($_POST['seopress_social_fb_img'])) {
453
  update_post_meta($post_id, '_seopress_social_fb_img', esc_html($_POST['seopress_social_fb_img']));
454
  }
455
+ if (isset($_POST['seopress_social_fb_img_attachment_id'])) {
456
+ update_post_meta($post_id, '_seopress_social_fb_img_attachment_id', esc_html($_POST['seopress_social_fb_img_attachment_id']));
457
+ }
458
+ if (isset($_POST['seopress_social_fb_img_width'])) {
459
+ update_post_meta($post_id, '_seopress_social_fb_img_width', esc_html($_POST['seopress_social_fb_img_width']));
460
+ }
461
+ if (isset($_POST['seopress_social_fb_img_height'])) {
462
+ update_post_meta($post_id, '_seopress_social_fb_img_height', esc_html($_POST['seopress_social_fb_img_height']));
463
+ }
464
  if (isset($_POST['seopress_social_twitter_title'])) {
465
  update_post_meta($post_id, '_seopress_social_twitter_title', esc_html($_POST['seopress_social_twitter_title']));
466
  }
470
  if (isset($_POST['seopress_social_twitter_img'])) {
471
  update_post_meta($post_id, '_seopress_social_twitter_img', esc_html($_POST['seopress_social_twitter_img']));
472
  }
473
+ if (isset($_POST['seopress_social_twitter_img_attachment_id'])) {
474
+ update_post_meta($post_id, '_seopress_social_twitter_img_attachment_id', esc_html($_POST['seopress_social_twitter_img_attachment_id']));
475
+ }
476
+ if (isset($_POST['seopress_social_twitter_img_width'])) {
477
+ update_post_meta($post_id, '_seopress_social_twitter_img_width', esc_html($_POST['seopress_social_twitter_img_width']));
478
+ }
479
+ if (isset($_POST['seopress_social_twitter_img_height'])) {
480
+ update_post_meta($post_id, '_seopress_social_twitter_img_height', esc_html($_POST['seopress_social_twitter_img_height']));
481
+ }
482
  }
483
  if (in_array('redirect-tab', $seo_tabs)) {
484
  if (isset($_POST['seopress_redirections_type'])) {
inc/admin/metaboxes/admin-term-metaboxes.php CHANGED
@@ -282,9 +282,15 @@ function seopress_display_seo_term_metaboxe() {
282
  $seopress_social_fb_title = get_term_meta($term->term_id, '_seopress_social_fb_title', true);
283
  $seopress_social_fb_desc = get_term_meta($term->term_id, '_seopress_social_fb_desc', true);
284
  $seopress_social_fb_img = get_term_meta($term->term_id, '_seopress_social_fb_img', true);
 
 
 
285
  $seopress_social_twitter_title = get_term_meta($term->term_id, '_seopress_social_twitter_title', true);
286
  $seopress_social_twitter_desc = get_term_meta($term->term_id, '_seopress_social_twitter_desc', true);
287
  $seopress_social_twitter_img = get_term_meta($term->term_id, '_seopress_social_twitter_img', true);
 
 
 
288
  $seopress_redirections_enabled = get_term_meta($term->term_id, '_seopress_redirections_enabled', true);
289
  $seopress_redirections_type = get_term_meta($term->term_id, '_seopress_redirections_type', true);
290
  $seopress_redirections_value = get_term_meta($term->term_id, '_seopress_redirections_value', true);
282
  $seopress_social_fb_title = get_term_meta($term->term_id, '_seopress_social_fb_title', true);
283
  $seopress_social_fb_desc = get_term_meta($term->term_id, '_seopress_social_fb_desc', true);
284
  $seopress_social_fb_img = get_term_meta($term->term_id, '_seopress_social_fb_img', true);
285
+ $seopress_social_fb_img_attachment_id = get_post_meta($term->term_id, '_seopress_social_fb_img_attachment_id', true);
286
+ $seopress_social_fb_img_width = get_post_meta($term->term_id, '_seopress_social_fb_img_width', true);
287
+ $seopress_social_fb_img_height = get_post_meta($term->term_id, '_seopress_social_fb_img_height', true);
288
  $seopress_social_twitter_title = get_term_meta($term->term_id, '_seopress_social_twitter_title', true);
289
  $seopress_social_twitter_desc = get_term_meta($term->term_id, '_seopress_social_twitter_desc', true);
290
  $seopress_social_twitter_img = get_term_meta($term->term_id, '_seopress_social_twitter_img', true);
291
+ $seopress_social_twitter_img_attachment_id = get_post_meta($term->term_id, '_seopress_social_twitter_img_attachment_id', true);
292
+ $seopress_social_twitter_img_width = get_post_meta($term->term_id, '_seopress_social_twitter_img_width', true);
293
+ $seopress_social_twitter_img_height = get_post_meta($term->term_id, '_seopress_social_twitter_img_height', true);
294
  $seopress_redirections_enabled = get_term_meta($term->term_id, '_seopress_redirections_enabled', true);
295
  $seopress_redirections_type = get_term_meta($term->term_id, '_seopress_redirections_type', true);
296
  $seopress_redirections_value = get_term_meta($term->term_id, '_seopress_redirections_value', true);
inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php CHANGED
@@ -34,7 +34,7 @@ class Document_Settings_Section {
34
  if (get_user_meta(get_current_user_id(), 'elementor_preferences', true)) {
35
  $settings = get_user_meta(get_current_user_id(), 'elementor_preferences', true);
36
 
37
- if ( ! empty($settings) && 'dark' == $settings['ui_theme']) {
38
  wp_enqueue_style(
39
  'sp-el-dark-mode-style',
40
  SEOPRESS_ELEMENTOR_ADDON_URL . 'assets/css/dark-mode.css'
34
  if (get_user_meta(get_current_user_id(), 'elementor_preferences', true)) {
35
  $settings = get_user_meta(get_current_user_id(), 'elementor_preferences', true);
36
 
37
+ if ( ! empty($settings) && isset($settings['ui_theme']) && 'dark' == $settings['ui_theme']) {
38
  wp_enqueue_style(
39
  'sp-el-dark-mode-style',
40
  SEOPRESS_ELEMENTOR_ADDON_URL . 'assets/css/dark-mode.css'
inc/admin/plugin-upgrader.php CHANGED
@@ -58,7 +58,7 @@ function seopress_upgrader() {
58
 
59
  $options['free'] = SEOPRESS_VERSION;
60
 
61
- update_option( 'seopress_versions', $options );
62
  }
63
  }
64
 
58
 
59
  $options['free'] = SEOPRESS_VERSION;
60
 
61
+ update_option( 'seopress_versions', $options, false );
62
  }
63
  }
64
 
inc/admin/sanitize/Sanitize.php CHANGED
@@ -5,6 +5,9 @@ defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks
5
  function seopress_sanitize_options_fields($input){
6
 
7
  $seopress_sanitize_fields = [
 
 
 
8
  'seopress_titles_home_site_title',
9
  'seopress_titles_home_site_desc',
10
  'seopress_titles_archives_author_title',
@@ -70,6 +73,15 @@ function seopress_sanitize_options_fields($input){
70
  'seopress_advanced_advanced_yandex',
71
  ];
72
 
 
 
 
 
 
 
 
 
 
73
  foreach ($seopress_sanitize_fields as $value) {
74
  if ( ! empty($input['seopress_google_analytics_opt_out_msg']) && 'seopress_google_analytics_opt_out_msg' == $value) {
75
  $args = [
@@ -107,7 +119,6 @@ function seopress_sanitize_options_fields($input){
107
  }
108
  }
109
 
110
-
111
  return $input;
112
 
113
  }
5
  function seopress_sanitize_options_fields($input){
6
 
7
  $seopress_sanitize_fields = [
8
+ 'seopress_social_facebook_img_attachment_id',
9
+ 'seopress_social_facebook_img_attachment_width',
10
+ 'seopress_social_facebook_img_attachment_height',
11
  'seopress_titles_home_site_title',
12
  'seopress_titles_home_site_desc',
13
  'seopress_titles_archives_author_title',
73
  'seopress_advanced_advanced_yandex',
74
  ];
75
 
76
+ $newOptions = ['seopress_social_facebook_img_attachment_id', 'seopress_social_facebook_img_height', 'seopress_social_facebook_img_width'];
77
+
78
+ foreach ($newOptions as $key => $value) {
79
+ if(!isset($input[$value]) && isset($_POST[$value])){
80
+ $input[$value] = $_POST[$value];
81
+ }
82
+ }
83
+
84
+
85
  foreach ($seopress_sanitize_fields as $value) {
86
  if ( ! empty($input['seopress_google_analytics_opt_out_msg']) && 'seopress_google_analytics_opt_out_msg' == $value) {
87
  $args = [
119
  }
120
  }
121
 
 
122
  return $input;
123
 
124
  }
inc/admin/sections/Tools.php CHANGED
@@ -18,7 +18,10 @@ function print_section_info_tools_compatibility()
18
  <?php _e('Even though a lot of things are completely transparent to you and automated, sometimes it is necessary to leave the final choice to you.', 'wp-seopress'); ?>
19
  </p>
20
 
21
- <div class="seopress-notice is-warning">
 
 
 
22
  <p>
23
  <?php _e('<strong>Warning</strong>: always test your site after activating one of these options. Running shortcodes to automatically generate meta title / description can have side effects. Clear your cache if necessary.', 'wp-seopress'); ?>
24
  <?php echo seopress_tooltip_link($docs['compatibility']['automatic'], __('Learn more about automatic meta descriptions', 'wp-seopress-pro')); ?>
18
  <?php _e('Even though a lot of things are completely transparent to you and automated, sometimes it is necessary to leave the final choice to you.', 'wp-seopress'); ?>
19
  </p>
20
 
21
+ <div class="seopress-notice is-error">
22
+ <p>
23
+ <?php _e('This feature will be deprecated soon.', 'wp-seopress-pro'); ?>
24
+ </p>
25
  <p>
26
  <?php _e('<strong>Warning</strong>: always test your site after activating one of these options. Running shortcodes to automatically generate meta title / description can have side effects. Clear your cache if necessary.', 'wp-seopress'); ?>
27
  <?php echo seopress_tooltip_link($docs['compatibility']['automatic'], __('Learn more about automatic meta descriptions', 'wp-seopress-pro')); ?>
inc/admin/settings/Advanced.php CHANGED
@@ -75,6 +75,14 @@ add_settings_field(
75
  'seopress_setting_section_advanced_advanced' // Section
76
  );
77
 
 
 
 
 
 
 
 
 
78
  add_settings_field(
79
  'seopress_advanced_advanced_wp_shortlink', // ID
80
  __('Remove WordPress shortlink meta tag', 'wp-seopress'), // Title
75
  'seopress_setting_section_advanced_advanced' // Section
76
  );
77
 
78
+ add_settings_field(
79
+ 'seopress_advanced_advanced_comments_form_link', // ID
80
+ __('Add "nofollow noopener noreferrer" rel attributes to the comments form link', 'wp-seopress'), // Title
81
+ 'seopress_advanced_advanced_comments_form_link_callback', // Callback
82
+ 'seopress-settings-admin-advanced-advanced', // Page
83
+ 'seopress_setting_section_advanced_advanced' // Section
84
+ );
85
+
86
  add_settings_field(
87
  'seopress_advanced_advanced_wp_shortlink', // ID
88
  __('Remove WordPress shortlink meta tag', 'wp-seopress'), // Title
inc/admin/wizard/admin-wizard.php CHANGED
@@ -7,558 +7,568 @@
7
  * @version 3.5.8
8
  */
9
  if ( ! defined('ABSPATH')) {
10
- exit;
11
  }
12
 
13
  /**
14
  * SEOPRESS_Admin_Setup_Wizard class.
15
  */
16
  class SEOPRESS_Admin_Setup_Wizard {
17
- /**
18
- * Current step.
19
- *
20
- * @var string
21
- */
22
- private $step = '';
23
-
24
- /**
25
- * Steps for the setup wizard.
26
- *
27
- * @var array
28
- */
29
- private $steps = [];
30
-
31
- /**
32
- * Hook in tabs.
33
- */
34
- public function __construct() {
35
- if (apply_filters('seopress_enable_setup_wizard', true) && current_user_can(seopress_capability('manage_options', 'Admin_Setup_Wizard'))) {
36
- add_action('admin_menu', [$this, 'admin_menus']);
37
- add_action('admin_init', [$this, 'setup_wizard']);
38
- add_action('admin_enqueue_scripts', [$this, 'enqueue_scripts']);
39
- }
40
- }
41
-
42
- /**
43
- * Add admin menus/screens.
44
- */
45
- public function admin_menus() {
46
- add_dashboard_page('', '', seopress_capability('manage_options', 'menu'), 'seopress-setup', '');
47
- }
48
-
49
- /**
50
- * Register/enqueue scripts and styles for the Setup Wizard.
51
- *
52
- * Hooked onto 'admin_enqueue_scripts'.
53
- */
54
- public function enqueue_scripts() {
55
- $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
56
- wp_enqueue_style('seopress-setup', plugins_url('assets/css/seopress-setup' . $prefix . '.css', dirname(dirname(dirname(__FILE__)))), ['install'], SEOPRESS_VERSION);
57
- wp_register_script('seopress-migrate-ajax', plugins_url('assets/js/seopress-migrate' . $prefix . '.js', dirname(dirname(dirname(__FILE__)))), ['jquery'], SEOPRESS_VERSION, true);
58
-
59
- $seopress_migrate = [
60
- 'seopress_aio_migrate' => [
61
- 'seopress_nonce' => wp_create_nonce('seopress_aio_migrate_nonce'),
62
- 'seopress_aio_migration' => admin_url('admin-ajax.php'),
63
- ],
64
- 'seopress_yoast_migrate' => [
65
- 'seopress_nonce' => wp_create_nonce('seopress_yoast_migrate_nonce'),
66
- 'seopress_yoast_migration' => admin_url('admin-ajax.php'),
67
- ],
68
- 'seopress_seo_framework_migrate' => [
69
- 'seopress_nonce' => wp_create_nonce('seopress_seo_framework_migrate_nonce'),
70
- 'seopress_seo_framework_migration' => admin_url('admin-ajax.php'),
71
- ],
72
- 'seopress_rk_migrate' => [
73
- 'seopress_nonce' => wp_create_nonce('seopress_rk_migrate_nonce'),
74
- 'seopress_rk_migration' => admin_url('admin-ajax.php'),
75
- ],
76
- 'seopress_squirrly_migrate' => [
77
- 'seopress_nonce' => wp_create_nonce('seopress_squirrly_migrate_nonce'),
78
- 'seopress_squirrly_migration' => admin_url('admin-ajax.php'),
79
- ],
80
- 'seopress_seo_ultimate_migrate' => [
81
- 'seopress_nonce' => wp_create_nonce('seopress_seo_ultimate_migrate_nonce'),
82
- 'seopress_seo_ultimate_migration' => admin_url('admin-ajax.php'),
83
- ],
84
- 'seopress_wp_meta_seo_migrate' => [
85
- 'seopress_nonce' => wp_create_nonce('seopress_meta_seo_migrate_nonce'),
86
- 'seopress_wp_meta_seo_migration' => admin_url('admin-ajax.php'),
87
- ],
88
- 'seopress_premium_seo_pack_migrate' => [
89
- 'seopress_nonce' => wp_create_nonce('seopress_premium_seo_pack_migrate_nonce'),
90
- 'seopress_premium_seo_pack_migration' => admin_url('admin-ajax.php'),
91
- ],
92
- 'seopress_wpseo_migrate' => [
93
- 'seopress_nonce' => wp_create_nonce('seopress_wpseo_migrate_nonce'),
94
- 'seopress_wpseo_migration' => admin_url('admin-ajax.php'),
95
- ],
96
- 'seopress_platinum_seo_migrate' => [
97
- 'seopress_nonce' => wp_create_nonce('seopress_platinum_seo_migrate_nonce'),
98
- 'seopress_platinum_seo_migration' => admin_url('admin-ajax.php'),
99
- ],
100
- 'seopress_smart_crawl_migrate' => [
101
- 'seopress_nonce' => wp_create_nonce('seopress_smart_crawl_migrate_nonce'),
102
- 'seopress_smart_crawl_migration' => admin_url('admin-ajax.php'),
103
- ],
104
- 'seopress_seopressor_migrate' => [
105
- 'seopress_nonce' => wp_create_nonce('seopress_seopressor_migrate_nonce'),
106
- 'seopress_seopressor_migration' => admin_url('admin-ajax.php'),
107
- ],
108
- 'seopress_metadata_csv' => [
109
- 'seopress_nonce' => wp_create_nonce('seopress_export_csv_metadata_nonce'),
110
- 'seopress_metadata_export' => admin_url('admin-ajax.php'),
111
- ],
112
- 'i18n' => [
113
- 'migration' => __('Migration completed!', 'wp-seopress'),
114
- 'export' => __('Export completed!', 'wp-seopress'),
115
- ],
116
- ];
117
- wp_localize_script('seopress-migrate-ajax', 'seopressAjaxMigrate', $seopress_migrate);
118
- }
119
-
120
- /**
121
- * Show the setup wizard.
122
- */
123
- public function setup_wizard() {
124
- if (empty($_GET['page']) || 'seopress-setup' !== $_GET['page']) {
125
- return;
126
- }
127
- $default_steps = [
128
- 'import_settings' => [
129
- 'name' => __('Import SEO settings', 'wp-seopress'),
130
- 'view' => [$this, 'seopress_setup_import_settings'],
131
- 'handler' => [$this, 'seopress_setup_import_settings_save'],
132
- ],
133
- 'site' => [
134
- 'name' => __('Your site', 'wp-seopress'),
135
- 'view' => [$this, 'seopress_setup_site'],
136
- 'handler' => [$this, 'seopress_setup_site_save'],
137
- ],
138
- 'indexing' => [
139
- 'name' => __('Indexing', 'wp-seopress'),
140
- 'view' => [$this, 'seopress_setup_indexing'],
141
- 'handler' => [$this, 'seopress_setup_indexing_save'],
142
- ],
143
- 'advanced' => [
144
- 'name' => __('Advanced options', 'wp-seopress'),
145
- 'view' => [$this, 'seopress_setup_advanced'],
146
- 'handler' => [$this, 'seopress_setup_advanced_save'],
147
- ],
148
- ];
149
-
150
- if ( ! is_plugin_active('wp-seopress-insights/seopress-insights.php') && ! is_multisite()) {
151
- $default_steps['insights'] = [
152
- 'name' => __('Insights', 'wp-seopress'),
153
- 'view' => [$this, 'seopress_setup_insights'],
154
- 'handler' => '',
155
- ];
156
- }
157
- $default_steps['ready'] = [
158
- 'name' => __('Ready!', 'wp-seopress'),
159
- 'view' => [$this, 'seopress_setup_ready'],
160
- 'handler' => '',
161
- ];
162
-
163
- $this->steps = apply_filters('seopress_setup_wizard_steps', $default_steps);
164
- $this->step = isset($_GET['step']) ? sanitize_key($_GET['step']) : current(array_keys($this->steps));
165
-
166
- if ( ! empty($_POST['save_step']) && isset($this->steps[$this->step]['handler'])) {
167
- call_user_func($this->steps[$this->step]['handler'], $this);
168
- }
169
-
170
- ob_start();
171
- $this->setup_wizard_header();
172
- $this->setup_wizard_steps();
173
- $this->setup_wizard_content();
174
- $this->setup_wizard_footer();
175
- exit;
176
- }
177
-
178
- /**
179
- * Get the URL for the next step's screen.
180
- *
181
- * @param string $step slug (default: current step)
182
- *
183
- * @return string URL for next step if a next step exists.
184
- * Admin URL if it's the last step.
185
- * Empty string on failure.
186
- *
187
- * @since 3.5.8
188
- */
189
- public function get_next_step_link($step = '') {
190
- if ( ! $step) {
191
- $step = $this->step;
192
- }
193
-
194
- $keys = array_keys($this->steps);
195
- if (end($keys) === $step) {
196
- return admin_url();
197
- }
198
-
199
- $step_index = array_search($step, $keys, true);
200
- if (false === $step_index) {
201
- return '';
202
- }
203
-
204
- return add_query_arg('step', $keys[$step_index + 1], remove_query_arg('activate_error'));
205
- }
206
-
207
- /**
208
- * Setup Wizard Header.
209
- */
210
- public function setup_wizard_header() {
211
- set_current_screen(); ?>
212
  <!DOCTYPE html>
213
  <html <?php language_attributes(); ?>>
214
 
215
  <head>
216
- <meta name="viewport" content="width=device-width" />
217
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
218
- <title><?php esc_html_e('SEOPress &rsaquo; Setup Wizard', 'wp-seopress'); ?>
219
- </title>
220
- <?php do_action('admin_enqueue_scripts'); ?>
221
- <?php wp_print_scripts('seopress-migrate-ajax'); ?>
222
- <?php do_action('admin_print_styles'); ?>
223
- <?php do_action('admin_head'); ?>
224
  </head>
225
 
226
  <?php
227
- $class = '';
228
- if ('insights' === $this->step) {
229
- $class = ' no_nav_menu';
230
- } ?>
231
 
232
  <body
233
- class="seopress-setup seopress-option wp-core-ui<?php echo $class; ?>">
234
- <?php
235
- }
236
-
237
- /**
238
- * Setup Wizard Footer.
239
- */
240
- public function setup_wizard_footer() {
241
- ?>
242
- <div class="seopress-setup-footer">
243
- <?php if ('import_settings' === $this->step) { ?>
244
- <a class="seopress-setup-footer-links"
245
- href="<?php echo esc_url(admin_url()); ?>"><?php esc_html_e('Not right now', 'wp-seopress'); ?></a>
246
- <?php } elseif ('site' === $this->step || 'indexing' === $this->step || 'advanced' === $this->step || 'insights' === $this->step) { ?>
247
- <a class="seopress-setup-footer-links"
248
- href="<?php echo esc_url($this->get_next_step_link()); ?>"><?php esc_html_e('Skip this step', 'wp-seopress'); ?></a>
249
- <?php } ?>
250
- <?php do_action('seopress_setup_footer'); ?>
251
- </div>
252
- </div>
 
 
 
 
 
253
  </body>
254
 
255
  </html>
256
  <?php
257
- }
258
 
259
- /**
260
- * Output the steps.
261
- */
262
- public function setup_wizard_steps() {
263
- $output_steps = $this->steps; ?>
264
  <div id="wpcontent" class="seopress-option">
265
- <ol class="seopress-setup-steps">
266
- <?php
267
- $i = 1;
268
- foreach ($output_steps as $step_key => $step) {
269
- $is_completed = array_search($this->step, array_keys($this->steps), true) > array_search($step_key, array_keys($this->steps), true);
270
-
271
- if ($step_key === $this->step) {
272
- ?>
273
- <li class="active">
274
- <div class="icon" data-step="<?php echo $i; ?>"></div>
275
- <span><?php echo esc_html($step['name']); ?></span>
276
- <div class="divider"></div>
277
- </li>
278
- <?php
279
- } elseif ($is_completed) {
280
- ?>
281
- <li class="done">
282
- <div class="icon" data-step="<?php echo $i; ?>"></div>
283
- <a
284
- href="<?php echo esc_url(add_query_arg('step', $step_key, remove_query_arg('activate_error'))); ?>">
285
- <?php echo esc_html($step['name']); ?>
286
- </a>
287
- <div class="divider"></div>
288
- </li>
289
- <?php
290
- } else {
291
- ?>
292
- <li>
293
- <div class="icon" data-step="<?php echo $i; ?>"></div>
294
- <span><?php echo esc_html($step['name']); ?></span>
295
- <div class="divider"></div>
296
- </li>
297
- <?php
298
- }
299
- ++$i;
300
- } ?>
301
- </ol>
302
- <?php
303
- }
304
-
305
- /**
306
- * Output the content for the current step.
307
- */
308
- public function setup_wizard_content() {
309
- echo '<div class="seopress-setup-content">';
310
- if ( ! empty($this->steps[$this->step]['view'])) {
311
- call_user_func($this->steps[$this->step]['view'], $this);
312
- }
313
- echo '</div>';
314
- }
315
-
316
- /**
317
- * Init "Step 1: Import SEO settings".
318
- */
319
- public function seopress_setup_import_settings() {
320
- ?>
321
- <form method="post">
322
- <?php wp_nonce_field('seopress-setup'); ?>
323
- <h1 class="text-center"><?php _e('Welcome to SEOPress!', 'wp-seopress'); ?>
324
- </h1>
325
- <p class="store-setup"><?php esc_html_e('The following wizard will help you configure SEOPress and get you started quickly.', 'wp-seopress'); ?>
326
- </p>
327
- <p class="store-setup"><?php esc_html_e('The first step is to import your previous settings from other plugins to keep your SEO.', 'wp-seopress'); ?>
328
- </p>
329
- <p class="store-setup"><?php esc_html_e('No data to migrate? Click "Next step" button!', 'wp-seopress'); ?>
330
- </p>
331
-
332
- <h2><?php _e('Import posts and terms metadata from', 'wp-seopress'); ?>
333
- </h2>
334
- <?php
335
- $plugins = [
336
- 'yoast' => 'Yoast SEO',
337
- 'aio' => 'All In One SEO',
338
- 'seo-framework' => 'The SEO Framework',
339
- 'rk' => 'Rank Math',
340
- 'squirrly' => 'Squirrly SEO',
341
- 'seo-ultimate' => 'SEO Ultimate',
342
- 'wp-meta-seo' => 'WP Meta SEO',
343
- 'premium-seo-pack' => 'Premium SEO Pack',
344
- 'wpseo' => 'wpSEO',
345
- 'platinum-seo' => 'Platinum SEO Pack',
346
- 'smart-crawl' => 'SmartCrawl',
347
- 'seopressor' => 'SEOPressor',
348
- ];
349
-
350
- echo '<p>
351
- <select id="select-wizard-import" name="select-wizard-import">
352
- <option value="none">' . __('Select an option', 'wp-seopress') . '</option>';
353
-
354
- foreach ($plugins as $plugin => $name) {
355
- echo '<option value="' . $plugin . '-migration-tool">' . $name . '</option>';
356
- }
357
- echo '</select>
358
- </p>
359
-
360
- <p class="description">' . __('You don\'t have to enable the selected SEO plugin to run the import.', 'wp-seopress') . '</p>';
361
-
362
- foreach ($plugins as $plugin => $name) {
363
- echo seopress_migration_tool($plugin, $name);
364
- } ?>
 
 
 
 
 
365
  </div>
366
 
367
  <p class="seopress-setup-actions step">
368
- <button type="submit" class="btnPrimary btn btnNext"
369
- value="<?php esc_attr_e('Next step', 'wp-seopress'); ?>"
370
- name="save_step">
371
- <?php esc_html_e('Next step', 'wp-seopress'); ?>
372
- </button>
373
 
374
- <?php wp_nonce_field('seopress-setup'); ?>
375
  </p>
376
  </form>
377
  <?php
378
- }
379
-
380
- /**
381
- * Save step 1 settings.
382
- */
383
- public function seopress_setup_import_settings_save() {
384
- check_admin_referer('seopress-setup');
385
- wp_safe_redirect(esc_url_raw($this->get_next_step_link()));
386
- exit;
387
- }
388
-
389
- /**
390
- * Init "Step 2: Your site".
391
- */
392
- public function seopress_setup_site() {
393
- $seopress_titles_option = get_option('seopress_titles_option_name');
394
- $seopress_social_option = get_option('seopress_social_option_name');
395
-
396
- $site_sep = isset($seopress_titles_option['seopress_titles_sep']) ? $seopress_titles_option['seopress_titles_sep'] : null;
397
- $site_title = isset($seopress_titles_option['seopress_titles_home_site_title']) ? $seopress_titles_option['seopress_titles_home_site_title'] : null;
398
- $knowledge_type = isset($seopress_social_option['seopress_social_knowledge_type']) ? $seopress_social_option['seopress_social_knowledge_type'] : null;
399
- $knowledge_name = isset($seopress_social_option['seopress_social_knowledge_name']) ? $seopress_social_option['seopress_social_knowledge_name'] : null;
400
- $knowledge_img = isset($seopress_social_option['seopress_social_knowledge_img']) ? $seopress_social_option['seopress_social_knowledge_img'] : null;
401
- $knowledge_fb = isset($seopress_social_option['seopress_social_accounts_facebook']) ? $seopress_social_option['seopress_social_accounts_facebook'] : null;
402
- $knowledge_tw = isset($seopress_social_option['seopress_social_accounts_twitter']) ? $seopress_social_option['seopress_social_accounts_twitter'] : null;
403
- $knowledge_pin = isset($seopress_social_option['seopress_social_accounts_pinterest']) ? $seopress_social_option['seopress_social_accounts_pinterest'] : null;
404
- $knowledge_insta = isset($seopress_social_option['seopress_social_accounts_instagram']) ? $seopress_social_option['seopress_social_accounts_instagram'] : null;
405
- $knowledge_yt = isset($seopress_social_option['seopress_social_accounts_youtube']) ? $seopress_social_option['seopress_social_accounts_youtube'] : null;
406
- $knowledge_li = isset($seopress_social_option['seopress_social_accounts_linkedin']) ? $seopress_social_option['seopress_social_accounts_linkedin'] : null; ?>
407
 
408
  <h1><?php esc_html_e('Your site', 'wp-seopress'); ?>
409
  </h1>
410
  <form method="post">
411
- <p><?php esc_html_e('To build title tags and knowledge graph for Google, you need to fill out the fields below to configure the general settings. ', 'wp-seopress'); ?>
412
- </p>
413
-
414
- <p>
415
- <label for="site_sep"><?php esc_html_e('Separator', 'wp-seopress'); ?></label>
416
- <input type="text" id="site_sep" class="location-input" name="site_sep"
417
- placeholder="<?php esc_html_e('eg: |', 'wp-seopress'); ?>"
418
- required value="<?php echo $site_sep; ?>" />
419
- </p>
420
-
421
- <p class="description seopress-wizard-services description">
422
- <?php _e('This separator will be used by the dynamic variable <strong>%%sep%%</strong> in your title and meta description templates.', 'wp-seopress'); ?>
423
- </p>
424
-
425
- <p>
426
- <label for="site_title"><?php esc_html_e('Home site title', 'wp-seopress'); ?></label>
427
- <input type="text" id="site_title" class="location-input" name="site_title"
428
- placeholder="<?php esc_html_e('eg: My super website', 'wp-seopress'); ?>"
429
- required value="<?php echo $site_title; ?>" />
430
- </p>
431
-
432
- <p>
433
- <label for="knowledge_type"><?php esc_html_e('Person or organization', 'wp-seopress'); ?></label>
434
- <?php
435
- echo '<select id="knowledge_type" name="knowledge_type" data-placeholder="' . esc_attr__('Choose a knowledge type', 'wp-seopress') . '" class="location-input wc-enhanced-select dropdown">';
436
- echo ' <option ';
437
- if ('None' == $knowledge_type) {
438
- echo 'selected="selected"';
439
- }
440
- echo ' value="none">' . __('None (will disable this feature)', 'wp-seopress') . '</option>';
441
- echo ' <option ';
442
- if ('Person' == $knowledge_type) {
443
- echo 'selected="selected"';
444
- }
445
- echo ' value="Person">' . __('Person', 'wp-seopress') . '</option>';
446
- echo '<option ';
447
- if ('Organization' == $knowledge_type) {
448
- echo 'selected="selected"';
449
- }
450
- echo ' value="Organization">' . __('Organization', 'wp-seopress') . '</option>';
451
- echo '</select>'; ?>
452
- </p>
453
-
454
- <p>
455
- <label for="knowledge_name"><?php esc_html_e('Your name/organization', 'wp-seopress'); ?></label>
456
- <input type="text" id="knowledge_name" class="location-input" name="knowledge_name"
457
- placeholder="<?php esc_html_e('eg: My Company Name', 'wp-seopress'); ?>"
458
- value="<?php echo $knowledge_name; ?>" />
459
- </p>
460
-
461
- <p>
462
- <label for="knowledge_img"><?php esc_html_e('Your photo/organization logo', 'wp-seopress'); ?></label>
463
- <input type="text" id="knowledge_img" class="location-input" name="knowledge_img"
464
- placeholder="<?php esc_html_e('eg: https://www.example.com/logo.png', 'wp-seopress'); ?>"
465
- value="<?php echo $knowledge_img; ?>" />
466
- </p>
467
-
468
- <p>
469
- <label for="knowledge_fb"><?php esc_html_e('Facebook page URL', 'wp-seopress'); ?></label>
470
- <input type="text" id="knowledge_fb" class="location-input" name="knowledge_fb"
471
- placeholder="<?php esc_html_e('eg: https://facebook.com/my-page-url', 'wp-seopress'); ?>"
472
- value="<?php echo $knowledge_fb; ?>" />
473
- </p>
474
-
475
- <p>
476
- <label for="knowledge_tw"><?php esc_html_e('Twitter Username', 'wp-seopress'); ?></label>
477
- <input type="text" id="knowledge_tw" class="location-input" name="knowledge_tw"
478
- placeholder="<?php esc_html_e('eg: @my_twitter_account', 'wp-seopress'); ?>"
479
- value="<?php echo $knowledge_tw; ?>" />
480
- </p>
481
-
482
- <p>
483
- <label for="knowledge_pin"><?php esc_html_e('Pinterest URL', 'wp-seopress'); ?></label>
484
- <input type="text" id="knowledge_pin" class="location-input" name="knowledge_pin"
485
- placeholder="<?php esc_html_e('eg: https://pinterest.com/my-page-url/', 'wp-seopress'); ?>"
486
- value="<?php echo $knowledge_pin; ?>" />
487
- </p>
488
-
489
- <p>
490
- <label for="knowledge_insta"><?php esc_html_e('Instagram URL', 'wp-seopress'); ?></label>
491
- <input type="text" id="knowledge_insta" class="location-input" name="knowledge_insta"
492
- placeholder="<?php esc_html_e('eg: https://www.instagram.com/my-page-url/', 'wp-seopress'); ?>"
493
- value="<?php echo $knowledge_insta; ?>" />
494
- </p>
495
-
496
- <p>
497
- <label for="knowledge_yt"><?php esc_html_e('YouTube URL', 'wp-seopress'); ?></label>
498
- <input type="text" id="knowledge_yt" class="location-input" name="knowledge_yt"
499
- placeholder="<?php esc_html_e('eg: https://www.youtube.com/my-channel-url', 'wp-seopress'); ?>"
500
- value="<?php echo $knowledge_yt; ?>" />
501
- </p>
502
-
503
- <p>
504
- <label for="knowledge_li"><?php esc_html_e('LinkedIn URL', 'wp-seopress'); ?></label>
505
- <input type="text" id="knowledge_li" class="location-input" name="knowledge_li"
506
- placeholder="<?php esc_html_e('eg: http://linkedin.com/company/my-company-url/', 'wp-seopress'); ?>"
507
- value="<?php echo $knowledge_li; ?>" />
508
- </p>
509
-
510
- <p class="seopress-setup-actions step">
511
- <button type="submit" class="btnPrimary btn btnNext"
512
- value="<?php esc_attr_e('Continue', 'wp-seopress'); ?>"
513
- name="save_step">
514
- <?php esc_html_e('Continue', 'wp-seopress'); ?>
515
- </button>
516
- <?php wp_nonce_field('seopress-setup'); ?>
517
- </p>
518
  </form>
519
  <?php
520
- }
521
-
522
- /**
523
- * Save step 2 settings.
524
- */
525
- public function seopress_setup_site_save() {
526
- check_admin_referer('seopress-setup');
527
-
528
- //Get options
529
- $seopress_titles_option = get_option('seopress_titles_option_name');
530
- $seopress_social_option = get_option('seopress_social_option_name');
531
-
532
- //Titles
533
- $seopress_titles_option['seopress_titles_sep'] = isset($_POST['site_sep']) ? esc_attr(wp_unslash($_POST['site_sep'])) : '';
534
- $seopress_titles_option['seopress_titles_home_site_title'] = isset($_POST['site_title']) ? sanitize_text_field(wp_unslash($_POST['site_title'])) : '';
535
-
536
- //Social
537
- $seopress_social_option['seopress_social_knowledge_type'] = isset($_POST['knowledge_type']) ? esc_attr(wp_unslash($_POST['knowledge_type'])) : '';
538
- $seopress_social_option['seopress_social_knowledge_name'] = isset($_POST['knowledge_name']) ? sanitize_text_field(wp_unslash($_POST['knowledge_name'])) : '';
539
- $seopress_social_option['seopress_social_knowledge_img'] = isset($_POST['knowledge_img']) ? sanitize_text_field(wp_unslash($_POST['knowledge_img'])) : '';
540
-
541
- //Social accounts
542
- $seopress_social_option['seopress_social_accounts_facebook'] = isset($_POST['knowledge_fb']) ? sanitize_text_field(wp_unslash($_POST['knowledge_fb'])) : '';
543
- $seopress_social_option['seopress_social_accounts_twitter'] = isset($_POST['knowledge_tw']) ? sanitize_text_field(wp_unslash($_POST['knowledge_tw'])) : '';
544
- $seopress_social_option['seopress_social_accounts_pinterest'] = isset($_POST['knowledge_pin']) ? sanitize_text_field(wp_unslash($_POST['knowledge_pin'])) : '';
545
- $seopress_social_option['seopress_social_accounts_instagram'] = isset($_POST['knowledge_insta']) ? sanitize_text_field(wp_unslash($_POST['knowledge_insta'])) : '';
546
- $seopress_social_option['seopress_social_accounts_youtube'] = isset($_POST['knowledge_yt']) ? sanitize_text_field(wp_unslash($_POST['knowledge_yt'])) : '';
547
- $seopress_social_option['seopress_social_accounts_linkedin'] = isset($_POST['knowledge_li']) ? sanitize_text_field(wp_unslash($_POST['knowledge_li'])) : '';
548
-
549
- //Save options
550
- update_option('seopress_titles_option_name', $seopress_titles_option);
551
- update_option('seopress_social_option_name', $seopress_social_option);
552
-
553
- wp_safe_redirect(esc_url_raw($this->get_next_step_link()));
554
- exit;
555
- }
556
-
557
- /**
558
- * Init "Step 3: Indexing Step".
559
- */
560
- public function seopress_setup_indexing() {
561
- $seopress_titles_option = get_option('seopress_titles_option_name'); ?>
562
  <h1><?php esc_html_e('Indexing', 'wp-seopress'); ?>
563
  </h1>
564
  <p><?php esc_html_e('Specify to the search engines what you want to be indexed or not.', 'wp-seopress'); ?>
@@ -569,188 +579,197 @@ class SEOPRESS_Admin_Setup_Wizard {
569
  </p>
570
 
571
  <form method="post" class="seopress-wizard-indexing-form">
572
- <?php if ( ! empty(seopress_get_post_types())) { ?>
573
- <div class="seopress-wizard-services">
574
- <h2>
575
- <?php _e('For which single post types, should indexing be disabled?', 'wp-seopress'); ?>
576
- </h2>
577
-
578
- <ul>
579
- <?php
580
- //Post Types
581
- foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
582
- $seopress_titles_single_titles = isset($seopress_titles_option['seopress_titles_single_titles'][$seopress_cpt_key]['noindex']); ?>
583
-
584
- <h3><?php echo $seopress_cpt_value->labels->name; ?>
585
- <em><small>[<?php echo $seopress_cpt_value->name; ?>]</small></em>
586
- </h3>
587
-
588
- <li class="seopress-wizard-service-item checkbox">
589
- <label
590
- for="seopress_titles_single_cpt_noindex[<?php echo $seopress_cpt_key; ?>]">
591
- <input
592
- id="seopress_titles_single_cpt_noindex[<?php echo $seopress_cpt_key; ?>]"
593
- name="seopress_titles_option_name[seopress_titles_single_titles][<?php echo $seopress_cpt_key; ?>][noindex]"
594
- type="checkbox" <?php if ('1' == $seopress_titles_single_titles) {
595
- echo 'checked="yes"';
596
- } ?>
597
- value="1"/>
598
- <?php _e('Do not display this single post type in search engine results <strong>(noindex)</strong>', 'wp-seopress'); ?>
599
- </label>
600
- </li>
601
- <?php
602
- }
603
- ?>
604
- </ul>
605
- </div>
606
- <?php } ?>
607
-
608
- <?php if ( ! empty(seopress_get_post_types())) { ?>
609
- <div class="seopress-wizard-services">
610
- <h2>
611
- <?php _e('For which post type archives, should indexing be disabled?', 'wp-seopress'); ?>
612
- </h2>
613
-
614
- <ul>
615
- <?php
616
- foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
617
- if ( ! in_array($seopress_cpt_key, ['post', 'page'])) {
618
- $seopress_titles_archive_titles = isset($seopress_titles_option['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex']); ?>
619
- <h3><?php echo $seopress_cpt_value->labels->name; ?>
620
- <em><small>[<?php echo $seopress_cpt_value->name; ?>]</small></em>
621
- </h3>
622
-
623
- <li class="seopress-wizard-service-item checkbox">
624
- <label
625
- for="seopress_titles_archive_cpt_noindex[<?php echo $seopress_cpt_key; ?>]">
626
- <input
627
- id="seopress_titles_archive_cpt_noindex[<?php echo $seopress_cpt_key; ?>]"
628
- name="seopress_titles_option_name[seopress_titles_archive_titles][<?php echo $seopress_cpt_key; ?>][noindex]"
629
- type="checkbox" <?php if ('1' == $seopress_titles_archive_titles) {
630
- echo 'checked="yes"';
631
- } ?>
632
- value="1"/>
633
- <?php _e('Do not display this post type archive in search engine results <strong>(noindex)</strong>', 'wp-seopress'); ?>
634
- </label>
635
- </li>
636
- <?php
637
- }
638
- }
639
- ?>
640
- </ul>
641
- </div>
642
- <?php } ?>
643
-
644
- <?php if ( ! empty(seopress_get_taxonomies())) { ?>
645
- <div class="seopress-wizard-services">
646
- <h2>
647
- <?php _e('For which taxonomy archives, should indexing be disabled?', 'wp-seopress'); ?>
648
- </h2>
649
-
650
- <ul>
651
- <?php
652
- //Archives
653
- foreach (seopress_get_taxonomies() as $seopress_tax_key => $seopress_tax_value) {
654
- $seopress_titles_tax_titles = isset($seopress_titles_option['seopress_titles_tax_titles'][$seopress_tax_key]['noindex']); ?>
655
- <h3><?php echo $seopress_tax_value->labels->name; ?>
656
- <em><small>[<?php echo $seopress_tax_value->name; ?>]</small></em>
657
- </h3>
658
-
659
- <li class="seopress-wizard-service-item checkbox">
660
- <label
661
- for="seopress_titles_tax_noindex[<?php echo $seopress_tax_key; ?>]">
662
- <input
663
- id="seopress_titles_tax_noindex[<?php echo $seopress_tax_key; ?>]"
664
- name="seopress_titles_option_name[seopress_titles_tax_titles][<?php echo $seopress_tax_key; ?>][noindex]"
665
- type="checkbox" <?php if ('1' == $seopress_titles_tax_titles) {
666
- echo 'checked="yes"';
667
- } ?>
668
- value="1"/>
669
- <?php _e('Do not display this taxonomy archive in search engine results <strong>(noindex)</strong>', 'wp-seopress'); ?>
670
- </label>
671
- </li>
672
- <?php
673
- }
674
- ?>
675
- </ul>
676
- </div>
677
- <?php } ?>
678
-
679
- <p class="seopress-setup-actions step">
680
- <button type="submit" class="btnPrimary btn btnNext"
681
- value="<?php esc_attr_e('Continue', 'wp-seopress'); ?>"
682
- name="save_step">
683
- <?php esc_html_e('Continue', 'wp-seopress'); ?>
684
- </button>
685
-
686
- <?php wp_nonce_field('seopress-setup'); ?>
687
- </p>
 
 
 
 
 
 
 
 
688
  </form>
689
  <?php
690
- }
691
-
692
- /**
693
- * Save Step 3 settings.
694
- */
695
- public function seopress_setup_indexing_save() {
696
- check_admin_referer('seopress-setup');
697
-
698
- //Get options
699
- $seopress_titles_option = get_option('seopress_titles_option_name');
700
-
701
- //Post Types noindex
702
- foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
703
- if (isset($_POST['seopress_titles_option_name']['seopress_titles_single_titles'][$seopress_cpt_key]['noindex'])) {
704
- $noindex = esc_attr(wp_unslash($_POST['seopress_titles_option_name']['seopress_titles_single_titles'][$seopress_cpt_key]['noindex']));
705
- } else {
706
- $noindex = null;
707
- }
708
- $seopress_titles_option['seopress_titles_single_titles'][$seopress_cpt_key]['noindex'] = $noindex;
709
- }
710
-
711
- //Post Type archives noindex
712
- foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
713
- if (isset($_POST['seopress_titles_option_name']['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex'])) {
714
- $noindex = esc_attr(wp_unslash($_POST['seopress_titles_option_name']['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex']));
715
- } else {
716
- $noindex = null;
717
- }
718
- $seopress_titles_option['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex'] = $noindex;
719
- }
720
-
721
- //Archives noindex
722
- foreach (seopress_get_taxonomies() as $seopress_tax_key => $seopress_tax_value) {
723
- if (isset($_POST['seopress_titles_option_name']['seopress_titles_tax_titles'][$seopress_tax_key]['noindex'])) {
724
- $noindex = esc_attr(wp_unslash($_POST['seopress_titles_option_name']['seopress_titles_tax_titles'][$seopress_tax_key]['noindex']));
725
- } else {
726
- $noindex = null;
727
- }
728
- $seopress_titles_option['seopress_titles_tax_titles'][$seopress_tax_key]['noindex'] = $noindex;
729
- }
730
-
731
- //Save options
732
- update_option('seopress_titles_option_name', $seopress_titles_option);
733
-
734
- wp_redirect(esc_url_raw($this->get_next_step_link()));
735
- exit;
736
- }
737
-
738
- /**
739
- * Init "Step 4: Advanced Step".
740
- */
741
- public function seopress_setup_advanced() {
742
- $seopress_titles_option = get_option('seopress_titles_option_name');
743
- $author_noindex = isset($seopress_titles_option['seopress_titles_archives_author_noindex']);
744
- $seopress_advanced_option = get_option('seopress_advanced_option_name');
745
- $attachments_file = isset($seopress_advanced_option['seopress_advanced_advanced_attachments_file']);
746
- $category_url = isset($seopress_advanced_option['seopress_advanced_advanced_category_url']);
747
- $product_category_url = isset($seopress_advanced_option['seopress_advanced_advanced_product_cat_url']);
748
- $meta_title = isset($seopress_advanced_option['seopress_advanced_appearance_title_col']);
749
- $universal_seo_metabox = isset($seopress_advanced_option['seopress_advanced_appearance_universal_metabox_disable']);
750
- $meta_desc = isset($seopress_advanced_option['seopress_advanced_appearance_meta_desc_col']);
751
- $robots_noindex = isset($seopress_advanced_option['seopress_advanced_appearance_noindex_col']);
752
- $robots_nofollow = isset($seopress_advanced_option['seopress_advanced_appearance_nofollow_col']);
753
- $ca_score = isset($seopress_advanced_option['seopress_advanced_appearance_score_col']); ?>
 
754
 
755
  <h1><?php esc_html_e('Advanced options', 'wp-seopress'); ?>
756
  </h1>
@@ -758,405 +777,423 @@ class SEOPRESS_Admin_Setup_Wizard {
758
  </p>
759
 
760
  <form method="post">
761
- <ul class="seopress-wizard-services">
762
- <!-- Noindex on author archives -->
763
- <li class="seopress-wizard-service-item checkbox">
764
- <label for="author_noindex">
765
- <input id="author_noindex" class="location-input" name="author_noindex" type="checkbox" <?php if ('1' == $author_noindex) {
766
- echo 'checked="yes"';
767
- } ?> value="1"/>
768
- <?php _e('Do not display author archives in search engine results <strong>(noindex)</strong>', 'wp-seopress'); ?>
769
- </label>
770
- </li>
771
- <li class="description">
772
- <?php _e('You only have one author on your site? Check this option to avoid duplicate content.', 'wp-seopress'); ?>
773
- </li>
774
-
775
- <!-- Redirect attachment pages to URL -->
776
- <li class="seopress-wizard-service-item checkbox">
777
- <label for="attachments_file">
778
- <input id="attachments_file" class="location-input" name="attachments_file" type="checkbox" <?php if ('1' == $attachments_file) {
779
- echo 'checked="yes"';
780
- } ?> value="1"/>
781
- <?php _e('Redirect attachment pages to their file URL (https://www.example.com/my-image-file.jpg)', 'wp-seopress'); ?>
782
- </label>
783
- </li>
784
- <li class="description">
785
- <?php _e('By default, SEOPress redirects your Attachment pages to the parent post. Optimize this by redirecting the user directly to the URL of the media file.', 'wp-seopress'); ?>
786
- </li>
787
-
788
- <!-- Remove /category/ in URLs -->
789
- <li class="seopress-wizard-service-item checkbox">
790
- <label for="category_url">
791
- <input id="category_url" name="category_url" type="checkbox" class="location-input" <?php if ('1' == $category_url) {
792
- echo 'checked="yes"';
793
- } ?> value="1"/>
794
- <?php
795
- $category_base = '/category/';
796
- if (get_option('category_base')) {
797
- $category_base = '/' . get_option('category_base');
798
- }
799
-
800
- printf(__('Remove <strong>%s</strong> in your permalinks', 'wp-seopress'), $category_base); ?>
801
- </label>
802
- </li>
803
- <li class="description">
804
- <?php printf(__('Shorten your URLs by removing %s and improve your SEO.', 'wp-seopress'), $category_base); ?>
805
- </li>
806
-
807
- <!-- Remove /product-category/ in URLs -->
808
- <li class="seopress-wizard-service-item checkbox">
809
- <label for="product_category_url">
810
- <input id="product_category_url" name="product_category_url" type="checkbox" class="location-input"
811
- <?php if ('1' == $product_category_url) {
812
- echo 'checked="yes"';
813
- } ?> value="1"/>
814
- <?php
815
- $category_base = get_option('woocommerce_permalinks');
816
- $category_base = $category_base['category_base'];
817
-
818
- if ('' != $category_base) {
819
- $category_base = '/' . $category_base . '/';
820
- } else {
821
- $category_base = '/product-category/';
822
- }
823
-
824
- printf(__('Remove <strong>%s</strong> in your permalinks', 'wp-seopress'), $category_base); ?>
825
- </label>
826
- </li>
827
- <li class="description">
828
- <?php printf(__('Shorten your URLs by removing %s and improve your SEO.', 'wp-seopress'), $category_base); ?>
829
- </li>
830
- </ul>
831
-
832
- <h2>
833
- <?php _e('Universal SEO metabox', 'wp-seopress'); ?>
834
- </h2>
835
-
836
- <ul class="seopress-wizard-services">
837
- <li class="description">
838
- <?php _e('Edit your SEO metadata from your page or theme builder. Default: <strong>Enabled</strong>.', 'wp-seopress'); ?>
839
- </li>
840
- <!-- Show meta title -->
841
- <li class="seopress-wizard-service-item checkbox">
842
- <label for="universal_seo_metabox">
843
- <input id="universal_seo_metabox" name="universal_seo_metabox" type="checkbox" class="location-input" <?php if ('1' == $universal_seo_metabox) {
844
- echo 'checked="yes"';
845
- } ?> value="1"/>
846
- <?php _e('No, I prefer to use the good old one SEO metabox', 'wp-seopress'); ?>
847
- </label>
848
- </li>
849
- <li class="description">
850
- <?php _e('You can change this setting at anytime from SEO, Advanced settings page, Appearance tab.', 'wp-seopress'); ?>
851
- </li>
852
- </ul>
853
-
854
- <h2>
855
- <?php _e('Choose which SEO columns to display in post types list:', 'wp-seopress'); ?>
856
- </h2>
857
-
858
- <ul class="seopress-wizard-services">
859
- <!-- Show meta title -->
860
- <li class="seopress-wizard-service-item checkbox">
861
- <label for="meta_title">
862
- <input id="meta_title" name="meta_title" type="checkbox" class="location-input" <?php if ('1' == $meta_title) {
863
- echo 'checked="yes"';
864
- } ?> value="1"/>
865
- <?php _e('Show Title tag column in post types', 'wp-seopress'); ?>
866
- </label>
867
- </li>
868
-
869
- <!-- Show meta description -->
870
- <li class="seopress-wizard-service-item checkbox">
871
- <label for="meta_desc">
872
- <input id="meta_desc" name="meta_desc" type="checkbox" class="location-input" <?php if ('1' == $meta_desc) {
873
- echo 'checked="yes"';
874
- } ?> value="1"/>
875
- <?php _e('Show Meta description column in post types', 'wp-seopress'); ?>
876
- </label>
877
- </li>
878
-
879
- <!-- Show meta robots noindex -->
880
- <li class="seopress-wizard-service-item checkbox">
881
- <label for="robots_noindex">
882
- <input id="robots_noindex" name="robots_noindex" type="checkbox" class="location-input" <?php if ('1' == $robots_noindex) {
883
- echo 'checked="yes"';
884
- } ?> value="1"/>
885
- <?php _e('Show noindex column in post types', 'wp-seopress'); ?>
886
- </label>
887
- </li>
888
- <li class="description">
889
- <?php _e('Quickly know if a content is in noindex.', 'wp-seopress'); ?>
890
- </li>
891
-
892
- <!-- Show meta robots nofollow -->
893
- <li class="seopress-wizard-service-item checkbox">
894
- <label for="robots_nofollow">
895
- <input id="robots_nofollow" name="robots_nofollow" type="checkbox" class="location-input" <?php if ('1' == $robots_nofollow) {
896
- echo 'checked="yes"';
897
- } ?> value="1"/>
898
- <?php _e('Show nofollow column in post types', 'wp-seopress'); ?>
899
- </label>
900
- </li>
901
- <li class="description">
902
- <?php _e('Quickly know if a content is in nofollow.', 'wp-seopress'); ?>
903
- </li>
904
-
905
- <!-- Show meta content analysis score -->
906
- <li class="seopress-wizard-service-item checkbox">
907
- <label for="ca_score">
908
- <input id="ca_score" name="ca_score" type="checkbox" class="location-input" <?php if ('1' == $ca_score) {
909
- echo 'checked="yes"';
910
- } ?> value="1"/>
911
- <?php _e('Show content analysis score column in post types', 'wp-seopress'); ?>
912
- </label>
913
- </li>
914
- <li class="description">
915
- <?php _e('Quickly know if a content is optimized for search engines.', 'wp-seopress'); ?>
916
- </li>
917
- </ul>
918
-
919
- <p class="seopress-setup-actions step">
920
- <button type="submit" class="btn btnPrimary btnNext"
921
- value="<?php esc_attr_e('Continue', 'wp-seopress'); ?>"
922
- name="save_step">
923
- <?php esc_html_e('Continue', 'wp-seopress'); ?>
924
- </button>
925
-
926
- <?php wp_nonce_field('seopress-setup'); ?>
927
- </p>
 
 
 
 
 
 
 
 
 
 
 
 
928
  </form>
929
  <?php
930
- }
931
 
932
- /**
933
- * Save step 4 settings.
934
- */
935
- public function seopress_setup_advanced_save() {
936
- check_admin_referer('seopress-setup');
937
 
938
- //Get options
939
- $seopress_titles_option = get_option('seopress_titles_option_name');
940
- $seopress_advanced_option = get_option('seopress_advanced_option_name');
941
 
942
- //Author indexing
943
- $seopress_titles_option['seopress_titles_archives_author_noindex'] = isset($_POST['author_noindex']) ? esc_attr(wp_unslash($_POST['author_noindex'])) : null;
944
 
945
- //Advanced
946
- $seopress_advanced_option['seopress_advanced_advanced_attachments_file'] = isset($_POST['attachments_file']) ? esc_attr(wp_unslash($_POST['attachments_file'])) : null;
947
- $seopress_advanced_option['seopress_advanced_advanced_category_url'] = isset($_POST['category_url']) ? esc_attr(wp_unslash($_POST['category_url'])) : null;
948
 
949
- $seopress_advanced_option['seopress_advanced_appearance_universal_metabox_disable'] = isset($_POST['universal_seo_metabox']) ? esc_attr(wp_unslash($_POST['universal_seo_metabox'])) : null;
 
950
 
951
- $seopress_advanced_option['seopress_advanced_appearance_title_col'] = isset($_POST['meta_title']) ? esc_attr(wp_unslash($_POST['meta_title'])) : null;
952
- $seopress_advanced_option['seopress_advanced_appearance_meta_desc_col'] = isset($_POST['meta_desc']) ? esc_attr(wp_unslash($_POST['meta_desc'])) : null;
953
 
954
- $seopress_advanced_option['seopress_advanced_appearance_noindex_col'] = isset($_POST['robots_noindex']) ? esc_attr(wp_unslash($_POST['robots_noindex'])) : null;
955
- $seopress_advanced_option['seopress_advanced_appearance_nofollow_col'] = isset($_POST['robots_nofollow']) ? esc_attr(wp_unslash($_POST['robots_nofollow'])) : null;
956
- $seopress_advanced_option['seopress_advanced_appearance_score_col'] = isset($_POST['ca_score']) ? esc_attr(wp_unslash($_POST['ca_score'])) : null;
957
 
958
- //Save options
959
- update_option('seopress_titles_option_name', $seopress_titles_option);
960
- update_option('seopress_advanced_option_name', $seopress_advanced_option);
961
 
962
- wp_redirect(esc_url_raw($this->get_next_step_link()));
963
- exit;
964
- }
 
 
965
 
966
- /**
967
- * Init "Step 4: Advanced Step".
968
- */
969
- public function seopress_setup_insights() {
970
- $docs = seopress_get_docs_links(); ?>
 
 
 
971
  <!-- SEOPress Insights -->
972
  <div class="seopress-wizard-next-step-description text-center">
973
- <img src="<?php echo SEOPRESS_ASSETS_DIR . '/img/logo-seopress-insights-square-alt.svg'; ?>"
974
- width="40" height="40" alt="" />
975
-
976
- <h1 class="seopress-setup-actions step">
977
- <?php _e('Start monitoring your rankings and backlinks <br>directly from your WordPress admin', 'wp-seopress'); ?>
978
- </h1>
979
- <p class="seopress-setup-actions step">
980
- <?php esc_html_e('Track your keyword positions from Google Search results daily.', 'wp-seopress'); ?>
981
- </p>
982
- <p class="seopress-setup-actions step">
983
- <?php esc_html_e('Monitor and analyse your top 1,000 Backlinks weekly.', 'wp-seopress'); ?>
984
- </p>
985
- <p class="seopress-setup-actions step">
986
- <?php esc_html_e('Export your data to CSV, PDF, Excel.', 'wp-seopress'); ?>
987
- </p>
988
-
989
- <div class="wrap-iframe">
990
- <?php echo wp_oembed_get('https://www.youtube.com/watch?v=n-a2U4_anWA'); ?>
991
- </div>
992
-
993
- <p class="seopress-setup-actions step">
994
- <a class="btn btnPrimary"
995
- href="<?php echo $docs['insights']; ?>"
996
- target="_blank">
997
- <?php _e('Get SEOPress Insights', 'wp-seopress'); ?>
998
- </a>
999
- </p>
1000
  </div>
1001
  <?php
1002
- }
1003
 
1004
- /**
1005
- * Final step.
1006
- */
1007
- public function seopress_setup_ready() {
1008
- //Remove SEOPress notice
1009
- $seopress_notices = get_option('seopress_notices');
1010
- $seopress_notices['notice-wizard'] = '1';
1011
- update_option('seopress_notices', $seopress_notices);
1012
 
1013
- $docs = seopress_get_docs_links();
1014
 
1015
- //Flush permalinks
1016
- flush_rewrite_rules(false); ?>
1017
  <h1><?php esc_html_e('Your site is now ready for search engines!', 'wp-seopress'); ?>
1018
  </h1>
1019
 
1020
  <ul class="seopress-wizard-next-steps">
1021
- <li class="seopress-wizard-next-step-item">
1022
- <!-- SEOPress PRO -->
1023
- <?php if ('valid' != get_option('seopress_pro_license_status') && is_plugin_active('wp-seopress-pro/seopress-pro.php') && ! is_multisite()) { ?>
1024
- <div class="seopress-wizard-next-step-description">
1025
- <p class="next-step-heading"><?php esc_html_e('Next step', 'wp-seopress'); ?>
1026
- </p>
1027
- <h3 class="next-step-description">
1028
- <?php esc_html_e('Welcome to SEOPress PRO!', 'wp-seopress'); ?>
1029
- </h3>
1030
- <p class="next-step-extra-info">
1031
- <?php esc_html_e('Please activate your license to receive automatic updates and get premium support.', 'wp-seopress'); ?>
1032
- </p>
1033
- </div>
1034
- <div class="seopress-wizard-next-step-action">
1035
- <p class="seopress-setup-actions step">
1036
- <a class="btn btnPrimary"
1037
- href="<?php echo admin_url('admin.php?page=seopress-license'); ?>">
1038
- <?php _e('Activate License', 'wp-seopress'); ?>
1039
- </a>
1040
- </p>
1041
- </div>
1042
- <?php } elseif ( ! is_plugin_active('wp-seopress-pro/seopress-pro.php') && ! is_multisite()) { ?>
1043
- <div class="seopress-wizard-next-step-description text-center">
1044
- <h2 class="next-step-description">
1045
- <?php esc_html_e('Go PRO with SEOPress PRO!', 'wp-seopress'); ?>
1046
- </h2>
1047
- <p class="next-step-extra-info">
1048
- <?php esc_html_e('When you upgrade to the PRO version, you get a lot of additional features, like automatic and manual schemas, Video Sitemap, WooCommerce enhancements, Analytics statistics in your Dashboard, breadcrumbs, redirections, and more.', 'wp-seopress'); ?>
1049
- </p>
1050
-
1051
- <p class="seopress-setup-actions step">
1052
- <a class="btn btnPrimary"
1053
- href="<?php echo $docs['website']; ?>"
1054
- target="_blank">
1055
- <?php _e('Buy SEOPress PRO - $39 / unlimited sites', 'wp-seopress'); ?>
1056
- </a>
1057
- </p>
1058
- </div>
1059
- <?php } ?>
1060
- </li>
1061
-
1062
- <li class="seopress-wizard-next-step-item">
1063
- <div class="seopress-wizard-next-step-description">
1064
- <p class="next-step-heading"><?php esc_html_e('Next step', 'wp-seopress'); ?>
1065
- </p>
1066
- <h3 class="next-step-description"><?php esc_html_e('Create your XML sitemaps', 'wp-seopress'); ?>
1067
- </h3>
1068
- <p class="next-step-extra-info"><?php esc_html_e("Build custom XML sitemaps to improve Google's crawling of your site.", 'wp-seopress'); ?>
1069
- </p>
1070
- </div>
1071
- <div class="seopress-wizard-next-step-action">
1072
- <p class="seopress-setup-actions step">
1073
- <a class="btn btnSecondary"
1074
- href="<?php echo admin_url('admin.php?page=seopress-xml-sitemap'); ?>">
1075
- <?php esc_html_e('Configure your XML sitemaps', 'wp-seopress'); ?>
1076
- </a>
1077
- </p>
1078
- </div>
1079
- </li>
1080
-
1081
- <li class="seopress-wizard-additional-steps">
1082
- <div class="seopress-wizard-next-step-description">
1083
- <p class="next-step-heading"><?php esc_html_e('Follow us:', 'wp-seopress'); ?>
1084
- </p>
1085
- </div>
1086
- <div class="seopress-wizard-next-step-action step">
1087
- <ul class="recommended-step">
1088
- <li class="seopress-wizard-service-item">
1089
- <a href="<?php echo $docs['external']['facebook']; ?>"
1090
- target="_blank">
1091
- <span class="dashicons dashicons-facebook"></span>
1092
- <?php _e('Like our Facebook page', 'wp-seopress'); ?>
1093
- </a>
1094
- </li>
1095
- <li class="seopress-wizard-service-item">
1096
- <a href="<?php echo $docs['external']['facebook_gr']; ?>"
1097
- target="_blank">
1098
- <span class="dashicons dashicons-facebook"></span>
1099
- <?php _e('Join our Facebook Community group', 'wp-seopress'); ?>
1100
- </a>
1101
- </li>
1102
- <li class="seopress-wizard-service-item">
1103
- <a href="<?php echo $docs['external']['youtube']; ?>"
1104
- target="_blank">
1105
- <span class="dashicons dashicons-video-alt3"></span>
1106
- <?php _e('Watch our guided tour videos to learn more about SEOPress', 'wp-seopress'); ?>
1107
- </a>
1108
- </li>
1109
- <li class="seopress-wizard-service-item">
1110
- <a href="<?php echo $docs['blog']; ?>"
1111
- target="_blank">
1112
- <span class="dashicons dashicons-format-aside"></span>
1113
- <?php _e('Read our blog posts about SEO concepts, tutorials and more', 'wp-seopress'); ?>
1114
- </a>
1115
- </li>
1116
- <li class="seopress-wizard-service-item">
1117
- <a href="<?php echo $docs['external']['twitter']; ?>"
1118
- target="_blank">
1119
- <span class="dashicons dashicons-twitter"></span>
1120
- <?php _e('Follow us on Twitter', 'wp-seopress'); ?>
1121
- </a>
1122
- </li>
1123
- <li class="seopress-wizard-service-item">
1124
- <a href="<?php echo $docs['external']['instagram']; ?>"
1125
- target="_blank">
1126
- <span class="dashicons dashicons-instagram"></span>
1127
- <?php _e('The off side of SEOPress', 'wp-seopress'); ?>
1128
- </a>
1129
- </li>
1130
- </ul>
1131
- </div>
1132
- </li>
1133
-
1134
- <li class="seopress-wizard-additional-steps">
1135
- <div class="seopress-wizard-next-step-description">
1136
- <p class="next-step-heading"><?php esc_html_e('You can also:', 'wp-seopress'); ?>
1137
- </p>
1138
- </div>
1139
- <div class="seopress-wizard-next-step-action step">
1140
- <p class="seopress-setup-actions step">
1141
- <a class="btn btnSecondary"
1142
- href="<?php echo esc_url(admin_url()); ?>">
1143
- <?php esc_html_e('Visit Dashboard', 'wp-seopress'); ?>
1144
- </a>
1145
- <a class="btn btnSecondary"
1146
- href="<?php echo esc_url(admin_url('admin.php?page=seopress-option')); ?>">
1147
- <?php esc_html_e('Review Settings', 'wp-seopress'); ?>
1148
- </a>
1149
- <a class="btn btnSecondary"
1150
- href="<?php echo $docs['support']; ?>"
1151
- target="_blank">
1152
- <?php esc_html_e('Knowledge base', 'wp-seopress'); ?>
1153
- </a>
1154
- </p>
1155
- </div>
1156
- </li>
1157
  </ul>
1158
  <?php
1159
- }
1160
  }
1161
 
1162
  new SEOPRESS_Admin_Setup_Wizard();
7
  * @version 3.5.8
8
  */
9
  if ( ! defined('ABSPATH')) {
10
+ exit;
11
  }
12
 
13
  /**
14
  * SEOPRESS_Admin_Setup_Wizard class.
15
  */
16
  class SEOPRESS_Admin_Setup_Wizard {
17
+ /**
18
+ * Current step.
19
+ *
20
+ * @var string
21
+ */
22
+ private $step = '';
23
+
24
+ /**
25
+ * Steps for the setup wizard.
26
+ *
27
+ * @var array
28
+ */
29
+ private $steps = [];
30
+
31
+ /**
32
+ * Hook in tabs.
33
+ */
34
+ public function __construct() {
35
+ if (apply_filters('seopress_enable_setup_wizard', true) && current_user_can(seopress_capability('manage_options', 'Admin_Setup_Wizard'))) {
36
+ add_action('admin_menu', [$this, 'admin_menus']);
37
+ add_action('admin_init', [$this, 'setup_wizard']);
38
+ add_action('admin_enqueue_scripts', [$this, 'enqueue_scripts']);
39
+ }
40
+ }
41
+
42
+ /**
43
+ * Add admin menus/screens.
44
+ */
45
+ public function admin_menus() {
46
+ add_dashboard_page('', '', seopress_capability('manage_options', 'menu'), 'seopress-setup', '');
47
+ }
48
+
49
+ /**
50
+ * Register/enqueue scripts and styles for the Setup Wizard.
51
+ *
52
+ * Hooked onto 'admin_enqueue_scripts'.
53
+ */
54
+ public function enqueue_scripts() {
55
+ $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
56
+ wp_enqueue_style('seopress-setup', plugins_url('assets/css/seopress-setup' . $prefix . '.css', dirname(dirname(dirname(__FILE__)))), ['install'], SEOPRESS_VERSION);
57
+ wp_register_script('seopress-migrate-ajax', plugins_url('assets/js/seopress-migrate' . $prefix . '.js', dirname(dirname(dirname(__FILE__)))), ['jquery'], SEOPRESS_VERSION, true);
58
+
59
+ $seopress_migrate = [
60
+ 'seopress_aio_migrate' => [
61
+ 'seopress_nonce' => wp_create_nonce('seopress_aio_migrate_nonce'),
62
+ 'seopress_aio_migration' => admin_url('admin-ajax.php'),
63
+ ],
64
+ 'seopress_yoast_migrate' => [
65
+ 'seopress_nonce' => wp_create_nonce('seopress_yoast_migrate_nonce'),
66
+ 'seopress_yoast_migration' => admin_url('admin-ajax.php'),
67
+ ],
68
+ 'seopress_seo_framework_migrate' => [
69
+ 'seopress_nonce' => wp_create_nonce('seopress_seo_framework_migrate_nonce'),
70
+ 'seopress_seo_framework_migration' => admin_url('admin-ajax.php'),
71
+ ],
72
+ 'seopress_rk_migrate' => [
73
+ 'seopress_nonce' => wp_create_nonce('seopress_rk_migrate_nonce'),
74
+ 'seopress_rk_migration' => admin_url('admin-ajax.php'),
75
+ ],
76
+ 'seopress_squirrly_migrate' => [
77
+ 'seopress_nonce' => wp_create_nonce('seopress_squirrly_migrate_nonce'),
78
+ 'seopress_squirrly_migration' => admin_url('admin-ajax.php'),
79
+ ],
80
+ 'seopress_seo_ultimate_migrate' => [
81
+ 'seopress_nonce' => wp_create_nonce('seopress_seo_ultimate_migrate_nonce'),
82
+ 'seopress_seo_ultimate_migration' => admin_url('admin-ajax.php'),
83
+ ],
84
+ 'seopress_wp_meta_seo_migrate' => [
85
+ 'seopress_nonce' => wp_create_nonce('seopress_meta_seo_migrate_nonce'),
86
+ 'seopress_wp_meta_seo_migration' => admin_url('admin-ajax.php'),
87
+ ],
88
+ 'seopress_premium_seo_pack_migrate' => [
89
+ 'seopress_nonce' => wp_create_nonce('seopress_premium_seo_pack_migrate_nonce'),
90
+ 'seopress_premium_seo_pack_migration' => admin_url('admin-ajax.php'),
91
+ ],
92
+ 'seopress_wpseo_migrate' => [
93
+ 'seopress_nonce' => wp_create_nonce('seopress_wpseo_migrate_nonce'),
94
+ 'seopress_wpseo_migration' => admin_url('admin-ajax.php'),
95
+ ],
96
+ 'seopress_platinum_seo_migrate' => [
97
+ 'seopress_nonce' => wp_create_nonce('seopress_platinum_seo_migrate_nonce'),
98
+ 'seopress_platinum_seo_migration' => admin_url('admin-ajax.php'),
99
+ ],
100
+ 'seopress_smart_crawl_migrate' => [
101
+ 'seopress_nonce' => wp_create_nonce('seopress_smart_crawl_migrate_nonce'),
102
+ 'seopress_smart_crawl_migration' => admin_url('admin-ajax.php'),
103
+ ],
104
+ 'seopress_seopressor_migrate' => [
105
+ 'seopress_nonce' => wp_create_nonce('seopress_seopressor_migrate_nonce'),
106
+ 'seopress_seopressor_migration' => admin_url('admin-ajax.php'),
107
+ ],
108
+ 'seopress_metadata_csv' => [
109
+ 'seopress_nonce' => wp_create_nonce('seopress_export_csv_metadata_nonce'),
110
+ 'seopress_metadata_export' => admin_url('admin-ajax.php'),
111
+ ],
112
+ 'i18n' => [
113
+ 'migration' => __('Migration completed!', 'wp-seopress'),
114
+ 'export' => __('Export completed!', 'wp-seopress'),
115
+ ],
116
+ ];
117
+ wp_localize_script('seopress-migrate-ajax', 'seopressAjaxMigrate', $seopress_migrate);
118
+ }
119
+
120
+ /**
121
+ * Show the setup wizard.
122
+ */
123
+ public function setup_wizard() {
124
+ if (empty($_GET['page']) || 'seopress-setup' !== $_GET['page']) {
125
+ return;
126
+ }
127
+ $default_steps = [
128
+ 'import_settings' => [
129
+ 'name' => __('Import SEO settings', 'wp-seopress'),
130
+ 'view' => [$this, 'seopress_setup_import_settings'],
131
+ 'handler' => [$this, 'seopress_setup_import_settings_save'],
132
+ ],
133
+ 'site' => [
134
+ 'name' => __('Your site', 'wp-seopress'),
135
+ 'view' => [$this, 'seopress_setup_site'],
136
+ 'handler' => [$this, 'seopress_setup_site_save'],
137
+ ],
138
+ 'indexing' => [
139
+ 'name' => __('Indexing', 'wp-seopress'),
140
+ 'view' => [$this, 'seopress_setup_indexing'],
141
+ 'handler' => [$this, 'seopress_setup_indexing_save'],
142
+ ],
143
+ 'advanced' => [
144
+ 'name' => __('Advanced options', 'wp-seopress'),
145
+ 'view' => [$this, 'seopress_setup_advanced'],
146
+ 'handler' => [$this, 'seopress_setup_advanced_save'],
147
+ ],
148
+ ];
149
+
150
+ if ( ! is_plugin_active('wp-seopress-insights/seopress-insights.php') && ! is_multisite()) {
151
+ $default_steps['insights'] = [
152
+ 'name' => __('Insights', 'wp-seopress'),
153
+ 'view' => [$this, 'seopress_setup_insights'],
154
+ 'handler' => '',
155
+ ];
156
+ }
157
+ $default_steps['ready'] = [
158
+ 'name' => __('Ready!', 'wp-seopress'),
159
+ 'view' => [$this, 'seopress_setup_ready'],
160
+ 'handler' => '',
161
+ ];
162
+
163
+ $this->steps = apply_filters('seopress_setup_wizard_steps', $default_steps);
164
+ $this->step = isset($_GET['step']) ? sanitize_key($_GET['step']) : current(array_keys($this->steps));
165
+
166
+ if ( ! empty($_POST['save_step']) && isset($this->steps[$this->step]['handler'])) {
167
+ call_user_func($this->steps[$this->step]['handler'], $this);
168
+ }
169
+
170
+ ob_start();
171
+ $this->setup_wizard_header();
172
+ $this->setup_wizard_steps();
173
+ $this->setup_wizard_content();
174
+ $this->setup_wizard_footer();
175
+ exit;
176
+ }
177
+
178
+ /**
179
+ * Get the URL for the next step's screen.
180
+ *
181
+ * @param string $step slug (default: current step)
182
+ *
183
+ * @return string URL for next step if a next step exists.
184
+ * Admin URL if it's the last step.
185
+ * Empty string on failure.
186
+ *
187
+ * @since 3.5.8
188
+ */
189
+ public function get_next_step_link($step = '') {
190
+ if ( ! $step) {
191
+ $step = $this->step;
192
+ }
193
+
194
+ $keys = array_keys($this->steps);
195
+ if (end($keys) === $step) {
196
+ return admin_url();
197
+ }
198
+
199
+ $step_index = array_search($step, $keys, true);
200
+ if (false === $step_index) {
201
+ return '';
202
+ }
203
+
204
+ return add_query_arg('step', $keys[$step_index + 1], remove_query_arg('activate_error'));
205
+ }
206
+
207
+ /**
208