SEOPress - Version 3.7.3

Version Description

  • NEW WordPress 5.3 compatibility
  • NEW Export metadata to a CSV file! (PRO)
  • NEW Added multi-domain support for XML sitemaps with Polylang (https://www.seopress.org/support/guides/multidomain-xml-sitemap-with-polylang-and-seopress/)
  • NEW Import post metadata from Squirrly (https://www.seopress.org/support/guides/import-post-metadatas-from-squirrly-to-seopress/)
  • NEW 'seopress_metadata_query_args' hook to filter CSV metadata export query (https://www.seopress.org/support/hooks/filter-the-arguments-of-the-metadata-export-query/)
  • NEW 'seopress_post_types' hook to filter custom post type used by SEOPress
  • NEW 'seopress_sitemaps_single_img_url' hook to filter standard image URLs in XML image sitemaps (use it inside a mu-plugin)
  • NEW 'seopress_sitemaps_single_shortcodes' hook to filter execution of shortcodes in XML image sitemaps (use it inside a mu-plugin)
  • INFO Improve XML image sitemaps for featured images, product galleries...
  • INFO Breadcrumbs options can now be translated from WPML / Polylang (wpml-config.xml)
  • FIX Call to undefined function is_product() in /wp-seopress/inc/functions/variables/dynamic-variables.php:97
  • FIX JS error in content analysis metabox on Google Suggestions
Download this release

Release Info

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

Code changes from version 3.7.2 to 3.7.3

assets/css/seopress.css CHANGED
@@ -650,7 +650,7 @@ body.seopress-styles {
650
  margin: 0;
651
  }
652
 
653
- .seopress-styles .seopress-option #seopress-yoast-migrate, .seopress-styles .seopress-option #seopress-aio-migrate, .seopress-styles .seopress-option #seopress-seo-framework-migrate, .seopress-styles .seopress-option #submit {
654
  color: #fff;
655
  text-decoration: none;
656
  border: none;
@@ -670,7 +670,7 @@ body.seopress-styles {
670
  z-index: 10;
671
  }
672
 
673
- .seopress-styles .seopress-option #seopress-yoast-migrate:hover, .seopress-styles .seopress-option #seopress-aio-migrate:hover, .seopress-styles .seopress-option #seopress-seo-framework-migrate:hover, .seopress-styles .seopress-option #submit:hover {
674
  text-decoration: none;
675
  color: #FFF;
676
  background: #232323;
650
  margin: 0;
651
  }
652
 
653
+ .seopress-styles .seopress-option #seopress-yoast-migrate, .seopress-styles .seopress-option #seopress-aio-migrate, .seopress-styles .seopress-option #seopress-seo-framework-migrate, .seopress-styles .seopress-option #seopress-rk-migrate, .seopress-styles .seopress-option #seopress-squirrly-migrate, .seopress-styles .seopress-option #submit {
654
  color: #fff;
655
  text-decoration: none;
656
  border: none;
670
  z-index: 10;
671
  }
672
 
673
+ .seopress-styles .seopress-option #seopress-yoast-migrate:hover, .seopress-styles .seopress-option #seopress-aio-migrate:hover, .seopress-styles .seopress-option #seopress-seo-framework-migrate:hover, .seopress-styles .seopress-option #seopress-rk-migrate:hover, .seopress-styles .seopress-option #seopress-squirrly-migrate:hover, .seopress-styles .seopress-option #submit:hover {
674
  text-decoration: none;
675
  color: #FFF;
676
  background: #232323;
assets/css/seopress.min.css CHANGED
@@ -1 +1 @@
1
- #adminmenu div.wp-menu-image.dashicons-admin-seopress::before,#seopress-header #seopress-admin h1::before{content:"\e800";font-family:seopress!important;font-weight:700;font-size:12px;line-height:20px}#seopress-header #seopress-admin h1::before,.seopress-page-list .seopress-feature h3,.seopress-styles .seopress-option h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?81521271);src:url(../fonts/seopress.eot?81521271#iefix) format('embedded-opentype'),url(../fonts/seopress.woff?81521271) format('woff2'),url(../fonts/seopress.woff?81521271) format('woff'),url(../fonts/seopress.ttf?81521271) format('truetype'),url(../fonts/seopress.svg?81521271#seopress) format('svg');font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important;font-size:14px!important;line-height:24px!important}.icon-seopress-seopress:before{content:"\e800"}.sp-tooltip{position:relative;margin-left:5px;display:inline-block;cursor:help}.sp-tooltip .dashicons{color:#666}.sp-tooltip .sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;color:#fff;font-size:.8em;background:#333;text-align:center;width:240px;right:0;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2);top:25px}.sp-tooltip:hover .sp-tooltiptext{visibility:visible}#seopress_content_analysis .wrap-seopress-analysis{display:inline-block;width:100%}#seopress_content_analysis .col-left{width:calc(50% - 30px);float:left;margin-right:30px}#seopress_content_analysis .col-right{float:right;width:50%}#seopress_content_analysis #seopress_suggestions{display:inline-block;width:100%;margin:0;height:auto;padding:20px 0}#seopress_content_analysis #seopress_suggestions li{list-style:none;margin:5px;display:inline-block}#seopress_launch_analysis{float:left}#seopress_analysis_results_state{background:rgba(74,184,102,.75);color:#fff;padding:5px 25px 5px 20px;border-radius:100px;font-style:italic;position:relative;width:auto;display:inline-block;margin:0 0 0 20px;clear:both}#seopress_content_analysis h3{border-bottom:1px solid #ddd;padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul{display:flex;flex-wrap:wrap}#seopress_content_analysis .wrap-analysis-img ul li{padding:0;text-align:left;cursor:default}#seopress_content_analysis .wrap-analysis-img h4{border-bottom:1px solid #ddd;padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul li img{max-width:150px;max-height:150px;object-fit:cover;cursor:default}#seopress_cpt .notice{padding:10px 14px}#seopress-analysis-tabs .dashicons,#seopress_cpt .dashicons{vertical-align:middle}#seopress_cpt .inside{margin:0;padding:0}#seopress_content_analysis .ui-tabs .ui-tabs-nav,#seopress_cpt .ui-tabs .ui-tabs-nav{display:inline-block;min-height:26px;position:relative;width:100%;z-index:10;margin:0;border-radius:0;padding:0;background:#f3f4f5;border:none}#seopress_content_analysis .ui-tabs .ui-tabs-nav{width:calc(100% + 24px);margin:0 0 0 -12px;position:-webkit-sticky;position:sticky;top:0}#seopress_content_analysis .ui-tabs .ui-tabs-nav{margin-top:15px}#seopress_content_analysis .ui-helper-clearfix:after,#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_content_analysis .ui-tabs .ui-tabs-panel,#seopress_cpt .ui-tabs .ui-tabs-panel{background:#fff;border-radius:0;display:inline-block;padding:1em 1.4em;width:100%;box-sizing:border-box}#seopress_content_analysis .ui-tabs .ui-tabs-panel .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_content_analysis .ui-tabs .ui-tabs-nav li,#seopress_content_analysis .ui-tabs-anchor,#seopress_cpt .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs-anchor{cursor:pointer!important}#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{position:relative;z-index:60;cursor:pointer;border-radius:0;border-bottom:3px solid #0085ba}#seopress_content_analysis label,#seopress_cpt #tabs-1 label,#seopress_cpt #tabs-2 label[for=seopress_robots_breadcrumbs_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_canonical_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_primary_cat_meta],#seopress_cpt #tabs-3 label,#seopress_cpt #tabs-4 label,#seopress_cpt #tabs-5 label,#seopress_cpt #tabs-6 label,#seopress_cpt .subsection-title,#seopress_pro_cpt label{display:block;margin:20px 0 5px;font-weight:700}#seopress_cpt .wp-color-result{margin:0}#seopress_content_analysis input[type=text],#seopress_cpt #tabs-1 input,#seopress_cpt #tabs-2 input[type=text],#seopress_cpt #tabs-3 input[type=text],#seopress_cpt #tabs-3 textarea,#seopress_cpt #tabs-4 input[type=text],#seopress_cpt #tabs-5 input[type=text],#seopress_cpt #tabs-6 input[type=text],#seopress_cpt #tabs-6 textarea{width:90%;display:inline-block}#seopress_cpt #tabs-1 input{width:100%}#seopress_cpt #tabs-6 input[type=number]{width:30%;min-width:200px}#seopress_cpt #tabs-6 #wrap-videos .video:first-child .remove-video{display:none}#seopress_cpt select{width:300px}#seopress_cpt #tabs-4 select{width:250px;display:inline}#seopress_cpt #tabs-4 #seopress_redirections_value_meta{width:calc(100% - 258px);float:right}#seopress_cpt #tabs-6{padding:0}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content,#seopress_cpt #tabs-6>p{padding:0 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content{padding:0 1.4em 1em}#seopress_cpt #tabs-6 #wrap-videos .video{border-top:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-title{border-left:none;border-right:none;font-size:1em;padding:1em 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-content,#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-title{border-bottom:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .inside{padding:0}#seopress_cpt #tabs-4 #seopress_redirections_enabled,#seopress_cpt #tabs-5 #seopress_news_disabled,#seopress_cpt #tabs-5 #seopress_news_standout,#seopress_cpt #tabs-6 #seopress_video_disabled,#seopress_cpt #tabs-6 .family-friendly label,#seopress_cpt #tabs-6 .internal_video label{font-weight:400}#seopress_cpt #tabs-6 #wrap-videos .video:nth-child(odd){background:#fdfdfd}#seopress_content_analysis .advise,#seopress_cpt .advise,#seopress_pro_cpt .advise,.seopress-option .advise{margin:5px;display:block;color:red;font-style:italic}#seopress_cpt #tabs-6 #wrap-videos .video .advise{color:#555}#seopress_content_analysis .mandatory,#seopress_cpt .mandatory{color:#c00}#seopress_cpt .box-left{float:left;width:49%;margin-right:1%}#seopress_cpt .box-right{float:left;width:49%;margin-left:1%}#seopress_cpt .google-snippet-preview{font-family:arial,sans-serif;word-break:break-all}#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 .snippet-permalink{color:#006621;font-size:14px;font-style:normal;font-weight:400;line-height:16px}#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:13px;font-weight:400;line-height:18.2px;display:inline}#seopress_cpt .google-snippet-preview .snippet-date{color:grey;display:inline}#seopress_cpt .wrap-seopress-counters,#seopress_pro_cpt .wrap-seopress-counters{text-align:right;background:#eee;padding:2px 5px;display:flex;box-shadow:0 1px 1px rgba(0,0,0,.2);font-size:12px;justify-content:flex-end}#seopress_cpt #seopress_titles_desc_counters,#seopress_cpt #seopress_titles_title_counters,#seopress_pro_cpt #seopress_rich_snippets_articles_counters,#seopress_pro_cpt #seopress_rich_snippets_courses_counters{display:inline;margin-right:5px}#seopress_cpt #seopress_titles_desc_counters_val,#seopress_cpt #seopress_titles_title_counters_val,#seopress_pro_cpt #seopress_rich_snippets_articles_counters_val,#seopress_pro_cpt #seopress_rich_snippets_courses_counters_val{display:inline;font-weight:700}#term-seopress #seopress_cpt{width:95%}.fixed .column-seopress_w3c,.fixed .column-seopress_words{width:5%}.fixed .column-seopress_nofollow,.fixed .column-seopress_noindex{width:10%}#seopress_content_analysis .ui-tabs,#seopress_cpt .ui-tabs{position:relative;padding:0;border:none;font-family:inherit;font-size:inherit;display:inline-block;width:100%}#seopress_content_analysis .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs .ui-tabs-nav li{list-style:none;display:inline-block;position:relative;top:2px;padding:0 5px;white-space:nowrap;margin:0;border:none;background:0 0}#seopress_content_analysis .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs .ui-tabs-nav li a{display:inline-block;padding:5px 10px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li a,#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a{display:block}#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:2px;padding-bottom:1px}#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-loading a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a{color:#191e23;font-weight:700}#seopress_content_analysis .ui-tabs .ui-tabs-nav li a,#seopress_content_analysis .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#191e23;text-decoration:none;height:40px;line-height:40px}#seopress_cpt .ui-tabs-vertical{width:55em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress_cpt .ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress_content_analysis .ui-tabs .ui-tabs-nav li a .dashicons,#seopress_cpt .ui-tabs .ui-tabs-nav li a .dashicons{margin-right:2px}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}#seopress_content_analysis .ui-tabs .dashicons-no-alt,#seopress_content_analysis .ui-tabs .dashicons-yes,#seopress_pro_cpt .dashicons-no-alt,#seopress_pro_cpt .dashicons-yes{color:#fff;background:#12bd10;border-radius:50px;margin-right:10px}#seopress_content_analysis .ui-tabs .dashicons-no-alt,#seopress_pro_cpt .dashicons-no-alt{background:#e25950}body.seopress-styles{background:#f8fafd}#seopress-content a{color:#3297d3}#seopress-content a:hover{color:#106598}#seopress-admin-tabs.ui-tabs{position:relative;padding:.2em;border:none;font-family:inherit;font-size:inherit}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:-1px .2em 0 0;padding:0;white-space:nowrap;border:none;background:0 0}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a{float:left;padding:.38em 1em .75rem;outline:0;border-bottom:2px solid #fff}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text;border-bottom:2px solid #23282d;color:#23282d}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a,#seopress-admin-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#0073aa;text-decoration:none}#seopress-admin-tabs.ui-tabs-vertical{width:55em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}.seopress-styles .seopress-option{margin:10px auto 0;max-width:90%;padding:1rem;background:#fff;box-shadow:0 15px 35px rgba(50,50,93,.1),0 5px 15px rgba(0,0,0,.1);border-radius:4px}.seopress-styles .seopress-option h1{font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase;position:-webkit-sticky;position:sticky;top:32px;background:#fff;z-index:100;padding:10px 0}.seopress-styles .seopress-option h1 .dashicons,.seopress-styles .seopress-option h2 .dashicons{margin:0 10px;font-size:40px;width:40px;height:40px;vertical-align:middle}.seopress-styles .seopress-option .link-archive{font-size:14px}.seopress-styles .seopress-option .link-archive .dashicons{font-size:18px;width:20px;height:20px;margin:inherit}.seopress-styles .seopress-option h1>.dashicons{font-size:30px;width:30px;height:30px;background:#c4f0ff;border-radius:50%;padding:10px;box-shadow:0 4px 6px rgba(50,50,93,.1),0 1px 3px rgba(0,0,0,.1);margin-left:20px}.seopress-styles .seopress-option .metabox-holder h2 .dashicons{font-size:16px}.seopress-option h1 .feature-state .dashicons{font-size:16px;width:16px;height:16px;vertical-align:middle;margin:0 10px 0 0}.seopress-styles .wrap{margin:0;position:relative}.seopress-styles .seopress-option .submit{background:#fff;text-align:center;border-top:1px solid #f1f1f1;padding-top:20px;padding-bottom:20px;margin:0}.seopress-styles .seopress-option #seopress-aio-migrate,.seopress-styles .seopress-option #seopress-seo-framework-migrate,.seopress-styles .seopress-option #seopress-yoast-migrate,.seopress-styles .seopress-option #submit{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);margin-right:15px;background:RGB(106,124,148);position:relative;height:auto;z-index:10}.seopress-styles .seopress-option #seopress-aio-migrate:hover,.seopress-styles .seopress-option #seopress-seo-framework-migrate:hover,.seopress-styles .seopress-option #seopress-yoast-migrate:hover,.seopress-styles .seopress-option #submit:hover{text-decoration:none;color:#fff;background:#232323}.seopress-styles #wpcontent{padding-left:0;background:#f8fafd}.seopress-styles pre{color:#42b72a;background:#f5f6f7;font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;padding:7px;display:inline-block}.seopress-styles #seopress-navbar{padding:10px .5rem;height:56px;margin:0 auto;width:53rem;box-sizing:border-box;position:relative}#seopress-header{margin:0 auto;position:relative;width:100%}#seopress-header #seopress-admin h1{line-height:40px;margin:0;display:inline-block;height:40px;width:40px;background-size:100%;background-repeat:no-repeat}#seopress-header #seopress-admin h1::before{font-size:14px;line-height:40px;position:absolute;border-radius:6px;font-weight:400;color:#fff;width:40px;height:40px;text-align:center;background:#3a4afb;background:-moz-linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%);background:-webkit-linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%);background:linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%)}#seopress-header #seopress-admin h1:hover{cursor:pointer}#seopress-header #seopress-admin h1>a{text-decoration:none;color:inherit}#seopress-header #seopress-admin .seopress-quick-access{background:#fff;box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.2),0 5px 15px rgba(0,0,0,.1);border-radius:4px;overflow:hidden;position:relative;font-size:17px;line-height:40px;white-space:nowrap;transform:rotate3d(1,1,0,-15deg);transform-origin:100% 0;opacity:0;will-change:transform,opacity;transition-property:transform,opacity;transition-duration:.25s;z-index:300;padding:0;display:block;width:53rem;top:0;visibility:hidden;cursor:auto}#seopress-header #seopress-admin h1:hover .seopress-quick-access{transform:none;opacity:1;pointer-events:auto;visibility:visible}#seopress-header #seopress-admin .seopress-quick-access>ul{padding:20px;margin:0;float:left;width:100%;box-sizing:border-box}#seopress-header #seopress-admin h1 .seopress-quick-access li{text-decoration:none;display:inline-block;width:50%;margin:0;float:left;padding:10px 0}#seopress-header #seopress-admin h1 .seopress-quick-access li .dashicons{vertical-align:middle;background:#b7e1f3;border-radius:50%;padding:5px;margin-right:15px}#seopress-header #seopress-admin h1 .seopress-quick-access li a{text-decoration:none;font-size:15px;line-height:30px;text-transform:uppercase;display:block;width:100%;transition:all .3s linear;color:#3297d3}#seopress-header #seopress-admin h1 .seopress-quick-access li a:hover{color:#647a88}#seopress-header #seopress-admin h1 .seopress-info-version{position:relative;left:50px;top:0;font-size:14px;width:100px;display:block}#seopress-header #seopress-admin .wpc-info-version{font-size:14px;left:310px;position:absolute;text-indent:0;top:85px}#seopress-header #seopress-notice{float:right;line-height:40px}#seopress-header #seopress-notice p{font-size:16px}#seopress-header #seopress-notice .dashicons{color:#444;text-decoration:none;line-height:40px}#seopress-header #seopress-notice div.small{font-size:13px;display:inline}#seopress-footer-credits{font-style:italic}#seopress-footer-credits .wporg-ratings{display:inline}#seopress-footer-credits .wporg-ratings a{text-decoration:none}.seopress-option .seopress-settings{float:left;max-width:750px;width:100%}.seopress-option #seopress-edd-license-btn,.seopress-option #seopress-refresh{float:left}.wp-admin-ui_page_seopress-import-export .postbox{margin-right:20px}.seopress-option #side-sortables .accordion-section-content{padding:0}.seopress-option .seopress-settings label{margin:0 0 0 10px}.wrap-seopress-tab-content{position:relative;display:block;width:100%;height:100%;max-width:53rem;margin:20px auto 0}#seopress-admin-tabs .seopress-tab{padding:1.5rem;visibility:hidden;overflow:hidden;opacity:0;transition:all .2s ease;transform:translateX(-15px);position:absolute;top:0}#seopress-admin-tabs .seopress-tab.active{visibility:visible;overflow:inherit;opacity:1;transform:translateX(0);display:inherit;position:relative}#seopress-tabs .seopress-tab{padding:1.5rem;display:none}#seopress-tabs .seopress-tab.active{display:inline-block}.seopress-option input[type=password],.seopress-option input[type=text],.seopress-option textarea{min-width:485px}#seopress_htaccess_file{width:100%}.seopress-option textarea{min-height:100px}.seopress-option #side-sortables .highlight{border:1px dashed #ccc;display:block;width:382px;height:40px;background:0 0}.seopress-option #side-sortables .accordion-section{margin-bottom:9px;width:382px}.seopress-option #side-sortables .accordion-section h3{cursor:move;border:1px solid #e5e5e5;background:#fafafa}.seopress-option #side-sortables .accordion-section .inside{padding:10px 10px 24px;border-width:0 1px 1px;border-style:solid;box-shadow:0 1px 1px rgba(0,0,0,.04);border-color:#e5e5e5;display:inline-block;width:calc(100% - 22px);height:100%}.seopress-option #side-sortables .accordion-section .inside ul{padding-left:10px;margin-bottom:0;padding-top:2px;padding-bottom:2px}.seopress-option #side-sortables .accordion-section .inside ul li{border-left:2px solid #ccc;padding-left:10px;margin-bottom:10px}.seopress-option #side-sortables .accordion-section .inside ul li:first-child{border-bottom:1px dotted #e5e5e5;border-left:0;padding-bottom:10px;font-weight:700;margin-left:-15px;margin-bottom:10px}.seopress-notice #message{margin:5px 10px 2px 0}#seopress-notice a{position:relative;text-decoration:none}#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 0}.seopress-option .dashicons,.seopress-page-list .dashicons{vertical-align:middle;margin-right:5px}#seopress-admin-tabs .ui-tabs-nav,#seopress-notifications-center,.seopress-page-list .seopress-feature,.seopress-useful-tools{background:linear-gradient(172deg,#f5f7fa,#f5f7fa 200px,#fff 0,#fff);margin:0 auto 20px;box-shadow:0 15px 35px rgba(50,50,93,.1),0 5px 15px rgba(0,0,0,.2);max-width:50rem;padding:1.5rem;width:100%;border-radius:4px}#seopress-notifications-center,.seopress-useful-tools{background:linear-gradient(172deg,#f5f7fa,#f5f7fa 400px,#fff 0,#fff)}.seopress-page-list .seopress-feature{padding:0 1.5rem;position:relative;overflow:hidden;transition-duration:.15s}.seopress-page-list .seopress-feature p{color:#6b7c93;font-size:14px;margin-bottom:30px}#seopress-notifications-center{margin-top:0}#seopress-admin-tabs .ui-tabs-nav{display:flex;padding-top:1rem;padding-bottom:0}.seopress-page-list .seopress-feature .img-tool{height:100px;width:100px;background:#c4f0ff;position:absolute;border-radius:50%;box-shadow:0 4px 6px rgba(50,50,93,.1),0 1px 3px rgba(0,0,0,.1);top:calc(50% - 50px);left:20px}.seopress-page-list .seopress-feature .img-tool .dashicons{color:#217ab7;font-size:60px;text-align:left;vertical-align:middle;width:100%;height:100%;position:absolute;top:calc(50% - 30px);left:calc(50% - 30px);margin:0}.seopress-page-list .seopress-feature .inner{margin:0;display:block;padding:2rem 0 2rem 120px}.seopress-page-list .seopress-feature h3{margin:0;font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase}.seopress-page-list .seopress-feature h3 .dashicons{font-size:16px;margin-left:5px;vertical-align:middle}#seopress-content .seopress-page-list .seopress-feature a,#seopress-notifications-center .seopress-alert .button-primary,.seopress-option .seopress-feature a,.seopress-useful-tools .widget .button-primary{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);margin-right:15px;background:#6a7c94;position:relative;height:auto}#seopress-content .seopress-page-list .seopress-feature a.button-secondary{padding-left:30px}#seopress-content .seopress-page-list .seopress-feature a.button-secondary::before,#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f111";font-family:Dashicons;position:absolute;left:10px;top:1px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:16px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects,#seopress-notifications-center .seopress-alert .button-primary,.seopress-option .button{background:#fff;border:none;color:#6b7c93;font-weight:500;transition:all .3s linear;text-shadow:none;text-transform:uppercase;padding-right:20px;padding-left:20px;line-height:34px;min-height:34px;margin-bottom:10px;border-radius:4px;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);vertical-align:baseline}.seopress-option .button .dashicons{font-size:16px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects{padding-left:35px}#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f344";left:inherit;right:10px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects::before{content:"\f177"}#seopress-content .seopress-page-list .seopress-feature a:hover,#seopress-notifications-center .seopress-alert .button-primary:hover,.seopress-option .button:hover,.seopress-option .seopress-feature a:hover,.seopress-useful-tools .widget .button-primary:hover{text-decoration:none;color:#fff;background:#232323}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:focus,#seopress-content .seopress-page-list .seopress-feature a:focus,#seopress-content .seopress-page-list .seopress-feature a:focus.button-secondary,#seopress-content a:focus,#seopress-notifications-center .seopress-alert .button-primary:focus,.seopress-option #seopress-tabs .seopress-doc:focus,.seopress-option .seopress-feature a:focus,.seopress-styles .seopress-option #seopress-aio-migrate:focus,.seopress-styles .seopress-option #seopress-yoast-migrate:focus,.seopress-styles .seopress-option #submit:focus,.seopress-useful-tools .widget .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;background:#008ec2;border-color:#006799;color:#fff}#seopress-admin-tabs .nav-tab-wrapper a.nav-tab-active:focus{color:inherit}#seopress-notifications-center .seopress-alert .button-primary{float:right;margin:5px 0;padding-right:30px}#seopress-notifications-center h2,.seopress-useful-tools h2{margin:5px 0 15px 5px;display:inline-block;width:100%}#seopress-notifications-center .dashicons,.seopress-useful-tools .dashicons{margin-right:10px}#seopress-notifications-center .seopress-alert{padding:0;display:inline-block;margin:0 10px 10px 5px;border-bottom:1px solid #e6ebf1;width:calc(100% - 30px);position:relative;transition:all 150ms ease}#seopress-notifications-center .seopress-alert:hover{cursor:default}#seopress-notifications-center .seopress-alert p{display:inline-block}#seopress-notifications-center .seopress-alert .impact{padding:4px 5px;color:#fff;text-transform:uppercase;font-weight:700;font-size:10px;border-radius:4px}#seopress-notifications-center .seopress-alert .impact.low{background:#ffde24;color:#6b6543}#seopress-notifications-center .seopress-alert .impact.medium{background:#e39f48}#seopress-notifications-center .seopress-alert .impact.high{background:#e25950}#seopress-notifications-center .seopress-alert .impact.high.info{background:#0085ba}#seopress-notifications-center .seopress-alert .dashicons{color:#ffc82c}#seopress-notifications-center .dashicons.remove-notice{position:absolute;right:-55px;color:#6b7c93;font-size:30px;height:30px;width:30px;top:2px;padding:5px;transition:all .3s linear}#seopress-notifications-center .dashicons.remove-notice:hover{background:#e25950;color:#fff;cursor:pointer;border-radius:4px}#seopress-content .seopress-page-list .seopress-feature .seopress-doc,.seopress-option #seopress-tabs .seopress-doc{background:0 0;padding:0;width:inherit;height:inherit;text-decoration:none;color:inherit;box-shadow:none;position:absolute;right:0}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover,.seopress-option #seopress-tabs .seopress-doc:hover{color:#747474;background:0 0}.seopress-option .seopress-table{background:#fff;border:1px solid #ccc}.seopress-option .seopress-table th{padding:15px 10px;vertical-align:middle}.wp-admin-ui_page_seopress-roles .seopress-option .seopress-table th{min-width:200px}.seopress-option .seopress-table .seopress-settings-section{background:#f1f1f1}.seopress-option .seopress-table .seopress-table-head .seopress-feature{border-bottom:1px solid #ccc;font-weight:700;background:#f1f1f1}#seopress-content .feature-state,.seopress-option .feature-state{font-style:italic;font-size:12px;display:inline-block;background:rgba(0,140,135,.1);padding:5px 12px;border-radius:25px;color:#444;font-weight:400;text-transform:none;-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-button,.seopress-option .tag-title{cursor:pointer;font-weight:500;border-radius:4px;transition:all .3s linear}#seopress-content .feature-state-on,#seopress-content .feature-state.feature-state-on,.seopress-option .feature-state-on,.seopress-option .feature-state.feature-state-on{display:inline}#seopress-content .feature-state-off,.seopress-option .feature-state-off{display:none}.seopress-option .postbox .inside li{list-style:square inside;padding-left:5px}#tab_seopress_page_speed .inside li{list-style:none;padding-left:0;word-break:break-word}.seopress-option .log{margin:0;text-transform:uppercase;display:inline-block;vertical-align:middle;padding:5px;color:rgba(19,191,17,1);font-style:italic}.seopress-option input[type=text].seopress-admin-menu-input{min-width:inherit;width:100%}.seopress_page_seopress-import-export .postbox{width:calc(100% - 20px)}#seopress_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{position:relative;display:inline-block;width:100%;margin-bottom:10px}#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-option .tag-title{padding:4px 8px;position:relative;top:5px;left:0;font-size:11px;float:left;margin-right:5px;user-select:none;margin-bottom:5px;background:#fff;color:#6b7c93;box-shadow:0 0 0 .5px rgba(50,50,93,.17),0 2px 5px 0 rgba(50,50,93,.12),0 3px 9px 0 rgba(50,50,93,.08),0 1px 1.5px 0 rgba(0,0,0,.08),0 1px 2px 0 rgba(0,0,0,.08)}#seopress_cpt .tag-title:active,#seopress_cpt .tag-title:focus,#seopress_cpt .tag-title:hover,#seopress_pro_cpt .tag-title:active,#seopress_pro_cpt .tag-title:focus,#seopress_pro_cpt .tag-title:hover,.seopress-option .tag-title:active,.seopress-option .tag-title:focus,.seopress-option .tag-title:hover{background:#232323;color:#fff;user-select:none}#seopress_cpt .tag-title .dashicons,#seopress_pro_cpt .tag-title .dashicons,.seopress-option .tag-title .dashicons{padding:0;height:16px;width:16px;font-size:16px;margin-right:5px;vertical-align:middle}.seopress-button{text-transform:uppercase;background:#fff;border-color:#c8d7e1;border-style:solid;border-width:1px 1px 2px;color:#2e4453;display:inline-block;margin:0;outline:0;overflow:hidden;text-overflow:ellipsis;text-decoration:none;vertical-align:top;box-sizing:border-box;font-size:14px;line-height:21px;padding:7px 14px 9px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.seopress-button:hover{border-color:#a8bece;color:#00a0d2}.seopress-button .dashicons{vertical-align:middle}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget{border-right:1px solid #e6ebf1;margin:0;padding:0 20px;width:calc(50% - 2px);box-sizing:border-box;display:inline-block;vertical-align:top}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:first-child{width:100%;display:block;clear:both;border-right:none;border-bottom:1px solid #e6ebf1;padding-bottom:20px;margin-bottom:20px}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:last-child{border-right:none}#seopress-content .seopress-useful-tools .widget-reverse ul{background:#fff}#seopress-content .seopress-useful-tools .widget-reverse li{padding:10px;margin:0;border-bottom:1px solid #e6ebf1}#seopress-content .seopress-useful-tools .widget-reverse li:hover{background:#f5f7fa}#seopress-content .seopress-useful-tools .widget-title{text-transform:uppercase;margin:0 0 10px;font-size:13px;padding:10px 0;color:#24b47e}#seopress-content .seopress-reverse label,#seopress-content .seopress-useful-tools .widget-whois ul li span{font-weight:700}#seopress-content #seopress-reverse-url{width:100%;margin:10px 0}#seopress-content .widget-reverse p{margin:0}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_url{width:35%}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_anchor_text{width:20%}.seopress-styles #screen-meta{margin:0;position:relative;background-color:#fff;border-bottom:0 solid #f2f2f2;border-top:none;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);top:0}.seopress-styles #contextual-help-link-wrap,.seopress-styles #screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #f2f2f2;border-top:none;background:#fff;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08)}.seopress-styles #screen-meta-links .show-settings{box-shadow:none}.seopress-styles #screen-meta-links .screen-meta-toggle{position:relative;top:0;z-index:2000}.seopress-styles #contextual-help-back{background:#f8fafd}.seopress-styles .contextual-help-tabs .active{border-left:2px solid #3297d3;background:#f8fafd}#seopress-content input.toggle,.seopress-option input.toggle{max-height:0;max-width:0;opacity:0}#seopress-content 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:30px;width:50px;border-radius:15px}.wrap-toggle-checkboxes input.toggle+label{float:left;margin-right:10px}#seopress-content input.toggle+label:before,.seopress-option input.toggle+label:before{content:"";position:absolute;display:block;height:30px;width:30px;top:0;left:0;border-radius:15px;background:rgba(19,191,17,0);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress-content input.toggle+label:after,.seopress-option input.toggle+label:after{content:"";position:absolute;display:block;height:30px;width:30px;top:0;left:0;border-radius:15px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.2);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress-content input.toggle[data-toggle="1"]+label:before,.seopress-option input.toggle[data-toggle="1"]+label:before{width:50px;background:rgba(19,191,17,1)}#seopress-content 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 rgba(19,191,17,1),0 2px 4px rgba(0,0,0,.2)}#seopress-content .seopress-page-list{position:relative}#seopress-notice-save{position:fixed;color:#fff;padding:15px 40px;font-size:.9rem;text-transform:uppercase;text-align:center;border-radius:0;background:rgba(74,184,102,.9);bottom:0;right:0;z-index:500;width:100%;font-weight:700}.seopress_page_seopress-pro-page #wpcontent{background:#f4f7fa}.seopress-option .wrap div.nav-tab-wrapper{border-bottom:1px solid RGB(238,238,238);margin:0 0 0 -16px;padding:0 10px;line-height:inherit;background:#fff;position:-webkit-sticky;position:sticky;top:102px;width:calc(100% + 12px);z-index:95;font-weight:400}#seopress-admin-tabs.wrap div.nav-tab-wrapper{margin:20px auto 0;max-width:53rem;width:100%;border-bottom:0;padding:0;line-height:inherit;position:-webkit-sticky;position:sticky;background:#f8fafd;z-index:100;top:31px;font-weight:400}#seopress-admin-tabs #tab_seopress_notifications.seopress-tab{background:0 0;padding:0}#seopress-admin-tabs .nav-tab,.seopress-option .nav-tab{border:0 solid #ccc;background:0 0;opacity:.5;padding:8px 8px;transition:opacity .3s linear;color:#191e23;margin:0;float:none;display:inline-block}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:hover,.seopress-option .about-wrap h2 .nav-tab-active,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:hover{background-color:#fff}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus,.nav-tab-active:focus,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:focus:active,.seopress-option .nav-tab-active:hover,.seopress-option .nav-tab:focus{background:0 0;opacity:1;outline:0;font-weight:600;position:relative}.seopress-option .nav-tab-active::after{border-bottom:2px solid #0085ba;content:'';position:absolute;width:100%;bottom:0;left:0;display:block}#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}#section-export-redirects,#section-import-redirects{margin-top:-120px;padding-top:120px}.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}#tab_seopress_social_accounts .help-social{position:relative;right:0;width:30%}#tab_seopress_social_accounts .form-table{float:left;width:70%}
1
+ #adminmenu div.wp-menu-image.dashicons-admin-seopress::before,#seopress-header #seopress-admin h1::before{content:"\e800";font-family:seopress!important;font-weight:700;font-size:12px;line-height:20px}#seopress-header #seopress-admin h1::before,.seopress-page-list .seopress-feature h3,.seopress-styles .seopress-option h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?81521271);src:url(../fonts/seopress.eot?81521271#iefix) format('embedded-opentype'),url(../fonts/seopress.woff?81521271) format('woff2'),url(../fonts/seopress.woff?81521271) format('woff'),url(../fonts/seopress.ttf?81521271) format('truetype'),url(../fonts/seopress.svg?81521271#seopress) format('svg');font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important;font-size:14px!important;line-height:24px!important}.icon-seopress-seopress:before{content:"\e800"}.sp-tooltip{position:relative;margin-left:5px;display:inline-block;cursor:help}.sp-tooltip .dashicons{color:#666}.sp-tooltip .sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;color:#fff;font-size:.8em;background:#333;text-align:center;width:240px;right:0;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2);top:25px}.sp-tooltip:hover .sp-tooltiptext{visibility:visible}#seopress_content_analysis .wrap-seopress-analysis{display:inline-block;width:100%}#seopress_content_analysis .col-left{width:calc(50% - 30px);float:left;margin-right:30px}#seopress_content_analysis .col-right{float:right;width:50%}#seopress_content_analysis #seopress_suggestions{display:inline-block;width:100%;margin:0;height:auto;padding:20px 0}#seopress_content_analysis #seopress_suggestions li{list-style:none;margin:5px;display:inline-block}#seopress_launch_analysis{float:left}#seopress_analysis_results_state{background:rgba(74,184,102,.75);color:#fff;padding:5px 25px 5px 20px;border-radius:100px;font-style:italic;position:relative;width:auto;display:inline-block;margin:0 0 0 20px;clear:both}#seopress_content_analysis h3{border-bottom:1px solid #ddd;padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul{display:flex;flex-wrap:wrap}#seopress_content_analysis .wrap-analysis-img ul li{padding:0;text-align:left;cursor:default}#seopress_content_analysis .wrap-analysis-img h4{border-bottom:1px solid #ddd;padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul li img{max-width:150px;max-height:150px;object-fit:cover;cursor:default}#seopress_cpt .notice{padding:10px 14px}#seopress-analysis-tabs .dashicons,#seopress_cpt .dashicons{vertical-align:middle}#seopress_cpt .inside{margin:0;padding:0}#seopress_content_analysis .ui-tabs .ui-tabs-nav,#seopress_cpt .ui-tabs .ui-tabs-nav{display:inline-block;min-height:26px;position:relative;width:100%;z-index:10;margin:0;border-radius:0;padding:0;background:#f3f4f5;border:none}#seopress_content_analysis .ui-tabs .ui-tabs-nav{width:calc(100% + 24px);margin:0 0 0 -12px;position:-webkit-sticky;position:sticky;top:0}#seopress_content_analysis .ui-tabs .ui-tabs-nav{margin-top:15px}#seopress_content_analysis .ui-helper-clearfix:after,#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_content_analysis .ui-tabs .ui-tabs-panel,#seopress_cpt .ui-tabs .ui-tabs-panel{background:#fff;border-radius:0;display:inline-block;padding:1em 1.4em;width:100%;box-sizing:border-box}#seopress_content_analysis .ui-tabs .ui-tabs-panel .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_content_analysis .ui-tabs .ui-tabs-nav li,#seopress_content_analysis .ui-tabs-anchor,#seopress_cpt .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs-anchor{cursor:pointer!important}#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{position:relative;z-index:60;cursor:pointer;border-radius:0;border-bottom:3px solid #0085ba}#seopress_content_analysis label,#seopress_cpt #tabs-1 label,#seopress_cpt #tabs-2 label[for=seopress_robots_breadcrumbs_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_canonical_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_primary_cat_meta],#seopress_cpt #tabs-3 label,#seopress_cpt #tabs-4 label,#seopress_cpt #tabs-5 label,#seopress_cpt #tabs-6 label,#seopress_cpt .subsection-title,#seopress_pro_cpt label{display:block;margin:20px 0 5px;font-weight:700}#seopress_cpt .wp-color-result{margin:0}#seopress_content_analysis input[type=text],#seopress_cpt #tabs-1 input,#seopress_cpt #tabs-2 input[type=text],#seopress_cpt #tabs-3 input[type=text],#seopress_cpt #tabs-3 textarea,#seopress_cpt #tabs-4 input[type=text],#seopress_cpt #tabs-5 input[type=text],#seopress_cpt #tabs-6 input[type=text],#seopress_cpt #tabs-6 textarea{width:90%;display:inline-block}#seopress_cpt #tabs-1 input{width:100%}#seopress_cpt #tabs-6 input[type=number]{width:30%;min-width:200px}#seopress_cpt #tabs-6 #wrap-videos .video:first-child .remove-video{display:none}#seopress_cpt select{width:300px}#seopress_cpt #tabs-4 select{width:250px;display:inline}#seopress_cpt #tabs-4 #seopress_redirections_value_meta{width:calc(100% - 258px);float:right}#seopress_cpt #tabs-6{padding:0}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content,#seopress_cpt #tabs-6>p{padding:0 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content{padding:0 1.4em 1em}#seopress_cpt #tabs-6 #wrap-videos .video{border-top:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-title{border-left:none;border-right:none;font-size:1em;padding:1em 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-content,#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-title{border-bottom:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .inside{padding:0}#seopress_cpt #tabs-4 #seopress_redirections_enabled,#seopress_cpt #tabs-5 #seopress_news_disabled,#seopress_cpt #tabs-5 #seopress_news_standout,#seopress_cpt #tabs-6 #seopress_video_disabled,#seopress_cpt #tabs-6 .family-friendly label,#seopress_cpt #tabs-6 .internal_video label{font-weight:400}#seopress_cpt #tabs-6 #wrap-videos .video:nth-child(odd){background:#fdfdfd}#seopress_content_analysis .advise,#seopress_cpt .advise,#seopress_pro_cpt .advise,.seopress-option .advise{margin:5px;display:block;color:red;font-style:italic}#seopress_cpt #tabs-6 #wrap-videos .video .advise{color:#555}#seopress_content_analysis .mandatory,#seopress_cpt .mandatory{color:#c00}#seopress_cpt .box-left{float:left;width:49%;margin-right:1%}#seopress_cpt .box-right{float:left;width:49%;margin-left:1%}#seopress_cpt .google-snippet-preview{font-family:arial,sans-serif;word-break:break-all}#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 .snippet-permalink{color:#006621;font-size:14px;font-style:normal;font-weight:400;line-height:16px}#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:13px;font-weight:400;line-height:18.2px;display:inline}#seopress_cpt .google-snippet-preview .snippet-date{color:grey;display:inline}#seopress_cpt .wrap-seopress-counters,#seopress_pro_cpt .wrap-seopress-counters{text-align:right;background:#eee;padding:2px 5px;display:flex;box-shadow:0 1px 1px rgba(0,0,0,.2);font-size:12px;justify-content:flex-end}#seopress_cpt #seopress_titles_desc_counters,#seopress_cpt #seopress_titles_title_counters,#seopress_pro_cpt #seopress_rich_snippets_articles_counters,#seopress_pro_cpt #seopress_rich_snippets_courses_counters{display:inline;margin-right:5px}#seopress_cpt #seopress_titles_desc_counters_val,#seopress_cpt #seopress_titles_title_counters_val,#seopress_pro_cpt #seopress_rich_snippets_articles_counters_val,#seopress_pro_cpt #seopress_rich_snippets_courses_counters_val{display:inline;font-weight:700}#term-seopress #seopress_cpt{width:95%}.fixed .column-seopress_w3c,.fixed .column-seopress_words{width:5%}.fixed .column-seopress_nofollow,.fixed .column-seopress_noindex{width:10%}#seopress_content_analysis .ui-tabs,#seopress_cpt .ui-tabs{position:relative;padding:0;border:none;font-family:inherit;font-size:inherit;display:inline-block;width:100%}#seopress_content_analysis .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs .ui-tabs-nav li{list-style:none;display:inline-block;position:relative;top:2px;padding:0 5px;white-space:nowrap;margin:0;border:none;background:0 0}#seopress_content_analysis .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs .ui-tabs-nav li a{display:inline-block;padding:5px 10px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li a,#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a{display:block}#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:2px;padding-bottom:1px}#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-loading a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a{color:#191e23;font-weight:700}#seopress_content_analysis .ui-tabs .ui-tabs-nav li a,#seopress_content_analysis .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#191e23;text-decoration:none;height:40px;line-height:40px}#seopress_cpt .ui-tabs-vertical{width:55em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress_cpt .ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress_content_analysis .ui-tabs .ui-tabs-nav li a .dashicons,#seopress_cpt .ui-tabs .ui-tabs-nav li a .dashicons{margin-right:2px}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}#seopress_content_analysis .ui-tabs .dashicons-no-alt,#seopress_content_analysis .ui-tabs .dashicons-yes,#seopress_pro_cpt .dashicons-no-alt,#seopress_pro_cpt .dashicons-yes{color:#fff;background:#12bd10;border-radius:50px;margin-right:10px}#seopress_content_analysis .ui-tabs .dashicons-no-alt,#seopress_pro_cpt .dashicons-no-alt{background:#e25950}body.seopress-styles{background:#f8fafd}#seopress-content a{color:#3297d3}#seopress-content a:hover{color:#106598}#seopress-admin-tabs.ui-tabs{position:relative;padding:.2em;border:none;font-family:inherit;font-size:inherit}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:-1px .2em 0 0;padding:0;white-space:nowrap;border:none;background:0 0}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a{float:left;padding:.38em 1em .75rem;outline:0;border-bottom:2px solid #fff}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text;border-bottom:2px solid #23282d;color:#23282d}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a,#seopress-admin-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#0073aa;text-decoration:none}#seopress-admin-tabs.ui-tabs-vertical{width:55em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}.seopress-styles .seopress-option{margin:10px auto 0;max-width:90%;padding:1rem;background:#fff;box-shadow:0 15px 35px rgba(50,50,93,.1),0 5px 15px rgba(0,0,0,.1);border-radius:4px}.seopress-styles .seopress-option h1{font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase;position:-webkit-sticky;position:sticky;top:32px;background:#fff;z-index:100;padding:10px 0}.seopress-styles .seopress-option h1 .dashicons,.seopress-styles .seopress-option h2 .dashicons{margin:0 10px;font-size:40px;width:40px;height:40px;vertical-align:middle}.seopress-styles .seopress-option .link-archive{font-size:14px}.seopress-styles .seopress-option .link-archive .dashicons{font-size:18px;width:20px;height:20px;margin:inherit}.seopress-styles .seopress-option h1>.dashicons{font-size:30px;width:30px;height:30px;background:#c4f0ff;border-radius:50%;padding:10px;box-shadow:0 4px 6px rgba(50,50,93,.1),0 1px 3px rgba(0,0,0,.1);margin-left:20px}.seopress-styles .seopress-option .metabox-holder h2 .dashicons{font-size:16px}.seopress-option h1 .feature-state .dashicons{font-size:16px;width:16px;height:16px;vertical-align:middle;margin:0 10px 0 0}.seopress-styles .wrap{margin:0;position:relative}.seopress-styles .seopress-option .submit{background:#fff;text-align:center;border-top:1px solid #f1f1f1;padding-top:20px;padding-bottom:20px;margin:0}.seopress-styles .seopress-option #seopress-aio-migrate,.seopress-styles .seopress-option #seopress-rk-migrate,.seopress-styles .seopress-option #seopress-seo-framework-migrate,.seopress-styles .seopress-option #seopress-squirrly-migrate,.seopress-styles .seopress-option #seopress-yoast-migrate,.seopress-styles .seopress-option #submit{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);margin-right:15px;background:RGB(106,124,148);position:relative;height:auto;z-index:10}.seopress-styles .seopress-option #seopress-aio-migrate:hover,.seopress-styles .seopress-option #seopress-rk-migrate:hover,.seopress-styles .seopress-option #seopress-seo-framework-migrate:hover,.seopress-styles .seopress-option #seopress-squirrly-migrate:hover,.seopress-styles .seopress-option #seopress-yoast-migrate:hover,.seopress-styles .seopress-option #submit:hover{text-decoration:none;color:#fff;background:#232323}.seopress-styles #wpcontent{padding-left:0;background:#f8fafd}.seopress-styles pre{color:#42b72a;background:#f5f6f7;font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;padding:7px;display:inline-block}.seopress-styles #seopress-navbar{padding:10px .5rem;height:56px;margin:0 auto;width:53rem;box-sizing:border-box;position:relative}#seopress-header{margin:0 auto;position:relative;width:100%}#seopress-header #seopress-admin h1{line-height:40px;margin:0;display:inline-block;height:40px;width:40px;background-size:100%;background-repeat:no-repeat}#seopress-header #seopress-admin h1::before{font-size:14px;line-height:40px;position:absolute;border-radius:6px;font-weight:400;color:#fff;width:40px;height:40px;text-align:center;background:#3a4afb;background:-moz-linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%);background:-webkit-linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%);background:linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%)}#seopress-header #seopress-admin h1:hover{cursor:pointer}#seopress-header #seopress-admin h1>a{text-decoration:none;color:inherit}#seopress-header #seopress-admin .seopress-quick-access{background:#fff;box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.2),0 5px 15px rgba(0,0,0,.1);border-radius:4px;overflow:hidden;position:relative;font-size:17px;line-height:40px;white-space:nowrap;transform:rotate3d(1,1,0,-15deg);transform-origin:100% 0;opacity:0;will-change:transform,opacity;transition-property:transform,opacity;transition-duration:.25s;z-index:300;padding:0;display:block;width:53rem;top:0;visibility:hidden;cursor:auto}#seopress-header #seopress-admin h1:hover .seopress-quick-access{transform:none;opacity:1;pointer-events:auto;visibility:visible}#seopress-header #seopress-admin .seopress-quick-access>ul{padding:20px;margin:0;float:left;width:100%;box-sizing:border-box}#seopress-header #seopress-admin h1 .seopress-quick-access li{text-decoration:none;display:inline-block;width:50%;margin:0;float:left;padding:10px 0}#seopress-header #seopress-admin h1 .seopress-quick-access li .dashicons{vertical-align:middle;background:#b7e1f3;border-radius:50%;padding:5px;margin-right:15px}#seopress-header #seopress-admin h1 .seopress-quick-access li a{text-decoration:none;font-size:15px;line-height:30px;text-transform:uppercase;display:block;width:100%;transition:all .3s linear;color:#3297d3}#seopress-header #seopress-admin h1 .seopress-quick-access li a:hover{color:#647a88}#seopress-header #seopress-admin h1 .seopress-info-version{position:relative;left:50px;top:0;font-size:14px;width:100px;display:block}#seopress-header #seopress-admin .wpc-info-version{font-size:14px;left:310px;position:absolute;text-indent:0;top:85px}#seopress-header #seopress-notice{float:right;line-height:40px}#seopress-header #seopress-notice p{font-size:16px}#seopress-header #seopress-notice .dashicons{color:#444;text-decoration:none;line-height:40px}#seopress-header #seopress-notice div.small{font-size:13px;display:inline}#seopress-footer-credits{font-style:italic}#seopress-footer-credits .wporg-ratings{display:inline}#seopress-footer-credits .wporg-ratings a{text-decoration:none}.seopress-option .seopress-settings{float:left;max-width:750px;width:100%}.seopress-option #seopress-edd-license-btn,.seopress-option #seopress-refresh{float:left}.wp-admin-ui_page_seopress-import-export .postbox{margin-right:20px}.seopress-option #side-sortables .accordion-section-content{padding:0}.seopress-option .seopress-settings label{margin:0 0 0 10px}.wrap-seopress-tab-content{position:relative;display:block;width:100%;height:100%;max-width:53rem;margin:20px auto 0}#seopress-admin-tabs .seopress-tab{padding:1.5rem;visibility:hidden;overflow:hidden;opacity:0;transition:all .2s ease;transform:translateX(-15px);position:absolute;top:0}#seopress-admin-tabs .seopress-tab.active{visibility:visible;overflow:inherit;opacity:1;transform:translateX(0);display:inherit;position:relative}#seopress-tabs .seopress-tab{padding:1.5rem;display:none}#seopress-tabs .seopress-tab.active{display:inline-block}.seopress-option input[type=password],.seopress-option input[type=text],.seopress-option textarea{min-width:485px}#seopress_htaccess_file{width:100%}.seopress-option textarea{min-height:100px}.seopress-option #side-sortables .highlight{border:1px dashed #ccc;display:block;width:382px;height:40px;background:0 0}.seopress-option #side-sortables .accordion-section{margin-bottom:9px;width:382px}.seopress-option #side-sortables .accordion-section h3{cursor:move;border:1px solid #e5e5e5;background:#fafafa}.seopress-option #side-sortables .accordion-section .inside{padding:10px 10px 24px;border-width:0 1px 1px;border-style:solid;box-shadow:0 1px 1px rgba(0,0,0,.04);border-color:#e5e5e5;display:inline-block;width:calc(100% - 22px);height:100%}.seopress-option #side-sortables .accordion-section .inside ul{padding-left:10px;margin-bottom:0;padding-top:2px;padding-bottom:2px}.seopress-option #side-sortables .accordion-section .inside ul li{border-left:2px solid #ccc;padding-left:10px;margin-bottom:10px}.seopress-option #side-sortables .accordion-section .inside ul li:first-child{border-bottom:1px dotted #e5e5e5;border-left:0;padding-bottom:10px;font-weight:700;margin-left:-15px;margin-bottom:10px}.seopress-notice #message{margin:5px 10px 2px 0}#seopress-notice a{position:relative;text-decoration:none}#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 0}.seopress-option .dashicons,.seopress-page-list .dashicons{vertical-align:middle;margin-right:5px}#seopress-admin-tabs .ui-tabs-nav,#seopress-notifications-center,.seopress-page-list .seopress-feature,.seopress-useful-tools{background:linear-gradient(172deg,#f5f7fa,#f5f7fa 200px,#fff 0,#fff);margin:0 auto 20px;box-shadow:0 15px 35px rgba(50,50,93,.1),0 5px 15px rgba(0,0,0,.2);max-width:50rem;padding:1.5rem;width:100%;border-radius:4px}#seopress-notifications-center,.seopress-useful-tools{background:linear-gradient(172deg,#f5f7fa,#f5f7fa 400px,#fff 0,#fff)}.seopress-page-list .seopress-feature{padding:0 1.5rem;position:relative;overflow:hidden;transition-duration:.15s}.seopress-page-list .seopress-feature p{color:#6b7c93;font-size:14px;margin-bottom:30px}#seopress-notifications-center{margin-top:0}#seopress-admin-tabs .ui-tabs-nav{display:flex;padding-top:1rem;padding-bottom:0}.seopress-page-list .seopress-feature .img-tool{height:100px;width:100px;background:#c4f0ff;position:absolute;border-radius:50%;box-shadow:0 4px 6px rgba(50,50,93,.1),0 1px 3px rgba(0,0,0,.1);top:calc(50% - 50px);left:20px}.seopress-page-list .seopress-feature .img-tool .dashicons{color:#217ab7;font-size:60px;text-align:left;vertical-align:middle;width:100%;height:100%;position:absolute;top:calc(50% - 30px);left:calc(50% - 30px);margin:0}.seopress-page-list .seopress-feature .inner{margin:0;display:block;padding:2rem 0 2rem 120px}.seopress-page-list .seopress-feature h3{margin:0;font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase}.seopress-page-list .seopress-feature h3 .dashicons{font-size:16px;margin-left:5px;vertical-align:middle}#seopress-content .seopress-page-list .seopress-feature a,#seopress-notifications-center .seopress-alert .button-primary,.seopress-option .seopress-feature a,.seopress-useful-tools .widget .button-primary{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);margin-right:15px;background:#6a7c94;position:relative;height:auto}#seopress-content .seopress-page-list .seopress-feature a.button-secondary{padding-left:30px}#seopress-content .seopress-page-list .seopress-feature a.button-secondary::before,#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f111";font-family:Dashicons;position:absolute;left:10px;top:1px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:16px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects,#seopress-notifications-center .seopress-alert .button-primary,.seopress-option .button{background:#fff;border:none;color:#6b7c93;font-weight:500;transition:all .3s linear;text-shadow:none;text-transform:uppercase;padding-right:20px;padding-left:20px;line-height:34px;min-height:34px;margin-bottom:10px;border-radius:4px;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);vertical-align:baseline}.seopress-option .button .dashicons{font-size:16px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects{padding-left:35px}#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f344";left:inherit;right:10px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects::before{content:"\f177"}#seopress-content .seopress-page-list .seopress-feature a:hover,#seopress-notifications-center .seopress-alert .button-primary:hover,.seopress-option .button:hover,.seopress-option .seopress-feature a:hover,.seopress-useful-tools .widget .button-primary:hover{text-decoration:none;color:#fff;background:#232323}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:focus,#seopress-content .seopress-page-list .seopress-feature a:focus,#seopress-content .seopress-page-list .seopress-feature a:focus.button-secondary,#seopress-content a:focus,#seopress-notifications-center .seopress-alert .button-primary:focus,.seopress-option #seopress-tabs .seopress-doc:focus,.seopress-option .seopress-feature a:focus,.seopress-styles .seopress-option #seopress-aio-migrate:focus,.seopress-styles .seopress-option #seopress-yoast-migrate:focus,.seopress-styles .seopress-option #submit:focus,.seopress-useful-tools .widget .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;background:#008ec2;border-color:#006799;color:#fff}#seopress-admin-tabs .nav-tab-wrapper a.nav-tab-active:focus{color:inherit}#seopress-notifications-center .seopress-alert .button-primary{float:right;margin:5px 0;padding-right:30px}#seopress-notifications-center h2,.seopress-useful-tools h2{margin:5px 0 15px 5px;display:inline-block;width:100%}#seopress-notifications-center .dashicons,.seopress-useful-tools .dashicons{margin-right:10px}#seopress-notifications-center .seopress-alert{padding:0;display:inline-block;margin:0 10px 10px 5px;border-bottom:1px solid #e6ebf1;width:calc(100% - 30px);position:relative;transition:all 150ms ease}#seopress-notifications-center .seopress-alert:hover{cursor:default}#seopress-notifications-center .seopress-alert p{display:inline-block}#seopress-notifications-center .seopress-alert .impact{padding:4px 5px;color:#fff;text-transform:uppercase;font-weight:700;font-size:10px;border-radius:4px}#seopress-notifications-center .seopress-alert .impact.low{background:#ffde24;color:#6b6543}#seopress-notifications-center .seopress-alert .impact.medium{background:#e39f48}#seopress-notifications-center .seopress-alert .impact.high{background:#e25950}#seopress-notifications-center .seopress-alert .impact.high.info{background:#0085ba}#seopress-notifications-center .seopress-alert .dashicons{color:#ffc82c}#seopress-notifications-center .dashicons.remove-notice{position:absolute;right:-55px;color:#6b7c93;font-size:30px;height:30px;width:30px;top:2px;padding:5px;transition:all .3s linear}#seopress-notifications-center .dashicons.remove-notice:hover{background:#e25950;color:#fff;cursor:pointer;border-radius:4px}#seopress-content .seopress-page-list .seopress-feature .seopress-doc,.seopress-option #seopress-tabs .seopress-doc{background:0 0;padding:0;width:inherit;height:inherit;text-decoration:none;color:inherit;box-shadow:none;position:absolute;right:0}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover,.seopress-option #seopress-tabs .seopress-doc:hover{color:#747474;background:0 0}.seopress-option .seopress-table{background:#fff;border:1px solid #ccc}.seopress-option .seopress-table th{padding:15px 10px;vertical-align:middle}.wp-admin-ui_page_seopress-roles .seopress-option .seopress-table th{min-width:200px}.seopress-option .seopress-table .seopress-settings-section{background:#f1f1f1}.seopress-option .seopress-table .seopress-table-head .seopress-feature{border-bottom:1px solid #ccc;font-weight:700;background:#f1f1f1}#seopress-content .feature-state,.seopress-option .feature-state{font-style:italic;font-size:12px;display:inline-block;background:rgba(0,140,135,.1);padding:5px 12px;border-radius:25px;color:#444;font-weight:400;text-transform:none;-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-button,.seopress-option .tag-title{cursor:pointer;font-weight:500;border-radius:4px;transition:all .3s linear}#seopress-content .feature-state-on,#seopress-content .feature-state.feature-state-on,.seopress-option .feature-state-on,.seopress-option .feature-state.feature-state-on{display:inline}#seopress-content .feature-state-off,.seopress-option .feature-state-off{display:none}.seopress-option .postbox .inside li{list-style:square inside;padding-left:5px}#tab_seopress_page_speed .inside li{list-style:none;padding-left:0;word-break:break-word}.seopress-option .log{margin:0;text-transform:uppercase;display:inline-block;vertical-align:middle;padding:5px;color:rgba(19,191,17,1);font-style:italic}.seopress-option input[type=text].seopress-admin-menu-input{min-width:inherit;width:100%}.seopress_page_seopress-import-export .postbox{width:calc(100% - 20px)}#seopress_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{position:relative;display:inline-block;width:100%;margin-bottom:10px}#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-option .tag-title{padding:4px 8px;position:relative;top:5px;left:0;font-size:11px;float:left;margin-right:5px;user-select:none;margin-bottom:5px;background:#fff;color:#6b7c93;box-shadow:0 0 0 .5px rgba(50,50,93,.17),0 2px 5px 0 rgba(50,50,93,.12),0 3px 9px 0 rgba(50,50,93,.08),0 1px 1.5px 0 rgba(0,0,0,.08),0 1px 2px 0 rgba(0,0,0,.08)}#seopress_cpt .tag-title:active,#seopress_cpt .tag-title:focus,#seopress_cpt .tag-title:hover,#seopress_pro_cpt .tag-title:active,#seopress_pro_cpt .tag-title:focus,#seopress_pro_cpt .tag-title:hover,.seopress-option .tag-title:active,.seopress-option .tag-title:focus,.seopress-option .tag-title:hover{background:#232323;color:#fff;user-select:none}#seopress_cpt .tag-title .dashicons,#seopress_pro_cpt .tag-title .dashicons,.seopress-option .tag-title .dashicons{padding:0;height:16px;width:16px;font-size:16px;margin-right:5px;vertical-align:middle}.seopress-button{text-transform:uppercase;background:#fff;border-color:#c8d7e1;border-style:solid;border-width:1px 1px 2px;color:#2e4453;display:inline-block;margin:0;outline:0;overflow:hidden;text-overflow:ellipsis;text-decoration:none;vertical-align:top;box-sizing:border-box;font-size:14px;line-height:21px;padding:7px 14px 9px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.seopress-button:hover{border-color:#a8bece;color:#00a0d2}.seopress-button .dashicons{vertical-align:middle}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget{border-right:1px solid #e6ebf1;margin:0;padding:0 20px;width:calc(50% - 2px);box-sizing:border-box;display:inline-block;vertical-align:top}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:first-child{width:100%;display:block;clear:both;border-right:none;border-bottom:1px solid #e6ebf1;padding-bottom:20px;margin-bottom:20px}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:last-child{border-right:none}#seopress-content .seopress-useful-tools .widget-reverse ul{background:#fff}#seopress-content .seopress-useful-tools .widget-reverse li{padding:10px;margin:0;border-bottom:1px solid #e6ebf1}#seopress-content .seopress-useful-tools .widget-reverse li:hover{background:#f5f7fa}#seopress-content .seopress-useful-tools .widget-title{text-transform:uppercase;margin:0 0 10px;font-size:13px;padding:10px 0;color:#24b47e}#seopress-content .seopress-reverse label,#seopress-content .seopress-useful-tools .widget-whois ul li span{font-weight:700}#seopress-content #seopress-reverse-url{width:100%;margin:10px 0}#seopress-content .widget-reverse p{margin:0}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_url{width:35%}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_anchor_text{width:20%}.seopress-styles #screen-meta{margin:0;position:relative;background-color:#fff;border-bottom:0 solid #f2f2f2;border-top:none;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);top:0}.seopress-styles #contextual-help-link-wrap,.seopress-styles #screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #f2f2f2;border-top:none;background:#fff;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08)}.seopress-styles #screen-meta-links .show-settings{box-shadow:none}.seopress-styles #screen-meta-links .screen-meta-toggle{position:relative;top:0;z-index:2000}.seopress-styles #contextual-help-back{background:#f8fafd}.seopress-styles .contextual-help-tabs .active{border-left:2px solid #3297d3;background:#f8fafd}#seopress-content input.toggle,.seopress-option input.toggle{max-height:0;max-width:0;opacity:0}#seopress-content 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:30px;width:50px;border-radius:15px}.wrap-toggle-checkboxes input.toggle+label{float:left;margin-right:10px}#seopress-content input.toggle+label:before,.seopress-option input.toggle+label:before{content:"";position:absolute;display:block;height:30px;width:30px;top:0;left:0;border-radius:15px;background:rgba(19,191,17,0);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress-content input.toggle+label:after,.seopress-option input.toggle+label:after{content:"";position:absolute;display:block;height:30px;width:30px;top:0;left:0;border-radius:15px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.2);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress-content input.toggle[data-toggle="1"]+label:before,.seopress-option input.toggle[data-toggle="1"]+label:before{width:50px;background:rgba(19,191,17,1)}#seopress-content 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 rgba(19,191,17,1),0 2px 4px rgba(0,0,0,.2)}#seopress-content .seopress-page-list{position:relative}#seopress-notice-save{position:fixed;color:#fff;padding:15px 40px;font-size:.9rem;text-transform:uppercase;text-align:center;border-radius:0;background:rgba(74,184,102,.9);bottom:0;right:0;z-index:500;width:100%;font-weight:700}.seopress_page_seopress-pro-page #wpcontent{background:#f4f7fa}.seopress-option .wrap div.nav-tab-wrapper{border-bottom:1px solid RGB(238,238,238);margin:0 0 0 -16px;padding:0 10px;line-height:inherit;background:#fff;position:-webkit-sticky;position:sticky;top:102px;width:calc(100% + 12px);z-index:95;font-weight:400}#seopress-admin-tabs.wrap div.nav-tab-wrapper{margin:20px auto 0;max-width:53rem;width:100%;border-bottom:0;padding:0;line-height:inherit;position:-webkit-sticky;position:sticky;background:#f8fafd;z-index:100;top:31px;font-weight:400}#seopress-admin-tabs #tab_seopress_notifications.seopress-tab{background:0 0;padding:0}#seopress-admin-tabs .nav-tab,.seopress-option .nav-tab{border:0 solid #ccc;background:0 0;opacity:.5;padding:8px 8px;transition:opacity .3s linear;color:#191e23;margin:0;float:none;display:inline-block}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:hover,.seopress-option .about-wrap h2 .nav-tab-active,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:hover{background-color:#fff}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus,.nav-tab-active:focus,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:focus:active,.seopress-option .nav-tab-active:hover,.seopress-option .nav-tab:focus{background:0 0;opacity:1;outline:0;font-weight:600;position:relative}.seopress-option .nav-tab-active::after{border-bottom:2px solid #0085ba;content:'';position:absolute;width:100%;bottom:0;left:0;display:block}#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}#section-export-redirects,#section-import-redirects{margin-top:-120px;padding-top:120px}.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}#tab_seopress_social_accounts .help-social{position:relative;right:0;width:30%}#tab_seopress_social_accounts .form-table{float:left;width:70%}
assets/js/seopress-migrate.js CHANGED
@@ -17,10 +17,10 @@ jQuery(document).ready(function($) {
17
  if( 'done' == data.data.offset ) {
18
  $('#seopress-yoast-migrate').removeAttr("disabled");
19
  $( '.spinner' ).css( "visibility", "hidden" );
20
- $( '#yoast-migration-tool .log' ).html(seopressAjaxMigrate.i18n);
21
  } else {
22
  self.process_offset( parseInt( data.data.offset ), self );
23
- }
24
  },
25
  });
26
  };
@@ -49,10 +49,10 @@ jQuery(document).ready(function($) {
49
  if( 'done' == data.data.offset2 ) {
50
  $('#seopress-aio-migrate').removeAttr("disabled");
51
  $( '.spinner' ).css( "visibility", "hidden" );
52
- $( '#aio-migration-tool .log' ).html(seopressAjaxMigrate.i18n);
53
  } else {
54
  self.process_offset2( parseInt( data.data.offset2 ), self );
55
- }
56
  },
57
  });
58
  };
@@ -82,10 +82,10 @@ jQuery(document).ready(function($) {
82
  if( 'done' == data.data.offset3 ) {
83
  $('#seopress-seo-framework-migrate').removeAttr("disabled");
84
  $( '.spinner' ).css( "visibility", "hidden" );
85
- $( '#seo-framework-migration-tool .log' ).html(seopressAjaxMigrate.i18n);
86
  } else {
87
  self.process_offset3( parseInt( data.data.offset3 ), self );
88
- }
89
  },
90
  });
91
  };
@@ -115,10 +115,10 @@ jQuery(document).ready(function($) {
115
  if( 'done' == data.data.offset4 ) {
116
  $('#seopress-rk-migrate').removeAttr("disabled");
117
  $( '.spinner' ).css( "visibility", "hidden" );
118
- $( '#rk-migration-tool .log' ).html(seopressAjaxMigrate.i18n);
119
  } else {
120
  self.process_offset4( parseInt( data.data.offset4 ), self );
121
- }
122
  },
123
  });
124
  };
@@ -129,4 +129,71 @@ jQuery(document).ready(function($) {
129
  $( '#rk-migration-tool .spinner' ).css( "float", "none" );
130
  $( '#rk-migration-tool .log' ).html('');
131
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
  });
17
  if( 'done' == data.data.offset ) {
18
  $('#seopress-yoast-migrate').removeAttr("disabled");
19
  $( '.spinner' ).css( "visibility", "hidden" );
20
+ $( '#yoast-migration-tool .log' ).html(seopressAjaxMigrate.i18n.migration);
21
  } else {
22
  self.process_offset( parseInt( data.data.offset ), self );
23
+ }
24
  },
25
  });
26
  };
49
  if( 'done' == data.data.offset2 ) {
50
  $('#seopress-aio-migrate').removeAttr("disabled");
51
  $( '.spinner' ).css( "visibility", "hidden" );
52
+ $( '#aio-migration-tool .log' ).html(seopressAjaxMigrate.i18n.migration);
53
  } else {
54
  self.process_offset2( parseInt( data.data.offset2 ), self );
55
+ }
56
  },
57
  });
58
  };
82
  if( 'done' == data.data.offset3 ) {
83
  $('#seopress-seo-framework-migrate').removeAttr("disabled");
84
  $( '.spinner' ).css( "visibility", "hidden" );
85
+ $( '#seo-framework-migration-tool .log' ).html(seopressAjaxMigrate.i18n.migration);
86
  } else {
87
  self.process_offset3( parseInt( data.data.offset3 ), self );
88
+ }
89
  },
90
  });
91
  };
115
  if( 'done' == data.data.offset4 ) {
116
  $('#seopress-rk-migrate').removeAttr("disabled");
117
  $( '.spinner' ).css( "visibility", "hidden" );
118
+ $( '#rk-migration-tool .log' ).html(seopressAjaxMigrate.i18n.migration);
119
  } else {
120
  self.process_offset4( parseInt( data.data.offset4 ), self );
121
+ }
122
  },
123
  });
124
  };
129
  $( '#rk-migration-tool .spinner' ).css( "float", "none" );
130
  $( '#rk-migration-tool .log' ).html('');
131
  });
132
+
133
+ //Squirrly
134
+ $('#seopress-squirrly-migrate').on('click', function(e5) {
135
+ e5.preventDefault();
136
+ self.process_offset5( 0, self );
137
+ });
138
+ process_offset5 = function( offset5, self ) {
139
+ $.ajax({
140
+ method : 'POST',
141
+ url : seopressAjaxMigrate.seopress_squirrly_migrate.seopress_squirrly_migration,
142
+ data : {
143
+ action: 'seopress_squirrly_migration',
144
+ offset5: offset5,
145
+ _ajax_nonce: seopressAjaxMigrate.seopress_squirrly_migrate.seopress_nonce,
146
+ },
147
+ success : function( data ) {
148
+ if( 'done' == data.data.offset5 ) {
149
+ $('#seopress-squirrly-migrate').removeAttr("disabled");
150
+ $( '.spinner' ).css( "visibility", "hidden" );
151
+ $( '#squirrly-migration-tool .log' ).html(seopressAjaxMigrate.i18n.migration);
152
+ } else {
153
+ self.process_offset5( parseInt( data.data.offset5 ), self );
154
+ }
155
+ },
156
+ });
157
+ };
158
+
159
+ $('#seopress-squirrly-migrate').on('click', function() {
160
+ $(this).attr("disabled", "disabled");
161
+ $( '#squirrly-migration-tool .spinner' ).css( "visibility", "visible" );
162
+ $( '#squirrly-migration-tool .spinner' ).css( "float", "none" );
163
+ $( '#squirrly-migration-tool .log' ).html('');
164
+ });
165
+
166
+ //Export metadata to CSV
167
+ $('#seopress-metadata-export').on('click', function(e6) {
168
+ e6.preventDefault();
169
+ self.process_offset6( 0, self );
170
+ });
171
+ process_offset6 = function( offset6, self ) {
172
+ $.ajax({
173
+ method : 'POST',
174
+ url : seopressAjaxMigrate.seopress_metadata_csv.seopress_metadata_export,
175
+ data : {
176
+ action: 'seopress_metadata_export',
177
+ offset6: offset6,
178
+ _ajax_nonce: seopressAjaxMigrate.seopress_metadata_csv.seopress_nonce,
179
+ },
180
+ success : function( data ) {
181
+ if( 'done' == data.data.offset6 && data.data.url !='' ) {
182
+ $('#seopress-metadata-export').removeAttr("disabled");
183
+ $( '.spinner' ).css( "visibility", "hidden" );
184
+ $( '#seopress-metadata-tool .log' ).html(seopressAjaxMigrate.i18n.export);
185
+ $(location).attr('href',data.data.url);
186
+ } else {
187
+ self.process_offset6( parseInt( data.data.offset6 ), self );
188
+ }
189
+ },
190
+ });
191
+ };
192
+
193
+ $('#seopress-metadata-export').on('click', function() {
194
+ $(this).attr("disabled", "disabled");
195
+ $( '#seopress-metadata-tool .spinner' ).css( "visibility", "visible" );
196
+ $( '#seopress-metadata-tool .spinner' ).css( "float", "none" );
197
+ $( '#seopress-metadata-tool .log' ).html('');
198
+ });
199
  });
assets/js/seopress-migrate.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(s){s("#seopress-yoast-migrate").on("click",function(s){s.preventDefault(),self.process_offset(0,self)}),process_offset=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_yoast_migrate.seopress_yoast_migration,data:{action:"seopress_yoast_migration",offset:e,_ajax_nonce:seopressAjaxMigrate.seopress_yoast_migrate.seopress_nonce},success:function(e){"done"==e.data.offset?(s("#seopress-yoast-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#yoast-migration-tool .log").html(seopressAjaxMigrate.i18n)):o.process_offset(parseInt(e.data.offset),o)}})},s("#seopress-yoast-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#yoast-migration-tool .spinner").css("visibility","visible"),s("#yoast-migration-tool .spinner").css("float","none"),s("#yoast-migration-tool .log").html("")}),s("#seopress-aio-migrate").on("click",function(s){s.preventDefault(),self.process_offset2(0,self)}),process_offset2=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_aio_migrate.seopress_aio_migration,data:{action:"seopress_aio_migration",offset2:e,_ajax_nonce:seopressAjaxMigrate.seopress_aio_migrate.seopress_nonce},success:function(e){"done"==e.data.offset2?(s("#seopress-aio-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#aio-migration-tool .log").html(seopressAjaxMigrate.i18n)):o.process_offset2(parseInt(e.data.offset2),o)}})},s("#seopress-aio-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#aio-migration-tool .spinner").css("visibility","visible"),s("#aio-migration-tool .spinner").css("float","none"),s("#aio-migration-tool .log").html("")}),s("#seopress-seo-framework-migrate").on("click",function(s){s.preventDefault(),self.process_offset3(0,self)}),process_offset3=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_seo_framework_migration,data:{action:"seopress_seo_framework_migration",offset3:e,_ajax_nonce:seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_nonce},success:function(e){"done"==e.data.offset3?(s("#seopress-seo-framework-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#seo-framework-migration-tool .log").html(seopressAjaxMigrate.i18n)):o.process_offset3(parseInt(e.data.offset3),o)}})},s("#seopress-seo-framework-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#seo-framework-migration-tool .spinner").css("visibility","visible"),s("#seo-framework-migration-tool .spinner").css("float","none"),s("#seo-framework-migration-tool .log").html("")}),s("#seopress-rk-migrate").on("click",function(s){s.preventDefault(),self.process_offset4(0,self)}),process_offset4=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_rk_migrate.seopress_rk_migration,data:{action:"seopress_rk_migration",offset4:e,_ajax_nonce:seopressAjaxMigrate.seopress_rk_migrate.seopress_nonce},success:function(e){"done"==e.data.offset4?(s("#seopress-rk-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#rk-migration-tool .log").html(seopressAjaxMigrate.i18n)):o.process_offset4(parseInt(e.data.offset4),o)}})},s("#seopress-rk-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#rk-migration-tool .spinner").css("visibility","visible"),s("#rk-migration-tool .spinner").css("float","none"),s("#rk-migration-tool .log").html("")})});
1
+ jQuery(document).ready(function(s){s("#seopress-yoast-migrate").on("click",function(s){s.preventDefault(),self.process_offset(0,self)}),process_offset=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_yoast_migrate.seopress_yoast_migration,data:{action:"seopress_yoast_migration",offset:e,_ajax_nonce:seopressAjaxMigrate.seopress_yoast_migrate.seopress_nonce},success:function(e){"done"==e.data.offset?(s("#seopress-yoast-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#yoast-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset(parseInt(e.data.offset),o)}})},s("#seopress-yoast-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#yoast-migration-tool .spinner").css("visibility","visible"),s("#yoast-migration-tool .spinner").css("float","none"),s("#yoast-migration-tool .log").html("")}),s("#seopress-aio-migrate").on("click",function(s){s.preventDefault(),self.process_offset2(0,self)}),process_offset2=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_aio_migrate.seopress_aio_migration,data:{action:"seopress_aio_migration",offset2:e,_ajax_nonce:seopressAjaxMigrate.seopress_aio_migrate.seopress_nonce},success:function(e){"done"==e.data.offset2?(s("#seopress-aio-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#aio-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset2(parseInt(e.data.offset2),o)}})},s("#seopress-aio-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#aio-migration-tool .spinner").css("visibility","visible"),s("#aio-migration-tool .spinner").css("float","none"),s("#aio-migration-tool .log").html("")}),s("#seopress-seo-framework-migrate").on("click",function(s){s.preventDefault(),self.process_offset3(0,self)}),process_offset3=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_seo_framework_migration,data:{action:"seopress_seo_framework_migration",offset3:e,_ajax_nonce:seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_nonce},success:function(e){"done"==e.data.offset3?(s("#seopress-seo-framework-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#seo-framework-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset3(parseInt(e.data.offset3),o)}})},s("#seopress-seo-framework-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#seo-framework-migration-tool .spinner").css("visibility","visible"),s("#seo-framework-migration-tool .spinner").css("float","none"),s("#seo-framework-migration-tool .log").html("")}),s("#seopress-rk-migrate").on("click",function(s){s.preventDefault(),self.process_offset4(0,self)}),process_offset4=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_rk_migrate.seopress_rk_migration,data:{action:"seopress_rk_migration",offset4:e,_ajax_nonce:seopressAjaxMigrate.seopress_rk_migrate.seopress_nonce},success:function(e){"done"==e.data.offset4?(s("#seopress-rk-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#rk-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset4(parseInt(e.data.offset4),o)}})},s("#seopress-rk-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#rk-migration-tool .spinner").css("visibility","visible"),s("#rk-migration-tool .spinner").css("float","none"),s("#rk-migration-tool .log").html("")}),s("#seopress-squirrly-migrate").on("click",function(s){s.preventDefault(),self.process_offset5(0,self)}),process_offset5=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_squirrly_migrate.seopress_squirrly_migration,data:{action:"seopress_squirrly_migration",offset5:e,_ajax_nonce:seopressAjaxMigrate.seopress_squirrly_migrate.seopress_nonce},success:function(e){"done"==e.data.offset5?(s("#seopress-squirrly-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#squirrly-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset5(parseInt(e.data.offset5),o)}})},s("#seopress-squirrly-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#squirrly-migration-tool .spinner").css("visibility","visible"),s("#squirrly-migration-tool .spinner").css("float","none"),s("#squirrly-migration-tool .log").html("")}),s("#seopress-metadata-export").on("click",function(s){s.preventDefault(),self.process_offset6(0,self)}),process_offset6=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_metadata_csv.seopress_metadata_export,data:{action:"seopress_metadata_export",offset6:e,_ajax_nonce:seopressAjaxMigrate.seopress_metadata_csv.seopress_nonce},success:function(e){"done"==e.data.offset6&&""!=e.data.url?(s("#seopress-metadata-export").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#seopress-metadata-tool .log").html(seopressAjaxMigrate.i18n.export),s(location).attr("href",e.data.url)):o.process_offset6(parseInt(e.data.offset6),o)}})},s("#seopress-metadata-export").on("click",function(){s(this).attr("disabled","disabled"),s("#seopress-metadata-tool .spinner").css("visibility","visible"),s("#seopress-metadata-tool .spinner").css("float","none"),s("#seopress-metadata-tool .log").html("")})});
inc/admin/admin-metaboxes-content-analysis-form.php CHANGED
@@ -58,7 +58,7 @@ if ( is_plugin_active( 'wp-seopress-pro/seopress-pro.php' ) ) {
58
 
59
  jQuery('.sp-suggest-btn').click(function(e) {
60
  e.preventDefault();
61
- if($('#seopress_analysis_target_kw_meta').val().length == 0){
62
  jQuery('#seopress_analysis_target_kw_meta').val(jQuery(this).text() + ',');
63
  } else {
64
  str = jQuery('#seopress_analysis_target_kw_meta').val();
58
 
59
  jQuery('.sp-suggest-btn').click(function(e) {
60
  e.preventDefault();
61
+ if(jQuery('#seopress_analysis_target_kw_meta').val().length == 0){
62
  jQuery('#seopress_analysis_target_kw_meta').val(jQuery(this).text() + ',');
63
  } else {
64
  str = jQuery('#seopress_analysis_target_kw_meta').val();
inc/admin/admin-metaboxes.php CHANGED
@@ -231,8 +231,7 @@ function seopress_display_seo_metaboxe() {
231
  $disabled['robots_odp'] = 'disabled';
232
  } else {
233
  $seopress_robots_odp = get_post_meta($post->ID,'_seopress_robots_odp',true);
234
-
235
- }
236
 
237
  $disabled['archive'] ='';
238
  if (seopress_titles_noarchive_option()) {
@@ -240,7 +239,7 @@ function seopress_display_seo_metaboxe() {
240
  $disabled['archive'] = 'disabled';
241
  } else {
242
  $seopress_robots_archive = get_post_meta($post->ID,'_seopress_robots_archive',true);
243
- }
244
 
245
  $disabled['snippet'] ='';
246
  if (seopress_titles_nosnippet_option()) {
231
  $disabled['robots_odp'] = 'disabled';
232
  } else {
233
  $seopress_robots_odp = get_post_meta($post->ID,'_seopress_robots_odp',true);
234
+ }
 
235
 
236
  $disabled['archive'] ='';
237
  if (seopress_titles_noarchive_option()) {
239
  $disabled['archive'] = 'disabled';
240
  } else {
241
  $seopress_robots_archive = get_post_meta($post->ID,'_seopress_robots_archive',true);
242
+ }
243
 
244
  $disabled['snippet'] ='';
245
  if (seopress_titles_nosnippet_option()) {
inc/admin/admin.php CHANGED
@@ -681,6 +681,21 @@ class seopress_options
681
  <a class="button" href="<?php echo admin_url( 'admin.php?page=seopress_csv_importer' ); ?>"><?php _e('Run the importer','wp-seopress'); ?></a>
682
  </div><!-- .inside -->
683
  </div><!-- .postbox -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
684
  </div>
685
  <?php } ?>
686
  <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_tool_settings') { echo 'active'; } ?>" id="tab_seopress_tool_settings">
@@ -800,6 +815,26 @@ class seopress_options
800
  <div class="log"></div>
801
  </div><!-- .inside -->
802
  </div><!-- .postbox -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
803
  </div>
804
  <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_tool_redirects') { echo 'active'; } ?>" id="tab_seopress_tool_redirects">
805
  <?php if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) { ?>
@@ -828,7 +863,7 @@ class seopress_options
828
  <div id="section-import-redirects-plugin" class="postbox section-tool">
829
  <div class="inside">
830
  <h3><span><?php _e( 'Import Redirections from the Redirections plugin', 'wp-seopress' ); ?></span></h3>
831
- <p><?php _e( 'Import your own redirections from a .json file generated by the Redirections plugin. Note that we do not support certain options, like regex. To avoid conflicts, make sure there are no duplicates between your file and existing redirects.', 'wp-seopress' ); ?></p>
832
  <form method="post" enctype="multipart/form-data">
833
  <p>
834
  <input type="file" name="import_file"/>
681
  <a class="button" href="<?php echo admin_url( 'admin.php?page=seopress_csv_importer' ); ?>"><?php _e('Run the importer','wp-seopress'); ?></a>
682
  </div><!-- .inside -->
683
  </div><!-- .postbox -->
684
+ <div id="seopress-metadata-tool" class="postbox section-tool">
685
+ <div class="inside">
686
+ <h3><span><?php _e( 'Export metadata to a CSV', 'wp-seopress' ); ?></span></h3>
687
+ <p><?php _e( 'Export your SEOPress metadata for this site as a .csv file.', 'wp-seopress' ); ?></p>
688
+ <form method="post">
689
+ <p><input type="hidden" name="seopress_action" value="export_csv_metadata" /></p>
690
+ <p>
691
+ <?php wp_nonce_field( 'seopress_export_csv_metadata_nonce', 'seopress_export_csv_metadata_nonce' ); ?>
692
+ <button id="seopress-metadata-export" class="button"><?php _e('Export','wp-seopress'); ?></button>
693
+ <span class="spinner"></span>
694
+ <div class="log"></div>
695
+ </p>
696
+ </form>
697
+ </div><!-- .inside -->
698
+ </div><!-- .postbox -->
699
  </div>
700
  <?php } ?>
701
  <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_tool_settings') { echo 'active'; } ?>" id="tab_seopress_tool_settings">
815
  <div class="log"></div>
816
  </div><!-- .inside -->
817
  </div><!-- .postbox -->
818
+
819
+ <!-- Squirrly import tool -->
820
+ <div id="squirrly-migration-tool" class="postbox section-tool">
821
+ <div class="inside">
822
+ <h3><span><?php _e( 'Import posts metadata from Squirrly SEO', 'wp-seopress' ); ?></span></h3>
823
+ <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
824
+ <ul>
825
+ <li><?php _e('Title tags','wp-seopress'); ?></li>
826
+ <li><?php _e('Meta description','wp-seopress'); ?></li>
827
+ <li><?php _e('Facebook Open Graph tags (title, description and image thumbnail)','wp-seopress'); ?></li>
828
+ <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
829
+ <li><?php _e('Meta Robots (noindex or nofollow)','wp-seopress'); ?></li>
830
+ <li><?php _e('Canonical URL','wp-seopress'); ?></li>
831
+ </ul>
832
+ <p style="color:red"><span class="dashicons dashicons-warning"></span> <?php _e( '<strong>WARNING:</strong> Migration will update / delete all SEOPress posts metadata. Some dynamic variables will not be interpreted. We do NOT delete any Squirrly SEO data.', 'wp-seopress' ); ?></p>
833
+ <button id="seopress-squirrly-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
834
+ <span class="spinner"></span>
835
+ <div class="log"></div>
836
+ </div><!-- .inside -->
837
+ </div><!-- .postbox -->
838
  </div>
839
  <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_tool_redirects') { echo 'active'; } ?>" id="tab_seopress_tool_redirects">
840
  <?php if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) { ?>
863
  <div id="section-import-redirects-plugin" class="postbox section-tool">
864
  <div class="inside">
865
  <h3><span><?php _e( 'Import Redirections from the Redirections plugin', 'wp-seopress' ); ?></span></h3>
866
+ <p><?php _e( 'Import your own redirections from a .json file generated by the Redirections plugin (make sure to select <strong>"WordPress redirects"</strong> when you export your file). Note that we do not support certain options, like regex. To avoid conflicts, make sure there are no duplicates between your file and existing redirects.', 'wp-seopress' ); ?></p>
867
  <form method="post" enctype="multipart/form-data">
868
  <p>
869
  <input type="file" name="import_file"/>
inc/admin/ajax.php CHANGED
@@ -841,10 +841,10 @@ function seopress_rk_migration() {
841
  wp_reset_query();
842
  } else {
843
  $args = array(
844
- 'posts_per_page' => $increment,
845
  'post_type' => 'any',
846
  'post_status' => 'any',
847
- 'offset' => $offset4,
848
  );
849
 
850
  $rk_query = get_posts( $args );
@@ -914,3 +914,221 @@ function seopress_rk_migration() {
914
  }
915
  }
916
  add_action('wp_ajax_seopress_rk_migration', 'seopress_rk_migration');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
841
  wp_reset_query();
842
  } else {
843
  $args = array(
844
+ 'posts_per_page' => $increment,
845
  'post_type' => 'any',
846
  'post_status' => 'any',
847
+ 'offset' => $offset4,
848
  );
849
 
850
  $rk_query = get_posts( $args );
914
  }
915
  }
916
  add_action('wp_ajax_seopress_rk_migration', 'seopress_rk_migration');
917
+
918
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
919
+ //Squirrly migration
920
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
921
+ function seopress_squirrly_migration() {
922
+ check_ajax_referer( 'seopress_squirrly_migrate_nonce', $_POST['_ajax_nonce'], true );
923
+
924
+ if (current_user_can('manage_options') && is_admin()) {
925
+
926
+ if ( isset( $_POST['offset5']) && isset( $_POST['offset5'] )) {
927
+ $offset5 = absint($_POST['offset5']);
928
+ }
929
+
930
+ global $wpdb;
931
+ $table_name = $wpdb->prefix . 'qss';
932
+ $blog_id = get_current_blog_id();
933
+
934
+ $count_query = $wpdb->get_results( "SELECT * FROM $table_name WHERE blog_id = $blog_id", ARRAY_A );
935
+
936
+ if (!empty($count_query)) {
937
+ foreach($count_query as $value) {
938
+ $post_id = url_to_postid($value['URL']);
939
+
940
+ if ($post_id !=0 && !empty($value['seo'])) {
941
+ $seo = maybe_unserialize($value['seo']);
942
+
943
+ if ($seo['title'] !='') { //Import title tag
944
+ update_post_meta($post_id, '_seopress_titles_title', $seo['title']);
945
+ }
946
+ if ($seo['description'] !='') { //Import description tag
947
+ update_post_meta($post_id, '_seopress_titles_desc', $seo['description']);
948
+ }
949
+ if ($seo['og_title'] !='') { //Import Facebook Title
950
+ update_post_meta($post_id, '_seopress_social_fb_title', $seo['og_title']);
951
+ }
952
+ if ($seo['og_description'] !='') { //Import Facebook Desc
953
+ update_post_meta($post_id, '_seopress_social_fb_desc', $seo['og_description']);
954
+ }
955
+ if ($seo['og_media'] !='') { //Import Facebook Image
956
+ update_post_meta($post_id, '_seopress_social_fb_img', $seo['og_media']);
957
+ }
958
+ if ($seo['tw_title'] !='') { //Import Twitter Title
959
+ update_post_meta($post_id, '_seopress_social_twitter_title', $seo['tw_title']);
960
+ }
961
+ if ($seo['tw_description'] !='') { //Import Twitter Desc
962
+ update_post_meta($post_id, '_seopress_social_twitter_desc', $seo['tw_description']);
963
+ }
964
+ if ($seo['tw_media'] !='') { //Import Twitter Image
965
+ update_post_meta($post_id, '_seopress_social_twitter_img', $seo['tw_media']);
966
+ }
967
+ if ($seo['noindex'] === 1) { //Import noindex
968
+ update_post_meta($post_id, '_seopress_robots_index', 'yes');
969
+ }
970
+ if ($seo['nofollow'] === 1) { //Import nofollow
971
+ update_post_meta($post_id, '_seopress_robots_follow', 'yes');
972
+ }
973
+ if ($seo['canonical'] !='') { //Import canonical
974
+ update_post_meta($post_id, '_seopress_robots_canonical', $seo['canonical']);
975
+ }
976
+ }
977
+ }
978
+ $offset5 = 'done';
979
+ }
980
+ $data = array();
981
+ $data['offset5'] = $offset5;
982
+ wp_send_json_success($data);
983
+ die();
984
+ }
985
+ }
986
+ add_action('wp_ajax_seopress_squirrly_migration', 'seopress_squirrly_migration');
987
+
988
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
989
+ //Export SEOPress metadata to CSV
990
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
991
+ function seopress_metadata_export() {
992
+ check_ajax_referer( 'seopress_export_csv_metadata_nonce', $_POST['_ajax_nonce'], true );
993
+
994
+ if (current_user_can('manage_options') && is_admin()) {
995
+
996
+ if ( isset( $_POST['offset6']) && isset( $_POST['offset6'] )) {
997
+ $offset6 = absint($_POST['offset6']);
998
+ }
999
+
1000
+ $seopress_get_post_types = array();
1001
+ foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
1002
+ $seopress_get_post_types[] = $seopress_cpt_key;
1003
+ }
1004
+
1005
+ global $wpdb;
1006
+ global $post;
1007
+
1008
+ $table_name = $wpdb->prefix . 'posts';
1009
+ $count_query = $wpdb->get_results( "SELECT * FROM $table_name" );
1010
+ $total_count_posts = $wpdb->num_rows;
1011
+
1012
+ $increment = 200;
1013
+
1014
+ $csv = '';
1015
+ $csv = get_option('seopress_metadata_csv');
1016
+ $download_url = '';
1017
+
1018
+ $settings["id"] = array();
1019
+ $settings["meta_title"] = array();
1020
+ $settings["meta_desc"] = array();
1021
+ $settings["fb_title"] = array();
1022
+ $settings["fb_desc"] = array();
1023
+ $settings["fb_img"] = array();
1024
+ $settings["tw_title"] = array();
1025
+ $settings["tw_desc"] = array();
1026
+ $settings["tw_img"] = array();
1027
+ $settings["noindex"] = array();
1028
+ $settings["nofollow"] = array();
1029
+ $settings["noodp"] = array();
1030
+ $settings["noimageindex"] = array();
1031
+ $settings["noarchive"] = array();
1032
+ $settings["nosnippet"] = array();
1033
+ $settings["canonical_url"] = array();
1034
+ $settings["target_kw"] = array();
1035
+
1036
+ if ($offset6 > $total_count_posts) {
1037
+ wp_reset_query();
1038
+
1039
+ update_option('seopress_metadata_csv', $csv);
1040
+
1041
+ $args = array_merge( $_POST, array(
1042
+ 'nonce' => wp_create_nonce( 'seopress_csv_batch_export_nonce' ),
1043
+ 'page' => 'seopress-import-export',
1044
+ 'seopress_action' => 'seopress_download_batch_export',
1045
+ ) );
1046
+
1047
+ $download_url = add_query_arg( $args, admin_url('admin.php') );
1048
+
1049
+ $offset6 = 'done';
1050
+ } else {
1051
+ $args = array(
1052
+ 'post_type' => $seopress_get_post_types,
1053
+ 'posts_per_page' => $increment,
1054
+ 'offset' => $offset6,
1055
+ 'post_status' => 'any',
1056
+ 'order' => 'DESC',
1057
+ 'orderby' => 'date',
1058
+ );
1059
+ $args = apply_filters( 'seopress_metadata_query_args', $args, $seopress_get_post_types, $increment, $offset6 );
1060
+ $meta_query = get_posts( $args );
1061
+
1062
+ if ($meta_query) {
1063
+ // The Loop
1064
+ foreach ($meta_query as $post) {
1065
+ array_push($settings["id"], $post->ID);
1066
+
1067
+ array_push($settings["meta_title"], get_post_meta( $post->ID, '_seopress_titles_title', true ));
1068
+
1069
+ array_push($settings["meta_desc"], get_post_meta( $post->ID, '_seopress_titles_desc', true ));
1070
+
1071
+ array_push($settings["fb_title"], get_post_meta( $post->ID, '_seopress_social_fb_title', true ));
1072
+
1073
+ array_push($settings["fb_desc"], get_post_meta( $post->ID, '_seopress_social_fb_desc', true ));
1074
+
1075
+ array_push($settings["fb_img"], get_post_meta( $post->ID, '_seopress_social_fb_img', true ));
1076
+
1077
+ array_push($settings["tw_title"], get_post_meta( $post->ID, '_seopress_social_twitter_title', true ));
1078
+
1079
+ array_push($settings["tw_desc"], get_post_meta( $post->ID, '_seopress_social_twitter_desc', true ));
1080
+
1081
+ array_push($settings["tw_img"], get_post_meta( $post->ID, '_seopress_social_twitter_img', true ));
1082
+
1083
+ array_push($settings["noindex"], get_post_meta( $post->ID, '_seopress_robots_index', true ));
1084
+
1085
+ array_push($settings["nofollow"], get_post_meta( $post->ID, '_seopress_robots_follow', true ));
1086
+
1087
+ array_push($settings["noodp"], get_post_meta( $post->ID, '_seopress_robots_odp', true ));
1088
+
1089
+ array_push($settings["noimageindex"], get_post_meta( $post->ID, '_seopress_robots_imageindex', true ));
1090
+
1091
+ array_push($settings["noarchive"], get_post_meta( $post->ID, '_seopress_robots_archive', true ));
1092
+
1093
+ array_push($settings["nosnippet"], get_post_meta( $post->ID, '_seopress_robots_snippet', true ));
1094
+
1095
+ array_push($settings["canonical_url"], get_post_meta( $post->ID, '_seopress_robots_canonical', true ));
1096
+
1097
+ array_push($settings["target_kw"], get_post_meta( $post->ID, '_seopress_analysis_target_kw', true ));
1098
+
1099
+ $csv[] = array_merge($settings["id"],$settings["meta_title"],$settings["meta_desc"],$settings["fb_title"],$settings["fb_desc"],$settings["fb_img"],$settings["tw_title"],$settings["tw_desc"],$settings["tw_img"],$settings["noindex"],$settings["nofollow"],$settings["noodp"],$settings["noimageindex"],$settings["noarchive"],$settings["nosnippet"],$settings["canonical_url"],$settings["target_kw"]);
1100
+
1101
+ //Clean arrays
1102
+ $settings["id"] = array();
1103
+ $settings["meta_title"] = array();
1104
+ $settings["meta_desc"] = array();
1105
+ $settings["fb_title"] = array();
1106
+ $settings["fb_desc"] = array();
1107
+ $settings["fb_img"] = array();
1108
+ $settings["tw_title"] = array();
1109
+ $settings["tw_desc"] = array();
1110
+ $settings["tw_img"] = array();
1111
+ $settings["noindex"] = array();
1112
+ $settings["nofollow"] = array();
1113
+ $settings["noodp"] = array();
1114
+ $settings["noimageindex"] = array();
1115
+ $settings["noarchive"] = array();
1116
+ $settings["nosnippet"] = array();
1117
+ $settings["canonical_url"] = array();
1118
+ $settings["target_kw"] = array();
1119
+
1120
+ }
1121
+ }
1122
+ $offset6 += $increment;
1123
+ update_option('seopress_metadata_csv', $csv);
1124
+ }
1125
+
1126
+ $data = array();
1127
+ $data['offset6'] = $offset6;
1128
+ $data['url'] = $download_url;
1129
+ wp_send_json_success($data);
1130
+
1131
+ die();
1132
+ }
1133
+ }
1134
+ add_action('wp_ajax_seopress_metadata_export', 'seopress_metadata_export');
inc/functions/options-import-export.php CHANGED
@@ -4,8 +4,7 @@ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thank
4
  ///////////////////////////////////////////////////////////////////////////////////////////////////
5
  //Import / Exports settings page
6
  ///////////////////////////////////////////////////////////////////////////////////////////////////
7
-
8
- //Export SEOPress Settings in JSON
9
  function seopress_export_settings() {
10
  if( empty( $_POST['seopress_action'] ) || 'export_settings' != $_POST['seopress_action'] )
11
  return;
@@ -315,7 +314,7 @@ function seopress_reset_settings() {
315
  }
316
  add_action( 'admin_init', 'seopress_reset_settings' );
317
 
318
- //Export SEOPress BOT Links in CSV
319
  function seopress_bot_links_export_settings() {
320
  if( empty( $_POST['seopress_action'] ) || 'export_csv_links_settings' != $_POST['seopress_action'] )
321
  return;
@@ -368,21 +367,13 @@ function seopress_bot_links_export_settings() {
368
 
369
  array_push($settings["URL"], get_the_title());
370
 
371
- if (get_post_meta( get_the_ID(), 'seopress_bot_source_title', true ) !='') {
372
- array_push($settings["Source"], get_post_meta( get_the_ID(), 'seopress_bot_source_title', true ));
373
- }
374
 
375
- if (get_post_meta( get_the_ID(), 'seopress_bot_source_url', true ) !='') {
376
- array_push($settings["Source_Url"], get_post_meta( get_the_ID(), 'seopress_bot_source_url', true ));
377
- }
378
 
379
- if (get_post_meta( get_the_ID(), 'seopress_bot_status', true ) !='') {
380
- array_push($settings["Status"], get_post_meta( get_the_ID(), 'seopress_bot_status', true ));
381
- }
382
 
383
- if (get_post_meta( get_the_ID(), 'seopress_bot_type', true ) !='') {
384
- array_push($settings["Type"], get_post_meta( get_the_ID(), 'seopress_bot_type', true ));
385
- }
386
 
387
  fputcsv( $output_handle, array_merge($settings["URL"], $settings["Source"], $settings["Source_Url"], $settings["Status"], $settings["Type"]));
388
 
@@ -404,7 +395,7 @@ function seopress_bot_links_export_settings() {
404
  }
405
  add_action( 'admin_init', 'seopress_bot_links_export_settings' );
406
 
407
- //Export SEOPress Backlinks in CSV
408
  function seopress_backlinks_export_settings() {
409
  if( empty( $_POST['seopress_action'] ) || 'export_backlinks_settings' != $_POST['seopress_action'] )
410
  return;
@@ -437,7 +428,7 @@ function seopress_backlinks_export_settings() {
437
  $csv_fields[] = 'URL';
438
  $csv_fields[] = 'Anchor Text';
439
  $csv_fields[] = 'Source Citation Flow';
440
- $csv_fields[] = 'Source Trust Flow';
441
  $csv_fields[] = 'Target Citation Flow';
442
  $csv_fields[] = 'Target Trust Flow';
443
  $csv_fields[] = 'First indexed';
@@ -463,33 +454,19 @@ function seopress_backlinks_export_settings() {
463
 
464
  array_push($settings["URL"], get_the_title());
465
 
466
- if (get_post_meta( get_the_ID(), 'seopress_backlinks_anchor_text', true ) !='') {
467
- array_push($settings["Anchor_text"], get_post_meta( get_the_ID(), 'seopress_backlinks_anchor_text', true ));
468
- }
469
 
470
- if (get_post_meta( get_the_ID(), 'seopress_backlinks_source_citation_flow', true ) !='') {
471
- array_push($settings["Source_citation_flow"], get_post_meta( get_the_ID(), 'seopress_backlinks_source_citation_flow', true ));
472
- }
473
 
474
- if (get_post_meta( get_the_ID(), 'seopress_backlinks_source_trust_flow', true ) !='') {
475
- array_push($settings["Source_trust_flow"], get_post_meta( get_the_ID(), 'seopress_backlinks_source_trust_flow', true ));
476
- }
477
 
478
- if (get_post_meta( get_the_ID(), 'seopress_backlinks_target_citation_flow', true ) !='') {
479
- array_push($settings["Target_citation_flow"], get_post_meta( get_the_ID(), 'seopress_backlinks_target_citation_flow', true ));
480
- }
481
 
482
- if (get_post_meta( get_the_ID(), 'seopress_backlinks_target_trust_flow', true ) !='') {
483
- array_push($settings["Target_trust_flow"], get_post_meta( get_the_ID(), 'seopress_backlinks_target_trust_flow', true ));
484
- }
485
 
486
- if (get_post_meta( get_the_ID(), 'seopress_backlinks_found_date', true ) !='') {
487
- array_push($settings["Found_date"], get_post_meta( get_the_ID(), 'seopress_backlinks_found_date', true ));
488
- }
489
 
490
- if (get_post_meta( get_the_ID(), 'seopress_backlinks_last_update', true ) !='') {
491
- array_push($settings["Last_update"], get_post_meta( get_the_ID(), 'seopress_backlinks_last_update', true ));
492
- }
493
 
494
  fputcsv( $output_handle, array_merge(
495
  $settings["URL"],
@@ -522,4 +499,65 @@ function seopress_backlinks_export_settings() {
522
 
523
  exit;
524
  }
525
- add_action( 'admin_init', 'seopress_backlinks_export_settings' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  ///////////////////////////////////////////////////////////////////////////////////////////////////
5
  //Import / Exports settings page
6
  ///////////////////////////////////////////////////////////////////////////////////////////////////
7
+ //Export SEOPress Settings to JSON
 
8
  function seopress_export_settings() {
9
  if( empty( $_POST['seopress_action'] ) || 'export_settings' != $_POST['seopress_action'] )
10
  return;
314
  }
315
  add_action( 'admin_init', 'seopress_reset_settings' );
316
 
317
+ //Export SEOPress BOT Links to CSV
318
  function seopress_bot_links_export_settings() {
319
  if( empty( $_POST['seopress_action'] ) || 'export_csv_links_settings' != $_POST['seopress_action'] )
320
  return;
367
 
368
  array_push($settings["URL"], get_the_title());
369
 
370
+ array_push($settings["Source"], get_post_meta( get_the_ID(), 'seopress_bot_source_title', true ));
 
 
371
 
372
+ array_push($settings["Source_Url"], get_post_meta( get_the_ID(), 'seopress_bot_source_url', true ));
 
 
373
 
374
+ array_push($settings["Status"], get_post_meta( get_the_ID(), 'seopress_bot_status', true ));
 
 
375
 
376
+ array_push($settings["Type"], get_post_meta( get_the_ID(), 'seopress_bot_type', true ));
 
 
377
 
378
  fputcsv( $output_handle, array_merge($settings["URL"], $settings["Source"], $settings["Source_Url"], $settings["Status"], $settings["Type"]));
379
 
395
  }
396
  add_action( 'admin_init', 'seopress_bot_links_export_settings' );
397
 
398
+ //Export SEOPress Backlinks to CSV
399
  function seopress_backlinks_export_settings() {
400
  if( empty( $_POST['seopress_action'] ) || 'export_backlinks_settings' != $_POST['seopress_action'] )
401
  return;
428
  $csv_fields[] = 'URL';
429
  $csv_fields[] = 'Anchor Text';
430
  $csv_fields[] = 'Source Citation Flow';
431
+ $csv_fields[] = 'Source Trust Flow';
432
  $csv_fields[] = 'Target Citation Flow';
433
  $csv_fields[] = 'Target Trust Flow';
434
  $csv_fields[] = 'First indexed';
454
 
455
  array_push($settings["URL"], get_the_title());
456
 
457
+ array_push($settings["Anchor_text"], get_post_meta( get_the_ID(), 'seopress_backlinks_anchor_text', true ));
 
 
458
 
459
+ array_push($settings["Source_citation_flow"], get_post_meta( get_the_ID(), 'seopress_backlinks_source_citation_flow', true ));
 
 
460
 
461
+ array_push($settings["Source_trust_flow"], get_post_meta( get_the_ID(), 'seopress_backlinks_source_trust_flow', true ));
 
 
462
 
463
+ array_push($settings["Target_citation_flow"], get_post_meta( get_the_ID(), 'seopress_backlinks_target_citation_flow', true ));
 
 
464
 
465
+ array_push($settings["Target_trust_flow"], get_post_meta( get_the_ID(), 'seopress_backlinks_target_trust_flow', true ));
 
 
466
 
467
+ array_push($settings["Found_date"], get_post_meta( get_the_ID(), 'seopress_backlinks_found_date', true ));
 
 
468
 
469
+ array_push($settings["Last_update"], get_post_meta( get_the_ID(), 'seopress_backlinks_last_update', true ));
 
 
470
 
471
  fputcsv( $output_handle, array_merge(
472
  $settings["URL"],
499
 
500
  exit;
501
  }
502
+ add_action( 'admin_init', 'seopress_backlinks_export_settings' );
503
+
504
+ function seopress_download_batch_export() {
505
+ if( empty( $_GET['seopress_action'] ) || 'seopress_download_batch_export' != $_GET['seopress_action'] )
506
+ return;
507
+
508
+ if( ! wp_verify_nonce( $_GET['nonce'], 'seopress_csv_batch_export_nonce' ) )
509
+ return;
510
+
511
+ if (current_user_can('manage_options') && is_admin()) {
512
+
513
+ if (get_option('seopress_metadata_csv') !='') {
514
+ $csv = get_option('seopress_metadata_csv');
515
+
516
+ $csv_fields = array();
517
+ $csv_fields[] = 'id';
518
+ $csv_fields[] = 'meta_title';
519
+ $csv_fields[] = 'meta_desc';
520
+ $csv_fields[] = 'fb_title';
521
+ $csv_fields[] = 'fb_desc';
522
+ $csv_fields[] = 'fb_img';
523
+ $csv_fields[] = 'tw_title';
524
+ $csv_fields[] = 'tw_desc';
525
+ $csv_fields[] = 'tw_img';
526
+ $csv_fields[] = 'noindex';
527
+ $csv_fields[] = 'nofollow';
528
+ $csv_fields[] = 'noodp';
529
+ $csv_fields[] = 'noimageindex';
530
+ $csv_fields[] = 'noarchive';
531
+ $csv_fields[] = 'nosnippet';
532
+ $csv_fields[] = 'canonical_url';
533
+ $csv_fields[] = 'target_kw';
534
+
535
+ $output_handle = @fopen( 'php://output', 'w' );
536
+
537
+ //Insert header row
538
+ fputcsv( $output_handle, $csv_fields );
539
+
540
+ //Header
541
+ ignore_user_abort( true );
542
+ nocache_headers();
543
+ header( 'Content-Type: text/csv; charset=utf-8' );
544
+ header( 'Content-Disposition: attachment; filename=seopress-metadata-export-' . date( 'm-d-Y' ) . '.csv' );
545
+ header( 'Expires: 0' );
546
+ header( 'Pragma: public' );
547
+
548
+ if (!empty($csv)) {
549
+ foreach($csv as $value) {
550
+ fputcsv( $output_handle, $value);
551
+ }
552
+ }
553
+
554
+ // Close output file stream
555
+ fclose( $output_handle );
556
+
557
+ //Clean database
558
+ delete_option('seopress_metadata_csv');
559
+ exit;
560
+ }
561
+ }
562
+ }
563
+ add_action( 'admin_init', 'seopress_download_batch_export' );
inc/functions/sitemap/template-xml-sitemaps-author.php CHANGED
@@ -15,8 +15,13 @@ function seopress_xml_sitemap_author() {
15
  $path = get_query_var( 'seopress_cpt');
16
  }
17
 
 
 
 
 
 
18
  $seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
19
- $seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.get_home_url().'/sitemaps_xsl.xsl"?>';
20
  $seopress_sitemaps .= "\n";
21
  $seopress_sitemaps .= '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
22
 
15
  $path = get_query_var( 'seopress_cpt');
16
  }
17
 
18
+ $home_url = get_home_url().'/';
19
+ if (function_exists('pll_home_url')) {
20
+ $home_url = pll_home_url();
21
+ }
22
+
23
  $seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
24
+ $seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
25
  $seopress_sitemaps .= "\n";
26
  $seopress_sitemaps .= '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
27
 
inc/functions/sitemap/template-xml-sitemaps-single-term.php CHANGED
@@ -25,8 +25,13 @@ function seopress_xml_sitemap_single_term() {
25
  $path = get_query_var( 'seopress_cpt');
26
  }
27
 
 
 
 
 
 
28
  $seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
29
- $seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.get_home_url().'/sitemaps_xsl.xsl"?>';
30
  $seopress_sitemaps .= "\n";
31
  $seopress_sitemaps .= '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
32
  $args = array('taxonomy' => $path,'hide_empty' => false, 'number' => 1000, 'meta_query' => array( array( 'key' => '_seopress_robots_index', 'value' => 'yes', 'compare' => 'NOT EXISTS' ) ), 'fields' => 'ids', 'lang' => '');
25
  $path = get_query_var( 'seopress_cpt');
26
  }
27
 
28
+ $home_url = get_home_url().'/';
29
+ if (function_exists('pll_home_url')) {
30
+ $home_url = pll_home_url();
31
+ }
32
+
33
  $seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
34
+ $seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
35
  $seopress_sitemaps .= "\n";
36
  $seopress_sitemaps .= '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
37
  $args = array('taxonomy' => $path,'hide_empty' => false, 'number' => 1000, 'meta_query' => array( array( 'key' => '_seopress_robots_index', 'value' => 'yes', 'compare' => 'NOT EXISTS' ) ), 'fields' => 'ids', 'lang' => '');
inc/functions/sitemap/template-xml-sitemaps-single.php CHANGED
@@ -62,9 +62,13 @@ function seopress_xml_sitemap_single() {
62
  $offset = 0;
63
  }
64
 
 
 
 
 
65
 
66
  $seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
67
- $seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.get_home_url().'/sitemaps_xsl.xsl"?>';
68
  $seopress_sitemaps .= "\n";
69
  $seopress_sitemaps .= '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">';
70
  $seopress_sitemaps .= "\n";
@@ -99,7 +103,10 @@ function seopress_xml_sitemap_single() {
99
  $postslist = get_posts( $args );
100
 
101
  foreach ( $postslist as $post ) {
102
- setup_postdata( $post );
 
 
 
103
 
104
  $seopress_sitemaps .= '<url>';
105
  $seopress_sitemaps .= "\n";
@@ -120,7 +127,14 @@ function seopress_xml_sitemap_single() {
120
  if (get_post_field('post_content', $post) !='') {
121
  $dom = new domDocument;
122
  $internalErrors = libxml_use_internal_errors(true);
123
- $post_content = do_shortcode(get_post_field('post_content', $post));
 
 
 
 
 
 
 
124
 
125
  if (function_exists('mb_convert_encoding')) {
126
  $dom->loadHTML(mb_convert_encoding($post_content, 'HTML-ENTITIES', 'UTF-8'));
@@ -142,28 +156,25 @@ function seopress_xml_sitemap_single() {
142
  $product_img = $product->get_gallery_image_ids();
143
  }
144
 
145
- //Galleries
146
- if (get_post_galleries_images($post) !='') {
147
- $galleries = get_post_galleries_images($post);
148
- }
149
-
150
  //Post Thumbnail
151
  $post_thumbnail = get_the_post_thumbnail_url($post);
 
152
 
153
- if ((isset($images) && !empty ($images) && $images->length>=1) || (isset($galleries) && !empty($galleries)) || (isset($product) && !empty($product_img)) || $post_thumbnail !='') {
154
 
155
  //Standard img
156
  if (isset($images) && !empty ($images)) {
157
  if ($images->length>=1) {
158
  foreach($images as $img) {
159
- $url = $img->getAttribute('src');
 
160
  if ($url !='') {
161
  //Exclude Base64 img
162
  if (strpos($url, 'data:image/') === false) {
163
- if (seopress_is_absolute($url) ===true) {
164
  //do nothing
165
  } else {
166
- $url = get_home_url().$url;
167
  }
168
 
169
  //cleaning url
@@ -186,7 +197,7 @@ function seopress_xml_sitemap_single() {
186
  $seopress_sitemaps .= "\n";
187
 
188
  if ($img->getAttribute('title') !='') {
189
- $title = $img->getAttribute('title');
190
 
191
  $seopress_sitemaps .= '<image:title>';
192
  $seopress_sitemaps .= '<![CDATA['.$title.']]>';
@@ -195,7 +206,7 @@ function seopress_xml_sitemap_single() {
195
  }
196
 
197
  if ($img->getAttribute('alt') !='') {
198
- $caption = $img->getAttribute('alt');
199
 
200
  $seopress_sitemaps .= '<image:caption>';
201
  $seopress_sitemaps .= '<![CDATA['.$caption.']]>';
@@ -209,25 +220,7 @@ function seopress_xml_sitemap_single() {
209
  }
210
  }
211
  }
212
- //Galleries
213
- if ($galleries !='') {
214
- foreach( $galleries as $gallery ) {
215
- foreach( $gallery as $url ) {
216
- if (seopress_is_absolute($url) ===true) {
217
- //do nothing
218
- } else {
219
- $url = get_home_url().$url;
220
- }
221
- $seopress_sitemaps .= '<image:image>';
222
- $seopress_sitemaps .= "\n";
223
- $seopress_sitemaps .= '<image:loc>';
224
- $seopress_sitemaps .= '<![CDATA['.htmlspecialchars(urldecode(esc_attr(wp_filter_nohtml_kses($url)))).']]>';
225
- $seopress_sitemaps .= '</image:loc>';
226
- $seopress_sitemaps .= "\n";
227
- $seopress_sitemaps .= '</image:image>';
228
- }
229
- }
230
- }
231
  //WooCommerce img
232
  if ($product !='' && $product_img !='') {
233
  foreach( $product_img as $product_attachment_id ) {
@@ -236,8 +229,27 @@ function seopress_xml_sitemap_single() {
236
  $seopress_sitemaps .= '<image:loc>';
237
  $seopress_sitemaps .= '<![CDATA['.esc_attr(wp_filter_nohtml_kses(wp_get_attachment_url( $product_attachment_id ))).']]>';
238
  $seopress_sitemaps .= '</image:loc>';
239
- $seopress_sitemaps .= "\n";
240
- $seopress_sitemaps .= '</image:image>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
241
  }
242
  }
243
  //Post thumbnail
@@ -247,8 +259,27 @@ function seopress_xml_sitemap_single() {
247
  $seopress_sitemaps .= '<image:loc>';
248
  $seopress_sitemaps .= '<![CDATA['.$post_thumbnail.']]>';
249
  $seopress_sitemaps .= '</image:loc>';
250
- $seopress_sitemaps .= "\n";
251
- $seopress_sitemaps .= '</image:image>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
252
  }
253
 
254
  $seopress_sitemaps .= "\n";
@@ -264,6 +295,4 @@ function seopress_xml_sitemap_single() {
264
  $seopress_sitemaps .= '</urlset>';
265
  return $seopress_sitemaps;
266
  }
267
- echo seopress_xml_sitemap_single();
268
-
269
- ?>
62
  $offset = 0;
63
  }
64
 
65
+ $home_url = get_home_url().'/';
66
+ if (function_exists('pll_home_url')) {
67
+ $home_url = pll_home_url();
68
+ }
69
 
70
  $seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
71
+ $seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
72
  $seopress_sitemaps .= "\n";
73
  $seopress_sitemaps .= '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">';
74
  $seopress_sitemaps .= "\n";
103
  $postslist = get_posts( $args );
104
 
105
  foreach ( $postslist as $post ) {
106
+ setup_postdata( $post );
107
+
108
+ $dom = '';
109
+ $images = '';
110
 
111
  $seopress_sitemaps .= '<url>';
112
  $seopress_sitemaps .= "\n";
127
  if (get_post_field('post_content', $post) !='') {
128
  $dom = new domDocument;
129
  $internalErrors = libxml_use_internal_errors(true);
130
+
131
+ $run_shortcodes = apply_filters( 'seopress_sitemaps_single_shortcodes', true );
132
+
133
+ if ($run_shortcodes === true) {
134
+ $post_content = do_shortcode(get_post_field('post_content', $post));
135
+ } else {
136
+ $post_content = get_post_field('post_content', $post);
137
+ }
138
 
139
  if (function_exists('mb_convert_encoding')) {
140
  $dom->loadHTML(mb_convert_encoding($post_content, 'HTML-ENTITIES', 'UTF-8'));
156
  $product_img = $product->get_gallery_image_ids();
157
  }
158
 
 
 
 
 
 
159
  //Post Thumbnail
160
  $post_thumbnail = get_the_post_thumbnail_url($post);
161
+ $post_thumbnail_id = get_post_thumbnail_id($post);
162
 
163
+ if ((isset($images) && !empty ($images) && $images->length>=1) || (isset($product) && !empty($product_img)) || $post_thumbnail !='') {
164
 
165
  //Standard img
166
  if (isset($images) && !empty ($images)) {
167
  if ($images->length>=1) {
168
  foreach($images as $img) {
169
+ $url = $img->getAttribute('src');
170
+ $url = apply_filters( 'seopress_sitemaps_single_img_url', $url );
171
  if ($url !='') {
172
  //Exclude Base64 img
173
  if (strpos($url, 'data:image/') === false) {
174
+ if (seopress_is_absolute($url) === true) {
175
  //do nothing
176
  } else {
177
+ $url = $home_url.$url;
178
  }
179
 
180
  //cleaning url
197
  $seopress_sitemaps .= "\n";
198
 
199
  if ($img->getAttribute('title') !='') {
200
+ $title = htmlspecialchars($img->getAttribute('title'));
201
 
202
  $seopress_sitemaps .= '<image:title>';
203
  $seopress_sitemaps .= '<![CDATA['.$title.']]>';
206
  }
207
 
208
  if ($img->getAttribute('alt') !='') {
209
+ $caption = htmlspecialchars($img->getAttribute('alt'));
210
 
211
  $seopress_sitemaps .= '<image:caption>';
212
  $seopress_sitemaps .= '<![CDATA['.$caption.']]>';
220
  }
221
  }
222
  }
223
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
224
  //WooCommerce img
225
  if ($product !='' && $product_img !='') {
226
  foreach( $product_img as $product_attachment_id ) {
229
  $seopress_sitemaps .= '<image:loc>';
230
  $seopress_sitemaps .= '<![CDATA['.esc_attr(wp_filter_nohtml_kses(wp_get_attachment_url( $product_attachment_id ))).']]>';
231
  $seopress_sitemaps .= '</image:loc>';
232
+ $seopress_sitemaps .= "\n";
233
+
234
+ if (get_the_title($product_attachment_id) !='') {
235
+ $title = htmlspecialchars(get_the_title($product_attachment_id));
236
+
237
+ $seopress_sitemaps .= '<image:title>';
238
+ $seopress_sitemaps .= '<![CDATA['.$title.']]>';
239
+ $seopress_sitemaps .= '</image:title>';
240
+ $seopress_sitemaps .= "\n";
241
+ }
242
+
243
+ if (get_post_meta($product_attachment_id, '_wp_attachment_image_alt', true) !='') {
244
+ $caption = htmlspecialchars(get_post_meta($product_attachment_id, '_wp_attachment_image_alt', true));
245
+
246
+ $seopress_sitemaps .= '<image:caption>';
247
+ $seopress_sitemaps .= '<![CDATA['.$caption.']]>';
248
+ $seopress_sitemaps .= '</image:caption>';
249
+ $seopress_sitemaps .= "\n";
250
+ }
251
+
252
+ $seopress_sitemaps .= '</image:image>';
253
  }
254
  }
255
  //Post thumbnail
259
  $seopress_sitemaps .= '<image:loc>';
260
  $seopress_sitemaps .= '<![CDATA['.$post_thumbnail.']]>';
261
  $seopress_sitemaps .= '</image:loc>';
262
+ $seopress_sitemaps .= "\n";
263
+
264
+ if (get_the_title($post_thumbnail_id) !='') {
265
+ $title = htmlspecialchars(get_the_title($post_thumbnail_id));
266
+
267
+ $seopress_sitemaps .= '<image:title>';
268
+ $seopress_sitemaps .= '<![CDATA['.$title.']]>';
269
+ $seopress_sitemaps .= '</image:title>';
270
+ $seopress_sitemaps .= "\n";
271
+ }
272
+
273
+ if (get_post_meta($post_thumbnail_id, '_wp_attachment_image_alt', true) !='') {
274
+ $caption = htmlspecialchars(get_post_meta($post_thumbnail_id, '_wp_attachment_image_alt', true));
275
+
276
+ $seopress_sitemaps .= '<image:caption>';
277
+ $seopress_sitemaps .= '<![CDATA['.$caption.']]>';
278
+ $seopress_sitemaps .= '</image:caption>';
279
+ $seopress_sitemaps .= "\n";
280
+ }
281
+
282
+ $seopress_sitemaps .= '</image:image>';
283
  }
284
 
285
  $seopress_sitemaps .= "\n";
295
  $seopress_sitemaps .= '</urlset>';
296
  return $seopress_sitemaps;
297
  }
298
+ echo seopress_xml_sitemap_single();
 
 
inc/functions/sitemap/template-xml-sitemaps.php CHANGED
@@ -30,8 +30,13 @@ add_action( 'the_post', function( $post ) {
30
  });
31
 
32
  function seopress_xml_sitemap_index() {
 
 
 
 
 
33
  $seopress_sitemaps ='<?xml version="1.0" encoding="UTF-8"?>';
34
- $seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.get_home_url().'/sitemaps_xsl.xsl"?>';
35
  $seopress_sitemaps .= "\n";
36
  $seopress_sitemaps .='<sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
37
 
@@ -84,7 +89,7 @@ function seopress_xml_sitemap_index() {
84
  $seopress_sitemaps .= '<sitemap>';
85
  $seopress_sitemaps .= "\n";
86
  $seopress_sitemaps .= '<loc>';
87
- $seopress_sitemaps .= get_home_url().'/sitemaps/'.$cpt_key.'-sitemap'.$paged.'.xml';
88
  $seopress_sitemaps .= '</loc>';
89
  $seopress_sitemaps .= "\n";
90
  $seopress_sitemaps .= '<lastmod>';
@@ -125,7 +130,7 @@ function seopress_xml_sitemap_index() {
125
  $seopress_sitemaps .= '<sitemap>';
126
  $seopress_sitemaps .= "\n";
127
  $seopress_sitemaps .= '<loc>';
128
- $seopress_sitemaps .= get_home_url().'/sitemaps/'.$term_value.'-sitemap.xml';
129
  $seopress_sitemaps .= '</loc>';
130
  $seopress_sitemaps .= "\n";
131
  $seopress_sitemaps .= '</sitemap>';
@@ -168,7 +173,7 @@ function seopress_xml_sitemap_index() {
168
  $seopress_sitemaps .= '<sitemap>';
169
  $seopress_sitemaps .= "\n";
170
  $seopress_sitemaps .= '<loc>';
171
- $seopress_sitemaps .= get_home_url().'/sitemaps/news.xml';
172
  $seopress_sitemaps .= '</loc>';
173
  $seopress_sitemaps .= "\n";
174
  $seopress_sitemaps .= '<lastmod>';
@@ -185,7 +190,7 @@ function seopress_xml_sitemap_index() {
185
  $seopress_sitemaps .= '<sitemap>';
186
  $seopress_sitemaps .= "\n";
187
  $seopress_sitemaps .= '<loc>';
188
- $seopress_sitemaps .= get_home_url().'/sitemaps/video.xml';
189
  $seopress_sitemaps .= '</loc>';
190
  $seopress_sitemaps .= "\n";
191
  $seopress_sitemaps .= '</sitemap>';
@@ -197,7 +202,7 @@ function seopress_xml_sitemap_index() {
197
  $seopress_sitemaps .= '<sitemap>';
198
  $seopress_sitemaps .= "\n";
199
  $seopress_sitemaps .= '<loc>';
200
- $seopress_sitemaps .= get_home_url().'/sitemaps/author.xml';
201
  $seopress_sitemaps .= '</loc>';
202
  $seopress_sitemaps .= "\n";
203
  $seopress_sitemaps .= '</sitemap>';
30
  });
31
 
32
  function seopress_xml_sitemap_index() {
33
+ $home_url = get_home_url().'/';
34
+ if (function_exists('pll_home_url')) {
35
+ $home_url = pll_home_url();
36
+ }
37
+
38
  $seopress_sitemaps ='<?xml version="1.0" encoding="UTF-8"?>';
39
+ $seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
40
  $seopress_sitemaps .= "\n";
41
  $seopress_sitemaps .='<sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
42
 
89
  $seopress_sitemaps .= '<sitemap>';
90
  $seopress_sitemaps .= "\n";
91
  $seopress_sitemaps .= '<loc>';
92
+ $seopress_sitemaps .= $home_url.'sitemaps/'.$cpt_key.'-sitemap'.$paged.'.xml';
93
  $seopress_sitemaps .= '</loc>';
94
  $seopress_sitemaps .= "\n";
95
  $seopress_sitemaps .= '<lastmod>';
130
  $seopress_sitemaps .= '<sitemap>';
131
  $seopress_sitemaps .= "\n";
132
  $seopress_sitemaps .= '<loc>';
133
+ $seopress_sitemaps .= $home_url.'sitemaps/'.$term_value.'-sitemap.xml';
134
  $seopress_sitemaps .= '</loc>';
135
  $seopress_sitemaps .= "\n";
136
  $seopress_sitemaps .= '</sitemap>';
173
  $seopress_sitemaps .= '<sitemap>';
174
  $seopress_sitemaps .= "\n";
175
  $seopress_sitemaps .= '<loc>';
176
+ $seopress_sitemaps .= $home_url.'sitemaps/news.xml';
177
  $seopress_sitemaps .= '</loc>';
178
  $seopress_sitemaps .= "\n";
179
  $seopress_sitemaps .= '<lastmod>';
190
  $seopress_sitemaps .= '<sitemap>';
191
  $seopress_sitemaps .= "\n";
192
  $seopress_sitemaps .= '<loc>';
193
+ $seopress_sitemaps .= $home_url.'sitemaps/video.xml';
194
  $seopress_sitemaps .= '</loc>';
195
  $seopress_sitemaps .= "\n";
196
  $seopress_sitemaps .= '</sitemap>';
202
  $seopress_sitemaps .= '<sitemap>';
203
  $seopress_sitemaps .= "\n";
204
  $seopress_sitemaps .= '<loc>';
205
+ $seopress_sitemaps .= $home_url.'sitemaps/author.xml';
206
  $seopress_sitemaps .= '</loc>';
207
  $seopress_sitemaps .= "\n";
208
  $seopress_sitemaps .= '</sitemap>';
inc/functions/variables/dynamic-variables.php CHANGED
@@ -108,7 +108,7 @@ if ($post !='') {
108
 
109
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
110
  if ( is_plugin_active( 'woocommerce/woocommerce.php' )) {
111
- if (is_product()) {
112
  //Woo Cat product
113
  $woo_single_cats = get_the_terms( $post->ID, 'product_cat' );
114
 
108
 
109
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
110
  if ( is_plugin_active( 'woocommerce/woocommerce.php' )) {
111
+ if (is_singular(array('product'))) {
112
  //Woo Cat product
113
  $woo_single_cats = get_the_terms( $post->ID, 'product_cat' );
114
 
readme.txt CHANGED
@@ -4,9 +4,9 @@ Contributors: rainbowgeek
4
  Donate link: https://www.seopress.org/
5
  Tags: SEO, XML sitemap, meta title, open graph, content analysis, knowledge graph, redirection, breadcrumbs, google analytics, rich snippets, broken link checker, Schema.org
6
  Requires at least: 4.6+
7
- Tested up to: 5.2
8
  Requires PHP: 5.6
9
- Stable tag: 3.7.2
10
  License: GPLv2 or later
11
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
12
 
@@ -41,12 +41,13 @@ SEOPress is a powerful plugin to optimize your SEO, boost your traffic, improve
41
  <li>Build your custom HTML Sitemap to enhanced navigation for visitors and improve search indexing.</li>
42
  <li>Link your social media accounts to your site.</li>
43
  <li>Redirections in post, pages, custom post types</li>
44
- <li>Remove stop words (english, french, spanish, german, italian, portuguese, swedish)</li>
45
  <li>Remove /category/ in URLs</li>
46
  <li>Remove ?replytocom to avoid duplicate content</li>
47
  <li>Redirect attachment pages to post parent</li>
 
 
48
  <li>Import / Export settings from site to site.</li>
49
- <li>Import posts and terms metadata from Yoast SEO</li>
50
  <li>W3C check</li>
51
  <li>Content analysis</li>
52
  <li>...</li>
@@ -56,6 +57,7 @@ SEOPress is a powerful plugin to optimize your SEO, boost your traffic, improve
56
 
57
  <ul>
58
  <li>Import metadatas (titles, open graph, robots...) from CSV file</li>
 
59
  <li>Video XML Sitemap</li>
60
  <li>Google Suggestions in Content Analysis</li>
61
  <li><a href="https://www.seopress.org/features/google-structured-data-types/" target="_blank">Google Structured Data types (schema.org)</a>: article, local business, FAQ, course, recipe, video, event, product, job, simple review</li>
@@ -88,27 +90,26 @@ SEOPress is a powerful plugin to optimize your SEO, boost your traffic, improve
88
  <h3>Translations</h3>
89
 
90
  <ul>
91
- <li>English (professional translation)</li>
92
- <li>French (professional translation)</li>
93
- <li>Spanish (professional translation)</li>
94
- <li>German (professional translation)</li>
95
- <li>Dutch (professional translation)</li>
96
- <li>Russian (professional translation)</li>
97
- <li>Japanese (professional translation)</li>
98
- <li>Hindi (professional translation)</li>
99
- <li>Greek</li>
100
- <li>Bulgarian</li>
101
- <li>Indonesian</li>
102
- <li>Italian</li>
103
- <li>Telugu</li>
104
- <li>Tamil</li>
105
- <li>Brazilian Portguese</li>
106
- <li>Vietnamese</li>
107
- <li>Romanian</li>
108
- <li>Arabic</li>
109
- <li>Chinese</li>
110
- <li>Persian</li>
111
- <li>Turkish</li>
112
  </ul>
113
 
114
  <h3>SEOPress integrates seamlessly with popular e-commerce, translation, performance and analytics tools.</h3>
@@ -136,6 +137,8 @@ SEOPress is a powerful plugin to optimize your SEO, boost your traffic, improve
136
 
137
  <h3>Featured on</h3>
138
  <ul>
 
 
139
  <li>WP Crafter</li>
140
  <li>Kinsta</li>
141
  <li>Pagely</li>
@@ -146,6 +149,8 @@ SEOPress is a powerful plugin to optimize your SEO, boost your traffic, improve
146
  <li>...</li>
147
  </ul>
148
 
 
 
149
  <h3>Our website:</h3>
150
  Any questions? Visit our website <a href="https://www.seopress.org?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">seopress.org</a>
151
 
@@ -159,7 +164,7 @@ Any questions? Visit our website <a href="https://www.seopress.org?utm_source=w.
159
 
160
  = Can I import my post and term metadatas from other plugins? =
161
 
162
- You can import your metadatas from <a href="https://www.seopress.org/support/guides/import-post-terms-metadatas-yoast-seo-seopress/">Yoast SEO</a>, <a href="https://www.seopress.org/support/guides/import-post-and-terms-metadatas-from-all-in-one-seo-to-seopress/">All In One SEO (AIO SEO)</a>, <a href="https://www.seopress.org/support/guides/import-post-and-terms-metadatas-from-the-seo-framework-to-seopress/">The SEO Framework (TSF)</a> and <a href="https://www.seopress.org/support/guides/import-post-terms-metadatas-rank-math-seo-seopress/">Rank Math</a> in one click to SEOPress without losing traffic.
163
 
164
  = How to use Google Tag Manager / Facebook Pixel with SEOPress? =
165
 
@@ -265,6 +270,19 @@ You're theme is probably using a deprecated function to handle the title. <a hre
265
  60. Installation Wizard
266
 
267
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
268
  = 3.7.2 =
269
  * NEW Custom taxonomy for automatic schemas (eg: Brand for product schema) - PRO
270
  * NEW Add image caption and title to XML Image Sitemaps
4
  Donate link: https://www.seopress.org/
5
  Tags: SEO, XML sitemap, meta title, open graph, content analysis, knowledge graph, redirection, breadcrumbs, google analytics, rich snippets, broken link checker, Schema.org
6
  Requires at least: 4.6+
7
+ Tested up to: 5.3
8
  Requires PHP: 5.6
9
+ Stable tag: 3.7.3
10
  License: GPLv2 or later
11
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
12
 
41
  <li>Build your custom HTML Sitemap to enhanced navigation for visitors and improve search indexing.</li>
42
  <li>Link your social media accounts to your site.</li>
43
  <li>Redirections in post, pages, custom post types</li>
 
44
  <li>Remove /category/ in URLs</li>
45
  <li>Remove ?replytocom to avoid duplicate content</li>
46
  <li>Redirect attachment pages to post parent</li>
47
+ <li>Redirect attachment pages to their file URL</li>
48
+ <li>Automatically set the image title / alt / caption / description</li>
49
  <li>Import / Export settings from site to site.</li>
50
+ <li>Import posts and terms metadata from Yoast SEO, All In One SEO, SEO Framework, Rank Math and Squirrly</li>
51
  <li>W3C check</li>
52
  <li>Content analysis</li>
53
  <li>...</li>
57
 
58
  <ul>
59
  <li>Import metadatas (titles, open graph, robots...) from CSV file</li>
60
+ <li>Export metadatas (titles, open graph, robots...) to a CSV file</li>
61
  <li>Video XML Sitemap</li>
62
  <li>Google Suggestions in Content Analysis</li>
63
  <li><a href="https://www.seopress.org/features/google-structured-data-types/" target="_blank">Google Structured Data types (schema.org)</a>: article, local business, FAQ, course, recipe, video, event, product, job, simple review</li>
90
  <h3>Translations</h3>
91
 
92
  <ul>
93
+ <li>🇺🇸 English (UK) (English (UK)) - professional translation</li>
94
+ <li>🇫🇷 Français (French (France)) - professional translation</li>
95
+ <li>🇪🇸 Español (Spanish (Spain)) - professional translation</li>
96
+ <li>🇩🇪 Deutsch (German) - professional translation</li>
97
+ <li>🇳🇱 Nederlands (Dutch) - professional translation</li>
98
+ <li>🇷🇺 Русский (Russian) - professional translation</li>
99
+ <li>🇯🇵 日本語 (Japanese) - professional translation</li>
100
+ <li>🇮🇳 हिन्दी (Hindi) - professional translation</li>
101
+ <li>🇬🇷 Ελληνικά (Greek)</li>
102
+ <li>🇧🇬 Български (Bulgarian)</li>
103
+ <li>🇮🇩 Bahasa Indonesia (Indonesian)</li>
104
+ <li>🇮🇹 Italiano (Italian)</li>
105
+ <li>🇧🇷 Português do Brasil (Portuguese (Brazil))</li>
106
+ <li>🇻🇳 Tiếng Việt (Vietnamese)</li>
107
+ <li>🇷🇴 Română (Romanian)</li>
108
+ <li>🇸🇦 العربية (Arabic)</li>
109
+ <li>🇨🇳 中文 (Chinese (China))</li>
110
+ <li>🇮🇷 فارسی (Persian)</li>
111
+ <li>🇹🇷 Türkçe (Turkish)</li>
112
+ <li>...</li>
 
113
  </ul>
114
 
115
  <h3>SEOPress integrates seamlessly with popular e-commerce, translation, performance and analytics tools.</h3>
137
 
138
  <h3>Featured on</h3>
139
  <ul>
140
+ <li>WP Beginner</li>
141
+ <li>Elementor</li>
142
  <li>WP Crafter</li>
143
  <li>Kinsta</li>
144
  <li>Pagely</li>
149
  <li>...</li>
150
  </ul>
151
 
152
+ <a href="https://www.seopress.org/press/" target="_blank">Complete list on our Press page</a>
153
+
154
  <h3>Our website:</h3>
155
  Any questions? Visit our website <a href="https://www.seopress.org?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">seopress.org</a>
156
 
164
 
165
  = Can I import my post and term metadatas from other plugins? =
166
 
167
+ You can import your metadatas from <a href="https://www.seopress.org/support/guides/import-post-terms-metadatas-yoast-seo-seopress/">Yoast SEO</a>, <a href="https://www.seopress.org/support/guides/import-post-and-terms-metadatas-from-all-in-one-seo-to-seopress/">All In One SEO (AIO SEO)</a>, <a href="https://www.seopress.org/support/guides/import-post-and-terms-metadatas-from-the-seo-framework-to-seopress/">The SEO Framework (TSF)</a>, <a href="https://www.seopress.org/support/guides/import-post-metadatas-from-squirrly-to-seopress/">Squirrly</a> (post metas only, not terms), and <a href="https://www.seopress.org/support/guides/import-post-terms-metadatas-rank-math-seo-seopress/">Rank Math</a> in one click to SEOPress without losing traffic.
168
 
169
  = How to use Google Tag Manager / Facebook Pixel with SEOPress? =
170
 
270
  60. Installation Wizard
271
 
272
  == Changelog ==
273
+ = 3.7.3 =
274
+ * NEW WordPress 5.3 compatibility
275
+ * NEW Export metadata to a CSV file! (PRO)
276
+ * NEW Added multi-domain support for XML sitemaps with Polylang (https://www.seopress.org/support/guides/multidomain-xml-sitemap-with-polylang-and-seopress/)
277
+ * NEW Import post metadata from Squirrly (https://www.seopress.org/support/guides/import-post-metadatas-from-squirrly-to-seopress/)
278
+ * NEW 'seopress_metadata_query_args' hook to filter CSV metadata export query (https://www.seopress.org/support/hooks/filter-the-arguments-of-the-metadata-export-query/)
279
+ * NEW 'seopress_post_types' hook to filter custom post type used by SEOPress
280
+ * NEW 'seopress_sitemaps_single_img_url' hook to filter standard image URLs in XML image sitemaps (use it inside a mu-plugin)
281
+ * NEW 'seopress_sitemaps_single_shortcodes' hook to filter execution of shortcodes in XML image sitemaps (use it inside a mu-plugin)
282
+ * INFO Improve XML image sitemaps for featured images, product galleries...
283
+ * INFO Breadcrumbs options can now be translated from WPML / Polylang (wpml-config.xml)
284
+ * FIX Call to undefined function is_product() in /wp-seopress/inc/functions/variables/dynamic-variables.php:97
285
+ * FIX JS error in content analysis metabox on Google Suggestions
286
  = 3.7.2 =
287
  * NEW Custom taxonomy for automatic schemas (eg: Brand for product schema) - PRO
288
  * NEW Add image caption and title to XML Image Sitemaps
seopress.php CHANGED
@@ -3,8 +3,8 @@
3
  Plugin Name: SEOPress
4
  Plugin URI: https://www.seopress.org/
5
  Description: One of the best SEO plugins for WordPress.
6
- Version: 3.7.2
7
- Author: Benjamin Denis
8
  Author URI: https://www.seopress.org/
9
  License: GPLv2
10
  Text Domain: wp-seopress
@@ -53,7 +53,7 @@ register_deactivation_hook(__FILE__, 'seopress_deactivation');
53
  ///////////////////////////////////////////////////////////////////////////////////////////////////
54
  //Define
55
  ///////////////////////////////////////////////////////////////////////////////////////////////////
56
- define( 'SEOPRESS_VERSION', '3.7.2' );
57
  define( 'SEOPRESS_AUTHOR', 'Benjamin Denis' );
58
 
59
  ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -184,7 +184,18 @@ function seopress_add_admin_options_scripts($hook) {
184
  'seopress_nonce' => wp_create_nonce('seopress_rk_migrate_nonce'),
185
  'seopress_rk_migration' => admin_url( 'admin-ajax.php'),
186
  ),
187
- 'i18n' => __('Migration completed!','wp-seopress')
 
 
 
 
 
 
 
 
 
 
 
188
  );
189
  wp_localize_script( 'seopress-migrate-ajax', 'seopressAjaxMigrate', $seopress_migrate );
190
  }
@@ -340,7 +351,8 @@ function seopress_plugin_action_links($links, $file) {
340
 
341
  if ($file == $this_plugin) {
342
  $settings_link = '<a href="' . admin_url( 'admin.php?page=seopress-option') . '">'.__("Settings","wp-seopress").'</a>';
343
- $website_link = '<a href="https://www.seopress.org/" target="_blank">'.__("SEOPress.org","wp-seopress").'</a>';
 
344
  if ( !is_plugin_active( 'wp-seopress-pro/seopress-pro.php' )) {
345
  $pro_link = '<a href="https://www.seopress.org/seopress-pro/" style="color:#a00;font-weight:bold" target="_blank">'.__("GO PRO!","wp-seopress").'</a>';
346
  array_unshift($links, $pro_link);
@@ -351,7 +363,7 @@ function seopress_plugin_action_links($links, $file) {
351
  )));
352
  unset( $links['deactivate'] );
353
  }
354
- array_unshift($links, $settings_link, $website_link);
355
  }
356
 
357
  return $links;
@@ -372,7 +384,8 @@ function seopress_get_post_types() {
372
  $operator = 'and'; // 'and' or 'or'
373
 
374
  $post_types = get_post_types( $args, $output, $operator );
375
- unset($post_types['attachment'], $post_types['seopress_404'], $post_types['elementor_library']);
 
376
  return $post_types;
377
  }
378
 
3
  Plugin Name: SEOPress
4
  Plugin URI: https://www.seopress.org/
5
  Description: One of the best SEO plugins for WordPress.
6
+ Version: 3.7.3
7
+ Author: SEOPress
8
  Author URI: https://www.seopress.org/
9
  License: GPLv2
10
  Text Domain: wp-seopress
53
  ///////////////////////////////////////////////////////////////////////////////////////////////////
54
  //Define
55
  ///////////////////////////////////////////////////////////////////////////////////////////////////
56
+ define( 'SEOPRESS_VERSION', '3.7.3' );
57
  define( 'SEOPRESS_AUTHOR', 'Benjamin Denis' );
58
 
59
  ///////////////////////////////////////////////////////////////////////////////////////////////////
184
  'seopress_nonce' => wp_create_nonce('seopress_rk_migrate_nonce'),
185
  'seopress_rk_migration' => admin_url( 'admin-ajax.php'),
186
  ),
187
+ 'seopress_squirrly_migrate' => array(
188
+ 'seopress_nonce' => wp_create_nonce('seopress_squirrly_migrate_nonce'),
189
+ 'seopress_squirrly_migration' => admin_url( 'admin-ajax.php'),
190
+ ),
191
+ 'seopress_metadata_csv' => array(
192
+ 'seopress_nonce' => wp_create_nonce('seopress_export_csv_metadata_nonce'),
193
+ 'seopress_metadata_export' => admin_url( 'admin-ajax.php'),
194
+ ),
195
+ 'i18n' => array(
196
+ 'migration'=>__('Migration completed!','wp-seopress'),
197
+ 'export'=>__('Export completed!','wp-seopress'),
198
+ )
199
  );
200
  wp_localize_script( 'seopress-migrate-ajax', 'seopressAjaxMigrate', $seopress_migrate );
201
  }
351
 
352
  if ($file == $this_plugin) {
353
  $settings_link = '<a href="' . admin_url( 'admin.php?page=seopress-option') . '">'.__("Settings","wp-seopress").'</a>';
354
+ $website_link = '<a href="https://www.seopress.org/support/" target="_blank">'.__("Docs","wp-seopress").'</a>';
355
+ $wizard_link = '<a href="'.admin_url('admin.php?page=seopress-setup').'">'.__("Configuration Wizard","wp-seopress").'</a>';
356
  if ( !is_plugin_active( 'wp-seopress-pro/seopress-pro.php' )) {
357
  $pro_link = '<a href="https://www.seopress.org/seopress-pro/" style="color:#a00;font-weight:bold" target="_blank">'.__("GO PRO!","wp-seopress").'</a>';
358
  array_unshift($links, $pro_link);
363
  )));
364
  unset( $links['deactivate'] );
365
  }
366
+ array_unshift($links, $settings_link, $wizard_link, $website_link);
367
  }
368
 
369
  return $links;
384
  $operator = 'and'; // 'and' or 'or'
385
 
386
  $post_types = get_post_types( $args, $output, $operator );
387
+ unset($post_types['attachment'], $post_types['seopress_404'], $post_types['elementor_library']);
388
+ $post_types = apply_filters('seopress_post_types', $post_types);
389
  return $post_types;
390
  }
391