SEOPress - Version 3.8.6

Version Description

  • NEW Elementor Breadcrumbs widget (PRO)
  • NEW Set a primary category for WooCommerce products (SEO metabox, Advanced tab)
  • NEW 'seopress_sitemaps_external_link' hook to add external sitemaps URL to index sitemaps (https://www.seopress.org/support/hooks/add-external-urls-to-xml-index-sitemaps/)
  • NEW 'seopress_sitemaps_news_keywords' hook to add keywords to Google News sitemap (https://www.seopress.org/support/hooks/add-target-keywords-to-google-news-xml-sitemaps/)
  • NEW Add post type column in broken link checker
  • NEW Brazilian Portuguese language (Free and PRO)
  • INFO Add images to Google News Sitemap (PRO)
  • INFO Remove shop page option in breadcrumbs is back
  • INFO Improve "Test redirection" link for Redirections
  • INFO Improve WPML compatibility for redirects
  • INFO i18n Google Analytics (props to @lriaudel)
  • INFO Improve security (props to @eringerm)
  • INFO Improve compatibility with Query Monitor (props to @sabrinazeidan)
  • INFO Remove Jquery dependency from Google Analytics tracking
  • FIX Conflict with GiveWP
  • FIX Target keyword with special characters
  • FIX Primary category for posts
  • FIX Improved saving of content analysis
  • FIX Flush permalinks button from Sitemap settings page
  • FIX Duplicate query with 404/301 feature enabled
  • FIX Alternative text check for content analysis
  • FIX Warning illegal offset when adding a new post without content
  • FIX WordPress error in Google Preview
  • FIX JS Warning if no social image found from post editing
  • FIX Remove /category/ option after adding new category to avoid manual flushing
  • FIX Notice: Undefined variable: seopress_get_ua (props to @wpchannel)
  • FIX Remove canonical / social meta tags on 404 pages (props to @bartekduls)
  • FIX Default currency for automatic product schema is now based on WC / EDD currency settings
Download this release

Release Info

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

Code changes from version 3.8.5.1 to 3.8.6

assets/css/seopress.css CHANGED
@@ -45,6 +45,7 @@
45
  display: inline-block;
46
  cursor: help;
47
  vertical-align: bottom;
 
48
  }
49
 
50
  .sp-tooltip .dashicons {
45
  display: inline-block;
46
  cursor: help;
47
  vertical-align: bottom;
48
+ text-align: left;
49
  }
50
 
51
  .sp-tooltip .dashicons {
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}#tab_seopress_titles_archives .form-table th:empty,#tab_seopress_titles_single .form-table th:empty,#tab_seopress_titles_tax .form-table th:empty{display:none}.icon-seopress-seopress:before{content:"\e800"}.sp-tooltip{position:relative;margin-left:5px;display:inline-block;cursor:help;vertical-align:bottom}.sp-tooltip .dashicons{color:#666}.sp-tooltip .sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;width:300px;right:-303px;padding:20px;top:25px;font-weight:400;box-shadow:0 3px 30px rgba(25,30,35,.1);border:1px solid #e2e4e7;background:#fff;word-break:break-word}.sp-tooltip .sp-tooltiptext::before{border:8px solid #e2e4e7;top:-8px}.sp-tooltip .sp-tooltiptext::after{border:8px solid #fff;top:-6px}.sp-tooltip .sp-tooltiptext::after,.sp-tooltip .sp-tooltiptext::before{border-bottom-style:solid;border-left-color:transparent;border-right-color:transparent;border-top:none;margin-left:-10px;content:"";position:absolute;height:0;width:0;line-height:0;left:30px}.sp-tooltip:hover .sp-tooltiptext{visibility:visible}.sp-tooltip .sp-tooltip-headings{font-size:18px;font-weight:600;margin-bottom:20px;display:block}.sp-tooltip .sp-tooltip-desc{margin-bottom:20px;display:block;border-bottom:1px solid #e2e4e7;padding-bottom:20px;font-size:13px}.sp-tooltip .sp-tooltip-code{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;display:block;word-break:break-all;color:#42b72a;font-size:11px}.analysis-score .sp-tooltip{vertical-align:middle;font-size:.75em}#seopress_content_analysis a{color:#0073aa}#seopress_content_analysis .wrap-seopress-analysis{display:inline-block;width:100%}#seopress_content_analysis .col-left{width:calc(50% - 30px);float:left;margin-right:30px}#seopress_content_analysis .col-right{float:right;width:50%}#seopress_content_analysis #seopress_suggestions{display:inline-block;width:100%;margin:0;height:auto;padding:20px 0}#seopress_content_analysis #seopress_suggestions li{list-style:none;margin:5px;display:inline-block}#seopress_content_analysis .analysis-score{clear:both;border-top:1px solid #e2e4e7;display:flex;justify-content:space-between;align-items:center}.column-seopress_score .analysis-score{display:flex;align-content:center}#seopress_content_analysis .analysis-score p,.column-seopress_score .analysis-score p{font-weight:700;font-size:1.2em}#seopress_content_analysis .analysis-score svg,.column-seopress_score .analysis-score svg{display:inline-block;height:30px;width:30px;margin:0;border-radius:100%;position:relative;font-weight:600;shape-rendering:geometricprecision;font-size:.5rem;vertical-align:middle;margin-right:15px}.column-seopress_score .analysis-score p,.column-seopress_score .analysis-score svg{margin:0}@keyframes loadingPulse{0%{stroke:#adc5d2}50%{stroke:#00a0d2}100%{stroke:#adc5d2}}#seopress_content_analysis .analysis-score .loading #bar{stroke-dashoffset:0!important;stroke:#adc5d2!important;animation:loadingPulse 3s infinite ease-in-out}#seopress_content_analysis .analysis-score .good #bar,.column-seopress_score .analysis-score #bar.good{stroke:#46b450}#seopress_content_analysis .analysis-score .notgood #bar,.column-seopress_score .analysis-score #bar.notgood{stroke-dashoffset:565;stroke:#ffb900}#seopress_content_analysis .analysis-score svg circle,.column-seopress_score .analysis-score svg circle{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;stroke:#ccc;stroke-width:2em}#seopress_content_analysis .gr-analysis{clear:both}#seopress_content_analysis .gr-analysis-title{border-top:1px solid #e2e4e7;position:relative}#seopress_content_analysis .gr-analysis-title .impact{position:absolute;left:10px;top:calc(50% - 5px);width:10px;height:10px;border-radius:50px;padding:0;margin:0;border:1px solid #fff}#seopress_content_analysis .gr-analysis .impact.good{background:#46b450;box-shadow:0 0 5px #46b450}#seopress_content_analysis .gr-analysis .impact.low{background:#ffde24;box-shadow:0 0 5px #ffde24}#seopress_content_analysis .gr-analysis .impact.medium{background:#e39f48;box-shadow:0 0 5px #e39f48}#seopress_content_analysis .gr-analysis .impact.high{background:#e25950;box-shadow:0 0 5px #e25950}#seopress_content_analysis .gr-analysis-content .impact.high{background:#e25950;box-shadow:none;color:#fff;padding:2px 4px;margin-left:5px;border-radius:4px;font-weight:700}#seopress_content_analysis .gr-analysis-title button{background:#fff;border:0;cursor:pointer;display:block;margin:0;position:relative;text-align:left;width:100%;padding:15px 30px;align-items:center;transition:all .3s linear}#seopress_content_analysis .gr-analysis-title button:hover{background:#f3f4f5}#seopress_content_analysis .gr-analysis-title button:focus{color:#191e23;border:none;box-shadow:none;outline-offset:-2px;outline:1px dotted #555d66}#seopress_content_analysis .gr-analysis-title button .sp-arrow::after{content:"\f343";font-family:Dashicons;position:absolute;right:10px;top:calc(50% - 7px)}#seopress_content_analysis .gr-analysis-title button.open .sp-arrow::after{content:"\f347"}#seopress_content_analysis .gr-analysis-content{padding:0 1rem .5rem 1rem;display:none;width:100%;border-top:1px solid #e2e4e7;box-sizing:border-box}#seopress_content_analysis h3{margin:0;font-size:1em}#seopress_content_analysis h4{border-bottom:1px solid #e2e4e7;padding-bottom:.5rem;text-transform:uppercase;font-size:.85em;position:-webkit-sticky;position:sticky;top:0;background:#fff}#seopress_content_analysis .wrap-analysis-img ul{display:flex;flex-wrap:wrap}#seopress_content_analysis .wrap-analysis-img ul li{padding:0;text-align:left;cursor:default}#seopress_content_analysis .wrap-analysis-img h4{border-bottom:1px solid #ddd;padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul li img{max-width:150px;max-height:150px;object-fit:cover;border:1px solid #f3f4f5;cursor:default;padding:1px}#seopress_cpt .notice{padding:10px 14px}#seopress-analysis-tabs .dashicons,#seopress_cpt .dashicons{vertical-align:middle}#seopress-analysis-tabs{clear:both}#seopress_cpt .inside{margin:0;padding:0}#seopress_cpt .ui-tabs .ui-tabs-nav{display:inline-block;min-height:26px;position:relative;width:100%;z-index:10;margin:0;border-radius:0;padding:0;background:#f3f4f5;border:none}#seopress_cpt .ui-helper-clearfix:after{content:none}.seopress_page_seopress-titles #seopress-tabs .form-table td,.seopress_page_seopress-titles #seopress_content_analysis .form-table td{padding:0}#seopress_cpt .ui-tabs .ui-tabs-panel{background:#fff;border-radius:0;display:inline-block;padding:1em 1.4em;width:100%;box-sizing:border-box}#seopress_content_analysis .dashicons-info,#seopress_cpt .ui-tabs .ui-tabs-panel .dashicons-info,#seopress_pro_cpt .dashicons-info{font-size:16px;vertical-align:middle;height:16px;width:16px}#seopress_cpt .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs-anchor{cursor:pointer!important}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{position:relative;z-index:60;cursor:pointer;border-radius:0;border-bottom:3px solid #0085ba}#seopress_content_analysis label,#seopress_cpt #tabs-1 label,#seopress_cpt #tabs-2 label[for=seopress_robots_breadcrumbs_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_canonical_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_primary_cat_meta],#seopress_cpt #tabs-3 label,#seopress_cpt #tabs-4 label,#seopress_cpt #tabs-5 label,#seopress_cpt #tabs-6 label,#seopress_cpt .subsection-title,#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:100%;display:inline-block}#seopress_cpt #tabs-1 input{width:100%}#seopress_cpt #tabs-6 input[type=number]{width:30%;min-width:200px}#seopress_cpt #tabs-6 #wrap-videos .video:first-child .remove-video{display:none}#seopress_cpt select{width:300px}#seopress_cpt #tabs-4 select{width:250px;display:inline}#seopress_cpt #tabs-4 #seopress_redirections_value_meta{width:calc(100% - 258px);float:right}#seopress_cpt #tabs-6{padding:0}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content,#seopress_cpt #tabs-6>p{padding:0 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content{padding:0 1.4em 1em}#seopress_cpt #tabs-6 #wrap-videos .video{border-top:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-title{border-left:none;border-right:none;font-size:1em;padding:1em 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-content,#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-title{border-bottom:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .inside{padding:0}#seopress_cpt #tabs-4 #seopress_redirections_enabled,#seopress_cpt #tabs-5 #seopress_news_disabled,#seopress_cpt #tabs-5 #seopress_news_standout,#seopress_cpt #tabs-6 #seopress_video_disabled,#seopress_cpt #tabs-6 .family-friendly label,#seopress_cpt #tabs-6 .internal_video label{font-weight:400}#seopress_cpt #tabs-6 #wrap-videos .video:nth-child(odd){background:#fdfdfd}#seopress_content_analysis .advise,#seopress_cpt .advise,#seopress_pro_cpt .advise,.seopress-option .advise{margin:5px;display:block;color:red;font-style:italic}#seopress_cpt #tabs-6 #wrap-videos .video .advise{color:#555}#seopress_content_analysis .mandatory,#seopress_cpt .mandatory{color:#c00}#seopress_cpt .box-left{float:left;width:49%;margin-right:1%}#seopress_cpt .box-right{float:left;width:49%;margin-left:1%}#seopress_cpt #tabs-3 .box-left{width:44%}#seopress_cpt #tabs-3 .box-right{width:54%}@media only screen and (max-width:1200px){#seopress_cpt .box-left,#seopress_cpt .box-right{float:none;width:100%;margin:0}}@media only screen and (max-width:1500px){#seopress_cpt #tabs-3 .box-left,#seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}}#edittag #seopress_cpt #tabs-3 .box-left,#edittag #seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}#seopress-tabs .seopress_media_upload,#seopress_pro_cpt .seopress_media_upload{margin-top:.5rem}#seopress_cpt .google-snippet-preview{font-family:arial,sans-serif;word-break:break-all}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet{margin:0 0 10px 0;box-shadow:0 1px 6px rgba(32,33,36,.28);border-radius:8px;padding:12px 16px}#seopress_cpt .google-snippet-preview>p{word-break:normal}#seopress_cpt .google-snippet-preview .snippet-title,#seopress_cpt .google-snippet-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview .snippet-title-default{color:#1a0dab;font-size:18px;font-weight:400;line-height:21.6px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-default{font-size:16px;line-height:20px;margin-bottom:12px}#seopress_cpt .google-snippet-preview .snippet-permalink{color:#006621;font-size:14px;font-style:normal;font-weight:400;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#seopress_cpt .google-snippet-preview .wrap-snippet .wrap-m-icon-permalink,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-permalink{display:none}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:12px;display:flex}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink .snippet-permalink{display:block;color:#3c4043;font-size:12px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon{margin-right:12px;vertical-align:middle}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon img{width:16px;height:16px;max-width:inherit}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet .snippet-permalink:first-child{color:#3c4043;white-space:nowrap;font-size:12px;display:block}#seopress_cpt .google-snippet-preview .snippet-description,#seopress_cpt .google-snippet-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview .snippet-description-default{color:#545454;font-size:14px;font-weight:400;line-height:18.2px;display:inline}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-default{color:#3c4043;font-size:14px;line-height:20px}#seopress_cpt .google-snippet-preview .snippet-date{color:grey;display:inline}#seopress_cpt .facebook-snippet-box{color:#4b4f56;font-size:14px;width:524px}#seopress_cpt .facebook-snippet-box .notice,#seopress_cpt .twitter-snippet-box .notice{padding:10px 14px;margin:0 0 10px 0;box-sizing:border-box;width:100%}#seopress_cpt .facebook-snippet-box .notice span,#seopress_cpt .twitter-snippet-box .notice span{font-weight:700}#seopress_cpt .snippet-meta{display:flex;overflow:hidden;max-height:12px}#seopress_cpt .fb-by,#seopress_cpt .snippet-fb-site-name,#seopress_cpt .snippet-fb-url{color:#606770;font-size:12px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .fb-sep{padding-left:5px;padding-right:5px;color:#606770;line-height:11px;font-size:12px}#seopress_cpt .facebook-snippet-box .facebook-snippet-text{border:1px solid #dadde1;background-color:#f2f3f5;padding:10px 12px}#seopress_cpt .facebook-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .facebook-snippet-box .snippet-fb-title,#seopress_cpt .facebook-snippet-box .snippet-fb-title-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-title-default{font-size:16px;line-height:20px;margin:3px 0 0;padding-top:2px;color:#1d2129;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word;max-height:22px}#seopress_cpt .facebook-snippet-box .snippet-fb-description,#seopress_cpt .facebook-snippet-box .snippet-fb-description-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-description-default{color:#606770;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .facebook-snippet-box img{display:block;height:274px;width:524px;object-fit:cover;background-color:#edeff0;text-align:center;border-bottom:none}#seopress_cpt .twitter-snippet-box{color:#4b4f56;font-size:14px;width:436px}#seopress_cpt .snippet-twitter-url{color:#8899a6;font-size:14px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .twitter-snippet-box .twitter-snippet-text{border:1px solid #dadde1;background-color:#fff;padding:10px 12px;border-radius:0 0 10px 10px}#seopress_cpt .twitter-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .twitter-snippet-box .snippet-twitter-img,#seopress_cpt .twitter-snippet-box .snippet-twitter-img-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-img-default{border-radius:10px 10px 0 0;overflow:hidden}#seopress_cpt .twitter-snippet-box .snippet-twitter-title,#seopress_cpt .twitter-snippet-box .snippet-twitter-title-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-title-default{font-size:1em;line-height:20px;margin-bottom:5px;max-height:1.3em;color:#000;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word}#seopress_cpt .twitter-snippet-box .snippet-twitter-description,#seopress_cpt .twitter-snippet-box .snippet-twitter-description-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-description-default{color:#000;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .twitter-snippet-box img{display:block;height:200px;width:436px;object-fit:cover;background-color:#edeff0;text-align:center;border-bottom:none}#seopress_cpt .wrap-seopress-counters,#seopress_pro_cpt .wrap-seopress-counters{text-align:right;background:#e9ecef;padding:2px 5px;display:flex;font-size:12px;justify-content:flex-end;border-radius:0 0 .25rem .25rem}#seopress_cpt .sp-progress,#seopress_pro_cpt .sp-progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem .25rem 0 0}#seopress_cpt .sp-progress-bar,#seopress_pro_cpt .sp-progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#0085ba;transition:width .6s ease}#seopress_cpt #seopress_titles_desc_counters,#seopress_cpt #seopress_titles_title_counters,#seopress_pro_cpt #seopress_rich_snippets_articles_counters,#seopress_pro_cpt #seopress_rich_snippets_courses_counters{display:inline;margin-right:5px}#seopress_cpt #seopress_titles_desc_counters_val,#seopress_cpt #seopress_titles_title_counters_val,#seopress_pro_cpt #seopress_rich_snippets_articles_counters_val,#seopress_pro_cpt #seopress_rich_snippets_courses_counters_val{display:inline;font-weight:700}#term-seopress #seopress_cpt{width:95%}.fixed .column-seopress_ps,.fixed .column-seopress_score,.fixed .column-seopress_w3c,.fixed .column-seopress_words{width:6%}.fixed .column-seopress_nofollow,.fixed .column-seopress_noindex{width:8%}@media only screen and (max-width:1200px){.fixed .column-seopress_nofollow,.fixed .column-seopress_noindex,.fixed .column-seopress_ps,.fixed .column-seopress_score,.fixed .column-seopress_w3c,.fixed .column-seopress_words{width:10%}}#seopress_cpt .ui-tabs{position:relative;padding:0;border:none;font-family:inherit;font-size:inherit;display:inline-block;width:100%}#seopress_cpt .ui-tabs .ui-tabs-nav li{list-style:none;display:inline-block;position:relative;top:2px;padding:0 5px;white-space:nowrap;margin:0;border:none;background:0 0}#seopress_cpt .ui-tabs .ui-tabs-nav li a{display:inline-block;padding:5px 10px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li a,#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a{display:block}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:2px;padding-bottom:1px}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a{color:#191e23;font-weight:700}#seopress_cpt .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#191e23;text-decoration:none;height:40px;line-height:40px}#seopress_cpt .ui-tabs-vertical{width:55em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress_cpt .ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress_cpt .ui-tabs .ui-tabs-nav li a .dashicons{margin-right:2px}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_content_analysis .dashicons-yes,#seopress_pro_cpt .dashicons-no-alt,#seopress_pro_cpt .dashicons-yes{color:#fff;background:#12bd10;border-radius:50px;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_pro_cpt .dashicons-no-alt{background:#e25950}body.seopress-styles{background:#f8fafd}#seopress-admin-tabs.ui-tabs{position:relative;padding:.2em;border:none;font-family:inherit;font-size:inherit}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:-1px .2em 0 0;padding:0;white-space:nowrap;border:none;background:0 0}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a{float:left;padding:.38em 1em .75rem;outline:0;border-bottom:2px solid #fff}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text;border-bottom:2px solid #23282d;color:#23282d}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a,#seopress-admin-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#0073aa;text-decoration:none}#seopress-admin-tabs.ui-tabs-vertical{width:55em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}.seopress-styles .seopress-option{margin:10px auto 0;max-width:90%;padding:1rem;background:#fff;box-shadow:0 15px 35px rgba(50,50,93,.1),0 5px 15px rgba(0,0,0,.1);border-radius:4px}.seopress-styles .seopress-option h1{font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase;z-index:100;border-bottom:1px solid #eee;padding-bottom:20px}.seopress-styles .seopress-option h1 .dashicons,.seopress-styles .seopress-option h2 .dashicons{margin:0 10px;font-size:40px;width:40px;height:40px;vertical-align:middle}.seopress-styles .seopress-option .link-archive{font-size:14px}.seopress-styles .seopress-option .link-archive .dashicons{font-size:18px;width:20px;height:20px;margin:inherit}.seopress-styles .seopress-option h1>.dashicons{font-size:30px;width:30px;height:30px;background:#c4f0ff;border-radius:6px;padding:10px;margin-left:10px;color:#0085ba}.seopress-styles .seopress-option .metabox-holder h2 .dashicons{font-size:16px}.seopress-option h1 .feature-state .dashicons{font-size:16px;width:16px;height:16px;vertical-align:middle;margin:0 10px 0 0}.seopress-styles .wrap{margin:20px 0 0 0;display:flex;position:relative}@media only screen and (max-width:1024px){.seopress-styles .wrap{display:inline-block;width:100%}}#seopress-admin-tabs.wrap{display:block;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12);width:64rem;margin:0 auto}.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:#6a7c94;position:relative;height:auto;z-index:10}.seopress-styles .seopress-option #seopress-aio-migrate:hover,.seopress-styles .seopress-option #seopress-rk-migrate:hover,.seopress-styles .seopress-option #seopress-seo-framework-migrate:hover,.seopress-styles .seopress-option #seopress-squirrly-migrate:hover,.seopress-styles .seopress-option #seopress-yoast-migrate:hover,.seopress-styles .seopress-option #submit:hover{text-decoration:none;color:#fff;background:#232323}.seopress-styles #wpcontent{padding-left:0}.seopress-styles pre{color:#42b72a;background:#f5f6f7;font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;padding:7px}.seopress-styles #seopress-navbar{padding:10px .5rem;height:56px;margin:0 auto;width:64rem;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,#3a4afb 0,#47bea5 100%);background:-webkit-linear-gradient(45deg,#3a4afb 0,#47bea5 100%);background:linear-gradient(45deg,#3a4afb 0,#47bea5 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:64rem;top:0;visibility:hidden;cursor:auto;left:-.5rem}#seopress-header #seopress-admin h1:hover .seopress-quick-access{transform:none;opacity:1;pointer-events:auto;visibility:visible}#seopress-header #seopress-admin .seopress-quick-access>ul{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:#6f8096;text-decoration:none;line-height:40px}#seopress-header #seopress-notice div.small{font-size:13px;display:inline}#seopress-footer-credits{font-style:italic}#seopress-footer-credits .wporg-ratings{display:inline}#seopress-footer-credits .wporg-ratings a{text-decoration:none}.seopress-option .seopress-settings{float:left;max-width:750px;width:100%}.seopress-option #seopress-edd-license-btn,.seopress-option #seopress-refresh{float:left}.wp-admin-ui_page_seopress-import-export .postbox{margin-right:20px}.seopress-option #side-sortables .accordion-section-content{padding:0}.seopress-option .seopress-settings label{margin:0 0 0 10px}.wrap-seopress-tab-content{position:relative;display:block;width:100%;max-width:64rem;margin:0 auto;box-sizing:border-box}#seopress-admin-tabs .seopress-tab{padding:1.5rem;visibility:hidden;overflow:hidden;opacity:0;transition:all .2s ease;transform:translateX(-15px);position:absolute;top:0;box-sizing:border-box}#seopress-admin-tabs .seopress-tab.active{visibility:visible;overflow:inherit;opacity:1;transform:translateX(0);display:inherit;position:relative}#seopress-tabs .seopress-tab{padding:0 1.5rem;width:calc(100% - 230px);display:none}@media only screen and (max-width:1024px){#seopress-tabs .seopress-tab{width:100%}}#seopress-tabs .seopress-tab.active{display:inline-block;border-left:1px solid #eee}@media only screen and (max-width:1024px){#seopress-tabs .seopress-tab.active{width:100%;padding:0;border-left:none;border-top:1px solid #eee}}.seopress-option input[type=password],.seopress-option input[type=text],.seopress-option textarea{min-width:485px}@media only screen and (max-width:1024px){.seopress-option input[type=password],.seopress-option input[type=text],.seopress-option textarea{min-width:inherit;width:100%}}#seopress_htaccess_file{width:100%}.seopress-option textarea{min-height:100px}.seopress-option #side-sortables .highlight{border:1px dashed #ccc;display:block;width:382px;height:40px;background:0 0}.seopress-option #side-sortables .accordion-section{margin-bottom:9px;width:382px}.seopress-option #side-sortables .accordion-section h3{cursor:move;border:1px solid #e5e5e5;background:#fafafa}.seopress-option #side-sortables .accordion-section .inside{padding:10px 10px 24px;border-width:0 1px 1px;border-style:solid;box-shadow:0 1px 1px rgba(0,0,0,.04);border-color:#e5e5e5;display:inline-block;width:calc(100% - 22px);height:100%}.seopress-option #side-sortables .accordion-section .inside ul{padding-left:10px;margin-bottom:0;padding-top:2px;padding-bottom:2px}.seopress-option #side-sortables .accordion-section .inside ul li{border-left:2px solid #ccc;padding-left:10px;margin-bottom:10px}.seopress-option #side-sortables .accordion-section .inside ul li:first-child{border-bottom:1px dotted #e5e5e5;border-left:0;padding-bottom:10px;font-weight:700;margin-left:-15px;margin-bottom:10px}.seopress-notice #message{margin:5px 10px 2px 0}#seopress-notice a{position:relative;text-decoration:none}#seopress-notice a .tooltip{white-space:pre;z-index:200;padding:2px 5px;font-weight:500;font-size:12px;color:#aab7c4;background:#fff;box-shadow:0 1px 2px 0 rgba(49,49,93,.1),0 0 1px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;opacity:0;top:30px;transition:opacity .2s ease;visibility:hidden;line-height:20px;left:-100%;overflow:hidden}#seopress-notice a:hover .tooltip{opacity:1;visibility:visible}.seopress-page-list{margin:1.5rem auto}.seopress-option .dashicons,.seopress-page-list .dashicons{vertical-align:middle;margin-right:5px;color:#6f8096}#seopress-admin-tabs .ui-tabs-nav,#seopress-notifications-center,.seopress-get-started,.seopress-page-list .seopress-feature,.seopress-useful-tools{margin:0 auto 20px;max-width:64rem;padding:2rem;width:100%;border-radius:0 0 4px 4px;box-sizing:border-box}.seopress-get-started{margin-top:20px;background:#fff url(../img/bg-hero-support.svg) no-repeat 95% 50%/contain;position:relative;box-sizing:border-box;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12)}.seopress-get-started .inside{max-width:calc(100% - 380px)}.seopress-get-started .preheader{text-transform:uppercase;font-size:.8rem;font-weight:600}.seopress-get-started h2{font-size:1.85em;margin:15px 0 0 0;font-weight:400}.seopress-get-started p{margin-bottom:20px}.seopress-get-started a .dashicons{vertical-align:middle;text-decoration:none;color:#6a7c94}.seopress-get-started a.button-primary .dashicons{color:#fff}.seopress-get-started a.btn-link .dashicons{margin-right:5px}.seopress-get-started a.btn-link{margin:0 0 0 10px}#seopress-notifications-center,.seopress-useful-tools{background:#fff;padding:0}.seopress-page-list .seopress-feature{padding:0;position:relative;overflow:hidden;transition-duration:.15s;display:flex;margin:0;background:#fff;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12);flex-wrap:wrap;border-radius:4px;width:100%;height:100%}.seopress-page-list .seopress-feature p{color:#6b7c93;font-size:14px;margin-bottom:30px}#seopress-notifications-center{margin-top:0}#seopress-admin-tabs .ui-tabs-nav{display:flex;padding-top:1rem;padding-bottom:0}.seopress-page-list .seopress-feature .img-tool{height:50px;width:50px;background:#c4f0ff;position:relative;border-radius:6px}.seopress-page-list .seopress-feature .img-tool .dashicons{color:#217ab7;font-size:30px;text-align:left;vertical-align:middle;width:100%;height:100%;position:absolute;top:calc(50% - 15px);left:calc(50% - 15px);margin:0}.seopress-page-list .seopress-feature .inner{margin:0;display:inline-block;padding:1.5rem;width:100%;height:100%;box-sizing:border-box}.seopress-page-list .seopress-feature h3{margin:1rem 0 0 0;font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase}.seopress-page-list .seopress-feature h3 .dashicons{font-size:16px;margin-left:5px;vertical-align:middle}#seopress-content .seopress-page-list .seopress-feature a,#seopress-notifications-center .seopress-alert .button-primary,.seopress-get-started .button-primary,.seopress-option .seopress-feature a,.seopress-useful-tools .widget .button-primary{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);background:#6a7c94;position:relative;height:auto;display:flex;flex-wrap:wrap}#seopress-content .seopress-page-list .seopress-feature a.button-secondary{padding-left:30px}#seopress-content .seopress-page-list .seopress-feature a.button-secondary::before,#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f111";font-family:Dashicons;position:absolute;left:10px;top:1px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:16px}#seopress-content .seopress-page-list .wrap-btn{display:inline-flex;margin-bottom:2rem;flex-direction:column}#seopress-content .seopress-page-list .seopress-feature a.view-redirects,#seopress-notifications-center .seopress-alert .button-primary,.seopress-get-started .button,.seopress-option .button{color:#6a7c94;background:#fff;font-weight:500;transition:all .3s linear;text-shadow:none;text-transform:uppercase;padding-right:20px;padding-left:20px;line-height:34px;min-height:34px;margin:10px 0;border-radius:4px;box-shadow:transparent 0 0 0 0,transparent 0 0 0 0,rgba(0,0,0,.12) 0 1px 1px 0,rgba(60,66,87,.16) 0 0 0 1px,transparent 0 0 0 0,transparent 0 0 0 0,rgba(60,66,87,.12) 0 2px 5px 0;vertical-align:baseline;display:inline-flex;align-items:center;border:none;margin-right:.5rem;cursor:pointer}.seopress-get-started .button{color:#fff;background:#6259e6;box-shadow:none}.seopress-option .wp-picker-container button{box-shadow:none;border:1px solid #0071a1;border-radius:3px;background:#f3f5f6;text-transform:none}.seopress-option .wp-picker-container input[type=text].wp-color-picker{min-width:inherit}.seopress-option .wp-picker-container .wp-picker-clear{box-shadow:none;text-transform:none;border-radius:0;background:0 0}.seopress-option .wp-picker-container .wp-picker-clear:hover{background:0 0;text-decoration:currentColor;color:inherit}.seopress-option .button .dashicons{font-size:16px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects{padding-left:30px}#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f344";left:inherit;right:10px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects::before{content:"\f177"}#seopress-content .seopress-page-list .seopress-feature a:hover,#seopress-notifications-center .seopress-alert .button-primary:hover,.seopress-get-started .button-primary:hover,.seopress-option .button:hover,.seopress-option .seopress-feature a:hover,.seopress-useful-tools .widget .button-primary:hover{text-decoration:none;color:#fff;background:#232323}.seopress-get-started .button .dashicons{transition:all .3s linear}.seopress-get-started .button:hover .dashicons{color:#fff}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:focus,#seopress-content .seopress-page-list .seopress-feature a:focus,#seopress-content .seopress-page-list .seopress-feature a:focus.button-secondary,#seopress-content a:focus,#seopress-notifications-center .seopress-alert .button-primary:focus,.seopress-option #seopress-tabs .seopress-doc:focus,.seopress-option .seopress-feature a:focus,.seopress-styles .seopress-option #seopress-aio-migrate:focus,.seopress-styles .seopress-option #seopress-yoast-migrate:focus,.seopress-styles .seopress-option #submit:focus,.seopress-useful-tools .widget .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;background:#008ec2;border-color:#006799;color:#fff}#seopress-admin-tabs .nav-tab-wrapper a.nav-tab-active:focus{color:inherit}#seopress-notifications-center .seopress-alert .button-primary{margin:5px 0;padding-right:30px}#seopress-notifications-center h2,.seopress-useful-tools h2{margin:5px 0 15px 5px;display:inline-block;width:100%}#seopress-notifications-center .dashicons,.seopress-useful-tools .dashicons{margin-right:10px}#seopress-notifications-center .seopress-alert{padding:1.5rem 2rem 1.2rem 1rem;border-bottom:1px solid #e6ebf1;width:calc(100% - 3rem);flex:1 1 auto;position:relative;transition:all 150ms ease;align-items:center;display:flex;justify-content:space-between}#seopress-notifications-center .seopress-alert:last-child{margin-bottom:0;border-bottom:none}#seopress-notifications-center .seopress-alert:hover{cursor:default}#seopress-notifications-center .dashicons{display:flex;align-self:normal;width:48px;height:48px;color:#d7dade;font-size:48px;padding:0 1rem}#seopress-notifications-center .seopress-alert p{margin:0}#seopress-notifications-center .notice-left{flex:1}#seopress-notifications-center .notice-left>p:first-child{color:#1a1f36;font-weight:500}#seopress-notifications-center .notice-right{padding:1rem 0 0 0;display:flex}#seopress-notifications-center .seopress-alert.impact::after{content:"";width:10px;height:10px;border-radius:50px;position:absolute;right:1rem;top:1rem}#seopress-notifications-center .seopress-alert.impact.low::after{background:#ffde24}#seopress-notifications-center .seopress-alert.impact.medium::after{background:#e39f48}#seopress-notifications-center .seopress-alert.impact.high::after{background:#e25950}#seopress-notifications-center .seopress-alert.impact.info::after{background:#0085ba}#seopress-notifications-center .seopress-alert.dashicons{color:#6f8096}#seopress-notifications-center .dashicons.remove-notice,.seopress-get-started .remove-notice{position:absolute;right:0;color:#6b7c93;font-size:20px;height:30px;width:30px;vertical-align:middle;top:1.2rem;line-height:30px;padding:5px;transition:all .3s linear;margin:0;display:block}.seopress-get-started .remove-notice{top:10px;right:10px}#seopress-notifications-center .dashicons.remove-notice:hover,.seopress-get-started .remove-notice:hover{color:#1a1f36;cursor:pointer}#seopress-content .seopress-page-list .seopress-feature .seopress-doc,.seopress-option #seopress-tabs .seopress-doc{background:0 0;padding:0;text-decoration:none;color:inherit;box-shadow:none;position:absolute;right:.5rem;top:1rem}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover,.seopress-option #seopress-tabs .seopress-doc:hover{color:#747474;background:0 0}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover .dashicons{color:#232323}.seopress-option .seopress-table{background:#fff;border:1px solid #ccc}.seopress-option .seopress-table th{padding:15px 10px;vertical-align:middle}.wp-admin-ui_page_seopress-roles .seopress-option .seopress-table th{min-width:200px}.seopress-option .seopress-table .seopress-settings-section{background:#f1f1f1}.seopress-option .seopress-table .seopress-table-head .seopress-feature{border-bottom:1px solid #ccc;font-weight:700;background:#f1f1f1}#seopress-content .feature-state,.seopress-option .feature-state{font-style:italic;font-size:10px;display:inline-block;background:rgba(0,140,135,.1);padding:2px 10px;border-radius:25px;color:#444;font-weight:400;text-transform:none;-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}@media only screen and (max-width:768px){#seopress-content .feature-state,.seopress-option .feature-state{display:none}}.seopress-option .seopress_wrap_single_cpt .feature-state,.seopress-option .seopress_wrap_tax .feature-state{padding:2px 12px;margin:0 0 .5rem .5rem}.seopress-option #tab_seopress_titles_archives h2,.seopress-option #tab_seopress_titles_single h2,.seopress-option #tab_seopress_titles_tax h2{margin:2em 0 1em 0;border-top:1px solid #eee;padding:1em 0 0 0}.seopress-option #tab_seopress_titles_archives h2:first-child,.seopress-option #tab_seopress_titles_single h2:first-child,.seopress-option #tab_seopress_titles_tax h2:first-child{border-top:none;margin:0 0 1em 0}#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-button,.seopress-option .tag-title{cursor:pointer;font-weight:500;border-radius:4px;transition:all .3s linear}#seopress-content .feature-state-on,#seopress-content .feature-state.feature-state-on,.seopress-option .feature-state-on,.seopress-option .feature-state.feature-state-on{display:inline-block}#seopress-content .feature-state-off,.seopress-option .feature-state-off{display:none}.seopress-option .postbox .inside li{list-style:square inside;padding-left:5px}#tab_seopress_page_speed .inside li{list-style:none;padding-left:0;word-break:break-word}.seopress-option .log{margin:0;text-transform:uppercase;display:inline-block;vertical-align:middle;padding:5px;color:#13bf11;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:20px;padding:6px 8px 6px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.seopress-button:hover{border-color:#a8bece;color:#00a0d2}.seopress-button .dashicons{vertical-align:middle}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget{border-right:1px solid #e6ebf1;margin:0;padding:0 20px;width:calc(50% - 2px);box-sizing:border-box;display:inline-block;vertical-align:top}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:first-child{width:100%;display:block;clear:both;border-right:none;border-bottom:1px solid #e6ebf1;padding-bottom:20px;margin-bottom:20px}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:last-child{border-right:none}#seopress-content .seopress-useful-tools .widget-reverse ul{background:#fff}#seopress-content .seopress-useful-tools .widget-reverse li{padding:10px;margin:0;border-bottom:1px solid #e6ebf1}#seopress-content .seopress-useful-tools .widget-reverse li:hover{background:#f5f7fa}#seopress-content .seopress-useful-tools .widget-title{text-transform:uppercase;margin:0 0 10px;font-size:13px;padding:10px 0;color:#24b47e}#seopress-content .seopress-reverse label,#seopress-content .seopress-useful-tools .widget-whois ul li span{font-weight:700}#seopress-content #seopress-reverse-url{width:100%;margin:10px 0}#seopress-content .widget-reverse p{margin:0}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_url{width:35%}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_anchor_text{width:20%}.seopress-styles #screen-meta{margin:0;position:relative;background-color:#fff;border-bottom:0 solid #f2f2f2;border-top:none;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);top:0}.seopress-styles #contextual-help-link-wrap,.seopress-styles #screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #f2f2f2;border-top:none;background:#fff;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08)}.seopress-styles #screen-meta-links .show-settings{box-shadow:none}.seopress-styles #screen-meta-links .screen-meta-toggle{position:relative;top:0;z-index:2000}.seopress-styles #contextual-help-back{background:#f8fafd}.seopress-styles .contextual-help-tabs .active{border-left:2px solid #3297d3;background:#f8fafd}#seopress-content input.toggle,#seopress_cpt input.toggle,.seopress-option input.toggle{max-height:0;max-width:0;opacity:0;position:relative}.seopress-feature input.toggle{display:block}.wrap-toggle-preview{position:relative}.wrap-toggle-preview p{font-weight:700;margin:0 0 1rem 0}#seopress_cpt input.toggle,.seopress_wrap_single_cpt input.toggle,.seopress_wrap_tax input.toggle{margin:0;border:none;min-width:0}#seopress_content_analysis span.label,#seopress_cpt span.label{outline:0;color:#fff;box-shadow:none;background:#555d66;padding:2px 4px;border-radius:4px;font-weight:700}#seopress-content input.toggle+label,#seopress_cpt #tabs-1 input.toggle+label,.seopress-option input.toggle+label{display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #d5d5d5;text-indent:-5000px;height:20px;width:40px;border-radius:15px}#seopress_cpt #tabs-1 input.toggle+label{margin:0}.wrap-toggle-checkboxes input.toggle+label{float:left;margin-right:10px}#seopress-content input.toggle+label:before,#seopress_cpt input.toggle+label:before,.seopress-option input.toggle+label:before{content:"";position:absolute;display:block;height:20px;width:30px;top:0;left:0;border-radius:15px;background:rgba(19,191,17,0);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress-content input.toggle+label:after,#seopress_cpt input.toggle+label:after,.seopress-option input.toggle+label:after{content:"";position:absolute;display:block;height:20px;width:20px;top:0;left:0;border-radius:15px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.2);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress_cpt input.toggle+label,#seopress_cpt input.toggle+label:before,.seopress_wrap_single_cpt input.toggle+label,.seopress_wrap_single_cpt input.toggle+label:before,.seopress_wrap_tax input.toggle+label,.seopress_wrap_tax input.toggle+label:before{width:40px;height:20px}#seopress_cpt input.toggle+label:after,.seopress_wrap_single_cpt input.toggle+label:after,.seopress_wrap_tax input.toggle+label:after{width:20px;height:20px}#seopress-content input.toggle[data-toggle="1"]+label:before,#seopress_cpt input.toggle[data-toggle="1"]+label:before,.seopress-option input.toggle[data-toggle="1"]+label:before{width:40px;background:#3197d3}#seopress_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:before{width:40px;background:#3197d3}#seopress-content input.toggle[data-toggle="1"]+label:after,#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress-option input.toggle[data-toggle="1"]+label:after{left:20px;box-shadow:inset 0 0 0 1px #3197d3,0 2px 4px rgba(0,0,0,.2)}#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:after{box-shadow:inset 0 0 0 1px #3197d3,0 2px 4px rgba(0,0,0,.2)}#seopress-content .seopress-page-list{position:relative;display:grid;max-width:64rem;grid-gap:20px 20px;grid-template-columns:repeat(3,1fr)}#seopress-notice-save{position:fixed;color:#fff;padding:15px 40px;font-size:.9rem;text-transform:uppercase;text-align:center;border-radius:0;background:rgba(74,184,102,.9);bottom:0;right:0;z-index:500;width:100%;font-weight:700}#seopress-notice-save .dashicons{color:#fff}.seopress_page_seopress-pro-page #wpcontent{background:#f4f7fa}.seopress-option .wrap div.nav-tab-wrapper{margin:0 0 0 -26px;padding:0 0 0 10px;line-height:inherit;width:230px;z-index:95;font-weight:400;display:block;border-bottom:none}@media only screen and (max-width:1024px){.seopress-option .wrap div.nav-tab-wrapper{width:100%;margin:0;padding:0}}#seopress-admin-tabs.wrap div.nav-tab-wrapper{margin:20px auto 0;max-width:64rem;width:100%;border-bottom:1px solid #e6ebf1;padding:0;line-height:inherit;position:-webkit-sticky;position:sticky;background:#f5f7fa;z-index:100;top:31px;border-radius:4px 4px 0 0;font-weight:400;overflow:hidden;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box}#seopress-admin-tabs #tab_seopress_notifications.seopress-tab{background:0 0;padding:0;border-radius:0}.seopress-option .nav-tab{border:0 solid #ccc;background:0 0;opacity:.5;padding:6px 30px 6px 10px;transition:opacity .3s linear;color:#191e23;margin:0;float:none;display:inline-block;width:100%;text-align:left;font-weight:400;box-sizing:border-box;white-space:normal}#seopress-admin-tabs .nav-tab{border:0 solid #ccc;background:0 0;opacity:.5;padding:14px 20px;transition:opacity .3s linear;color:#191e23;margin:0;box-shadow:inset -1px 0 #e3e8ee;float:none;display:inline-block;text-align:center;font-weight:400}#seopress-admin-tabs .nav-tab{width:100%}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:hover,.seopress-option .about-wrap h2 .nav-tab-active,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:hover{background-color:#fff}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus,.nav-tab-active:focus,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:focus:active,.seopress-option .nav-tab-active:hover,.seopress-option .nav-tab:focus{opacity:1;outline:0;font-weight:600;position:relative;color:#191e23;border-left:3px solid #0085ba;background:rgba(0,133,186,.1)}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus{border-bottom:3px solid #3197d3;border-left:none;background:#fff}#seopress-admin-tabs .nav-tab:hover,.seopress-option .nav-tab:hover{opacity:1}#seopress-admin-tabs .nav-tab:focus,.seopress-option .nav-tab:focus{outline:0;box-shadow:none}.seopress-option .section-tool{border:none;box-shadow:none;background:0 0;position:relative}.seopress-option .section-tool::after{content:'';background:#dedede;height:1px;width:100%;display:block}.seopress-option .sp-section-header{border-bottom:1px solid #eee;margin:0 0 1rem 0;width:100%;display:flex;position:relative;align-items:center;padding-bottom:.5rem}.seopress-option .sp-section-header::after{position:absolute;content:'';background:#0085ba;height:2px;width:40px;bottom:0;left:0}.seopress-option .sp-section-header h2{font-size:1.5em}.seopress-option .sp-section-header>.dashicons{color:#0085ba;padding:10px;border-radius:6px;margin-right:10px;background:#c4f0ff}.seopress-option .sp-section-header .wrap-toggle-checkboxes{display:flex}.seopress-styles .wrap .notice{margin:5px 0 15px 15px}
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}#tab_seopress_titles_archives .form-table th:empty,#tab_seopress_titles_single .form-table th:empty,#tab_seopress_titles_tax .form-table th:empty{display:none}.icon-seopress-seopress:before{content:"\e800"}.sp-tooltip{position:relative;margin-left:5px;display:inline-block;cursor:help;vertical-align:bottom;text-align:center}.sp-tooltip .dashicons{color:#666}.sp-tooltip .sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;width:300px;right:-303px;padding:20px;top:25px;font-weight:400;box-shadow:0 3px 30px rgba(25,30,35,.1);border:1px solid #e2e4e7;background:#fff;word-break:break-word}.sp-tooltip .sp-tooltiptext::before{border:8px solid #e2e4e7;top:-8px}.sp-tooltip .sp-tooltiptext::after{border:8px solid #fff;top:-6px}.sp-tooltip .sp-tooltiptext::after,.sp-tooltip .sp-tooltiptext::before{border-bottom-style:solid;border-left-color:transparent;border-right-color:transparent;border-top:none;margin-left:-10px;content:"";position:absolute;height:0;width:0;line-height:0;left:30px}.sp-tooltip:hover .sp-tooltiptext{visibility:visible}.sp-tooltip .sp-tooltip-headings{font-size:18px;font-weight:600;margin-bottom:20px;display:block}.sp-tooltip .sp-tooltip-desc{margin-bottom:20px;display:block;border-bottom:1px solid #e2e4e7;padding-bottom:20px;font-size:13px}.sp-tooltip .sp-tooltip-code{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;display:block;word-break:break-all;color:#42b72a;font-size:11px}.analysis-score .sp-tooltip{vertical-align:middle;font-size:.75em}#seopress_content_analysis a{color:#0073aa}#seopress_content_analysis .wrap-seopress-analysis{display:inline-block;width:100%}#seopress_content_analysis .col-left{width:calc(50% - 30px);float:left;margin-right:30px}#seopress_content_analysis .col-right{float:right;width:50%}#seopress_content_analysis #seopress_suggestions{display:inline-block;width:100%;margin:0;height:auto;padding:20px 0}#seopress_content_analysis #seopress_suggestions li{list-style:none;margin:5px;display:inline-block}#seopress_content_analysis .analysis-score{clear:both;border-top:1px solid #e2e4e7;display:flex;justify-content:space-between;align-items:center}.column-seopress_score .analysis-score{display:flex;align-content:center}#seopress_content_analysis .analysis-score p,.column-seopress_score .analysis-score p{font-weight:700;font-size:1.2em}#seopress_content_analysis .analysis-score svg,.column-seopress_score .analysis-score svg{display:inline-block;height:30px;width:30px;margin:0;border-radius:100%;position:relative;font-weight:600;shape-rendering:geometricprecision;font-size:.5rem;vertical-align:middle;margin-right:15px}.column-seopress_score .analysis-score p,.column-seopress_score .analysis-score svg{margin:0}@keyframes loadingPulse{0%{stroke:#adc5d2}50%{stroke:#00a0d2}100%{stroke:#adc5d2}}#seopress_content_analysis .analysis-score .loading #bar{stroke-dashoffset:0!important;stroke:#adc5d2!important;animation:loadingPulse 3s infinite ease-in-out}#seopress_content_analysis .analysis-score .good #bar,.column-seopress_score .analysis-score #bar.good{stroke:#46b450}#seopress_content_analysis .analysis-score .notgood #bar,.column-seopress_score .analysis-score #bar.notgood{stroke-dashoffset:565;stroke:#ffb900}#seopress_content_analysis .analysis-score svg circle,.column-seopress_score .analysis-score svg circle{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;stroke:#ccc;stroke-width:2em}#seopress_content_analysis .gr-analysis{clear:both}#seopress_content_analysis .gr-analysis-title{border-top:1px solid #e2e4e7;position:relative}#seopress_content_analysis .gr-analysis-title .impact{position:absolute;left:10px;top:calc(50% - 5px);width:10px;height:10px;border-radius:50px;padding:0;margin:0;border:1px solid #fff}#seopress_content_analysis .gr-analysis .impact.good{background:#46b450;box-shadow:0 0 5px #46b450}#seopress_content_analysis .gr-analysis .impact.low{background:#ffde24;box-shadow:0 0 5px #ffde24}#seopress_content_analysis .gr-analysis .impact.medium{background:#e39f48;box-shadow:0 0 5px #e39f48}#seopress_content_analysis .gr-analysis .impact.high{background:#e25950;box-shadow:0 0 5px #e25950}#seopress_content_analysis .gr-analysis-content .impact.high{background:#e25950;box-shadow:none;color:#fff;padding:2px 4px;margin-left:5px;border-radius:4px;font-weight:700}#seopress_content_analysis .gr-analysis-title button{background:#fff;border:0;cursor:pointer;display:block;margin:0;position:relative;text-align:left;width:100%;padding:15px 30px;align-items:center;transition:all .3s linear}#seopress_content_analysis .gr-analysis-title button:hover{background:#f3f4f5}#seopress_content_analysis .gr-analysis-title button:focus{color:#191e23;border:none;box-shadow:none;outline-offset:-2px;outline:1px dotted #555d66}#seopress_content_analysis .gr-analysis-title button .sp-arrow::after{content:"\f343";font-family:Dashicons;position:absolute;right:10px;top:calc(50% - 7px)}#seopress_content_analysis .gr-analysis-title button.open .sp-arrow::after{content:"\f347"}#seopress_content_analysis .gr-analysis-content{padding:0 1rem .5rem 1rem;display:none;width:100%;border-top:1px solid #e2e4e7;box-sizing:border-box}#seopress_content_analysis h3{margin:0;font-size:1em}#seopress_content_analysis h4{border-bottom:1px solid #e2e4e7;padding-bottom:.5rem;text-transform:uppercase;font-size:.85em;position:-webkit-sticky;position:sticky;top:0;background:#fff}#seopress_content_analysis .wrap-analysis-img ul{display:flex;flex-wrap:wrap}#seopress_content_analysis .wrap-analysis-img ul li{padding:0;text-align:left;cursor:default}#seopress_content_analysis .wrap-analysis-img h4{border-bottom:1px solid #ddd;padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul li img{max-width:150px;max-height:150px;object-fit:cover;border:1px solid #f3f4f5;cursor:default;padding:1px}#seopress_cpt .notice{padding:10px 14px}#seopress-analysis-tabs .dashicons,#seopress_cpt .dashicons{vertical-align:middle}#seopress-analysis-tabs{clear:both}#seopress_cpt .inside{margin:0;padding:0}#seopress_cpt .ui-tabs .ui-tabs-nav{display:inline-block;min-height:26px;position:relative;width:100%;z-index:10;margin:0;border-radius:0;padding:0;background:#f3f4f5;border:none}#seopress_cpt .ui-helper-clearfix:after{content:none}.seopress_page_seopress-titles #seopress-tabs .form-table td,.seopress_page_seopress-titles #seopress_content_analysis .form-table td{padding:0}#seopress_cpt .ui-tabs .ui-tabs-panel{background:#fff;border-radius:0;display:inline-block;padding:1em 1.4em;width:100%;box-sizing:border-box}#seopress_content_analysis .dashicons-info,#seopress_cpt .ui-tabs .ui-tabs-panel .dashicons-info,#seopress_pro_cpt .dashicons-info{font-size:16px;vertical-align:middle;height:16px;width:16px}#seopress_cpt .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs-anchor{cursor:pointer!important}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{position:relative;z-index:60;cursor:pointer;border-radius:0;border-bottom:3px solid #0085ba}#seopress_content_analysis label,#seopress_cpt #tabs-1 label,#seopress_cpt #tabs-2 label[for=seopress_robots_breadcrumbs_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_canonical_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_primary_cat_meta],#seopress_cpt #tabs-3 label,#seopress_cpt #tabs-4 label,#seopress_cpt #tabs-5 label,#seopress_cpt #tabs-6 label,#seopress_cpt .subsection-title,#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:100%;display:inline-block}#seopress_cpt #tabs-1 input{width:100%}#seopress_cpt #tabs-6 input[type=number]{width:30%;min-width:200px}#seopress_cpt #tabs-6 #wrap-videos .video:first-child .remove-video{display:none}#seopress_cpt select{width:300px}#seopress_cpt #tabs-4 select{width:250px;display:inline}#seopress_cpt #tabs-4 #seopress_redirections_value_meta{width:calc(100% - 258px);float:right}#seopress_cpt #tabs-6{padding:0}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content,#seopress_cpt #tabs-6>p{padding:0 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content{padding:0 1.4em 1em}#seopress_cpt #tabs-6 #wrap-videos .video{border-top:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-title{border-left:none;border-right:none;font-size:1em;padding:1em 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-content,#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-title{border-bottom:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .inside{padding:0}#seopress_cpt #tabs-4 #seopress_redirections_enabled,#seopress_cpt #tabs-5 #seopress_news_disabled,#seopress_cpt #tabs-5 #seopress_news_standout,#seopress_cpt #tabs-6 #seopress_video_disabled,#seopress_cpt #tabs-6 .family-friendly label,#seopress_cpt #tabs-6 .internal_video label{font-weight:400}#seopress_cpt #tabs-6 #wrap-videos .video:nth-child(odd){background:#fdfdfd}#seopress_content_analysis .advise,#seopress_cpt .advise,#seopress_pro_cpt .advise,.seopress-option .advise{margin:5px;display:block;color:red;font-style:italic}#seopress_cpt #tabs-6 #wrap-videos .video .advise{color:#555}#seopress_content_analysis .mandatory,#seopress_cpt .mandatory{color:#c00}#seopress_cpt .box-left{float:left;width:49%;margin-right:1%}#seopress_cpt .box-right{float:left;width:49%;margin-left:1%}#seopress_cpt #tabs-3 .box-left{width:44%}#seopress_cpt #tabs-3 .box-right{width:54%}@media only screen and (max-width:1200px){#seopress_cpt .box-left,#seopress_cpt .box-right{float:none;width:100%;margin:0}}@media only screen and (max-width:1500px){#seopress_cpt #tabs-3 .box-left,#seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}}#edittag #seopress_cpt #tabs-3 .box-left,#edittag #seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}#seopress-tabs .seopress_media_upload,#seopress_pro_cpt .seopress_media_upload{margin-top:.5rem}#seopress_cpt .google-snippet-preview{font-family:arial,sans-serif;word-break:break-all}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet{margin:0 0 10px 0;box-shadow:0 1px 6px rgba(32,33,36,.28);border-radius:8px;padding:12px 16px}#seopress_cpt .google-snippet-preview>p{word-break:normal}#seopress_cpt .google-snippet-preview .snippet-title,#seopress_cpt .google-snippet-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview .snippet-title-default{color:#1a0dab;font-size:18px;font-weight:400;line-height:21.6px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-default{font-size:16px;line-height:20px;margin-bottom:12px}#seopress_cpt .google-snippet-preview .snippet-permalink{color:#006621;font-size:14px;font-style:normal;font-weight:400;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#seopress_cpt .google-snippet-preview .wrap-snippet .wrap-m-icon-permalink,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-permalink{display:none}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:12px;display:flex}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink .snippet-permalink{display:block;color:#3c4043;font-size:12px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon{margin-right:12px;vertical-align:middle}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon img{width:16px;height:16px;max-width:inherit}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet .snippet-permalink:first-child{color:#3c4043;white-space:nowrap;font-size:12px;display:block}#seopress_cpt .google-snippet-preview .snippet-description,#seopress_cpt .google-snippet-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview .snippet-description-default{color:#545454;font-size:14px;font-weight:400;line-height:18.2px;display:inline}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-default{color:#3c4043;font-size:14px;line-height:20px}#seopress_cpt .google-snippet-preview .snippet-date{color:grey;display:inline}#seopress_cpt .facebook-snippet-box{color:#4b4f56;font-size:14px;width:524px}#seopress_cpt .facebook-snippet-box .notice,#seopress_cpt .twitter-snippet-box .notice{padding:10px 14px;margin:0 0 10px 0;box-sizing:border-box;width:100%}#seopress_cpt .facebook-snippet-box .notice span,#seopress_cpt .twitter-snippet-box .notice span{font-weight:700}#seopress_cpt .snippet-meta{display:flex;overflow:hidden;max-height:12px}#seopress_cpt .fb-by,#seopress_cpt .snippet-fb-site-name,#seopress_cpt .snippet-fb-url{color:#606770;font-size:12px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .fb-sep{padding-left:5px;padding-right:5px;color:#606770;line-height:11px;font-size:12px}#seopress_cpt .facebook-snippet-box .facebook-snippet-text{border:1px solid #dadde1;background-color:#f2f3f5;padding:10px 12px}#seopress_cpt .facebook-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .facebook-snippet-box .snippet-fb-title,#seopress_cpt .facebook-snippet-box .snippet-fb-title-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-title-default{font-size:16px;line-height:20px;margin:3px 0 0;padding-top:2px;color:#1d2129;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word;max-height:22px}#seopress_cpt .facebook-snippet-box .snippet-fb-description,#seopress_cpt .facebook-snippet-box .snippet-fb-description-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-description-default{color:#606770;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .facebook-snippet-box img{display:block;height:274px;width:524px;object-fit:cover;background-color:#edeff0;text-align:center;border-bottom:none}#seopress_cpt .twitter-snippet-box{color:#4b4f56;font-size:14px;width:436px}#seopress_cpt .snippet-twitter-url{color:#8899a6;font-size:14px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .twitter-snippet-box .twitter-snippet-text{border:1px solid #dadde1;background-color:#fff;padding:10px 12px;border-radius:0 0 10px 10px}#seopress_cpt .twitter-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .twitter-snippet-box .snippet-twitter-img,#seopress_cpt .twitter-snippet-box .snippet-twitter-img-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-img-default{border-radius:10px 10px 0 0;overflow:hidden}#seopress_cpt .twitter-snippet-box .snippet-twitter-title,#seopress_cpt .twitter-snippet-box .snippet-twitter-title-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-title-default{font-size:1em;line-height:20px;margin-bottom:5px;max-height:1.3em;color:#000;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word}#seopress_cpt .twitter-snippet-box .snippet-twitter-description,#seopress_cpt .twitter-snippet-box .snippet-twitter-description-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-description-default{color:#000;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .twitter-snippet-box img{display:block;height:200px;width:436px;object-fit:cover;background-color:#edeff0;text-align:center;border-bottom:none}#seopress_cpt .wrap-seopress-counters,#seopress_pro_cpt .wrap-seopress-counters{text-align:right;background:#e9ecef;padding:2px 5px;display:flex;font-size:12px;justify-content:flex-end;border-radius:0 0 .25rem .25rem}#seopress_cpt .sp-progress,#seopress_pro_cpt .sp-progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem .25rem 0 0}#seopress_cpt .sp-progress-bar,#seopress_pro_cpt .sp-progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#0085ba;transition:width .6s ease}#seopress_cpt #seopress_titles_desc_counters,#seopress_cpt #seopress_titles_title_counters,#seopress_pro_cpt #seopress_rich_snippets_articles_counters,#seopress_pro_cpt #seopress_rich_snippets_courses_counters{display:inline;margin-right:5px}#seopress_cpt #seopress_titles_desc_counters_val,#seopress_cpt #seopress_titles_title_counters_val,#seopress_pro_cpt #seopress_rich_snippets_articles_counters_val,#seopress_pro_cpt #seopress_rich_snippets_courses_counters_val{display:inline;font-weight:700}#term-seopress #seopress_cpt{width:95%}.fixed .column-seopress_ps,.fixed .column-seopress_score,.fixed .column-seopress_w3c,.fixed .column-seopress_words{width:6%}.fixed .column-seopress_nofollow,.fixed .column-seopress_noindex{width:8%}@media only screen and (max-width:1200px){.fixed .column-seopress_nofollow,.fixed .column-seopress_noindex,.fixed .column-seopress_ps,.fixed .column-seopress_score,.fixed .column-seopress_w3c,.fixed .column-seopress_words{width:10%}}#seopress_cpt .ui-tabs{position:relative;padding:0;border:none;font-family:inherit;font-size:inherit;display:inline-block;width:100%}#seopress_cpt .ui-tabs .ui-tabs-nav li{list-style:none;display:inline-block;position:relative;top:2px;padding:0 5px;white-space:nowrap;margin:0;border:none;background:0 0}#seopress_cpt .ui-tabs .ui-tabs-nav li a{display:inline-block;padding:5px 10px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li a,#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a{display:block}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:2px;padding-bottom:1px}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a{color:#191e23;font-weight:700}#seopress_cpt .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#191e23;text-decoration:none;height:40px;line-height:40px}#seopress_cpt .ui-tabs-vertical{width:55em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress_cpt .ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress_cpt .ui-tabs .ui-tabs-nav li a .dashicons{margin-right:2px}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_content_analysis .dashicons-yes,#seopress_pro_cpt .dashicons-no-alt,#seopress_pro_cpt .dashicons-yes{color:#fff;background:#12bd10;border-radius:50px;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_pro_cpt .dashicons-no-alt{background:#e25950}body.seopress-styles{background:#f8fafd}#seopress-admin-tabs.ui-tabs{position:relative;padding:.2em;border:none;font-family:inherit;font-size:inherit}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:-1px .2em 0 0;padding:0;white-space:nowrap;border:none;background:0 0}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a{float:left;padding:.38em 1em .75rem;outline:0;border-bottom:2px solid #fff}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text;border-bottom:2px solid #23282d;color:#23282d}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a,#seopress-admin-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#0073aa;text-decoration:none}#seopress-admin-tabs.ui-tabs-vertical{width:55em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}.seopress-styles .seopress-option{margin:10px auto 0;max-width:90%;padding:1rem;background:#fff;box-shadow:0 15px 35px rgba(50,50,93,.1),0 5px 15px rgba(0,0,0,.1);border-radius:4px}.seopress-styles .seopress-option h1{font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase;z-index:100;border-bottom:1px solid #eee;padding-bottom:20px}.seopress-styles .seopress-option h1 .dashicons,.seopress-styles .seopress-option h2 .dashicons{margin:0 10px;font-size:40px;width:40px;height:40px;vertical-align:middle}.seopress-styles .seopress-option .link-archive{font-size:14px}.seopress-styles .seopress-option .link-archive .dashicons{font-size:18px;width:20px;height:20px;margin:inherit}.seopress-styles .seopress-option h1>.dashicons{font-size:30px;width:30px;height:30px;background:#c4f0ff;border-radius:6px;padding:10px;margin-left:10px;color:#0085ba}.seopress-styles .seopress-option .metabox-holder h2 .dashicons{font-size:16px}.seopress-option h1 .feature-state .dashicons{font-size:16px;width:16px;height:16px;vertical-align:middle;margin:0 10px 0 0}.seopress-styles .wrap{margin:20px 0 0 0;display:flex;position:relative}@media only screen and (max-width:1024px){.seopress-styles .wrap{display:inline-block;width:100%}}#seopress-admin-tabs.wrap{display:block;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12);width:64rem;margin:0 auto}.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:#6a7c94;position:relative;height:auto;z-index:10}.seopress-styles .seopress-option #seopress-aio-migrate:hover,.seopress-styles .seopress-option #seopress-rk-migrate:hover,.seopress-styles .seopress-option #seopress-seo-framework-migrate:hover,.seopress-styles .seopress-option #seopress-squirrly-migrate:hover,.seopress-styles .seopress-option #seopress-yoast-migrate:hover,.seopress-styles .seopress-option #submit:hover{text-decoration:none;color:#fff;background:#232323}.seopress-styles #wpcontent{padding-left:0}.seopress-styles pre{color:#42b72a;background:#f5f6f7;font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;padding:7px}.seopress-styles #seopress-navbar{padding:10px .5rem;height:56px;margin:0 auto;width:64rem;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,#3a4afb 0,#47bea5 100%);background:-webkit-linear-gradient(45deg,#3a4afb 0,#47bea5 100%);background:linear-gradient(45deg,#3a4afb 0,#47bea5 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:64rem;top:0;visibility:hidden;cursor:auto;left:-.5rem}#seopress-header #seopress-admin h1:hover .seopress-quick-access{transform:none;opacity:1;pointer-events:auto;visibility:visible}#seopress-header #seopress-admin .seopress-quick-access>ul{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:#6f8096;text-decoration:none;line-height:40px}#seopress-header #seopress-notice div.small{font-size:13px;display:inline}#seopress-footer-credits{font-style:italic}#seopress-footer-credits .wporg-ratings{display:inline}#seopress-footer-credits .wporg-ratings a{text-decoration:none}.seopress-option .seopress-settings{float:left;max-width:750px;width:100%}.seopress-option #seopress-edd-license-btn,.seopress-option #seopress-refresh{float:left}.wp-admin-ui_page_seopress-import-export .postbox{margin-right:20px}.seopress-option #side-sortables .accordion-section-content{padding:0}.seopress-option .seopress-settings label{margin:0 0 0 10px}.wrap-seopress-tab-content{position:relative;display:block;width:100%;max-width:64rem;margin:0 auto;box-sizing:border-box}#seopress-admin-tabs .seopress-tab{padding:1.5rem;visibility:hidden;overflow:hidden;opacity:0;transition:all .2s ease;transform:translateX(-15px);position:absolute;top:0;box-sizing:border-box}#seopress-admin-tabs .seopress-tab.active{visibility:visible;overflow:inherit;opacity:1;transform:translateX(0);display:inherit;position:relative}#seopress-tabs .seopress-tab{padding:0 1.5rem;width:calc(100% - 230px);display:none}@media only screen and (max-width:1024px){#seopress-tabs .seopress-tab{width:100%}}#seopress-tabs .seopress-tab.active{display:inline-block;border-left:1px solid #eee}@media only screen and (max-width:1024px){#seopress-tabs .seopress-tab.active{width:100%;padding:0;border-left:none;border-top:1px solid #eee}}.seopress-option input[type=password],.seopress-option input[type=text],.seopress-option textarea{min-width:485px}@media only screen and (max-width:1024px){.seopress-option input[type=password],.seopress-option input[type=text],.seopress-option textarea{min-width:inherit;width:100%}}#seopress_htaccess_file{width:100%}.seopress-option textarea{min-height:100px}.seopress-option #side-sortables .highlight{border:1px dashed #ccc;display:block;width:382px;height:40px;background:0 0}.seopress-option #side-sortables .accordion-section{margin-bottom:9px;width:382px}.seopress-option #side-sortables .accordion-section h3{cursor:move;border:1px solid #e5e5e5;background:#fafafa}.seopress-option #side-sortables .accordion-section .inside{padding:10px 10px 24px;border-width:0 1px 1px;border-style:solid;box-shadow:0 1px 1px rgba(0,0,0,.04);border-color:#e5e5e5;display:inline-block;width:calc(100% - 22px);height:100%}.seopress-option #side-sortables .accordion-section .inside ul{padding-left:10px;margin-bottom:0;padding-top:2px;padding-bottom:2px}.seopress-option #side-sortables .accordion-section .inside ul li{border-left:2px solid #ccc;padding-left:10px;margin-bottom:10px}.seopress-option #side-sortables .accordion-section .inside ul li:first-child{border-bottom:1px dotted #e5e5e5;border-left:0;padding-bottom:10px;font-weight:700;margin-left:-15px;margin-bottom:10px}.seopress-notice #message{margin:5px 10px 2px 0}#seopress-notice a{position:relative;text-decoration:none}#seopress-notice a .tooltip{white-space:pre;z-index:200;padding:2px 5px;font-weight:500;font-size:12px;color:#aab7c4;background:#fff;box-shadow:0 1px 2px 0 rgba(49,49,93,.1),0 0 1px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;opacity:0;top:30px;transition:opacity .2s ease;visibility:hidden;line-height:20px;left:-100%;overflow:hidden}#seopress-notice a:hover .tooltip{opacity:1;visibility:visible}.seopress-page-list{margin:1.5rem auto}.seopress-option .dashicons,.seopress-page-list .dashicons{vertical-align:middle;margin-right:5px;color:#6f8096}#seopress-admin-tabs .ui-tabs-nav,#seopress-notifications-center,.seopress-get-started,.seopress-page-list .seopress-feature,.seopress-useful-tools{margin:0 auto 20px;max-width:64rem;padding:2rem;width:100%;border-radius:0 0 4px 4px;box-sizing:border-box}.seopress-get-started{margin-top:20px;background:#fff url(../img/bg-hero-support.svg) no-repeat 95% 50%/contain;position:relative;box-sizing:border-box;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12)}.seopress-get-started .inside{max-width:calc(100% - 380px)}.seopress-get-started .preheader{text-transform:uppercase;font-size:.8rem;font-weight:600}.seopress-get-started h2{font-size:1.85em;margin:15px 0 0 0;font-weight:400}.seopress-get-started p{margin-bottom:20px}.seopress-get-started a .dashicons{vertical-align:middle;text-decoration:none;color:#6a7c94}.seopress-get-started a.button-primary .dashicons{color:#fff}.seopress-get-started a.btn-link .dashicons{margin-right:5px}.seopress-get-started a.btn-link{margin:0 0 0 10px}#seopress-notifications-center,.seopress-useful-tools{background:#fff;padding:0}.seopress-page-list .seopress-feature{padding:0;position:relative;overflow:hidden;transition-duration:.15s;display:flex;margin:0;background:#fff;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12);flex-wrap:wrap;border-radius:4px;width:100%;height:100%}.seopress-page-list .seopress-feature p{color:#6b7c93;font-size:14px;margin-bottom:30px}#seopress-notifications-center{margin-top:0}#seopress-admin-tabs .ui-tabs-nav{display:flex;padding-top:1rem;padding-bottom:0}.seopress-page-list .seopress-feature .img-tool{height:50px;width:50px;background:#c4f0ff;position:relative;border-radius:6px}.seopress-page-list .seopress-feature .img-tool .dashicons{color:#217ab7;font-size:30px;text-align:left;vertical-align:middle;width:100%;height:100%;position:absolute;top:calc(50% - 15px);left:calc(50% - 15px);margin:0}.seopress-page-list .seopress-feature .inner{margin:0;display:inline-block;padding:1.5rem;width:100%;height:100%;box-sizing:border-box}.seopress-page-list .seopress-feature h3{margin:1rem 0 0 0;font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase}.seopress-page-list .seopress-feature h3 .dashicons{font-size:16px;margin-left:5px;vertical-align:middle}#seopress-content .seopress-page-list .seopress-feature a,#seopress-notifications-center .seopress-alert .button-primary,.seopress-get-started .button-primary,.seopress-option .seopress-feature a,.seopress-useful-tools .widget .button-primary{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);background:#6a7c94;position:relative;height:auto;display:flex;flex-wrap:wrap}#seopress-content .seopress-page-list .seopress-feature a.button-secondary{padding-left:30px}#seopress-content .seopress-page-list .seopress-feature a.button-secondary::before,#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f111";font-family:Dashicons;position:absolute;left:10px;top:1px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:16px}#seopress-content .seopress-page-list .wrap-btn{display:inline-flex;margin-bottom:2rem;flex-direction:column}#seopress-content .seopress-page-list .seopress-feature a.view-redirects,#seopress-notifications-center .seopress-alert .button-primary,.seopress-get-started .button,.seopress-option .button{color:#6a7c94;background:#fff;font-weight:500;transition:all .3s linear;text-shadow:none;text-transform:uppercase;padding-right:20px;padding-left:20px;line-height:34px;min-height:34px;margin:10px 0;border-radius:4px;box-shadow:transparent 0 0 0 0,transparent 0 0 0 0,rgba(0,0,0,.12) 0 1px 1px 0,rgba(60,66,87,.16) 0 0 0 1px,transparent 0 0 0 0,transparent 0 0 0 0,rgba(60,66,87,.12) 0 2px 5px 0;vertical-align:baseline;display:inline-flex;align-items:center;border:none;margin-right:.5rem;cursor:pointer}.seopress-get-started .button{color:#fff;background:#6259e6;box-shadow:none}.seopress-option .wp-picker-container button{box-shadow:none;border:1px solid #0071a1;border-radius:3px;background:#f3f5f6;text-transform:none}.seopress-option .wp-picker-container input[type=text].wp-color-picker{min-width:inherit}.seopress-option .wp-picker-container .wp-picker-clear{box-shadow:none;text-transform:none;border-radius:0;background:0 0}.seopress-option .wp-picker-container .wp-picker-clear:hover{background:0 0;text-decoration:currentColor;color:inherit}.seopress-option .button .dashicons{font-size:16px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects{padding-left:30px}#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f344";left:inherit;right:10px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects::before{content:"\f177"}#seopress-content .seopress-page-list .seopress-feature a:hover,#seopress-notifications-center .seopress-alert .button-primary:hover,.seopress-get-started .button-primary:hover,.seopress-option .button:hover,.seopress-option .seopress-feature a:hover,.seopress-useful-tools .widget .button-primary:hover{text-decoration:none;color:#fff;background:#232323}.seopress-get-started .button .dashicons{transition:all .3s linear}.seopress-get-started .button:hover .dashicons{color:#fff}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:focus,#seopress-content .seopress-page-list .seopress-feature a:focus,#seopress-content .seopress-page-list .seopress-feature a:focus.button-secondary,#seopress-content a:focus,#seopress-notifications-center .seopress-alert .button-primary:focus,.seopress-option #seopress-tabs .seopress-doc:focus,.seopress-option .seopress-feature a:focus,.seopress-styles .seopress-option #seopress-aio-migrate:focus,.seopress-styles .seopress-option #seopress-yoast-migrate:focus,.seopress-styles .seopress-option #submit:focus,.seopress-useful-tools .widget .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;background:#008ec2;border-color:#006799;color:#fff}#seopress-admin-tabs .nav-tab-wrapper a.nav-tab-active:focus{color:inherit}#seopress-notifications-center .seopress-alert .button-primary{margin:5px 0;padding-right:30px}#seopress-notifications-center h2,.seopress-useful-tools h2{margin:5px 0 15px 5px;display:inline-block;width:100%}#seopress-notifications-center .dashicons,.seopress-useful-tools .dashicons{margin-right:10px}#seopress-notifications-center .seopress-alert{padding:1.5rem 2rem 1.2rem 1rem;border-bottom:1px solid #e6ebf1;width:calc(100% - 3rem);flex:1 1 auto;position:relative;transition:all 150ms ease;align-items:center;display:flex;justify-content:space-between}#seopress-notifications-center .seopress-alert:last-child{margin-bottom:0;border-bottom:none}#seopress-notifications-center .seopress-alert:hover{cursor:default}#seopress-notifications-center .dashicons{display:flex;align-self:normal;width:48px;height:48px;color:#d7dade;font-size:48px;padding:0 1rem}#seopress-notifications-center .seopress-alert p{margin:0}#seopress-notifications-center .notice-left{flex:1}#seopress-notifications-center .notice-left>p:first-child{color:#1a1f36;font-weight:500}#seopress-notifications-center .notice-right{padding:1rem 0 0 0;display:flex}#seopress-notifications-center .seopress-alert.impact::after{content:"";width:10px;height:10px;border-radius:50px;position:absolute;right:1rem;top:1rem}#seopress-notifications-center .seopress-alert.impact.low::after{background:#ffde24}#seopress-notifications-center .seopress-alert.impact.medium::after{background:#e39f48}#seopress-notifications-center .seopress-alert.impact.high::after{background:#e25950}#seopress-notifications-center .seopress-alert.impact.info::after{background:#0085ba}#seopress-notifications-center .seopress-alert.dashicons{color:#6f8096}#seopress-notifications-center .dashicons.remove-notice,.seopress-get-started .remove-notice{position:absolute;right:0;color:#6b7c93;font-size:20px;height:30px;width:30px;vertical-align:middle;top:1.2rem;line-height:30px;padding:5px;transition:all .3s linear;margin:0;display:block}.seopress-get-started .remove-notice{top:10px;right:10px}#seopress-notifications-center .dashicons.remove-notice:hover,.seopress-get-started .remove-notice:hover{color:#1a1f36;cursor:pointer}#seopress-content .seopress-page-list .seopress-feature .seopress-doc,.seopress-option #seopress-tabs .seopress-doc{background:0 0;padding:0;text-decoration:none;color:inherit;box-shadow:none;position:absolute;right:.5rem;top:1rem}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover,.seopress-option #seopress-tabs .seopress-doc:hover{color:#747474;background:0 0}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover .dashicons{color:#232323}.seopress-option .seopress-table{background:#fff;border:1px solid #ccc}.seopress-option .seopress-table th{padding:15px 10px;vertical-align:middle}.wp-admin-ui_page_seopress-roles .seopress-option .seopress-table th{min-width:200px}.seopress-option .seopress-table .seopress-settings-section{background:#f1f1f1}.seopress-option .seopress-table .seopress-table-head .seopress-feature{border-bottom:1px solid #ccc;font-weight:700;background:#f1f1f1}#seopress-content .feature-state,.seopress-option .feature-state{font-style:italic;font-size:10px;display:inline-block;background:rgba(0,140,135,.1);padding:2px 10px;border-radius:25px;color:#444;font-weight:400;text-transform:none;-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}@media only screen and (max-width:768px){#seopress-content .feature-state,.seopress-option .feature-state{display:none}}.seopress-option .seopress_wrap_single_cpt .feature-state,.seopress-option .seopress_wrap_tax .feature-state{padding:2px 12px;margin:0 0 .5rem .5rem}.seopress-option #tab_seopress_titles_archives h2,.seopress-option #tab_seopress_titles_single h2,.seopress-option #tab_seopress_titles_tax h2{margin:2em 0 1em 0;border-top:1px solid #eee;padding:1em 0 0 0}.seopress-option #tab_seopress_titles_archives h2:first-child,.seopress-option #tab_seopress_titles_single h2:first-child,.seopress-option #tab_seopress_titles_tax h2:first-child{border-top:none;margin:0 0 1em 0}#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-button,.seopress-option .tag-title{cursor:pointer;font-weight:500;border-radius:4px;transition:all .3s linear}#seopress-content .feature-state-on,#seopress-content .feature-state.feature-state-on,.seopress-option .feature-state-on,.seopress-option .feature-state.feature-state-on{display:inline-block}#seopress-content .feature-state-off,.seopress-option .feature-state-off{display:none}.seopress-option .postbox .inside li{list-style:square inside;padding-left:5px}#tab_seopress_page_speed .inside li{list-style:none;padding-left:0;word-break:break-word}.seopress-option .log{margin:0;text-transform:uppercase;display:inline-block;vertical-align:middle;padding:5px;color:#13bf11;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:20px;padding:6px 8px 6px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.seopress-button:hover{border-color:#a8bece;color:#00a0d2}.seopress-button .dashicons{vertical-align:middle}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget{border-right:1px solid #e6ebf1;margin:0;padding:0 20px;width:calc(50% - 2px);box-sizing:border-box;display:inline-block;vertical-align:top}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:first-child{width:100%;display:block;clear:both;border-right:none;border-bottom:1px solid #e6ebf1;padding-bottom:20px;margin-bottom:20px}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:last-child{border-right:none}#seopress-content .seopress-useful-tools .widget-reverse ul{background:#fff}#seopress-content .seopress-useful-tools .widget-reverse li{padding:10px;margin:0;border-bottom:1px solid #e6ebf1}#seopress-content .seopress-useful-tools .widget-reverse li:hover{background:#f5f7fa}#seopress-content .seopress-useful-tools .widget-title{text-transform:uppercase;margin:0 0 10px;font-size:13px;padding:10px 0;color:#24b47e}#seopress-content .seopress-reverse label,#seopress-content .seopress-useful-tools .widget-whois ul li span{font-weight:700}#seopress-content #seopress-reverse-url{width:100%;margin:10px 0}#seopress-content .widget-reverse p{margin:0}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_url{width:35%}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_anchor_text{width:20%}.seopress-styles #screen-meta{margin:0;position:relative;background-color:#fff;border-bottom:0 solid #f2f2f2;border-top:none;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);top:0}.seopress-styles #contextual-help-link-wrap,.seopress-styles #screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #f2f2f2;border-top:none;background:#fff;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08)}.seopress-styles #screen-meta-links .show-settings{box-shadow:none}.seopress-styles #screen-meta-links .screen-meta-toggle{position:relative;top:0;z-index:2000}.seopress-styles #contextual-help-back{background:#f8fafd}.seopress-styles .contextual-help-tabs .active{border-left:2px solid #3297d3;background:#f8fafd}#seopress-content input.toggle,#seopress_cpt input.toggle,.seopress-option input.toggle{max-height:0;max-width:0;opacity:0;position:relative}.seopress-feature input.toggle{display:block}.wrap-toggle-preview{position:relative}.wrap-toggle-preview p{font-weight:700;margin:0 0 1rem 0}#seopress_cpt input.toggle,.seopress_wrap_single_cpt input.toggle,.seopress_wrap_tax input.toggle{margin:0;border:none;min-width:0}#seopress_content_analysis span.label,#seopress_cpt span.label{outline:0;color:#fff;box-shadow:none;background:#555d66;padding:2px 4px;border-radius:4px;font-weight:700}#seopress-content input.toggle+label,#seopress_cpt #tabs-1 input.toggle+label,.seopress-option input.toggle+label{display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #d5d5d5;text-indent:-5000px;height:20px;width:40px;border-radius:15px}#seopress_cpt #tabs-1 input.toggle+label{margin:0}.wrap-toggle-checkboxes input.toggle+label{float:left;margin-right:10px}#seopress-content input.toggle+label:before,#seopress_cpt input.toggle+label:before,.seopress-option input.toggle+label:before{content:"";position:absolute;display:block;height:20px;width:30px;top:0;left:0;border-radius:15px;background:rgba(19,191,17,0);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress-content input.toggle+label:after,#seopress_cpt input.toggle+label:after,.seopress-option input.toggle+label:after{content:"";position:absolute;display:block;height:20px;width:20px;top:0;left:0;border-radius:15px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.2);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress_cpt input.toggle+label,#seopress_cpt input.toggle+label:before,.seopress_wrap_single_cpt input.toggle+label,.seopress_wrap_single_cpt input.toggle+label:before,.seopress_wrap_tax input.toggle+label,.seopress_wrap_tax input.toggle+label:before{width:40px;height:20px}#seopress_cpt input.toggle+label:after,.seopress_wrap_single_cpt input.toggle+label:after,.seopress_wrap_tax input.toggle+label:after{width:20px;height:20px}#seopress-content input.toggle[data-toggle="1"]+label:before,#seopress_cpt input.toggle[data-toggle="1"]+label:before,.seopress-option input.toggle[data-toggle="1"]+label:before{width:40px;background:#3197d3}#seopress_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:before{width:40px;background:#3197d3}#seopress-content input.toggle[data-toggle="1"]+label:after,#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress-option input.toggle[data-toggle="1"]+label:after{left:20px;box-shadow:inset 0 0 0 1px #3197d3,0 2px 4px rgba(0,0,0,.2)}#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:after{box-shadow:inset 0 0 0 1px #3197d3,0 2px 4px rgba(0,0,0,.2)}#seopress-content .seopress-page-list{position:relative;display:grid;max-width:64rem;grid-gap:20px 20px;grid-template-columns:repeat(3,1fr)}#seopress-notice-save{position:fixed;color:#fff;padding:15px 40px;font-size:.9rem;text-transform:uppercase;text-align:center;border-radius:0;background:rgba(74,184,102,.9);bottom:0;right:0;z-index:500;width:100%;font-weight:700}#seopress-notice-save .dashicons{color:#fff}.seopress_page_seopress-pro-page #wpcontent{background:#f4f7fa}.seopress-option .wrap div.nav-tab-wrapper{margin:0 0 0 -26px;padding:0 0 0 10px;line-height:inherit;width:230px;z-index:95;font-weight:400;display:block;border-bottom:none}@media only screen and (max-width:1024px){.seopress-option .wrap div.nav-tab-wrapper{width:100%;margin:0;padding:0}}#seopress-admin-tabs.wrap div.nav-tab-wrapper{margin:20px auto 0;max-width:64rem;width:100%;border-bottom:1px solid #e6ebf1;padding:0;line-height:inherit;position:-webkit-sticky;position:sticky;background:#f5f7fa;z-index:100;top:31px;border-radius:4px 4px 0 0;font-weight:400;overflow:hidden;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box}#seopress-admin-tabs #tab_seopress_notifications.seopress-tab{background:0 0;padding:0;border-radius:0}.seopress-option .nav-tab{border:0 solid #ccc;background:0 0;opacity:.5;padding:6px 30px 6px 10px;transition:opacity .3s linear;color:#191e23;margin:0;float:none;display:inline-block;width:100%;text-align:left;font-weight:400;box-sizing:border-box;white-space:normal}#seopress-admin-tabs .nav-tab{border:0 solid #ccc;background:0 0;opacity:.5;padding:14px 20px;transition:opacity .3s linear;color:#191e23;margin:0;box-shadow:inset -1px 0 #e3e8ee;float:none;display:inline-block;text-align:center;font-weight:400}#seopress-admin-tabs .nav-tab{width:100%}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:hover,.seopress-option .about-wrap h2 .nav-tab-active,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:hover{background-color:#fff}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus,.nav-tab-active:focus,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:focus:active,.seopress-option .nav-tab-active:hover,.seopress-option .nav-tab:focus{opacity:1;outline:0;font-weight:600;position:relative;color:#191e23;border-left:3px solid #0085ba;background:rgba(0,133,186,.1)}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus{border-bottom:3px solid #3197d3;border-left:none;background:#fff}#seopress-admin-tabs .nav-tab:hover,.seopress-option .nav-tab:hover{opacity:1}#seopress-admin-tabs .nav-tab:focus,.seopress-option .nav-tab:focus{outline:0;box-shadow:none}.seopress-option .section-tool{border:none;box-shadow:none;background:0 0;position:relative}.seopress-option .section-tool::after{content:'';background:#dedede;height:1px;width:100%;display:block}.seopress-option .sp-section-header{border-bottom:1px solid #eee;margin:0 0 1rem 0;width:100%;display:flex;position:relative;align-items:center;padding-bottom:.5rem}.seopress-option .sp-section-header::after{position:absolute;content:'';background:#0085ba;height:2px;width:40px;bottom:0;left:0}.seopress-option .sp-section-header h2{font-size:1.5em}.seopress-option .sp-section-header>.dashicons{color:#0085ba;padding:10px;border-radius:6px;margin-right:10px;background:#c4f0ff}.seopress-option .sp-section-header .wrap-toggle-checkboxes{display:flex}.seopress-styles .wrap .notice{margin:5px 0 15px 15px}
assets/js/seopress-counters.js CHANGED
@@ -180,6 +180,16 @@ function pixelDesc(e) {
180
  return formattedWidth;
181
  }
182
 
 
 
 
 
 
 
 
 
 
 
183
  function sp_social_img(social_slug) {
184
  jQuery(".snippet-"+social_slug+"-img-alert").css("display", "none");
185
  var meta_img_val = jQuery('#seopress_social_'+social_slug+'_img_meta').val();
@@ -188,48 +198,53 @@ function sp_social_img(social_slug) {
188
  var meta_img_val = jQuery('#seopress_social_'+social_slug+'_img_meta').attr('placeholder');
189
  }
190
 
191
- meta_img_val.length > 0 ? (jQuery('.snippet-'+social_slug+'-img-custom img').attr("src", meta_img_val),
192
- jQuery(".snippet-"+social_slug+"-img").css("display", "none"),
193
- jQuery(".snippet-"+social_slug+"-img-custom").css("display", "block"),
194
- jQuery(".snippet-"+social_slug+"-img-default").css("display", "none")) : 0 == meta_img_val.length && (jQuery(".snippet-"+social_slug+"-img-default").css("display", "block"),
195
- jQuery(".snippet-"+social_slug+"-img-custom").css("display", "none"), jQuery(".snippet-"+social_slug+"-img").css("display", "none"));
196
-
197
- if(meta_img_val.length > 0) {
198
- // Check file URL
199
- jQuery.get(meta_img_val).done(function() {
200
- // Extract filetype
201
- var meta_img_filetype = meta_img_val.split(/\#|\?/)[0].split('.').pop().trim();
202
- var types = ['jpg', 'jpeg', 'gif', 'png'];
203
-
204
- if(types.indexOf(meta_img_filetype) == -1) {
205
- jQuery(".snippet-"+social_slug+"-img-alert.alert1").css("display", "block");
206
- } else {
207
- // Extract image size
208
- var tmp_img = new Image();
209
- tmp_img.src = meta_img_val;
210
- jQuery(tmp_img).one('load',function(){
211
- pic_real_width = parseInt(tmp_img.width);
212
- pic_real_height = parseInt(tmp_img.height);
213
-
214
- // Default minimum size
215
- if (social_slug == 'fb') {
216
- min_width = 200,
217
- min_height = 200
218
- } else {
219
- min_width = 144,
220
- min_height = 144
221
- }
222
- if(pic_real_width < min_width || pic_real_height < min_height) {
223
- jQuery(".snippet-"+social_slug+"-img-alert.alert2").css("display", "block");
224
- }
225
- ratio_img = (pic_real_width / pic_real_height).toFixed(2);
226
- jQuery(".snippet-"+social_slug+"-img-alert.alert4").css("display", "block");
227
- jQuery(".snippet-"+social_slug+"-img-alert.alert4 span").text(ratio_img);
228
- });
229
- }
230
- }).fail(function() {
231
- jQuery(".snippet-"+social_slug+"-img-alert.alert3").css("display", "block");
232
- });
 
 
 
 
 
233
  }
234
  }
235
 
180
  return formattedWidth;
181
  }
182
 
183
+ function sp_is_valid_url(str) {
184
+ var pattern = new RegExp('^(https?:\\/\\/)?'+ // protocol
185
+ '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|'+ // domain name
186
+ '((\\d{1,3}\\.){3}\\d{1,3}))'+ // OR ip (v4) address
187
+ '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+ // port and path
188
+ '(\\?[;&a-z\\d%_.~+=-]*)?'+ // query string
189
+ '(\\#[-a-z\\d_]*)?$','i'); // fragment locator
190
+ return !!pattern.test(str);
191
+ }
192
+
193
  function sp_social_img(social_slug) {
194
  jQuery(".snippet-"+social_slug+"-img-alert").css("display", "none");
195
  var meta_img_val = jQuery('#seopress_social_'+social_slug+'_img_meta').val();
198
  var meta_img_val = jQuery('#seopress_social_'+social_slug+'_img_meta').attr('placeholder');
199
  }
200
 
201
+ // Check valid URL
202
+ if (sp_is_valid_url(meta_img_val) === true) {
203
+ meta_img_val.length > 0 ? (jQuery('.snippet-'+social_slug+'-img-custom img').attr("src", meta_img_val),
204
+ jQuery(".snippet-"+social_slug+"-img").css("display", "none"),
205
+ jQuery(".snippet-"+social_slug+"-img-custom").css("display", "block"),
206
+ jQuery(".snippet-"+social_slug+"-img-default").css("display", "none")) : 0 == meta_img_val.length && (jQuery(".snippet-"+social_slug+"-img-default").css("display", "block"),
207
+ jQuery(".snippet-"+social_slug+"-img-custom").css("display", "none"), jQuery(".snippet-"+social_slug+"-img").css("display", "none"));
208
+
209
+ if(meta_img_val.length > 0) {
210
+ // Check file URL
211
+ jQuery.get(meta_img_val).done(function() {
212
+ // Extract filetype
213
+ var meta_img_filetype = meta_img_val.split(/\#|\?/)[0].split('.').pop().trim();
214
+ var types = ['jpg', 'jpeg', 'gif', 'png'];
215
+
216
+ if(types.indexOf(meta_img_filetype) == -1) {
217
+ jQuery(".snippet-"+social_slug+"-img-alert.alert1").css("display", "block");
218
+ } else {
219
+ // Extract image size
220
+ var tmp_img = new Image();
221
+ tmp_img.src = meta_img_val;
222
+ jQuery(tmp_img).one('load',function(){
223
+ pic_real_width = parseInt(tmp_img.width);
224
+ pic_real_height = parseInt(tmp_img.height);
225
+
226
+ // Default minimum size
227
+ if (social_slug == 'fb') {
228
+ min_width = 200,
229
+ min_height = 200
230
+ } else {
231
+ min_width = 144,
232
+ min_height = 144
233
+ }
234
+ if(pic_real_width < min_width || pic_real_height < min_height) {
235
+ jQuery(".snippet-"+social_slug+"-img-alert.alert2").css("display", "block");
236
+ }
237
+ ratio_img = (pic_real_width / pic_real_height).toFixed(2);
238
+ jQuery(".snippet-"+social_slug+"-img-alert.alert4").css("display", "block");
239
+ jQuery(".snippet-"+social_slug+"-img-alert.alert4 span").text(ratio_img);
240
+ });
241
+ }
242
+ }).fail(function() {
243
+ jQuery(".snippet-"+social_slug+"-img-alert.alert3").css("display", "block");
244
+ });
245
+ }
246
+ } else {
247
+ jQuery(".snippet-"+social_slug+"-img-alert.alert3").css("display", "block");
248
  }
249
  }
250
 
assets/js/seopress-counters.min.js CHANGED
@@ -1 +1 @@
1
- function sp_titles_counters(){var e=jQuery("#seopress_titles_title_meta").val(),t=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").after('<div id="seopress_titles_title_counters_val">/ 60</div>'),e.length>0?(jQuery("#seopress_titles_title_counters").text(e.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(e))):t.length&&(jQuery("#seopress_titles_title_counters").text(t.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(t))),e.length>60?jQuery("#seopress_titles_title_counters").css("color","red"):t.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(e)>568?jQuery("#seopress_titles_title_pixel").css("color","red"):pixelTitle(t)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),e.length)var s=Math.round(pixelTitle(e)/568*100);else s=Math.round(pixelTitle(t)/568*100);s>=100&&(s=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",s),jQuery("#seopress_titles_title_counters_progress").text(s+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",s+"%"),jQuery("#seopress_titles_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",function(e){var t=jQuery("#seopress_titles_title_meta").val(),s=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").css("color","inherit"),jQuery("#seopress_titles_title_pixel").css("color","inherit"),t.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(t)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),0==t.length&&(s.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(s)>568&&jQuery("#seopress_titles_title_pixel").css("color","red")),t.length>0?(jQuery("#seopress_titles_title_counters").text(t.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(t))):s.length&&(jQuery("#seopress_titles_title_counters").text(s.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(s))),t.length>0?(jQuery(".snippet-title-custom").text(e.target.value),jQuery(".snippet-title").css("display","none"),jQuery(".snippet-title-custom").css("display","block"),jQuery(".snippet-title-default").css("display","none")):0==t.length&&(jQuery(".snippet-title-default").css("display","block"),jQuery(".snippet-title-custom").css("display","none"),jQuery(".snippet-title").css("display","none")),t.length)var i=Math.round(pixelTitle(t)/568*100);else i=Math.round(pixelTitle(s)/568*100);i>=100&&(i=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",i),jQuery("#seopress_titles_title_counters_progress").text(i+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",i+"%")})}function sp_meta_desc_counters(){var e=jQuery("#seopress_titles_desc_meta").val(),t=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").after('<div id="seopress_titles_desc_counters_val">/ 160</div>'),e.length>0?(jQuery("#seopress_titles_desc_counters").text(e.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(e))):t.length&&(jQuery("#seopress_titles_desc_counters").text(t.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(t))),e.length>160?jQuery("#seopress_titles_desc_counters").css("color","red"):t.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(e)>940?jQuery("#seopress_titles_desc_pixel").css("color","red"):pixelDesc(t)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),e.length)var s=Math.round(pixelDesc(e)/940*100);else s=Math.round(pixelDesc(t)/940*100);s>=100&&(s=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",s),jQuery("#seopress_titles_desc_counters_progress").text(s+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",s+"%"),jQuery("#seopress_titles_desc_meta, #seopress-tag-single-excerpt").on("keyup paste change click",function(e){var t=jQuery("#seopress_titles_desc_meta").val(),s=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").css("color","inherit"),jQuery("#seopress_titles_desc_pixel").css("color","inherit"),t.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(t)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),0==t.length&&(s.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(s)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red")),t.length>0?(jQuery("#seopress_titles_desc_counters").text(t.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(t))):s.length&&(jQuery("#seopress_titles_desc_counters").text(s.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(s))),t.length>0?(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")):0==t.length&&(jQuery(".snippet-description-default").css("display","inline"),jQuery(".snippet-description-custom").css("display","none"),jQuery(".snippet-description").css("display","none")),t.length)var i=Math.round(pixelDesc(t)/940*100);else i=Math.round(pixelDesc(s)/940*100);i>=100&&(i=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",i),jQuery("#seopress_titles_desc_counters_progress").text(i+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",i+"%")}),jQuery("#excerpt, .editor-post-excerpt textarea").keyup(function(e){var t=jQuery("#seopress_titles_desc_meta").val(),s=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(0==t.length&&0==jQuery(".snippet-description-custom").val().length&&(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")),t.length)var i=t.length;else i=s.length;i>=100&&(i=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",i),jQuery("#seopress_titles_desc_counters_progress").text(i+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",i+"%")})}function pixelTitle(e){return inputText=e,font="18px Arial",canvas=document.createElement("canvas"),context=canvas.getContext("2d"),context.font=font,width=context.measureText(inputText).width,formattedWidth=Math.ceil(width),formattedWidth}function pixelDesc(e){return inputText=e,font="14px Arial",canvas=document.createElement("canvas"),context=canvas.getContext("2d"),context.font=font,width=context.measureText(inputText).width,formattedWidth=Math.ceil(width),formattedWidth}function sp_social_img(e){if(jQuery(".snippet-"+e+"-img-alert").css("display","none"),""==(t=jQuery("#seopress_social_"+e+"_img_meta").val()))var t=jQuery("#seopress_social_"+e+"_img_meta").attr("placeholder");t.length>0?(jQuery(".snippet-"+e+"-img-custom img").attr("src",t),jQuery(".snippet-"+e+"-img").css("display","none"),jQuery(".snippet-"+e+"-img-custom").css("display","block"),jQuery(".snippet-"+e+"-img-default").css("display","none")):0==t.length&&(jQuery(".snippet-"+e+"-img-default").css("display","block"),jQuery(".snippet-"+e+"-img-custom").css("display","none"),jQuery(".snippet-"+e+"-img").css("display","none")),t.length>0&&jQuery.get(t).done(function(){var s=t.split(/\#|\?/)[0].split(".").pop().trim();if(-1==["jpg","jpeg","gif","png"].indexOf(s))jQuery(".snippet-"+e+"-img-alert.alert1").css("display","block");else{var i=new Image;i.src=t,jQuery(i).one("load",function(){pic_real_width=parseInt(i.width),pic_real_height=parseInt(i.height),"fb"==e?(min_width=200,min_height=200):(min_width=144,min_height=144),(pic_real_width<min_width||pic_real_height<min_height)&&jQuery(".snippet-"+e+"-img-alert.alert2").css("display","block"),ratio_img=(pic_real_width/pic_real_height).toFixed(2),jQuery(".snippet-"+e+"-img-alert.alert4").css("display","block"),jQuery(".snippet-"+e+"-img-alert.alert4 span").text(ratio_img)})}}).fail(function(){jQuery(".snippet-"+e+"-img-alert.alert3").css("display","block")})}function sp_social(){jQuery("#seopress_social_fb_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",function(e){var t=jQuery("#seopress_social_fb_title_meta").val();t.length>0?(jQuery(".snippet-fb-title-custom").text(e.target.value),jQuery(".snippet-fb-title").css("display","none"),jQuery(".snippet-fb-title-custom").css("display","block"),jQuery(".snippet-fb-title-default").css("display","none")):0==t.length&&(jQuery(".snippet-fb-title-default").css("display","block"),jQuery(".snippet-fb-title-custom").css("display","none"),jQuery(".snippet-fb-title").css("display","none"))}),jQuery("#seopress_social_fb_desc_meta").on("keyup paste change click",function(e){var t=jQuery("#seopress_social_fb_desc_meta").val();t.length>0?(jQuery(".snippet-fb-description-custom").text(e.target.value),jQuery(".snippet-fb-description").css("display","none"),jQuery(".snippet-fb-description-custom").css("display","block"),jQuery(".snippet-fb-description-default").css("display","none")):0==t.length&&(jQuery(".snippet-fb-description-default").css("display","block"),jQuery(".snippet-fb-description-custom").css("display","none"),jQuery(".snippet-fb-description").css("display","none"))}),sp_social_img("fb"),jQuery("#seopress_social_fb_img_meta").on("keyup paste change click",function(){sp_social_img("fb")}),jQuery("#seopress_social_twitter_title_meta").on("keyup paste change click",function(e){var t=jQuery("#seopress_social_twitter_title_meta").val();t.length>0?(jQuery(".snippet-twitter-title-custom").text(e.target.value),jQuery(".snippet-twitter-title").css("display","none"),jQuery(".snippet-twitter-title-custom").css("display","block"),jQuery(".snippet-twitter-title-default").css("display","none")):0==t.length&&(jQuery(".snippet-twitter-title-default").css("display","block"),jQuery(".snippet-twitter-title-custom").css("display","none"),jQuery(".snippet-twitter-title").css("display","none"))}),jQuery("#seopress_social_twitter_desc_meta").on("keyup paste change click",function(e){var t=jQuery("#seopress_social_twitter_desc_meta").val();t.length>0?(jQuery(".snippet-twitter-description-custom").text(e.target.value),jQuery(".snippet-twitter-description").css("display","none"),jQuery(".snippet-twitter-description-custom").css("display","block"),jQuery(".snippet-twitter-description-default").css("display","none")):0==t.length&&(jQuery(".snippet-twitter-description-default").css("display","block"),jQuery(".snippet-twitter-description-custom").css("display","none"),jQuery(".snippet-twitter-description").css("display","none"))}),sp_social_img("twitter"),jQuery("#seopress_social_twitter_img_meta").on("keyup paste change click",function(){sp_social_img("twitter")})}function sp_ca_toggle(){var e=!1;jQuery(".gr-analysis-title .btn-toggle").on("click",function(t){e&&(event.stopImmediatePropagation(),event.preventDefault(),e=!1),jQuery(this).toggleClass("open"),jQuery(this).parent().parent().next(".gr-analysis-content").toggle()}),jQuery("#expand-all").on("click",function(e){e.preventDefault(),jQuery(".gr-analysis-content").show()}),jQuery("#close-all").on("click",function(e){e.preventDefault(),jQuery(".gr-analysis-content").hide()})}jQuery(document).ready(function(e){function t(){e.ajax({method:"GET",url:seopressAjaxRealPreview.seopress_real_preview,data:{action:"seopress_do_real_preview",post_id:e("#seopress-tabs").attr("data_id"),tax_name:e("#seopress-tabs").attr("data_tax"),origin:e("#seopress-tabs").attr("data_origin"),post_type:e("#seopress_launch_analysis").attr("data_post_type"),seopress_analysis_target_kw:e("#seopress_analysis_target_kw_meta").val(),_ajax_nonce:seopressAjaxRealPreview.seopress_nonce},beforeSend:function(){e(".analysis-score p span").fadeIn().text(seopressAjaxRealPreview.i18n.progress),e(".analysis-score p").addClass("loading")},success:function(t){void 0===t.data.og_title?og_title="":og_title=t.data.og_title.values,void 0===t.data.og_desc?og_desc="":og_desc=t.data.og_desc.values,void 0===t.data.og_img?og_img="":og_img=t.data.og_img.values,void 0===t.data.og_url?og_url="":og_url=t.data.og_url.host,void 0===t.data.og_site_name?og_site_name="":og_site_name=t.data.og_site_name.values,void 0===t.data.tw_title?tw_title="":tw_title=t.data.tw_title.values,void 0===t.data.tw_desc?tw_desc="":tw_desc=t.data.tw_desc.values,void 0===t.data.tw_img?tw_img="":tw_img=t.data.tw_img.values;var s={og_title:og_title,og_desc:og_desc,og_img:og_img,og_url:og_url,og_site_name:og_site_name,tw_title:tw_title,tw_desc:tw_desc,tw_img:tw_img};for(var i in s)s.length&&(i=s[i].length>1?s[i].slice(-1)[0]:s[i][0]);e("#seopress_cpt .google-snippet-preview .snippet-title").html(t.data.title),e("#seopress_cpt .google-snippet-preview .snippet-title-default").html(t.data.title),e("#seopress_titles_title_meta").attr("placeholder",t.data.title),e("#seopress_cpt .google-snippet-preview .snippet-description").html(t.data.meta_desc),e("#seopress_cpt .google-snippet-preview .snippet-description-default").html(t.data.meta_desc),e("#seopress_titles_desc_meta").attr("placeholder",t.data.meta_desc),s.og_title&&(e("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder",s.og_title[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title").html(s.og_title[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title-default").html(s.og_title[0])),s.og_desc&&(e("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder",s.og_desc[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description").html(s.og_desc[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description-default").html(s.og_desc[0])),s.og_img&&(e("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder",s.og_img[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img img").attr("src",s.og_img[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img-default img").attr("src",s.og_img[0])),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-url").html(s.og_url),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-site-name").html(s.og_site_name),s.tw_title&&(e("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder",s.tw_title[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title").html(s.tw_title[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title-default").html(s.tw_title[0])),s.tw_desc&&(e("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder",s.tw_desc[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description").html(s.tw_desc[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description-default").html(s.tw_desc[0])),s.tw_img&&(e("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder",s.tw_img[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img img").attr("src",s.tw_img[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img-default img").attr("src",s.tw_img[0])),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-url").html(s.og_url),e("#seopress_cpt #seopress_robots_canonical_meta").attr("placeholder",t.data.canonical),e("#seopress-analysis-tabs").load(" #seopress-analysis-tabs-1","",sp_ca_toggle),e(".analysis-score p").removeClass("loading"),e(" #seopress_titles_title_counters_val").remove(),e(" #seopress_titles_desc_counters_val").remove(),sp_titles_counters(),sp_meta_desc_counters(),sp_social()}})}"1"==jQuery("#toggle-preview").attr("data-toggle")?jQuery("#seopress_cpt .google-snippet-preview").addClass("mobile-preview"):jQuery("#seopress_cpt .google-snippet-preview").removeClass("mobile-preview"),jQuery("#toggle-preview").on("click",function(){jQuery("#toggle-preview").attr("data-toggle","1"==jQuery("#toggle-preview").attr("data-toggle")?"0":"1"),jQuery("#seopress_cpt .google-snippet-preview").toggleClass("mobile-preview")}),t(),e("#seopress_launch_analysis").on("click",function(){t()}),sp_ca_toggle()});
1
+ function sp_titles_counters(){var e=jQuery("#seopress_titles_title_meta").val(),t=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").after('<div id="seopress_titles_title_counters_val">/ 60</div>'),e.length>0?(jQuery("#seopress_titles_title_counters").text(e.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(e))):t.length&&(jQuery("#seopress_titles_title_counters").text(t.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(t))),e.length>60?jQuery("#seopress_titles_title_counters").css("color","red"):t.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(e)>568?jQuery("#seopress_titles_title_pixel").css("color","red"):pixelTitle(t)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),e.length)var s=Math.round(pixelTitle(e)/568*100);else s=Math.round(pixelTitle(t)/568*100);s>=100&&(s=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",s),jQuery("#seopress_titles_title_counters_progress").text(s+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",s+"%"),jQuery("#seopress_titles_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",function(e){var t=jQuery("#seopress_titles_title_meta").val(),s=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").css("color","inherit"),jQuery("#seopress_titles_title_pixel").css("color","inherit"),t.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(t)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),0==t.length&&(s.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(s)>568&&jQuery("#seopress_titles_title_pixel").css("color","red")),t.length>0?(jQuery("#seopress_titles_title_counters").text(t.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(t))):s.length&&(jQuery("#seopress_titles_title_counters").text(s.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(s))),t.length>0?(jQuery(".snippet-title-custom").text(e.target.value),jQuery(".snippet-title").css("display","none"),jQuery(".snippet-title-custom").css("display","block"),jQuery(".snippet-title-default").css("display","none")):0==t.length&&(jQuery(".snippet-title-default").css("display","block"),jQuery(".snippet-title-custom").css("display","none"),jQuery(".snippet-title").css("display","none")),t.length)var i=Math.round(pixelTitle(t)/568*100);else i=Math.round(pixelTitle(s)/568*100);i>=100&&(i=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",i),jQuery("#seopress_titles_title_counters_progress").text(i+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",i+"%")})}function sp_meta_desc_counters(){var e=jQuery("#seopress_titles_desc_meta").val(),t=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").after('<div id="seopress_titles_desc_counters_val">/ 160</div>'),e.length>0?(jQuery("#seopress_titles_desc_counters").text(e.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(e))):t.length&&(jQuery("#seopress_titles_desc_counters").text(t.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(t))),e.length>160?jQuery("#seopress_titles_desc_counters").css("color","red"):t.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(e)>940?jQuery("#seopress_titles_desc_pixel").css("color","red"):pixelDesc(t)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),e.length)var s=Math.round(pixelDesc(e)/940*100);else s=Math.round(pixelDesc(t)/940*100);s>=100&&(s=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",s),jQuery("#seopress_titles_desc_counters_progress").text(s+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",s+"%"),jQuery("#seopress_titles_desc_meta, #seopress-tag-single-excerpt").on("keyup paste change click",function(e){var t=jQuery("#seopress_titles_desc_meta").val(),s=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").css("color","inherit"),jQuery("#seopress_titles_desc_pixel").css("color","inherit"),t.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(t)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),0==t.length&&(s.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(s)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red")),t.length>0?(jQuery("#seopress_titles_desc_counters").text(t.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(t))):s.length&&(jQuery("#seopress_titles_desc_counters").text(s.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(s))),t.length>0?(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")):0==t.length&&(jQuery(".snippet-description-default").css("display","inline"),jQuery(".snippet-description-custom").css("display","none"),jQuery(".snippet-description").css("display","none")),t.length)var i=Math.round(pixelDesc(t)/940*100);else i=Math.round(pixelDesc(s)/940*100);i>=100&&(i=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",i),jQuery("#seopress_titles_desc_counters_progress").text(i+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",i+"%")}),jQuery("#excerpt, .editor-post-excerpt textarea").keyup(function(e){var t=jQuery("#seopress_titles_desc_meta").val(),s=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(0==t.length&&0==jQuery(".snippet-description-custom").val().length&&(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")),t.length)var i=t.length;else i=s.length;i>=100&&(i=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",i),jQuery("#seopress_titles_desc_counters_progress").text(i+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",i+"%")})}function pixelTitle(e){return inputText=e,font="18px Arial",canvas=document.createElement("canvas"),context=canvas.getContext("2d"),context.font=font,width=context.measureText(inputText).width,formattedWidth=Math.ceil(width),formattedWidth}function pixelDesc(e){return inputText=e,font="14px Arial",canvas=document.createElement("canvas"),context=canvas.getContext("2d"),context.font=font,width=context.measureText(inputText).width,formattedWidth=Math.ceil(width),formattedWidth}function sp_is_valid_url(e){return!!new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i").test(e)}function sp_social_img(e){if(jQuery(".snippet-"+e+"-img-alert").css("display","none"),""==(t=jQuery("#seopress_social_"+e+"_img_meta").val()))var t=jQuery("#seopress_social_"+e+"_img_meta").attr("placeholder");!0===sp_is_valid_url(t)?(t.length>0?(jQuery(".snippet-"+e+"-img-custom img").attr("src",t),jQuery(".snippet-"+e+"-img").css("display","none"),jQuery(".snippet-"+e+"-img-custom").css("display","block"),jQuery(".snippet-"+e+"-img-default").css("display","none")):0==t.length&&(jQuery(".snippet-"+e+"-img-default").css("display","block"),jQuery(".snippet-"+e+"-img-custom").css("display","none"),jQuery(".snippet-"+e+"-img").css("display","none")),t.length>0&&jQuery.get(t).done(function(){var s=t.split(/\#|\?/)[0].split(".").pop().trim();if(-1==["jpg","jpeg","gif","png"].indexOf(s))jQuery(".snippet-"+e+"-img-alert.alert1").css("display","block");else{var i=new Image;i.src=t,jQuery(i).one("load",function(){pic_real_width=parseInt(i.width),pic_real_height=parseInt(i.height),"fb"==e?(min_width=200,min_height=200):(min_width=144,min_height=144),(pic_real_width<min_width||pic_real_height<min_height)&&jQuery(".snippet-"+e+"-img-alert.alert2").css("display","block"),ratio_img=(pic_real_width/pic_real_height).toFixed(2),jQuery(".snippet-"+e+"-img-alert.alert4").css("display","block"),jQuery(".snippet-"+e+"-img-alert.alert4 span").text(ratio_img)})}}).fail(function(){jQuery(".snippet-"+e+"-img-alert.alert3").css("display","block")})):jQuery(".snippet-"+e+"-img-alert.alert3").css("display","block")}function sp_social(){jQuery("#seopress_social_fb_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",function(e){var t=jQuery("#seopress_social_fb_title_meta").val();t.length>0?(jQuery(".snippet-fb-title-custom").text(e.target.value),jQuery(".snippet-fb-title").css("display","none"),jQuery(".snippet-fb-title-custom").css("display","block"),jQuery(".snippet-fb-title-default").css("display","none")):0==t.length&&(jQuery(".snippet-fb-title-default").css("display","block"),jQuery(".snippet-fb-title-custom").css("display","none"),jQuery(".snippet-fb-title").css("display","none"))}),jQuery("#seopress_social_fb_desc_meta").on("keyup paste change click",function(e){var t=jQuery("#seopress_social_fb_desc_meta").val();t.length>0?(jQuery(".snippet-fb-description-custom").text(e.target.value),jQuery(".snippet-fb-description").css("display","none"),jQuery(".snippet-fb-description-custom").css("display","block"),jQuery(".snippet-fb-description-default").css("display","none")):0==t.length&&(jQuery(".snippet-fb-description-default").css("display","block"),jQuery(".snippet-fb-description-custom").css("display","none"),jQuery(".snippet-fb-description").css("display","none"))}),sp_social_img("fb"),jQuery("#seopress_social_fb_img_meta").on("keyup paste change click",function(){sp_social_img("fb")}),jQuery("#seopress_social_twitter_title_meta").on("keyup paste change click",function(e){var t=jQuery("#seopress_social_twitter_title_meta").val();t.length>0?(jQuery(".snippet-twitter-title-custom").text(e.target.value),jQuery(".snippet-twitter-title").css("display","none"),jQuery(".snippet-twitter-title-custom").css("display","block"),jQuery(".snippet-twitter-title-default").css("display","none")):0==t.length&&(jQuery(".snippet-twitter-title-default").css("display","block"),jQuery(".snippet-twitter-title-custom").css("display","none"),jQuery(".snippet-twitter-title").css("display","none"))}),jQuery("#seopress_social_twitter_desc_meta").on("keyup paste change click",function(e){var t=jQuery("#seopress_social_twitter_desc_meta").val();t.length>0?(jQuery(".snippet-twitter-description-custom").text(e.target.value),jQuery(".snippet-twitter-description").css("display","none"),jQuery(".snippet-twitter-description-custom").css("display","block"),jQuery(".snippet-twitter-description-default").css("display","none")):0==t.length&&(jQuery(".snippet-twitter-description-default").css("display","block"),jQuery(".snippet-twitter-description-custom").css("display","none"),jQuery(".snippet-twitter-description").css("display","none"))}),sp_social_img("twitter"),jQuery("#seopress_social_twitter_img_meta").on("keyup paste change click",function(){sp_social_img("twitter")})}function sp_ca_toggle(){var e=!1;jQuery(".gr-analysis-title .btn-toggle").on("click",function(t){e&&(event.stopImmediatePropagation(),event.preventDefault(),e=!1),jQuery(this).toggleClass("open"),jQuery(this).parent().parent().next(".gr-analysis-content").toggle()}),jQuery("#expand-all").on("click",function(e){e.preventDefault(),jQuery(".gr-analysis-content").show()}),jQuery("#close-all").on("click",function(e){e.preventDefault(),jQuery(".gr-analysis-content").hide()})}jQuery(document).ready(function(e){function t(){e.ajax({method:"GET",url:seopressAjaxRealPreview.seopress_real_preview,data:{action:"seopress_do_real_preview",post_id:e("#seopress-tabs").attr("data_id"),tax_name:e("#seopress-tabs").attr("data_tax"),origin:e("#seopress-tabs").attr("data_origin"),post_type:e("#seopress_launch_analysis").attr("data_post_type"),seopress_analysis_target_kw:e("#seopress_analysis_target_kw_meta").val(),_ajax_nonce:seopressAjaxRealPreview.seopress_nonce},beforeSend:function(){e(".analysis-score p span").fadeIn().text(seopressAjaxRealPreview.i18n.progress),e(".analysis-score p").addClass("loading")},success:function(t){void 0===t.data.og_title?og_title="":og_title=t.data.og_title.values,void 0===t.data.og_desc?og_desc="":og_desc=t.data.og_desc.values,void 0===t.data.og_img?og_img="":og_img=t.data.og_img.values,void 0===t.data.og_url?og_url="":og_url=t.data.og_url.host,void 0===t.data.og_site_name?og_site_name="":og_site_name=t.data.og_site_name.values,void 0===t.data.tw_title?tw_title="":tw_title=t.data.tw_title.values,void 0===t.data.tw_desc?tw_desc="":tw_desc=t.data.tw_desc.values,void 0===t.data.tw_img?tw_img="":tw_img=t.data.tw_img.values;var s={og_title:og_title,og_desc:og_desc,og_img:og_img,og_url:og_url,og_site_name:og_site_name,tw_title:tw_title,tw_desc:tw_desc,tw_img:tw_img};for(var i in s)s.length&&(i=s[i].length>1?s[i].slice(-1)[0]:s[i][0]);e("#seopress_cpt .google-snippet-preview .snippet-title").html(t.data.title),e("#seopress_cpt .google-snippet-preview .snippet-title-default").html(t.data.title),e("#seopress_titles_title_meta").attr("placeholder",t.data.title),e("#seopress_cpt .google-snippet-preview .snippet-description").html(t.data.meta_desc),e("#seopress_cpt .google-snippet-preview .snippet-description-default").html(t.data.meta_desc),e("#seopress_titles_desc_meta").attr("placeholder",t.data.meta_desc),s.og_title&&(e("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder",s.og_title[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title").html(s.og_title[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title-default").html(s.og_title[0])),s.og_desc&&(e("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder",s.og_desc[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description").html(s.og_desc[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description-default").html(s.og_desc[0])),s.og_img&&(e("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder",s.og_img[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img img").attr("src",s.og_img[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img-default img").attr("src",s.og_img[0])),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-url").html(s.og_url),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-site-name").html(s.og_site_name),s.tw_title&&(e("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder",s.tw_title[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title").html(s.tw_title[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title-default").html(s.tw_title[0])),s.tw_desc&&(e("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder",s.tw_desc[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description").html(s.tw_desc[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description-default").html(s.tw_desc[0])),s.tw_img&&(e("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder",s.tw_img[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img img").attr("src",s.tw_img[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img-default img").attr("src",s.tw_img[0])),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-url").html(s.og_url),e("#seopress_cpt #seopress_robots_canonical_meta").attr("placeholder",t.data.canonical),e("#seopress-analysis-tabs").load(" #seopress-analysis-tabs-1","",sp_ca_toggle),e(".analysis-score p").removeClass("loading"),e(" #seopress_titles_title_counters_val").remove(),e(" #seopress_titles_desc_counters_val").remove(),sp_titles_counters(),sp_meta_desc_counters(),sp_social()}})}"1"==jQuery("#toggle-preview").attr("data-toggle")?jQuery("#seopress_cpt .google-snippet-preview").addClass("mobile-preview"):jQuery("#seopress_cpt .google-snippet-preview").removeClass("mobile-preview"),jQuery("#toggle-preview").on("click",function(){jQuery("#toggle-preview").attr("data-toggle","1"==jQuery("#toggle-preview").attr("data-toggle")?"0":"1"),jQuery("#seopress_cpt .google-snippet-preview").toggleClass("mobile-preview")}),t(),e("#seopress_launch_analysis").on("click",function(){t()}),sp_ca_toggle()});
assets/js/seopress-dashboard.js CHANGED
@@ -3,7 +3,7 @@ jQuery(document).ready(function($) {
3
  if (!$.trim( $("#seopress-notifications-center").html() )) {
4
  $('#seopress-notifications-center').remove();
5
  }
6
- const notices = ["notice-get-started","notice-wizard","notice-divide-comments","notice-review","notice-trailingslash","notice-posts-number","notice-rss-use-excerpt","notice-search-console","notice-google-business","notice-ssl","notice-title-tag", "notice-go-pro"]
7
  notices.forEach(function (item) {
8
  $('#'+item).on('click', function() {
9
  $('#'+item).attr('data-notice', $('#'+item).attr('data-notice') == '1' ? '0' : '1');
3
  if (!$.trim( $("#seopress-notifications-center").html() )) {
4
  $('#seopress-notifications-center').remove();
5
  }
6
+ const notices = ["notice-get-started","notice-wizard","notice-insights-wizard","notice-divide-comments","notice-review","notice-trailingslash","notice-posts-number","notice-rss-use-excerpt","notice-search-console","notice-google-business","notice-ssl","notice-title-tag", "notice-go-pro"]
7
  notices.forEach(function (item) {
8
  $('#'+item).on('click', function() {
9
  $('#'+item).attr('data-notice', $('#'+item).attr('data-notice') == '1' ? '0' : '1');
assets/js/seopress-dashboard.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(e){e.trim(e("#seopress-notifications-center").html())||e("#seopress-notifications-center").remove();["notice-get-started","notice-wizard","notice-divide-comments","notice-review","notice-trailingslash","notice-posts-number","notice-rss-use-excerpt","notice-search-console","notice-google-business","notice-ssl","notice-title-tag","notice-go-pro"].forEach(function(s){e("#"+s).on("click",function(){e("#"+s).attr("data-notice","1"==e("#"+s).attr("data-notice")?"0":"1"),e.ajax({method:"POST",url:seopressAjaxHideNotices.seopress_hide_notices,data:{action:"seopress_hide_notices",notice:s,notice_value:e("#"+s).attr("data-notice"),_ajax_nonce:seopressAjaxHideNotices.seopress_nonce},success:function(t){e("#seopress-notice-save").css("display","block"),e("#seopress-notice-save .html").html("Notice successfully removed"),e("#"+s+"-alert").fadeOut(),e("#seopress-notice-save").delay(3500).fadeOut()}})})});["titles","xml-sitemap","social","google-analytics","advanced","local-business","woocommerce","edd","dublin-core","rich-snippets","breadcrumbs","robots","news","404","bot","rewrite","white-label"].forEach(function(s){e("#toggle-"+s).on("click",function(){e("#toggle-"+s).attr("data-toggle","1"==e("#toggle-"+s).attr("data-toggle")?"0":"1"),e.ajax({method:"POST",url:seopressAjaxToggleFeatures.seopress_toggle_features,data:{action:"seopress_toggle_features",feature:"toggle-"+s,feature_value:e("#toggle-"+s).attr("data-toggle"),_ajax_nonce:seopressAjaxToggleFeatures.seopress_nonce},success:function(t){e("#seopress-notice-save").css("display","block"),e("#seopress-notice-save .html").html(s+" "+seopressAjaxToggleFeatures.i18n),e("#"+s+"-state").toggleClass("feature-state-on"),e("#"+s+"-state-default").toggleClass("feature-state-off"),e("#seopress-notice-save").delay(3500).fadeOut()}})})})});
1
+ jQuery(document).ready(function(e){e.trim(e("#seopress-notifications-center").html())||e("#seopress-notifications-center").remove();["notice-get-started","notice-wizard","notice-insights-wizard","notice-divide-comments","notice-review","notice-trailingslash","notice-posts-number","notice-rss-use-excerpt","notice-search-console","notice-google-business","notice-ssl","notice-title-tag","notice-go-pro"].forEach(function(s){e("#"+s).on("click",function(){e("#"+s).attr("data-notice","1"==e("#"+s).attr("data-notice")?"0":"1"),e.ajax({method:"POST",url:seopressAjaxHideNotices.seopress_hide_notices,data:{action:"seopress_hide_notices",notice:s,notice_value:e("#"+s).attr("data-notice"),_ajax_nonce:seopressAjaxHideNotices.seopress_nonce},success:function(t){e("#seopress-notice-save").css("display","block"),e("#seopress-notice-save .html").html("Notice successfully removed"),e("#"+s+"-alert").fadeOut(),e("#seopress-notice-save").delay(3500).fadeOut()}})})});["titles","xml-sitemap","social","google-analytics","advanced","local-business","woocommerce","edd","dublin-core","rich-snippets","breadcrumbs","robots","news","404","bot","rewrite","white-label"].forEach(function(s){e("#toggle-"+s).on("click",function(){e("#toggle-"+s).attr("data-toggle","1"==e("#toggle-"+s).attr("data-toggle")?"0":"1"),e.ajax({method:"POST",url:seopressAjaxToggleFeatures.seopress_toggle_features,data:{action:"seopress_toggle_features",feature:"toggle-"+s,feature_value:e("#toggle-"+s).attr("data-toggle"),_ajax_nonce:seopressAjaxToggleFeatures.seopress_nonce},success:function(t){e("#seopress-notice-save").css("display","block"),e("#seopress-notice-save .html").html(s+" "+seopressAjaxToggleFeatures.i18n),e("#"+s+"-state").toggleClass("feature-state-on"),e("#"+s+"-state-default").toggleClass("feature-state-off"),e("#seopress-notice-save").delay(3500).fadeOut()}})})})});
assets/js/seopress-network-tabs.js CHANGED
@@ -55,7 +55,7 @@ jQuery(document).ready(function($) {
55
  $('#seopress-flush-permalinks2').on('click', function() {
56
  $.ajax({
57
  method : 'GET',
58
- url : seopressAjaxResetPermalinks.seopress_flush_permalinks,
59
  data : {
60
  action: 'seopress_flush_permalinks',
61
  _ajax_nonce: seopressAjaxResetPermalinks.seopress_nonce,
55
  $('#seopress-flush-permalinks2').on('click', function() {
56
  $.ajax({
57
  method : 'GET',
58
+ url : seopressAjaxResetPermalinks.seopress_ajax_permalinks,
59
  data : {
60
  action: 'seopress_flush_permalinks',
61
  _ajax_nonce: seopressAjaxResetPermalinks.seopress_nonce,
assets/js/seopress-network-tabs.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(s){var e=window.location.hash.split("$");if("undefined"!=typeof sessionStorage){var a=sessionStorage.getItem("seopress_robots_tab");"1"==e[1]?(s("#tab_seopress_robots-tab").addClass("nav-tab-active"),s("#tab_seopress_robots").addClass("active")):"2"==e[1]?(s("#tab_seopress_htaccess-tab").addClass("nav-tab-active"),s("#tab_seopress_htaccess").addClass("active")):"3"==e[1]?(s("#tab_seopress_white_label-tab").addClass("nav-tab-active"),s("#tab_seopress_white_label").addClass("active")):a?(s("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+a.split("#tab=")+"-tab").addClass("nav-tab-active"),s("#"+a.split("#tab=")).addClass("active")):(s("#tab_seopress_robots-tab").addClass("nav-tab-active"),s("#tab_seopress_robots").addClass("active"))}s("#seopress-tabs").find("a.nav-tab").click(function(a){a.preventDefault();var t=s(this).attr("href").split("#tab=")[1];s("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#"+t+"-tab").addClass("nav-tab-active"),1==e[1]?sessionStorage.setItem("seopress_robots_tab","tab_seopress_robots"):2==e[1]?sessionStorage.setItem("seopress_robots_tab","tab_seopress_htaccess"):3==e[1]?sessionStorage.setItem("seopress_white_label","tab_seopress_white_label"):sessionStorage.setItem("seopress_robots_tab",t),s("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+t).addClass("active")}),s("#seopress-tag-robots-1, #seopress-tag-robots-2, #seopress-tag-robots-3, #seopress-tag-robots-4, #seopress-tag-robots-5, #seopress-tag-robots-6, #seopress-tag-robots-7").click(function(){s(".seopress_robots_file").val(s(".seopress_robots_file").val()+"\n"+s(this).attr("data-tag"))}),s("#seopress-flush-permalinks2").on("click",function(){s.ajax({method:"GET",url:seopressAjaxResetPermalinks.seopress_flush_permalinks,data:{action:"seopress_flush_permalinks",_ajax_nonce:seopressAjaxResetPermalinks.seopress_nonce},success:function(s){window.location.reload(!0)}})}),s("#seopress-flush-permalinks2").on("click",function(){s(this).attr("disabled","disabled"),s(".spinner").css("visibility","visible"),s(".spinner").css("float","none")})});
1
+ jQuery(document).ready(function(s){var e=window.location.hash.split("$");if("undefined"!=typeof sessionStorage){var a=sessionStorage.getItem("seopress_robots_tab");"1"==e[1]?(s("#tab_seopress_robots-tab").addClass("nav-tab-active"),s("#tab_seopress_robots").addClass("active")):"2"==e[1]?(s("#tab_seopress_htaccess-tab").addClass("nav-tab-active"),s("#tab_seopress_htaccess").addClass("active")):"3"==e[1]?(s("#tab_seopress_white_label-tab").addClass("nav-tab-active"),s("#tab_seopress_white_label").addClass("active")):a?(s("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+a.split("#tab=")+"-tab").addClass("nav-tab-active"),s("#"+a.split("#tab=")).addClass("active")):(s("#tab_seopress_robots-tab").addClass("nav-tab-active"),s("#tab_seopress_robots").addClass("active"))}s("#seopress-tabs").find("a.nav-tab").click(function(a){a.preventDefault();var t=s(this).attr("href").split("#tab=")[1];s("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#"+t+"-tab").addClass("nav-tab-active"),1==e[1]?sessionStorage.setItem("seopress_robots_tab","tab_seopress_robots"):2==e[1]?sessionStorage.setItem("seopress_robots_tab","tab_seopress_htaccess"):3==e[1]?sessionStorage.setItem("seopress_white_label","tab_seopress_white_label"):sessionStorage.setItem("seopress_robots_tab",t),s("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+t).addClass("active")}),s("#seopress-tag-robots-1, #seopress-tag-robots-2, #seopress-tag-robots-3, #seopress-tag-robots-4, #seopress-tag-robots-5, #seopress-tag-robots-6, #seopress-tag-robots-7").click(function(){s(".seopress_robots_file").val(s(".seopress_robots_file").val()+"\n"+s(this).attr("data-tag"))}),s("#seopress-flush-permalinks2").on("click",function(){s.ajax({method:"GET",url:seopressAjaxResetPermalinks.seopress_ajax_permalinks,data:{action:"seopress_flush_permalinks",_ajax_nonce:seopressAjaxResetPermalinks.seopress_nonce},success:function(s){window.location.reload(!0)}})}),s("#seopress-flush-permalinks2").on("click",function(){s(this).attr("disabled","disabled"),s(".spinner").css("visibility","visible"),s(".spinner").css("float","none")})});
assets/js/seopress-sitemap-ajax.js CHANGED
@@ -2,7 +2,7 @@ jQuery(document).ready(function($) {
2
  $('#seopress-flush-permalinks,#seopress-flush-permalinks2').on('click', function() {
3
  $.ajax({
4
  method : 'GET',
5
- url : seopressAjaxResetPermalinks.seopress_flush_permalinks,
6
  data: {
7
  action: 'seopress_flush_permalinks',
8
  _ajax_nonce: seopressAjaxResetPermalinks.seopress_nonce,
2
  $('#seopress-flush-permalinks,#seopress-flush-permalinks2').on('click', function() {
3
  $.ajax({
4
  method : 'GET',
5
+ url : seopressAjaxResetPermalinks.seopress_ajax_permalinks,
6
  data: {
7
  action: 'seopress_flush_permalinks',
8
  _ajax_nonce: seopressAjaxResetPermalinks.seopress_nonce,
assets/js/seopress-sitemap-ajax.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(s){s("#seopress-flush-permalinks,#seopress-flush-permalinks2").on("click",function(){s.ajax({method:"GET",url:seopressAjaxResetPermalinks.seopress_flush_permalinks,data:{action:"seopress_flush_permalinks",_ajax_nonce:seopressAjaxResetPermalinks.seopress_nonce},success:function(s){window.location.reload(!0)}})}),s("#seopress-flush-permalinks,#seopress-flush-permalinks2").on("click",function(){s(this).attr("disabled","disabled"),s(".spinner").css("visibility","visible"),s(".spinner").css("float","none")})});
1
+ jQuery(document).ready(function(s){s("#seopress-flush-permalinks,#seopress-flush-permalinks2").on("click",function(){s.ajax({method:"GET",url:seopressAjaxResetPermalinks.seopress_ajax_permalinks,data:{action:"seopress_flush_permalinks",_ajax_nonce:seopressAjaxResetPermalinks.seopress_nonce},success:function(s){window.location.reload(!0)}})}),s("#seopress-flush-permalinks,#seopress-flush-permalinks2").on("click",function(){s(this).attr("disabled","disabled"),s(".spinner").css("visibility","visible"),s(".spinner").css("float","none")})});
inc/admin/admin-features-list.php CHANGED
@@ -60,8 +60,8 @@
60
  ],
61
  'google-analytics' => [
62
  'icon' => 'dashicons-chart-area',
63
- 'title' => __('Google Analytics','wp-seopress'),
64
- 'desc' => __('Track everything about your visitors with Google Analytics', 'wp-seopress'),
65
  'btn_secondary' => [
66
  admin_url( 'admin.php?page=seopress-google-analytics' ) => __('Manage','wp-seopress')
67
  ],
@@ -84,6 +84,25 @@
84
  'filter' => 'seopress_remove_feature_advanced'
85
  ]
86
  ];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
88
  $features['woocommerce'] = [
89
  'icon' => 'dashicons-cart',
60
  ],
61
  'google-analytics' => [
62
  'icon' => 'dashicons-chart-area',
63
+ 'title' => __('Analytics','wp-seopress'),
64
+ 'desc' => __('Track everything about your visitors with Google Analytics / Matomo', 'wp-seopress'),
65
  'btn_secondary' => [
66
  admin_url( 'admin.php?page=seopress-google-analytics' ) => __('Manage','wp-seopress')
67
  ],
84
  'filter' => 'seopress_remove_feature_advanced'
85
  ]
86
  ];
87
+ if (is_plugin_active('wp-seopress-insights/seopress-insights.php')) {
88
+ $features['insights'] = [
89
+ 'icon' => 'dashicons-chart-bar',
90
+ 'title' => __('Insights','wp-seopress'),
91
+ 'desc' => __('Track your keyword positions and backlinks directly in your WordPress.', 'wp-seopress'),
92
+ 'btn_secondary' => [
93
+ admin_url( 'admin.php?page=seopress-insights#tab=tab_seopress_insights_settings' ) => __('Manage','wp-seopress')
94
+ ],
95
+ 'help' => [
96
+ 'en' => 'https://www.seopress.org/insights/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
97
+ 'fr' => 'https://www.seopress.org/fr/insights/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
98
+ 'title' => __('Read our guide','wp-seopress'),
99
+ 'aria' => __('Guide to optimize your WooCommerce SEO - new window','wp-seopress'),
100
+ 'external' => true
101
+ ],
102
+ 'toggle' => false,
103
+ 'filter' => 'seopress_remove_feature_insights'
104
+ ];
105
+ }
106
  if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
107
  $features['woocommerce'] = [
108
  'icon' => 'dashicons-cart',
inc/admin/admin-header.php CHANGED
@@ -51,7 +51,7 @@ function seopress_admin_header() { ?>
51
  <li>
52
  <a href="<?php echo admin_url( 'admin.php?page=seopress-google-analytics' ); ?>">
53
  <span class="dashicons dashicons-chart-area"></span>
54
- <?php _e( 'Google Analytics', 'wp-seopress' ); ?>
55
  </a>
56
  </li>
57
  <li>
@@ -61,6 +61,15 @@ function seopress_admin_header() { ?>
61
  </a>
62
  </li>
63
  <?php include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
 
 
 
 
 
 
 
 
 
64
  if ( is_plugin_active( 'wp-seopress-pro/seopress-pro.php' ) ) { ?>
65
  <li>
66
  <a href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_woocommerce' ); ?>">
51
  <li>
52
  <a href="<?php echo admin_url( 'admin.php?page=seopress-google-analytics' ); ?>">
53
  <span class="dashicons dashicons-chart-area"></span>
54
+ <?php _e( 'Analytics', 'wp-seopress' ); ?>
55
  </a>
56
  </li>
57
  <li>
61
  </a>
62
  </li>
63
  <?php include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
64
+ if ( is_plugin_active( 'wp-seopress-insights/seopress-insights.php' ) ) { ?>
65
+ <li>
66
+ <a href="<?php echo admin_url( 'admin.php?page=seopress-insights#tab=tab_seopress_insights_settings' ); ?>">
67
+ <span class="dashicons dashicons-chart-bar"></span>
68
+ <?php _e( 'Insights', 'wp-seopress' ); ?>
69
+ </a>
70
+ </li>
71
+ <?php
72
+ }
73
  if ( is_plugin_active( 'wp-seopress-pro/seopress-pro.php' ) ) { ?>
74
  <li>
75
  <a href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_woocommerce' ); ?>">
inc/admin/admin-metaboxes-content-analysis-form.php CHANGED
@@ -10,12 +10,9 @@ echo '<div class="wrap-seopress-analysis">
10
  <div class="col-left">
11
  <p>
12
  <label for="seopress_analysis_target_kw_meta">'. __( 'Target keywords', 'wp-seopress' ) .'
13
- <span class="sp-tooltip">
14
- <span class="dashicons dashicons-editor-help"></span>
15
- <span class="sp-tooltiptext">'.__('Separate target keywords with commas. Do not use spaces after the commas, unless you want to include them (eg: "my super keyword,another keyword,keyword")','wp-seopress').'</span>
16
- </span>
17
  </label>
18
- <input id="seopress_analysis_target_kw_meta" type="text" name="seopress_analysis_target_kw" placeholder="'.esc_html__('Enter your target keywords','wp-seopress').'" aria-label="'.__('Target keywords','wp-seopress').'" value="'.$seopress_analysis_target_kw.'" />
19
  </p>';
20
  if (empty($seopress_analysis_data)) {
21
  echo '<div id="seopress_launch_analysis" class="button" data_id="'.get_the_ID().'" data_post_type="'.get_current_screen()->post_type.'">'.__('Analyze my content','wp-seopress').'</div>';
@@ -29,14 +26,11 @@ if ( is_plugin_active( 'wp-seopress-pro/seopress-pro.php' ) ) {
29
  echo '<div class="col-right">
30
  <p>
31
  <label for="seopress_google_suggest_kw_meta">'. __( 'Google suggestions', 'wp-seopress' ) .'
32
- <span class="sp-tooltip">
33
- <span class="dashicons dashicons-editor-help"></span>
34
- <span class="sp-tooltiptext">'.__('Enter a keyword, or a phrase, to find the top 10 Google suggestions instantly. This is useful if you want to work with the long tail technique.','wp-seopress').'</span>
35
- </span>
36
  </label>
37
  <input id="seopress_google_suggest_kw_meta" type="text" name="seopress_google_suggest_kw" placeholder="Get suggestions from Google" aria-label="Google suggestions" value="">
38
  </p>
39
- <button id="seopress_get_suggestions" class="button">'.__('Get suggestions!','wp-seopress').'</button>
40
  ';
41
  echo "<ul id='seopress_suggestions'></ul>";
42
 
@@ -158,11 +152,11 @@ $analyzes = array(
158
  );
159
 
160
  //Schemas
161
- if (!empty($seopress_analysis_data['0']['json']) && isset($seopress_analysis_data['0']['json'])) {
162
  $desc = '<p>'.__('We found these schemas in the source code of this page:','wp-seopress').'</p>';
163
 
164
  $desc .= '<ul>';
165
- $json_ld = array_filter($seopress_analysis_data['0']['json']);
166
  foreach(array_count_values($json_ld) as $key => $value) {
167
  $html = NULL;
168
  if ($value > 1) {
@@ -191,13 +185,13 @@ $analyzes['old_post']['desc'] = $desc;
191
 
192
  //Word counters
193
  $desc = NULL;
194
- if (isset($seopress_analysis_data['0']['words_counter']) || isset($seopress_analysis_data['0']['words_counter_unique'])) {
195
  $desc = '<p>'.__('Words counter is not a direct ranking factor. But, your content must be as qualitative as possible, with relevant and unique information. To fulfill these conditions, your article requires a minimum of paragraphs, so words.','wp-seopress').'</p>
196
  <ul>
197
- <li>'.$seopress_analysis_data['0']['words_counter'].' '.__('words found.','wp-seopress').'</li>
198
- <li>'.$seopress_analysis_data['0']['words_counter_unique'].' '.__('unique words found.','wp-seopress').'</li>';
199
 
200
- if ($seopress_analysis_data['0']['words_counter'] >= 299) {
201
  $desc .= '<li><span class="dashicons dashicons-yes"></span>'.__('Your content is composed of more than 300 words, which is the minimum for a post.','wp-seopress').'</li>';
202
  } else {
203
  $desc .= '<li><span class="dashicons dashicons-no-alt"></span>'.__('Your content is too short. Add a few more paragraphs!','wp-seopress').'</li>';
@@ -212,8 +206,8 @@ if (isset($seopress_analysis_data['0']['words_counter']) || isset($seopress_anal
212
  }
213
 
214
  //Keywords density
215
- if (!empty($seopress_analysis_data['0']['kws_density']['matches']) && isset($seopress_analysis_data['0']['words_counter'])) {
216
- $target_kws_density = $seopress_analysis_data['0']['kws_density']['matches'];
217
 
218
  $desc = '<ul>';
219
  foreach ($target_kws_density as $key => $value) {
@@ -221,7 +215,7 @@ if (!empty($seopress_analysis_data['0']['kws_density']['matches']) && isset($seo
221
  $kw_count = count($_value);
222
  }
223
  $kw_name = $key;
224
- $kw_density = round($kw_count/$seopress_analysis_data['0']['words_counter']*100, 2);
225
  $desc .= '<li><span class="dashicons dashicons-minus"></span>'.sprintf(esc_html__('%s was found %d times in your content, a keyword density of %s%%','wp-seopress'), $kw_name, $kw_count, $kw_density).'</li>';
226
  }
227
  $desc .= '</ul>';
@@ -234,10 +228,10 @@ if (!empty($seopress_analysis_data['0']['kws_density']['matches']) && isset($seo
234
  }
235
 
236
  //Keywords in permalink
237
- if (!empty($seopress_analysis_data['0']['kws_permalink']['matches'])) {
238
  $desc = '<p><span class="dashicons dashicons-yes"></span>'.__('Cool, one of your target keyword is used in your permalink.','wp-seopress').'</p>';
239
 
240
- $target_kws_permalink = $seopress_analysis_data['0']['kws_permalink']['matches'];
241
 
242
  $desc .= '<ul>';
243
  foreach ($target_kws_permalink as $key => $value) {
@@ -254,14 +248,14 @@ if (!empty($seopress_analysis_data['0']['kws_permalink']['matches'])) {
254
  //Headings
255
  //H1
256
  $desc = NULL;
257
- if (!empty($seopress_analysis_data['0']['h1']['matches'])) {
258
  $desc .= '<h4>'.__('H1 (Heading 1)','wp-seopress').'</h4>';
259
 
260
- $count = $seopress_analysis_data['0']['h1']['nomatches']['count'];
261
 
262
- $target_kws_h1 = $seopress_analysis_data['0']['h1']['matches'];
263
 
264
- $all_h1 = $seopress_analysis_data['0']['h1']['values'];
265
 
266
  $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in Heading 1 (H1).','wp-seopress').'</p>';
267
 
@@ -293,10 +287,10 @@ if (!empty($seopress_analysis_data['0']['h1']['matches'])) {
293
 
294
  //H2
295
  $desc .= '<h4>'.__('H2 (Heading 2)','wp-seopress').'</h4>';
296
- if (!empty($seopress_analysis_data['0']['h2']['matches'])) {
297
  $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in Heading 2 (H2).','wp-seopress').'</p>';
298
  $desc .= '<ul>';
299
- $target_kws_h2 = $seopress_analysis_data['0']['h2']['matches'];
300
  foreach ($target_kws_h2 as $key => $value) {
301
  foreach ($value as $_key => $_value) {
302
  $kw_count = count($value);
@@ -314,10 +308,10 @@ if (!empty($seopress_analysis_data['0']['h2']['matches'])) {
314
 
315
  //H3
316
  $desc .= '<h4>'.__('H3 (Heading 3)','wp-seopress').'</h4>';
317
- if (!empty($seopress_analysis_data['0']['h3']['matches'])) {
318
  $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in Heading 3 (H3).','wp-seopress').'</p>';
319
  $desc .= '<ul>';
320
- $target_kws_h3 = $seopress_analysis_data['0']['h3']['matches'];
321
  foreach ($target_kws_h3 as $key => $value) {
322
  foreach ($value as $_key => $_value) {
323
  $kw_count = count($value);
@@ -337,10 +331,10 @@ $analyzes['headings']['desc'] = $desc;
337
  //Meta Title
338
  if ($seopress_titles_title !='') {
339
  $desc = NULL;
340
- if (!empty($seopress_analysis_data['0']['meta_title']['matches'])) {
341
  $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in the Meta Title.','wp-seopress').'</p>';
342
  $desc .= '<ul>';
343
- $target_kws_title = $seopress_analysis_data['0']['meta_title']['matches'];
344
  foreach ($target_kws_title as $key => $value) {
345
  foreach ($value as $_key => $_value) {
346
  $kw_count = count($_value);
@@ -371,10 +365,10 @@ if ($seopress_titles_title !='') {
371
  //Meta description
372
  if ($seopress_titles_desc !='') {
373
  $desc = NULL;
374
- if (!empty($seopress_analysis_data['0']['meta_description']['matches'])) {
375
  $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in the Meta description.','wp-seopress').'</p>';
376
  $desc .= '<ul>';
377
- $target_kws_desc = $seopress_analysis_data['0']['meta_description']['matches'];
378
  foreach ($target_kws_desc as $key => $value) {
379
  foreach ($value as $_key => $_value) {
380
  $kw_count = count($_value);
@@ -408,10 +402,10 @@ $desc = NULL;
408
 
409
  $desc .= '<h4>'.__('Open Graph Title','wp-seopress').'</h4>';
410
 
411
- if (!empty($seopress_analysis_data['0']['og_title']['count'])) {
412
- $count = $seopress_analysis_data['0']['og_title']['count'];
413
 
414
- $all_og_title = $seopress_analysis_data['0']['og_title']['values'];
415
 
416
  if ($count > 1) {
417
  $analyzes['social']['impact'] = 'high';
@@ -436,11 +430,11 @@ if (!empty($seopress_analysis_data['0']['og_title']['count'])) {
436
  //og:description
437
  $desc .= '<h4>'.__('Open Graph Description','wp-seopress').'</h4>';
438
 
439
- if (!empty($seopress_analysis_data['0']['og_desc']['count'])) {
440
 
441
- $count = $seopress_analysis_data['0']['og_desc']['count'];
442
 
443
- $all_og_desc = $seopress_analysis_data['0']['og_desc']['values'];
444
 
445
  if ($count > 1) {
446
  $analyzes['social']['impact'] = 'high';
@@ -465,11 +459,11 @@ if (!empty($seopress_analysis_data['0']['og_desc']['count'])) {
465
  //og:image
466
  $desc .= '<h4>'.__('Open Graph Image','wp-seopress').'</h4>';
467
 
468
- if (!empty($seopress_analysis_data['0']['og_img']['count'])) {
469
 
470
- $count = $seopress_analysis_data['0']['og_img']['count'];
471
 
472
- $all_og_img = $seopress_analysis_data['0']['og_img']['values'];
473
 
474
  if ($count > 0) {
475
  $desc .= '<p><span class="dashicons dashicons-yes"></span>'.sprintf(esc_html__('We found %d og:image in your content.','wp-seopress'), $count).'</p>';
@@ -490,11 +484,11 @@ if (!empty($seopress_analysis_data['0']['og_img']['count'])) {
490
  //og:url
491
  $desc .= '<h4>'.__('Open Graph URL','wp-seopress').'</h4>';
492
 
493
- if (!empty($seopress_analysis_data['0']['og_url']['count'])) {
494
 
495
- $count = $seopress_analysis_data['0']['og_url']['count'];
496
 
497
- $all_og_url = $seopress_analysis_data['0']['og_url']['values'];
498
 
499
  if ($count > 1) {
500
  $analyzes['social']['impact'] = 'high';
@@ -519,11 +513,11 @@ if (!empty($seopress_analysis_data['0']['og_url']['count'])) {
519
  //og:site_name
520
  $desc .= '<h4>'.__('Open Graph Site Name','wp-seopress').'</h4>';
521
 
522
- if (!empty($seopress_analysis_data['0']['og_site_name']['count'])) {
523
 
524
- $count = $seopress_analysis_data['0']['og_site_name']['count'];
525
 
526
- $all_og_site_name = $seopress_analysis_data['0']['og_site_name']['values'];
527
 
528
  if ($count > 1) {
529
  $analyzes['social']['impact'] = 'high';
@@ -548,11 +542,11 @@ if (!empty($seopress_analysis_data['0']['og_site_name']['count'])) {
548
  //twitter:title
549
  $desc .= '<h4>'.__('Twitter Title','wp-seopress').'</h4>';
550
 
551
- if (!empty($seopress_analysis_data['0']['tw_title']['count'])) {
552
 
553
- $count = $seopress_analysis_data['0']['tw_title']['count'];
554
 
555
- $all_tw_title = $seopress_analysis_data['0']['tw_title']['values'];
556
 
557
  if ($count > 1) {
558
  $analyzes['social']['impact'] = 'high';
@@ -577,11 +571,11 @@ if (!empty($seopress_analysis_data['0']['tw_title']['count'])) {
577
  //twitter:description
578
  $desc .= '<h4>'.__('Twitter Description','wp-seopress').'</h4>';
579
 
580
- if (!empty($seopress_analysis_data['0']['tw_desc']['count'])) {
581
 
582
- $count = $seopress_analysis_data['0']['tw_desc']['count'];
583
 
584
- $all_tw_desc = $seopress_analysis_data['0']['tw_desc']['values'];
585
 
586
  if ($count > 1) {
587
  $analyzes['social']['impact'] = 'high';
@@ -606,11 +600,11 @@ if (!empty($seopress_analysis_data['0']['tw_desc']['count'])) {
606
  //twitter:image
607
  $desc .= '<h4>'.__('Twitter Image','wp-seopress').'</h4>';
608
 
609
- if (!empty($seopress_analysis_data['0']['tw_img']['count'])) {
610
 
611
- $count = $seopress_analysis_data['0']['tw_img']['count'];
612
 
613
- $all_tw_img = $seopress_analysis_data['0']['tw_img']['values'];
614
 
615
  if ($count > 0) {
616
  $desc .= '<p><span class="dashicons dashicons-yes"></span>'.sprintf(esc_html__('We found %d twitter:image in your content.','wp-seopress'), $count).'</p>';
@@ -631,14 +625,14 @@ $analyzes['social']['desc'] = $desc;
631
 
632
  //Robots
633
  $desc = NULL;
634
- if (!empty($seopress_analysis_data['0']['meta_robots'])) {
635
 
636
- $meta_robots = $seopress_analysis_data['0']['meta_robots']['0'];
637
 
638
- if (count($seopress_analysis_data['0']['meta_robots']) > 1) {
639
  $analyzes['robots']['impact'] = 'high';
640
 
641
- $count_meta_robots = count($seopress_analysis_data['0']['meta_robots']);
642
 
643
  $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.sprintf(esc_html__('We found %s meta robots in your page. There is probably something wrong with your theme!','wp-seopress'), $count_meta_robots).'</p>';
644
  }
@@ -679,8 +673,8 @@ if (!empty($seopress_analysis_data['0']['meta_robots'])) {
679
  }
680
 
681
  //Meta Google
682
- if (!empty($seopress_analysis_data['0']['meta_google'])) {
683
- $meta_google = $seopress_analysis_data['0']['meta_google'];
684
 
685
  if (preg_match('/noimageindex/', json_encode($meta_google))) {
686
  $analyzes['robots']['impact'] = 'high';
@@ -706,17 +700,17 @@ if (!empty($seopress_analysis_data['0']['meta_google'])) {
706
  $analyzes['robots']['desc'] = $desc;
707
 
708
  //Img alt
709
- if (!empty($seopress_analysis_data['0']['img'])) {
710
- $images = isset($seopress_analysis_data['0']['img']['images']) ? $seopress_analysis_data['0']['img']['images'] : NULL;
711
 
712
  $desc = '<div class="wrap-analysis-img">';
713
 
714
- if (isset($images) && !empty($images)) {
715
  $analyzes['img_alt']['impact'] = 'high';
716
  $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('No alternative text found for these images. Alt tags are important for both SEO and accessibility. Edit your images using the media library or your favorite page builder and fill in alternative text fields.','wp-seopress').'</p>';
717
 
718
  //Standard images & galleries
719
- if (isset($images) && !empty($images)) {
720
  $desc .= '<ul class="attachments">';
721
  foreach($images as $img) {
722
  $desc .= '<li class="attachment"><img src="'.$img.'"/></li>';
@@ -735,12 +729,12 @@ if (!empty($seopress_analysis_data['0']['img'])) {
735
  }
736
 
737
  //Nofollow links
738
- if (!empty($seopress_analysis_data['0']['nofollow_links'])) {
739
- $count = count($seopress_analysis_data['0']['nofollow_links']);
740
 
741
  $desc = '<p>'.sprintf( esc_html__( 'We found %d links with nofollow attribute in your page. Do not overuse nofollow attribute in links. Below, the list:', 'wp-seopress' ), $count ).'</p>';
742
  $desc .= '<ul>';
743
- foreach ($seopress_analysis_data['0']['nofollow_links'] as $links) {
744
  foreach ($links as $href => $link) {
745
  $desc .= '<li><span class="dashicons dashicons-minus"></span><a href="'.$href.'" target="_blank">'.$link.'</a><span class="dashicons dashicons-external"></span></li>';
746
  }
@@ -754,12 +748,12 @@ if (!empty($seopress_analysis_data['0']['nofollow_links'])) {
754
 
755
  //Outbound links
756
  $desc = '<p>'.__('Internet is built on the principle of hyperlink. It is therefore perfectly normal to make links between different websites. However, avoid making links to low quality sites, SPAM... If you are not sure about the quality of a site, add the attribute "nofollow" to your link.').'</p>';
757
- if (!empty($seopress_analysis_data['0']['outbound_links'])) {
758
- $count = count($seopress_analysis_data['0']['outbound_links']);
759
 
760
  $desc .= '<p>'.sprintf( __('We found %s outbound links in your page. Below, the list:', 'wp-seopress'), $count ).'</p>';
761
  $desc .= '<ul>';
762
- foreach ($seopress_analysis_data['0']['outbound_links'] as $links) {
763
  foreach ($links as $href => $link) {
764
  $desc .= '<li><span class="dashicons dashicons-minus"></span><a href="'.$href.'" target="_blank">'.$link.'</a><span class="dashicons dashicons-external"></span></li>';
765
  }
@@ -772,25 +766,32 @@ if (!empty($seopress_analysis_data['0']['outbound_links'])) {
772
  $analyzes['outbound_links']['desc'] = $desc;
773
 
774
  echo '<div id="seopress-analysis-tabs">
775
- <div id="seopress-analysis-tabs-1">
776
- <div class="analysis-score">';
777
  $impact = array_unique(array_values(wp_list_pluck($analyzes, 'impact')));
778
  $svg = '<svg role="img" aria-hidden="true" focusable="false" width="100%" height="100%" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg">
779
  <circle r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0"></circle>
780
  <circle id="bar" r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0" style="stroke-dashoffset: 101.788px;"></circle>
781
  </svg>';
782
  $tooltip = '<span class="sp-tooltip">
783
- <span class="dashicons dashicons-editor-help"></span>
784
- <span class="sp-tooltiptext">'.__('<strong>Should be improved:</strong> red or orange dots <br> <strong>Good:</strong> yellow or green dots','wp-seopress').'</span>
785
- </span>';
786
- if (in_array('medium', $impact) || in_array('high', $impact)) {
787
- echo '<p class="notgood">'.$svg.'<span>'.__('Should be improved','wp-seopress').$tooltip.'</span></p>';
788
- $seopress_analysis_data['0']['score'] = false;
 
 
 
 
 
 
789
  } else {
790
- echo '<p class="good">'.$svg.'<span>'.__('Good','wp-seopress').$tooltip.'</span></p>';
791
- $seopress_analysis_data['0']['score'] = true;
792
  }
 
793
  if (!empty($seopress_analysis_data)) {
 
794
  update_post_meta(get_the_ID(), '_seopress_analysis_data', $seopress_analysis_data);
795
  }
796
  echo '<span><a href="#" id="expand-all">'.__('Expand','wp-seopress').'</a> / <a href="#" id="close-all">'.__('Close','wp-seopress').'</a></span>';
@@ -803,7 +804,7 @@ $analyzes['outbound_links']['desc'] = $desc;
803
  $pos_a = array_search($a['impact'], $order);
804
  $pos_b = array_search($b['impact'], $order);
805
  return $pos_a - $pos_b;
806
- });
807
 
808
  foreach($analyzes as $key => $value) {
809
  echo '<div class="gr-analysis">';
10
  <div class="col-left">
11
  <p>
12
  <label for="seopress_analysis_target_kw_meta">'. __( 'Target keywords', 'wp-seopress' ) .'
13
+ '. seopress_tooltip(__('Target keywords','wp-seopress'), __('Separate target keywords with commas. Do not use spaces after the commas, unless you want to include them','wp-seopress'), esc_html('my super keyword,another keyword,keyword')).'
 
 
 
14
  </label>
15
+ <input id="seopress_analysis_target_kw_meta" type="text" name="seopress_analysis_target_kw" placeholder="'.esc_html__('Enter your target keywords','wp-seopress').'" aria-label="'.__('Target keywords','wp-seopress').'" value="'.esc_attr($seopress_analysis_target_kw).'" />
16
  </p>';
17
  if (empty($seopress_analysis_data)) {
18
  echo '<div id="seopress_launch_analysis" class="button" data_id="'.get_the_ID().'" data_post_type="'.get_current_screen()->post_type.'">'.__('Analyze my content','wp-seopress').'</div>';
26
  echo '<div class="col-right">
27
  <p>
28
  <label for="seopress_google_suggest_kw_meta">'. __( 'Google suggestions', 'wp-seopress' ) .'
29
+ '. seopress_tooltip(__('Google suggestions','wp-seopress'), __('Enter a keyword, or a phrase, to find the top 10 Google suggestions instantly. This is useful if you want to work with the long tail technique.','wp-seopress'), esc_html('my super keyword,another keyword,keyword')).'
 
 
 
30
  </label>
31
  <input id="seopress_google_suggest_kw_meta" type="text" name="seopress_google_suggest_kw" placeholder="Get suggestions from Google" aria-label="Google suggestions" value="">
32
  </p>
33
+ <button id="seopress_get_suggestions" type="button" class="button">'.__('Get suggestions!','wp-seopress').'</button>
34
  ';
35
  echo "<ul id='seopress_suggestions'></ul>";
36
 
152
  );
153
 
154
  //Schemas
155
+ if (!empty($seopress_analysis_data['json']) || isset($seopress_analysis_data['json'])) {
156
  $desc = '<p>'.__('We found these schemas in the source code of this page:','wp-seopress').'</p>';
157
 
158
  $desc .= '<ul>';
159
+ $json_ld = array_filter($seopress_analysis_data['json']);
160
  foreach(array_count_values($json_ld) as $key => $value) {
161
  $html = NULL;
162
  if ($value > 1) {
185
 
186
  //Word counters
187
  $desc = NULL;
188
+ if (isset($seopress_analysis_data['words_counter']) || isset($seopress_analysis_data['words_counter_unique'])) {
189
  $desc = '<p>'.__('Words counter is not a direct ranking factor. But, your content must be as qualitative as possible, with relevant and unique information. To fulfill these conditions, your article requires a minimum of paragraphs, so words.','wp-seopress').'</p>
190
  <ul>
191
+ <li>'.$seopress_analysis_data['words_counter'].' '.__('words found.','wp-seopress').'</li>
192
+ <li>'.$seopress_analysis_data['words_counter_unique'].' '.__('unique words found.','wp-seopress').'</li>';
193
 
194
+ if ($seopress_analysis_data['words_counter'] >= 299) {
195
  $desc .= '<li><span class="dashicons dashicons-yes"></span>'.__('Your content is composed of more than 300 words, which is the minimum for a post.','wp-seopress').'</li>';
196
  } else {
197
  $desc .= '<li><span class="dashicons dashicons-no-alt"></span>'.__('Your content is too short. Add a few more paragraphs!','wp-seopress').'</li>';
206
  }
207
 
208
  //Keywords density
209
+ if (!empty($seopress_analysis_data['kws_density']['matches']) && isset($seopress_analysis_data['words_counter'])) {
210
+ $target_kws_density = $seopress_analysis_data['kws_density']['matches'];
211
 
212
  $desc = '<ul>';
213
  foreach ($target_kws_density as $key => $value) {
215
  $kw_count = count($_value);
216
  }
217
  $kw_name = $key;
218
+ $kw_density = round($kw_count/$seopress_analysis_data['words_counter']*100, 2);
219
  $desc .= '<li><span class="dashicons dashicons-minus"></span>'.sprintf(esc_html__('%s was found %d times in your content, a keyword density of %s%%','wp-seopress'), $kw_name, $kw_count, $kw_density).'</li>';
220
  }
221
  $desc .= '</ul>';
228
  }
229
 
230
  //Keywords in permalink
231
+ if (!empty($seopress_analysis_data['kws_permalink']['matches'])) {
232
  $desc = '<p><span class="dashicons dashicons-yes"></span>'.__('Cool, one of your target keyword is used in your permalink.','wp-seopress').'</p>';
233
 
234
+ $target_kws_permalink = $seopress_analysis_data['kws_permalink']['matches'];
235
 
236
  $desc .= '<ul>';
237
  foreach ($target_kws_permalink as $key => $value) {
248
  //Headings
249
  //H1
250
  $desc = NULL;
251
+ if (!empty($seopress_analysis_data['h1']['matches'])) {
252
  $desc .= '<h4>'.__('H1 (Heading 1)','wp-seopress').'</h4>';
253
 
254
+ $count = $seopress_analysis_data['h1']['nomatches']['count'];
255
 
256
+ $target_kws_h1 = $seopress_analysis_data['h1']['matches'];
257
 
258
+ $all_h1 = $seopress_analysis_data['h1']['values'];
259
 
260
  $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in Heading 1 (H1).','wp-seopress').'</p>';
261
 
287
 
288
  //H2
289
  $desc .= '<h4>'.__('H2 (Heading 2)','wp-seopress').'</h4>';
290
+ if (!empty($seopress_analysis_data['h2']['matches'])) {
291
  $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in Heading 2 (H2).','wp-seopress').'</p>';
292
  $desc .= '<ul>';
293
+ $target_kws_h2 = $seopress_analysis_data['h2']['matches'];
294
  foreach ($target_kws_h2 as $key => $value) {
295
  foreach ($value as $_key => $_value) {
296
  $kw_count = count($value);
308
 
309
  //H3
310
  $desc .= '<h4>'.__('H3 (Heading 3)','wp-seopress').'</h4>';
311
+ if (!empty($seopress_analysis_data['h3']['matches'])) {
312
  $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in Heading 3 (H3).','wp-seopress').'</p>';
313
  $desc .= '<ul>';
314
+ $target_kws_h3 = $seopress_analysis_data['h3']['matches'];
315
  foreach ($target_kws_h3 as $key => $value) {
316
  foreach ($value as $_key => $_value) {
317
  $kw_count = count($value);
331
  //Meta Title
332
  if ($seopress_titles_title !='') {
333
  $desc = NULL;
334
+ if (!empty($seopress_analysis_data['meta_title']['matches'])) {
335
  $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in the Meta Title.','wp-seopress').'</p>';
336
  $desc .= '<ul>';
337
+ $target_kws_title = $seopress_analysis_data['meta_title']['matches'];
338
  foreach ($target_kws_title as $key => $value) {
339
  foreach ($value as $_key => $_value) {
340
  $kw_count = count($_value);
365
  //Meta description
366
  if ($seopress_titles_desc !='') {
367
  $desc = NULL;
368
+ if (!empty($seopress_analysis_data['meta_description']['matches'])) {
369
  $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in the Meta description.','wp-seopress').'</p>';
370
  $desc .= '<ul>';
371
+ $target_kws_desc = $seopress_analysis_data['meta_description']['matches'];
372
  foreach ($target_kws_desc as $key => $value) {
373
  foreach ($value as $_key => $_value) {
374
  $kw_count = count($_value);
402
 
403
  $desc .= '<h4>'.__('Open Graph Title','wp-seopress').'</h4>';
404
 
405
+ if (!empty($seopress_analysis_data['og_title']['count'])) {
406
+ $count = $seopress_analysis_data['og_title']['count'];
407
 
408
+ $all_og_title = $seopress_analysis_data['og_title']['values'];
409
 
410
  if ($count > 1) {
411
  $analyzes['social']['impact'] = 'high';
430
  //og:description
431
  $desc .= '<h4>'.__('Open Graph Description','wp-seopress').'</h4>';
432
 
433
+ if (!empty($seopress_analysis_data['og_desc']['count'])) {
434
 
435
+ $count = $seopress_analysis_data['og_desc']['count'];
436
 
437
+ $all_og_desc = $seopress_analysis_data['og_desc']['values'];
438
 
439
  if ($count > 1) {
440
  $analyzes['social']['impact'] = 'high';
459
  //og:image
460
  $desc .= '<h4>'.__('Open Graph Image','wp-seopress').'</h4>';
461
 
462
+ if (!empty($seopress_analysis_data['og_img']['count'])) {
463
 
464
+ $count = $seopress_analysis_data['og_img']['count'];
465
 
466
+ $all_og_img = $seopress_analysis_data['og_img']['values'];
467
 
468
  if ($count > 0) {
469
  $desc .= '<p><span class="dashicons dashicons-yes"></span>'.sprintf(esc_html__('We found %d og:image in your content.','wp-seopress'), $count).'</p>';
484
  //og:url
485
  $desc .= '<h4>'.__('Open Graph URL','wp-seopress').'</h4>';
486
 
487
+ if (!empty($seopress_analysis_data['og_url']['count'])) {
488
 
489
+ $count = $seopress_analysis_data['og_url']['count'];
490
 
491
+ $all_og_url = $seopress_analysis_data['og_url']['values'];
492
 
493
  if ($count > 1) {
494
  $analyzes['social']['impact'] = 'high';
513
  //og:site_name
514
  $desc .= '<h4>'.__('Open Graph Site Name','wp-seopress').'</h4>';
515
 
516
+ if (!empty($seopress_analysis_data['og_site_name']['count'])) {
517
 
518
+ $count = $seopress_analysis_data['og_site_name']['count'];
519
 
520
+ $all_og_site_name = $seopress_analysis_data['og_site_name']['values'];
521
 
522
  if ($count > 1) {
523
  $analyzes['social']['impact'] = 'high';
542
  //twitter:title
543
  $desc .= '<h4>'.__('Twitter Title','wp-seopress').'</h4>';
544
 
545
+ if (!empty($seopress_analysis_data['tw_title']['count'])) {
546
 
547
+ $count = $seopress_analysis_data['tw_title']['count'];
548
 
549
+ $all_tw_title = $seopress_analysis_data['tw_title']['values'];
550
 
551
  if ($count > 1) {
552
  $analyzes['social']['impact'] = 'high';
571
  //twitter:description
572
  $desc .= '<h4>'.__('Twitter Description','wp-seopress').'</h4>';
573
 
574
+ if (!empty($seopress_analysis_data['tw_desc']['count'])) {
575
 
576
+ $count = $seopress_analysis_data['tw_desc']['count'];
577
 
578
+ $all_tw_desc = $seopress_analysis_data['tw_desc']['values'];
579
 
580
  if ($count > 1) {
581
  $analyzes['social']['impact'] = 'high';
600
  //twitter:image
601
  $desc .= '<h4>'.__('Twitter Image','wp-seopress').'</h4>';
602
 
603
+ if (!empty($seopress_analysis_data['tw_img']['count'])) {
604
 
605
+ $count = $seopress_analysis_data['tw_img']['count'];
606
 
607
+ $all_tw_img = $seopress_analysis_data['tw_img']['values'];
608
 
609
  if ($count > 0) {
610
  $desc .= '<p><span class="dashicons dashicons-yes"></span>'.sprintf(esc_html__('We found %d twitter:image in your content.','wp-seopress'), $count).'</p>';
625
 
626
  //Robots
627
  $desc = NULL;
628
+ if (!empty($seopress_analysis_data['meta_robots'])) {
629
 
630
+ $meta_robots = $seopress_analysis_data['meta_robots'];
631
 
632
+ if (count($seopress_analysis_data['meta_robots']) > 1) {
633
  $analyzes['robots']['impact'] = 'high';
634
 
635
+ $count_meta_robots = count($seopress_analysis_data['meta_robots']);
636
 
637
  $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.sprintf(esc_html__('We found %s meta robots in your page. There is probably something wrong with your theme!','wp-seopress'), $count_meta_robots).'</p>';
638
  }
673
  }
674
 
675
  //Meta Google
676
+ if (!empty($seopress_analysis_data['meta_google'])) {
677
+ $meta_google = $seopress_analysis_data['meta_google'];
678
 
679
  if (preg_match('/noimageindex/', json_encode($meta_google))) {
680
  $analyzes['robots']['impact'] = 'high';
700
  $analyzes['robots']['desc'] = $desc;
701
 
702
  //Img alt
703
+ if (!empty($seopress_analysis_data['img'])) {
704
+ $images = isset($seopress_analysis_data['img']['images']) ? $seopress_analysis_data['img']['images'] : NULL;
705
 
706
  $desc = '<div class="wrap-analysis-img">';
707
 
708
+ if (!empty($images)) {
709
  $analyzes['img_alt']['impact'] = 'high';
710
  $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('No alternative text found for these images. Alt tags are important for both SEO and accessibility. Edit your images using the media library or your favorite page builder and fill in alternative text fields.','wp-seopress').'</p>';
711
 
712
  //Standard images & galleries
713
+ if (!empty($images)) {
714
  $desc .= '<ul class="attachments">';
715
  foreach($images as $img) {
716
  $desc .= '<li class="attachment"><img src="'.$img.'"/></li>';
729
  }
730
 
731
  //Nofollow links
732
+ if (!empty($seopress_analysis_data['nofollow_links'])) {
733
+ $count = count($seopress_analysis_data['nofollow_links']);
734
 
735
  $desc = '<p>'.sprintf( esc_html__( 'We found %d links with nofollow attribute in your page. Do not overuse nofollow attribute in links. Below, the list:', 'wp-seopress' ), $count ).'</p>';
736
  $desc .= '<ul>';
737
+ foreach ($seopress_analysis_data['nofollow_links'] as $links) {
738
  foreach ($links as $href => $link) {
739
  $desc .= '<li><span class="dashicons dashicons-minus"></span><a href="'.$href.'" target="_blank">'.$link.'</a><span class="dashicons dashicons-external"></span></li>';
740
  }
748
 
749
  //Outbound links
750
  $desc = '<p>'.__('Internet is built on the principle of hyperlink. It is therefore perfectly normal to make links between different websites. However, avoid making links to low quality sites, SPAM... If you are not sure about the quality of a site, add the attribute "nofollow" to your link.').'</p>';
751
+ if (!empty($seopress_analysis_data['outbound_links'])) {
752
+ $count = count($seopress_analysis_data['outbound_links']);
753
 
754
  $desc .= '<p>'.sprintf( __('We found %s outbound links in your page. Below, the list:', 'wp-seopress'), $count ).'</p>';
755
  $desc .= '<ul>';
756
+ foreach ($seopress_analysis_data['outbound_links'] as $links) {
757
  foreach ($links as $href => $link) {
758
  $desc .= '<li><span class="dashicons dashicons-minus"></span><a href="'.$href.'" target="_blank">'.$link.'</a><span class="dashicons dashicons-external"></span></li>';
759
  }
766
  $analyzes['outbound_links']['desc'] = $desc;
767
 
768
  echo '<div id="seopress-analysis-tabs">
769
+ <div id="seopress-analysis-tabs-1">';
770
+ echo '<div class="analysis-score">';
771
  $impact = array_unique(array_values(wp_list_pluck($analyzes, 'impact')));
772
  $svg = '<svg role="img" aria-hidden="true" focusable="false" width="100%" height="100%" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg">
773
  <circle r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0"></circle>
774
  <circle id="bar" r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0" style="stroke-dashoffset: 101.788px;"></circle>
775
  </svg>';
776
  $tooltip = '<span class="sp-tooltip">
777
+ <span class="dashicons dashicons-editor-help"></span>
778
+ <span class="sp-tooltiptext">'.__('<strong>Should be improved:</strong> red or orange dots <br> <strong>Good:</strong> yellow or green dots','wp-seopress').'</span>
779
+ </span>';
780
+
781
+ if (!empty($impact)) {
782
+ if (in_array('medium', $impact) || in_array('high', $impact)) {
783
+ echo '<p class="notgood">'.$svg.'<span>'.__('Should be improved','wp-seopress').$tooltip.'</span></p>';
784
+ $score = false;
785
+ } else {
786
+ echo '<p class="good">'.$svg.'<span>'.__('Good','wp-seopress').$tooltip.'</span></p>';
787
+ $score = true;
788
+ }
789
  } else {
790
+ $score = false;
 
791
  }
792
+
793
  if (!empty($seopress_analysis_data)) {
794
+ $seopress_analysis_data['score'] = $score;
795
  update_post_meta(get_the_ID(), '_seopress_analysis_data', $seopress_analysis_data);
796
  }
797
  echo '<span><a href="#" id="expand-all">'.__('Expand','wp-seopress').'</a> / <a href="#" id="close-all">'.__('Close','wp-seopress').'</a></span>';
804
  $pos_a = array_search($a['impact'], $order);
805
  $pos_b = array_search($b['impact'], $order);
806
  return $pos_a - $pos_b;
807
+ });
808
 
809
  foreach($analyzes as $key => $value) {
810
  echo '<div class="gr-analysis">';
inc/admin/admin-metaboxes-form.php CHANGED
@@ -530,18 +530,18 @@ echo '<div id="seopress-tabs" data_id="'.$current_id.'" data_origin="'.$origin.'
530
  <div id="wrap-videos" data-count="'.$total.'">';
531
  foreach ($seopress_video[0] as $key => $value) {
532
 
533
- $check_url = isset($seopress_video[0][$key]["url"]) ? $seopress_video[0][$key]["url"] : NULL;
534
- $check_internal_video = isset($seopress_video[0][$key]["internal_video"]) ? $seopress_video[0][$key]["internal_video"] : NULL;
535
- $check_title = isset($seopress_video[0][$key]["title"]) ? $seopress_video[0][$key]["title"] : NULL;
536
- $check_desc = isset($seopress_video[0][$key]["desc"]) ? $seopress_video[0][$key]["desc"] : NULL;
537
- $check_thumbnail = isset($seopress_video[0][$key]["thumbnail"]) ? $seopress_video[0][$key]["thumbnail"] : NULL;
538
- $check_duration = isset($seopress_video[0][$key]["duration"]) ? $seopress_video[0][$key]["duration"] : NULL;
539
- $check_rating = isset($seopress_video[0][$key]["rating"]) ? $seopress_video[0][$key]["rating"] : NULL;
540
- $check_view_count = isset($seopress_video[0][$key]["view_count"]) ? $seopress_video[0][$key]["view_count"] : NULL;
541
- $check_view_count = isset($seopress_video[0][$key]["view_count"]) ? $seopress_video[0][$key]["view_count"] : NULL;
542
- $check_tag = isset($seopress_video[0][$key]["tag"]) ? $seopress_video[0][$key]["tag"] : NULL;
543
- $check_cat = isset($seopress_video[0][$key]["cat"]) ? $seopress_video[0][$key]["cat"] : NULL;
544
- $check_family_friendly = isset($seopress_video[0][$key]["family_friendly"]) ? $seopress_video[0][$key]["family_friendly"] : NULL;
545
 
546
  echo '<div class="video">
547
  <h3 class="accordion-section-title" tabindex="0">'.__('Video ','wp-seopress').$check_title.'</h3>
530
  <div id="wrap-videos" data-count="'.$total.'">';
531
  foreach ($seopress_video[0] as $key => $value) {
532
 
533
+ $check_url = isset($seopress_video[0][$key]["url"]) ? esc_attr($seopress_video[0][$key]["url"]) : NULL;
534
+ $check_internal_video = isset($seopress_video[0][$key]["internal_video"]) ? esc_attr($seopress_video[0][$key]["internal_video"]) : NULL;
535
+ $check_title = isset($seopress_video[0][$key]["title"]) ? esc_attr($seopress_video[0][$key]["title"]) : NULL;
536
+ $check_desc = isset($seopress_video[0][$key]["desc"]) ? esc_attr($seopress_video[0][$key]["desc"]) : NULL;
537
+ $check_thumbnail = isset($seopress_video[0][$key]["thumbnail"]) ? esc_attr($seopress_video[0][$key]["thumbnail"]) : NULL;
538
+ $check_duration = isset($seopress_video[0][$key]["duration"]) ? esc_attr($seopress_video[0][$key]["duration"]) : NULL;
539
+ $check_rating = isset($seopress_video[0][$key]["rating"]) ? esc_attr($seopress_video[0][$key]["rating"]) : NULL;
540
+ $check_view_count = isset($seopress_video[0][$key]["view_count"]) ? esc_attr($seopress_video[0][$key]["view_count"]) : NULL;
541
+ $check_view_count = isset($seopress_video[0][$key]["view_count"]) ? esc_attr($seopress_video[0][$key]["view_count"]) : NULL;
542
+ $check_tag = isset($seopress_video[0][$key]["tag"]) ? esc_attr($seopress_video[0][$key]["tag"]) : NULL;
543
+ $check_cat = isset($seopress_video[0][$key]["cat"]) ? esc_attr($seopress_video[0][$key]["cat"]) : NULL;
544
+ $check_family_friendly = isset($seopress_video[0][$key]["family_friendly"]) ? esc_attr($seopress_video[0][$key]["family_friendly"]) : NULL;
545
 
546
  echo '<div class="video">
547
  <h3 class="accordion-section-title" tabindex="0">'.__('Video ','wp-seopress').$check_title.'</h3>
inc/admin/admin-metaboxes.php CHANGED
@@ -444,7 +444,7 @@ function seopress_display_ca_metaboxe() {
444
  wp_localize_script( 'seopress-cpt-counters-js', 'seopressAjaxRealPreview', $seopress_real_preview );
445
 
446
  $seopress_analysis_target_kw = get_post_meta($post->ID,'_seopress_analysis_target_kw',true);
447
- $seopress_analysis_data = get_post_meta($post->ID,'_seopress_analysis_data');
448
  $seopress_titles_title = get_post_meta($post->ID,'_seopress_titles_title',true);
449
  $seopress_titles_desc = get_post_meta($post->ID,'_seopress_titles_desc',true);
450
 
444
  wp_localize_script( 'seopress-cpt-counters-js', 'seopressAjaxRealPreview', $seopress_real_preview );
445
 
446
  $seopress_analysis_target_kw = get_post_meta($post->ID,'_seopress_analysis_target_kw',true);
447
+ $seopress_analysis_data = get_post_meta($post->ID,'_seopress_analysis_data', true);
448
  $seopress_titles_title = get_post_meta($post->ID,'_seopress_titles_title',true);
449
  $seopress_titles_desc = get_post_meta($post->ID,'_seopress_titles_desc',true);
450
 
inc/admin/admin-notifications-center.php CHANGED
@@ -109,6 +109,36 @@
109
  ];
110
  seopress_notification($args);
111
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  if (get_theme_support('title-tag') !='1') {
113
  function seopress_get_hidden_notices_title_tag_option() {
114
  $seopress_get_hidden_notices_title_tag_option = get_option("seopress_notices");
@@ -400,7 +430,7 @@
400
  $args = [
401
  'id' => 'notice-posts-number',
402
  'title' => __('Display more posts per page on homepage and archives','wp-seopress'),
403
- 'desc' => __('To reduce the number pages search engines have to crawl to find all your articles, it is recommended displaying more posts per page. This should not be a problem for your users. Using mobile, we prefer to scroll down rather than clicking on next page links. If you can do it, try adding an infinite scroll to your post listings.','wp-seopress'),
404
  'impact' => [
405
  'medium' => __('Medium impact','wp-seopress')
406
  ],
@@ -618,7 +648,7 @@
618
  }
619
  ?>
620
  <br>
621
- <button id="seopress-reverse-submit" class="button button-primary" name="submit">
622
  <?php _e('Get list','wp-seopress'); ?>
623
  </button>
624
 
109
  ];
110
  seopress_notification($args);
111
  }
112
+ if (is_plugin_active('wp-seopress-insights/seopress-insights.php')) {
113
+ function seopress_get_hidden_notices_insights_wizard_option() {
114
+ $seopress_get_hidden_notices_insights_wizard_option = get_option("seopress_notices");
115
+ if ( ! empty ( $seopress_get_hidden_notices_insights_wizard_option ) ) {
116
+ foreach ($seopress_get_hidden_notices_insights_wizard_option as $key => $seopress_get_hidden_notices_insights_wizard_value)
117
+ $options[$key] = $seopress_get_hidden_notices_insights_wizard_value;
118
+ if (isset($seopress_get_hidden_notices_insights_wizard_option['notice-insights-wizard'])) {
119
+ return $seopress_get_hidden_notices_insights_wizard_option['notice-insights-wizard'];
120
+ }
121
+ }
122
+ }
123
+ if(seopress_get_hidden_notices_insights_wizard_option() !='1') {
124
+ $args = [
125
+ 'id' => 'notice-insights-wizard',
126
+ 'title' => __('Configure SEOPress Insights in a few minutes with our installation wizard','wp-seopress'),
127
+ 'desc' => __('Track your keywords positions and backlinks directly on your WordPress site.','wp-seopress'),
128
+ 'impact' => [
129
+ 'info' => __('Wizard','wp-seopress')
130
+ ],
131
+ 'link' => [
132
+ 'en' => admin_url( 'admin.php?page=seopress-insights-setup' ),
133
+ 'title' => __('Start the wizard','wp-seopress'),
134
+ 'external' => true
135
+ ],
136
+ 'icon' => 'dashicons-admin-tools',
137
+ 'deleteable' => true
138
+ ];
139
+ seopress_notification($args);
140
+ }
141
+ }
142
  if (get_theme_support('title-tag') !='1') {
143
  function seopress_get_hidden_notices_title_tag_option() {
144
  $seopress_get_hidden_notices_title_tag_option = get_option("seopress_notices");
430
  $args = [
431
  'id' => 'notice-posts-number',
432
  'title' => __('Display more posts per page on homepage and archives','wp-seopress'),
433
+ 'desc' => __('To reduce the number pages search engines have to crawl to find all your articles, it is recommended displaying more posts per page. This should not be a problem for your users. Using mobile, we prefer to scroll down rather than clicking on next page links.','wp-seopress'),
434
  'impact' => [
435
  'medium' => __('Medium impact','wp-seopress')
436
  ],
648
  }
649
  ?>
650
  <br>
651
+ <button id="seopress-reverse-submit" type="button" class="button button-primary" name="submit">
652
  <?php _e('Get list','wp-seopress'); ?>
653
  </button>
654
 
inc/admin/admin-wizard.php CHANGED
@@ -299,7 +299,7 @@ class SEOPRESS_Admin_Setup_Wizard {
299
  <li><?php _e('Focus keywords','wp-seopress'); ?></li>
300
  </ul>
301
  <p style="color:red"><span class="dashicons dashicons-warning"></span> <?php _e( '<strong>WARNING:</strong> Migration will delete / update all SEOPress posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any Yoast data.', 'wp-seopress' ); ?></p>
302
- <button id="seopress-yoast-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
303
  <span class="spinner"></span>
304
  <div class="log"></div>
305
  </div><!-- .postbox -->
@@ -316,7 +316,7 @@ class SEOPRESS_Admin_Setup_Wizard {
316
  <li><?php _e('Meta Robots (noindex, nofollow)','wp-seopress'); ?></li>
317
  </ul>
318
  <p style="color:red"><span class="dashicons dashicons-warning"></span> <?php _e( '<strong>WARNING:</strong> Migration will update/delete all SEOPress posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any AIO data.', 'wp-seopress' ); ?></p>
319
- <button id="seopress-aio-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
320
  <span class="spinner"></span>
321
  <div class="log"></div>
322
  </div><!-- .postbox -->
@@ -335,7 +335,7 @@ class SEOPRESS_Admin_Setup_Wizard {
335
  <li><?php _e('Redirect URL','wp-seopress'); ?></li>
336
  </ul>
337
  <p style="color:red"><span class="dashicons dashicons-warning"></span> <?php _e( '<strong>WARNING:</strong> Migration will update / delete all SEOPress posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any SEO Framework data.', 'wp-seopress' ); ?></p>
338
- <button id="seopress-seo-framework-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
339
  <span class="spinner"></span>
340
  <div class="log"></div>
341
  </div><!-- .postbox -->
@@ -354,7 +354,7 @@ class SEOPRESS_Admin_Setup_Wizard {
354
  <li><?php _e('Focus keywords','wp-seopress'); ?></li>
355
  </ul>
356
  <p style="color:red"><span class="dashicons dashicons-warning"></span> <?php _e( '<strong>WARNING:</strong> Migration will update / delete all SEOPress posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any Rank Math data.', 'wp-seopress' ); ?></p>
357
- <button id="seopress-rk-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
358
  <span class="spinner"></span>
359
  <div class="log"></div>
360
  </div><!-- .postbox -->
@@ -372,7 +372,7 @@ class SEOPRESS_Admin_Setup_Wizard {
372
  <li><?php _e('Canonical URL','wp-seopress'); ?></li>
373
  </ul>
374
  <p style="color:red"><span class="dashicons dashicons-info"></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>
375
- <button id="seopress-squirrly-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
376
  <span class="spinner"></span>
377
  <div class="log"></div>
378
  </div><!-- .postbox -->
@@ -389,7 +389,7 @@ class SEOPRESS_Admin_Setup_Wizard {
389
  <li><?php _e('Meta Robots (noindex or nofollow)','wp-seopress'); ?></li>
390
  </ul>
391
  <p style="color:red"><span class="dashicons dashicons-info"></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 SEO Ultimate data.', 'wp-seopress' ); ?></p>
392
- <button id="seopress-seo-ultimate-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
393
  <span class="spinner"></span>
394
  <div class="log"></div>
395
  </div><!-- .postbox -->
@@ -405,7 +405,7 @@ class SEOPRESS_Admin_Setup_Wizard {
405
  <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
406
  </ul>
407
  <p style="color:red"><span class="dashicons dashicons-info"></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 WP Meta SEO data.', 'wp-seopress' ); ?></p>
408
- <button id="seopress-wp-meta-seo-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
409
  <span class="spinner"></span>
410
  <div class="log"></div>
411
  </div><!-- .postbox -->
@@ -806,6 +806,7 @@ class SEOPRESS_Admin_Setup_Wizard {
806
  ?>
807
  <h1><?php esc_html_e( "Your site is now ready for search engines!", 'wp-seopress' ); ?></h1>
808
 
 
809
  <?php if (get_option( 'seopress_pro_license_status' ) !='valid' && is_plugin_active('wp-seopress-pro/seopress-pro.php') && !is_multisite()) { ?>
810
  <div class="seopress-message seopress-newsletter">
811
  <h3 class="seopress-setup-actions step">
@@ -853,39 +854,7 @@ class SEOPRESS_Admin_Setup_Wizard {
853
  </p>
854
  </div>
855
  </li>
856
- <li class="seopress-wizard-additional-steps">
857
- <div class="seopress-wizard-next-step-description">
858
- <p class="next-step-heading"><?php esc_html_e( 'Follow us:', 'wp-seopress' ); ?></p>
859
- </div>
860
- <div class="seopress-wizard-next-step-action step">
861
- <ul class="recommended-step">
862
- <li class="recommended-item">
863
- <a href="https://www.facebook.com/seopresspro/" target="_blank">
864
- <span class="dashicons dashicons-facebook"></span>
865
- <?php _e('Like our Facebook page','wp-seopress'); ?>
866
- </a>
867
- </li>
868
- <li class="recommended-item">
869
- <a href="https://twitter.com/wp_seopress" target="_blank">
870
- <span class="dashicons dashicons-twitter"></span>
871
- <?php _e('Follow us on Twitter','wp-seopress'); ?>
872
- </a>
873
- </li>
874
- <li class="recommended-item">
875
- <a href="https://www.youtube.com/seopress" target="_blank">
876
- <span class="dashicons dashicons-video-alt3"></span>
877
- <?php _e('Watch our guided tour videos to learn more about SEOPress','wp-seopress'); ?>
878
- </a>
879
- </li>
880
- <li class="recommended-item">
881
- <a href="https://www.instagram.com/wp_seopress/" target="_blank">
882
- <span class="dashicons dashicons-instagram"></span>
883
- <?php _e('The off side of SEOPress','wp-seopress'); ?>
884
- </a>
885
- </li>
886
- </ul>
887
- </div>
888
- </li>
889
  <li class="seopress-wizard-additional-steps">
890
  <div class="seopress-wizard-next-step-description">
891
  <p class="next-step-heading"><?php esc_html_e( 'You can also:', 'wp-seopress' ); ?></p>
@@ -909,4 +878,4 @@ class SEOPRESS_Admin_Setup_Wizard {
909
  }
910
  }
911
 
912
- new SEOPRESS_Admin_Setup_Wizard();
299
  <li><?php _e('Focus keywords','wp-seopress'); ?></li>
300
  </ul>
301
  <p style="color:red"><span class="dashicons dashicons-warning"></span> <?php _e( '<strong>WARNING:</strong> Migration will delete / update all SEOPress posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any Yoast data.', 'wp-seopress' ); ?></p>
302
+ <button id="seopress-yoast-migrate" type="button" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
303
  <span class="spinner"></span>
304
  <div class="log"></div>
305
  </div><!-- .postbox -->
316
  <li><?php _e('Meta Robots (noindex, nofollow)','wp-seopress'); ?></li>
317
  </ul>
318
  <p style="color:red"><span class="dashicons dashicons-warning"></span> <?php _e( '<strong>WARNING:</strong> Migration will update/delete all SEOPress posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any AIO data.', 'wp-seopress' ); ?></p>
319
+ <button id="seopress-aio-migrate" type="button" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
320
  <span class="spinner"></span>
321
  <div class="log"></div>
322
  </div><!-- .postbox -->
335
  <li><?php _e('Redirect URL','wp-seopress'); ?></li>
336
  </ul>
337
  <p style="color:red"><span class="dashicons dashicons-warning"></span> <?php _e( '<strong>WARNING:</strong> Migration will update / delete all SEOPress posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any SEO Framework data.', 'wp-seopress' ); ?></p>
338
+ <button id="seopress-seo-framework-migrate" type="button" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
339
  <span class="spinner"></span>
340
  <div class="log"></div>
341
  </div><!-- .postbox -->
354
  <li><?php _e('Focus keywords','wp-seopress'); ?></li>
355
  </ul>
356
  <p style="color:red"><span class="dashicons dashicons-warning"></span> <?php _e( '<strong>WARNING:</strong> Migration will update / delete all SEOPress posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any Rank Math data.', 'wp-seopress' ); ?></p>
357
+ <button id="seopress-rk-migrate" type="button" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
358
  <span class="spinner"></span>
359
  <div class="log"></div>
360
  </div><!-- .postbox -->
372
  <li><?php _e('Canonical URL','wp-seopress'); ?></li>
373
  </ul>
374
  <p style="color:red"><span class="dashicons dashicons-info"></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>
375
+ <button id="seopress-squirrly-migrate" type="button" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
376
  <span class="spinner"></span>
377
  <div class="log"></div>
378
  </div><!-- .postbox -->
389
  <li><?php _e('Meta Robots (noindex or nofollow)','wp-seopress'); ?></li>
390
  </ul>
391
  <p style="color:red"><span class="dashicons dashicons-info"></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 SEO Ultimate data.', 'wp-seopress' ); ?></p>
392
+ <button id="seopress-seo-ultimate-migrate" type="button" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
393
  <span class="spinner"></span>
394
  <div class="log"></div>
395
  </div><!-- .postbox -->
405
  <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
406
  </ul>
407
  <p style="color:red"><span class="dashicons dashicons-info"></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 WP Meta SEO data.', 'wp-seopress' ); ?></p>
408
+ <button id="seopress-wp-meta-seo-migrate" type="button" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
409
  <span class="spinner"></span>
410
  <div class="log"></div>
411
  </div><!-- .postbox -->
806
  ?>
807
  <h1><?php esc_html_e( "Your site is now ready for search engines!", 'wp-seopress' ); ?></h1>
808
 
809
+ <!-- SEOPress PRO -->
810
  <?php if (get_option( 'seopress_pro_license_status' ) !='valid' && is_plugin_active('wp-seopress-pro/seopress-pro.php') && !is_multisite()) { ?>
811
  <div class="seopress-message seopress-newsletter">
812
  <h3 class="seopress-setup-actions step">
854
  </p>
855
  </div>
856
  </li>
857
+ <?php seopress_wizard_follow_us(); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
858
  <li class="seopress-wizard-additional-steps">
859
  <div class="seopress-wizard-next-step-description">
860
  <p class="next-step-heading"><?php esc_html_e( 'You can also:', 'wp-seopress' ); ?></p>
878
  }
879
  }
880
 
881
+ new SEOPRESS_Admin_Setup_Wizard();
inc/admin/admin.php CHANGED
@@ -704,7 +704,7 @@ class seopress_options
704
  <p><input type="hidden" name="seopress_action" value="export_csv_metadata" /></p>
705
  <p>
706
  <?php wp_nonce_field( 'seopress_export_csv_metadata_nonce', 'seopress_export_csv_metadata_nonce' ); ?>
707
- <button id="seopress-metadata-export" class="button"><?php _e('Export','wp-seopress'); ?></button>
708
  <span class="spinner"></span>
709
  <div class="log"></div>
710
  </p>
@@ -778,7 +778,7 @@ class seopress_options
778
  <li><?php _e('Focus keywords','wp-seopress'); ?></li>
779
  </ul>
780
  <p style="color:red"><span class="dashicons dashicons-info"></span> <?php _e( '<strong>WARNING:</strong> Migration will delete / update all SEOPress posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any Yoast data.', 'wp-seopress' ); ?></p>
781
- <button id="seopress-yoast-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
782
  <span class="spinner"></span>
783
  <div class="log"></div>
784
  </div><!-- .inside -->
@@ -797,7 +797,7 @@ class seopress_options
797
  <li><?php _e('Meta Robots (noindex, nofollow)','wp-seopress'); ?></li>
798
  </ul>
799
  <p style="color:red"><span class="dashicons dashicons-info"></span> <?php _e( '<strong>WARNING:</strong> Migration will update/delete all SEOPress posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any AIO data.', 'wp-seopress' ); ?></p>
800
- <button id="seopress-aio-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
801
  <span class="spinner"></span>
802
  <div class="log"></div>
803
  </div><!-- .inside -->
@@ -818,7 +818,7 @@ class seopress_options
818
  <li><?php _e('Redirect URL','wp-seopress'); ?></li>
819
  </ul>
820
  <p style="color:red"><span class="dashicons dashicons-info"></span> <?php _e( '<strong>WARNING:</strong> Migration will update / delete all SEOPress posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any SEO Framework data.', 'wp-seopress' ); ?></p>
821
- <button id="seopress-seo-framework-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
822
  <span class="spinner"></span>
823
  <div class="log"></div>
824
  </div><!-- .inside -->
@@ -839,7 +839,7 @@ class seopress_options
839
  <li><?php _e('Focus keywords','wp-seopress'); ?></li>
840
  </ul>
841
  <p style="color:red"><span class="dashicons dashicons-info"></span> <?php _e( '<strong>WARNING:</strong> Migration will update / delete all SEOPress posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any Rank Math data.', 'wp-seopress' ); ?></p>
842
- <button id="seopress-rk-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
843
  <span class="spinner"></span>
844
  <div class="log"></div>
845
  </div><!-- .inside -->
@@ -859,7 +859,7 @@ class seopress_options
859
  <li><?php _e('Canonical URL','wp-seopress'); ?></li>
860
  </ul>
861
  <p style="color:red"><span class="dashicons dashicons-info"></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>
862
- <button id="seopress-squirrly-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
863
  <span class="spinner"></span>
864
  <div class="log"></div>
865
  </div><!-- .inside -->
@@ -878,7 +878,7 @@ class seopress_options
878
  <li><?php _e('Meta Robots (noindex or nofollow)','wp-seopress'); ?></li>
879
  </ul>
880
  <p style="color:red"><span class="dashicons dashicons-info"></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 SEO Ultimate data.', 'wp-seopress' ); ?></p>
881
- <button id="seopress-seo-ultimate-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
882
  <span class="spinner"></span>
883
  <div class="log"></div>
884
  </div><!-- .inside -->
@@ -896,7 +896,7 @@ class seopress_options
896
  <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
897
  </ul>
898
  <p style="color:red"><span class="dashicons dashicons-info"></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 WP Meta SEO data.', 'wp-seopress' ); ?></p>
899
- <button id="seopress-wp-meta-seo-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
900
  <span class="spinner"></span>
901
  <div class="log"></div>
902
  </div><!-- .inside -->
@@ -2804,7 +2804,7 @@ class seopress_options
2804
  echo '&nbsp;';
2805
  echo '<a href="https://www.google.com/ping?sitemap='.get_option( 'home' ).'/sitemaps.xml/" target="_blank" class="button"><span class="dashicons dashicons-share-alt2"></span>'.__('Ping Google manually','wp-seopress').'</a>';
2806
  echo '&nbsp;';
2807
- echo '<button id="seopress-flush-permalinks" class="button"><span class="dashicons dashicons-admin-links"></span>'.__('Flush permalinks','wp-seopress').'</button>';
2808
  echo '<span class="spinner"></span>';
2809
  }
2810
 
@@ -4148,9 +4148,9 @@ class seopress_options
4148
  {
4149
  $options = get_option( 'seopress_social_option_name' );
4150
 
4151
- $options_set = isset($options['seopress_social_knowledge_img']) ? $options['seopress_social_knowledge_img'] : NULL;
4152
 
4153
- $check = isset($options['seopress_social_knowledge_img']);
4154
 
4155
  echo '<input id="seopress_social_knowledge_img_meta" type="text" value="'.$options_set.'" name="seopress_social_option_name[seopress_social_knowledge_img]" aria-label="'.__('Your photo/organization logo','wp-seopress').'" placeholder="'.esc_html__('Select your logo','wp-seopress').'" />
4156
 
@@ -4174,7 +4174,7 @@ class seopress_options
4174
  }
4175
  echo '<br>';
4176
  echo '<br>';
4177
- echo '<img style="width:200px;max-height:300px;" src="'.seopress_social_knowledge_img_option().'"/>';
4178
  }
4179
 
4180
  public function seopress_social_knowledge_phone_callback()
@@ -4385,7 +4385,7 @@ class seopress_options
4385
  {
4386
  $options = get_option( 'seopress_social_option_name' );
4387
 
4388
- $options_set = isset($options['seopress_social_facebook_img']) ? $options['seopress_social_facebook_img'] : NULL;
4389
 
4390
  $check = isset($options['seopress_social_facebook_img']);
4391
 
@@ -4497,7 +4497,7 @@ class seopress_options
4497
  {
4498
  $options = get_option( 'seopress_social_option_name' );
4499
 
4500
- $options_set = isset($options['seopress_social_twitter_card_img']) ? $options['seopress_social_twitter_card_img'] : NULL;
4501
 
4502
  $check = isset($options['seopress_social_twitter_card_img']);
4503
 
704
  <p><input type="hidden" name="seopress_action" value="export_csv_metadata" /></p>
705
  <p>
706
  <?php wp_nonce_field( 'seopress_export_csv_metadata_nonce', 'seopress_export_csv_metadata_nonce' ); ?>
707
+ <button id="seopress-metadata-export" type="button" class="button"><?php _e('Export','wp-seopress'); ?></button>
708
  <span class="spinner"></span>
709
  <div class="log"></div>
710
  </p>
778
  <li><?php _e('Focus keywords','wp-seopress'); ?></li>
779
  </ul>
780
  <p style="color:red"><span class="dashicons dashicons-info"></span> <?php _e( '<strong>WARNING:</strong> Migration will delete / update all SEOPress posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any Yoast data.', 'wp-seopress' ); ?></p>
781
+ <button id="seopress-yoast-migrate" type="button" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
782
  <span class="spinner"></span>
783
  <div class="log"></div>
784
  </div><!-- .inside -->
797
  <li><?php _e('Meta Robots (noindex, nofollow)','wp-seopress'); ?></li>
798
  </ul>
799
  <p style="color:red"><span class="dashicons dashicons-info"></span> <?php _e( '<strong>WARNING:</strong> Migration will update/delete all SEOPress posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any AIO data.', 'wp-seopress' ); ?></p>
800
+ <button id="seopress-aio-migrate" type="button" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
801
  <span class="spinner"></span>
802
  <div class="log"></div>
803
  </div><!-- .inside -->
818
  <li><?php _e('Redirect URL','wp-seopress'); ?></li>
819
  </ul>
820
  <p style="color:red"><span class="dashicons dashicons-info"></span> <?php _e( '<strong>WARNING:</strong> Migration will update / delete all SEOPress posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any SEO Framework data.', 'wp-seopress' ); ?></p>
821
+ <button id="seopress-seo-framework-migrate" type="button" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
822
  <span class="spinner"></span>
823
  <div class="log"></div>
824
  </div><!-- .inside -->
839
  <li><?php _e('Focus keywords','wp-seopress'); ?></li>
840
  </ul>
841
  <p style="color:red"><span class="dashicons dashicons-info"></span> <?php _e( '<strong>WARNING:</strong> Migration will update / delete all SEOPress posts and terms metadata. Some dynamic variables will not be interpreted. We do NOT delete any Rank Math data.', 'wp-seopress' ); ?></p>
842
+ <button id="seopress-rk-migrate" type="button" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
843
  <span class="spinner"></span>
844
  <div class="log"></div>
845
  </div><!-- .inside -->
859
  <li><?php _e('Canonical URL','wp-seopress'); ?></li>
860
  </ul>
861
  <p style="color:red"><span class="dashicons dashicons-info"></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>
862
+ <button id="seopress-squirrly-migrate" type="button" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
863
  <span class="spinner"></span>
864
  <div class="log"></div>
865
  </div><!-- .inside -->
878
  <li><?php _e('Meta Robots (noindex or nofollow)','wp-seopress'); ?></li>
879
  </ul>
880
  <p style="color:red"><span class="dashicons dashicons-info"></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 SEO Ultimate data.', 'wp-seopress' ); ?></p>
881
+ <button id="seopress-seo-ultimate-migrate" type="button" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
882
  <span class="spinner"></span>
883
  <div class="log"></div>
884
  </div><!-- .inside -->
896
  <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
897
  </ul>
898
  <p style="color:red"><span class="dashicons dashicons-info"></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 WP Meta SEO data.', 'wp-seopress' ); ?></p>
899
+ <button id="seopress-wp-meta-seo-migrate" type="button" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
900
  <span class="spinner"></span>
901
  <div class="log"></div>
902
  </div><!-- .inside -->
2804
  echo '&nbsp;';
2805
  echo '<a href="https://www.google.com/ping?sitemap='.get_option( 'home' ).'/sitemaps.xml/" target="_blank" class="button"><span class="dashicons dashicons-share-alt2"></span>'.__('Ping Google manually','wp-seopress').'</a>';
2806
  echo '&nbsp;';
2807
+ echo '<button type="button" id="seopress-flush-permalinks" class="button"><span class="dashicons dashicons-admin-links"></span>'.__('Flush permalinks','wp-seopress').'</button>';
2808
  echo '<span class="spinner"></span>';
2809
  }
2810
 
4148
  {
4149
  $options = get_option( 'seopress_social_option_name' );
4150
 
4151
+ $options_set = isset($options['seopress_social_knowledge_img']) ? esc_attr($options['seopress_social_knowledge_img']) : NULL;
4152
 
4153
+ $check = isset($options['seopress_social_knowledge_img']);
4154
 
4155
  echo '<input id="seopress_social_knowledge_img_meta" type="text" value="'.$options_set.'" name="seopress_social_option_name[seopress_social_knowledge_img]" aria-label="'.__('Your photo/organization logo','wp-seopress').'" placeholder="'.esc_html__('Select your logo','wp-seopress').'" />
4156
 
4174
  }
4175
  echo '<br>';
4176
  echo '<br>';
4177
+ echo '<img style="width:200px;max-height:300px;" src="'.esc_attr(seopress_social_knowledge_img_option()).'"/>';
4178
  }
4179
 
4180
  public function seopress_social_knowledge_phone_callback()
4385
  {
4386
  $options = get_option( 'seopress_social_option_name' );
4387
 
4388
+ $options_set = isset($options['seopress_social_facebook_img']) ? esc_attr($options['seopress_social_facebook_img']) : NULL;
4389
 
4390
  $check = isset($options['seopress_social_facebook_img']);
4391
 
4497
  {
4498
  $options = get_option( 'seopress_social_option_name' );
4499
 
4500
+ $options_set = isset($options['seopress_social_twitter_card_img']) ? esc_attr($options['seopress_social_twitter_card_img']) : NULL;
4501
 
4502
  $check = isset($options['seopress_social_twitter_card_img']);
4503
 
inc/admin/adminbar.php CHANGED
@@ -41,7 +41,7 @@ function seopress_admin_bar_links() {
41
  $wp_admin_bar->add_menu( array(
42
  'parent' => 'seopress_custom_top_level',
43
  'id' => 'seopress_custom_sub_menu_google_analytics',
44
- 'title' => __( 'Google Analytics', 'wp-seopress' ),
45
  'href' => admin_url( 'admin.php?page=seopress-google-analytics' ),
46
  ));
47
  $wp_admin_bar->add_menu( array(
@@ -49,14 +49,22 @@ function seopress_admin_bar_links() {
49
  'id' => 'seopress_custom_sub_menu_advanced',
50
  'title' => __( 'Advanced', 'wp-seopress' ),
51
  'href' => admin_url( 'admin.php?page=seopress-advanced' ),
52
- ));
 
 
 
 
 
 
 
 
 
53
  $wp_admin_bar->add_menu( array(
54
  'parent' => 'seopress_custom_top_level',
55
  'id' => 'seopress_custom_sub_menu_import_export',
56
  'title' => __( 'Tools', 'wp-seopress' ),
57
  'href' => admin_url( 'admin.php?page=seopress-import-export' ),
58
  ));
59
- include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
60
  if ( is_plugin_active( 'wp-seopress-pro/seopress-pro.php' ) ) {
61
  if(seopress_get_toggle_option('bot')=='1') {
62
  $wp_admin_bar->add_menu( array(
41
  $wp_admin_bar->add_menu( array(
42
  'parent' => 'seopress_custom_top_level',
43
  'id' => 'seopress_custom_sub_menu_google_analytics',
44
+ 'title' => __( 'Analytics', 'wp-seopress' ),
45
  'href' => admin_url( 'admin.php?page=seopress-google-analytics' ),
46
  ));
47
  $wp_admin_bar->add_menu( array(
49
  'id' => 'seopress_custom_sub_menu_advanced',
50
  'title' => __( 'Advanced', 'wp-seopress' ),
51
  'href' => admin_url( 'admin.php?page=seopress-advanced' ),
52
+ ));
53
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
54
+ if ( is_plugin_active( 'wp-seopress-insights/seopress-insights.php' ) ) {
55
+ $wp_admin_bar->add_menu( array(
56
+ 'parent' => 'seopress_custom_top_level',
57
+ 'id' => 'seopress_custom_sub_menu_insights',
58
+ 'title' => __( 'Insights', 'wp-seopress' ),
59
+ 'href' => admin_url( 'admin.php?page=seopress-insights' ),
60
+ ));
61
+ }
62
  $wp_admin_bar->add_menu( array(
63
  'parent' => 'seopress_custom_top_level',
64
  'id' => 'seopress_custom_sub_menu_import_export',
65
  'title' => __( 'Tools', 'wp-seopress' ),
66
  'href' => admin_url( 'admin.php?page=seopress-import-export' ),
67
  ));
 
68
  if ( is_plugin_active( 'wp-seopress-pro/seopress-pro.php' ) ) {
69
  if(seopress_get_toggle_option('bot')=='1') {
70
  $wp_admin_bar->add_menu( array(
inc/admin/ajax.php CHANGED
@@ -5,417 +5,440 @@ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thank
5
  //Get real preview + content analysis
6
  ///////////////////////////////////////////////////////////////////////////////////////////////////
7
  function seopress_do_real_preview() {
8
- check_ajax_referer( 'seopress_real_preview_nonce', $_GET['_ajax_nonce'], true );
9
-
10
- if ( current_user_can( 'edit_posts' ) && is_admin() ) {
11
-
12
- //Get cookies
13
- if (isset($_COOKIE)) {
14
- $cookies = array();
15
-
16
- foreach ( $_COOKIE as $name => $value ) {
17
- if ( 'PHPSESSID' !== $name ) {
18
- $cookies[] = new WP_Http_Cookie( ['name' => $name, 'value' => $value] );
19
- }
20
- }
21
- }
22
-
23
- //Get post id
24
- if ( isset( $_GET['post_id'] ) ) {
25
- $seopress_get_the_id = $_GET['post_id'];
26
- }
27
-
28
- if (get_post_meta($seopress_get_the_id,'_seopress_redirections_enabled',true) =='yes') {
29
- $data['title'] = __('A redirect is active for this URL. Turn it off to get the Google preview and content analysis.', 'wp-seopress');
30
- } else {
31
- //Get cookies
32
- if (isset($_COOKIE)) {
33
- $cookies = [];
34
-
35
- foreach ( $_COOKIE as $name => $value ) {
36
- if ( 'PHPSESSID' !== $name ) {
37
- $cookies[] = new WP_Http_Cookie( [ 'name' => $name, 'value' => $value ] );
38
- }
39
- }
40
- }
41
-
42
- //Get post type
43
- if ( isset( $_GET['post_type'] ) ) {
44
- $seopress_get_post_type = $_GET['post_type'];
45
- }
46
-
47
- //Origin
48
- if ( isset( $_GET['origin'] ) ) {
49
- $seopress_origin = $_GET['origin'];
50
- }
51
-
52
- //Tax name
53
- if ( isset( $_GET['tax_name'] ) ) {
54
- $seopress_tax_name = $_GET['tax_name'];
55
- }
56
-
57
- //Init
58
- $title = '';
59
- $meta_desc = '';
60
- $data = [];
61
-
62
- //Save Target KWs
63
- if(isset($_GET['seopress_analysis_target_kw'])) {
64
- delete_post_meta($seopress_get_the_id, '_seopress_analysis_target_kw');
65
- update_post_meta($seopress_get_the_id, '_seopress_analysis_target_kw', sanitize_text_field($_GET['seopress_analysis_target_kw']));
66
- }
67
-
68
- //DOM
69
- $dom = new DOMDocument();
70
- $internalErrors = libxml_use_internal_errors(true);
71
- $dom->preserveWhiteSpace = false;
72
-
73
- //Get source code
74
- $args = array(
75
- 'blocking' => true,
76
- 'timeout' => 30,
77
- 'sslverify' => false,
78
- );
79
-
80
- if (isset($cookies) && !empty($cookies)) {
81
- $args['cookies'] = $cookies;
82
- }
83
-
84
- $args = apply_filters('seopress_real_preview_remote', $args);
85
-
86
- $data['title'] = $cookies;
87
-
88
- if ($seopress_origin =='post') { //Default: post type
89
- $response = wp_remote_get(get_preview_post_link((int)$seopress_get_the_id,array('no_admin_bar' => 1)), $args);
90
- } else { //Term taxonomy
91
- $response = wp_remote_get(get_term_link((int)$seopress_get_the_id, $seopress_tax_name), $args);
92
- }
93
- //Check for error
94
- if ( is_wp_error( $response ) || wp_remote_retrieve_response_code($response) =='404' ) {
95
- $data['title'] = __('To get your Google snippet preview, publish your post!', 'wp-seopress');
96
- } else {
97
- $response = wp_remote_retrieve_body($response);
98
-
99
- if($dom->loadHTML('<?xml encoding="utf-8" ?>' .$response)) {
100
-
101
- $data = get_post_meta($seopress_get_the_id, '_seopress_analysis_data', true) ? get_post_meta($seopress_get_the_id, '_seopress_analysis_data', true) : $data = [];
102
-
103
- //Get post content (used for Words counter)
104
- $seopress_get_the_content = apply_filters('the_content', get_post_field('post_content', $seopress_get_the_id));
105
-
106
- //Themify compatibility
107
- if ( defined( 'THEMIFY_DIR' ) ) {
108
- $seopress_get_the_content = get_post_field('post_content', $seopress_get_the_id);
109
- }
110
-
111
- $seopress_get_the_content = apply_filters('seopress_content_analysis_content', $seopress_get_the_content, $seopress_get_the_id);
112
-
113
- //Get Target Keywords
114
- if(isset($_GET['seopress_analysis_target_kw']) && !empty($_GET['seopress_analysis_target_kw'])) {
115
- $data['target_kws'] = strtolower($_GET['seopress_analysis_target_kw']);
116
- $seopress_analysis_target_kw = array_filter(explode(',', strtolower(get_post_meta($seopress_get_the_id,'_seopress_analysis_target_kw',true))));
117
- }
118
- $xpath = new DOMXPath($dom);
119
-
120
- //Title
121
- $list = $dom->getElementsByTagName("title");
122
- if ($list->length > 0) {
123
- $title = $list->item(0)->textContent;
124
- $data['title'] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($title)));
125
- if(isset($_GET['seopress_analysis_target_kw']) && !empty($_GET['seopress_analysis_target_kw'])) {
126
- foreach ($seopress_analysis_target_kw as $kw) {
127
- if (preg_match_all('#\b('.$kw.')\b#iu', $data['title'], $m)) {
128
- $data['meta_title']['matches'][$kw][] = $m[0];
129
- }
130
- }
131
- }
132
- }
133
-
134
- //Meta desc
135
- $meta_description = $xpath->query('//meta[@name="description"]/@content');
136
-
137
- foreach ($meta_description as $key=>$mdesc) {
138
- $data['meta_desc'] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses(wp_strip_all_tags($mdesc->nodeValue))));
139
- }
140
-
141
- if(isset($_GET['seopress_analysis_target_kw']) && !empty($_GET['seopress_analysis_target_kw'])) {
142
- if (!empty($meta_description)) {
143
- foreach ($meta_description as $meta_desc) {
144
- foreach ($seopress_analysis_target_kw as $kw) {
145
- if (preg_match_all('#\b('.$kw.')\b#iu', $meta_desc->nodeValue, $m)) {
146
- $data['meta_description']['matches'][$kw][] = $m[0];
147
- }
148
- }
149
- }
150
- }
151
- }
152
-
153
- //OG:title
154
- $og_title = $xpath->query('//meta[@property="og:title"]/@content');
155
-
156
- if (!empty($og_title)) {
157
- $data['og_title']['count'] = count($og_title);
158
- foreach ($og_title as $key=>$mogtitle) {
159
- $data['og_title']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mogtitle->nodeValue)));
160
- }
161
- }
162
-
163
- //OG:description
164
- $og_desc = $xpath->query('//meta[@property="og:description"]/@content');
165
-
166
- if (!empty($og_desc)) {
167
- $data['og_desc']['count'] = count($og_desc);
168
- foreach ($og_desc as $key=>$mog_desc) {
169
- $data['og_desc']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_desc->nodeValue)));
170
- }
171
- }
172
-
173
- //OG:image
174
- $og_img = $xpath->query('//meta[@property="og:image"]/@content');
175
-
176
- if (!empty($og_img)) {
177
- $data['og_img']['count'] = count($og_img);
178
- foreach ($og_img as $key=>$mog_img) {
179
- $data['og_img']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_img->nodeValue)));
180
- }
181
- }
182
-
183
- //OG:url
184
- $og_url = $xpath->query('//meta[@property="og:url"]/@content');
185
-
186
- if (!empty($og_url)) {
187
- $data['og_url']['count'] = count($og_url);
188
- foreach ($og_url as $key=>$mog_url) {
189
- $url = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_url->nodeValue)));
190
- $data['og_url']['values'][] = $url;
191
- $url = wp_parse_url($url);
192
- $data['og_url']['host'] = $url['host'];
193
- }
194
- }
195
-
196
- //OG:site_name
197
- $og_site_name = $xpath->query('//meta[@property="og:site_name"]/@content');
198
-
199
- if (!empty($og_site_name)) {
200
- $data['og_site_name']['count'] = count($og_site_name);
201
- foreach ($og_site_name as $key=>$mog_site_name) {
202
- $data['og_site_name']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_site_name->nodeValue)));
203
- }
204
- }
205
-
206
- //Twitter:title
207
- $tw_title = $xpath->query('//meta[@name="twitter:title"]/@content');
208
-
209
- if (!empty($tw_title)) {
210
- $data['tw_title']['count'] = count($tw_title);
211
- foreach ($tw_title as $key=>$mtw_title) {
212
- $data['tw_title']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_title->nodeValue)));
213
- }
214
- }
215
-
216
- //Twitter:description
217
- $tw_desc = $xpath->query('//meta[@name="twitter:description"]/@content');
218
-
219
- if (!empty($tw_desc)) {
220
- $data['tw_desc']['count'] = count($tw_desc);
221
- foreach ($tw_desc as $key=>$mtw_desc) {
222
- $data['tw_desc']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_desc->nodeValue)));
223
- }
224
- }
225
-
226
- //Twitter:image
227
- $tw_img = $xpath->query('//meta[@name="twitter:image"]/@content');
228
-
229
- if (!empty($tw_img)) {
230
- $data['tw_img']['count'] = count($tw_img);
231
- foreach ($tw_img as $key=>$mtw_img) {
232
- $data['tw_img']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_img->nodeValue)));
233
- }
234
- }
235
-
236
- //Twitter:image:src
237
- $tw_img = $xpath->query('//meta[@name="twitter:image:src"]/@content');
238
-
239
- if (!empty($tw_img)) {
240
- $count = NULL;
241
- if (!empty($data['tw_img']['count'])) {
242
- $count = $data['tw_img']['count'];
243
- }
244
-
245
- $data['tw_img']['count'] = count($tw_img) + $count;
246
-
247
- foreach ($tw_img as $key=>$mtw_img) {
248
- $data['tw_img']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_img->nodeValue)));
249
- }
250
- }
251
-
252
- //Canonical
253
- $canonical = $xpath->query('//link[@rel="canonical"]/@href');
254
-
255
- foreach ($canonical as $key=>$mcanonical) {
256
- $data['canonical'] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mcanonical->nodeValue)));
257
- }
258
-
259
- if(isset($_GET['seopress_analysis_target_kw']) && !empty($_GET['seopress_analysis_target_kw'])) {
260
- //h1
261
- $h1 = $xpath->query("//h1");
262
- if (!empty($h1)) {
263
- $data['h1']['nomatches']['count'] = count($h1);
264
- foreach ($h1 as $heading1) {
265
- foreach ($seopress_analysis_target_kw as $kw) {
266
- if (preg_match_all('#\b('.$kw.')\b#iu', $heading1->nodeValue, $m)) {
267
- $data['h1']['matches'][$kw][] = $m[0];
268
- }
269
- }
270
- $data['h1']['values'][] = esc_attr($heading1->nodeValue);
271
- }
272
- }
273
-
274
- //h2
275
- $h2 = $xpath->query("//h2");
276
- if (!empty($h2)) {
277
- foreach ($h2 as $heading2) {
278
- foreach ($seopress_analysis_target_kw as $kw) {
279
- if (preg_match_all('#\b('.$kw.')\b#iu', $heading2->nodeValue, $m)) {
280
- $data['h2']['matches'][$kw][] = $m[0];
281
- }
282
- }
283
- }
284
- }
285
-
286
- //h3
287
- $h3 = $xpath->query("//h3");
288
- if (!empty($h3)) {
289
- foreach ($h3 as $heading3) {
290
- foreach ($seopress_analysis_target_kw as $kw) {
291
- if (preg_match_all('#\b('.$kw.')\b#iu', $heading3->nodeValue, $m)) {
292
- $data['h3']['matches'][$kw][] = $m[0];
293
- }
294
- }
295
- }
296
- }
297
-
298
- //Keywords density
299
- if (!is_plugin_active('oxygen/functions.php') && !function_exists('ct_template_output')) { //disable for Oxygen
300
- foreach ($seopress_analysis_target_kw as $kw) {
301
- if (preg_match_all('#\b('.$kw.')\b#iu', strip_tags(wp_filter_nohtml_kses($seopress_get_the_content)), $m)) {
302
- $data['kws_density']['matches'][$kw][] = $m[0];
303
- }
304
- }
305
- }
306
-
307
- //Keywords in permalink
308
- $post = get_post($seopress_get_the_id);
309
- $kw_slug = urldecode($post->post_name);
310
- $kw_slug = str_replace("-", " ", $kw_slug);
311
-
312
- if (isset($kw_slug)) {
313
- foreach ($seopress_analysis_target_kw as $kw) {
314
- if (preg_match_all('#\b('.remove_accents($kw).')\b#iu', strip_tags(wp_filter_nohtml_kses($kw_slug)), $m)) {
315
- $data['kws_permalink']['matches'][$kw][] = $m[0];
316
- }
317
- }
318
- }
319
- }
320
-
321
- //Images
322
- /*Standard images*/
323
- $imgs = $xpath->query("//img");
324
-
325
- if (!empty($imgs) && $imgs !=NULL) {
326
- //init
327
- $data_img = array();
328
- foreach ($imgs as $img) {
329
- if ($img->hasAttribute('src')) {
330
- if ($img->hasAttribute('width') || $img->hasAttribute('height')) {
331
- if ($img->getAttribute('width') > 1 || $img->getAttribute('height') > 1) {
332
- if ($img->getAttribute('alt') ==='' || !$img->hasAttribute('alt')) {//if alt is empty or doesn't exist
333
- $data_img[] .= $img->getAttribute('src');
334
- }
335
- }
336
- } elseif ($img->getAttribute('alt') ==='' || !$img->hasAttribute('alt')) {//if alt is empty or doesn't exist
337
- $img_src = download_url($img->getAttribute('src'));
338
- if (is_wp_error($img_src) === false) {
339
- if (filesize($img_src) > 100) {//Ignore files under 100 bytes
340
- $data_img[] .= $img->getAttribute('src');
341
- }
342
- @unlink($img_src);
343
- }
344
- }
345
- }
346
- $data['img']['images'] = $data_img;
347
- }
348
- }
349
-
350
- //Meta robots
351
- $meta_robots = $xpath->query('//meta[@name="robots"]/@content');
352
- if (!empty($meta_robots)) {
353
- foreach ($meta_robots as $key=>$value) {
354
- $data['meta_robots'][$key][] = esc_attr($value->nodeValue);
355
- }
356
- }
357
-
358
- //Meta google noimageindex / nositelinkssearchbox
359
- $meta_google = $xpath->query('//meta[@name="google"]/@content');
360
- if (!empty($meta_google)) {
361
- foreach ($meta_google as $key=>$mgnoimg) {
362
- $data['meta_google'][$key][] = esc_attr($mgnoimg->nodeValue);
363
- }
364
- }
365
-
366
- //nofollow links
367
- $nofollow_links = $xpath->query("//a[contains(@rel, 'nofollow')]");
368
- if (!empty($nofollow_links)) {
369
- foreach ($nofollow_links as $key=>$link) {
370
- $data['nofollow_links'][$key][$link->getAttribute('href')] = esc_attr($link->nodeValue);
371
- }
372
- }
373
- }
374
-
375
- //outbound links
376
- $site_url = wp_parse_url(get_home_url(), PHP_URL_HOST);
377
- $outbound_links = $xpath->query("//a[not(contains(@href, '".$site_url."'))]");
378
- if (!empty($outbound_links)) {
379
- foreach ($outbound_links as $key=>$link) {
380
- if (!empty(wp_parse_url($link->getAttribute('href'), PHP_URL_HOST))) {
381
- $data['outbound_links'][$key][$link->getAttribute('href')] = esc_attr($link->nodeValue);
382
- }
383
- }
384
- }
385
-
386
- //Words Counter
387
- if (!is_plugin_active('oxygen/functions.php') && !function_exists('ct_template_output')) { //disable for Oxygen
388
- if ($seopress_get_the_content !='') {
389
- $data['words_counter'] = preg_match_all("/\p{L}[\p{L}\p{Mn}\p{Pd}'\x{2019}]*/u", strip_tags(wp_filter_nohtml_kses($seopress_get_the_content)), $matches);
390
-
391
- $words_counter_unique = count(array_unique($matches[0]));
392
- $data['words_counter_unique'] = $words_counter_unique;
393
- }
394
- }
395
-
396
- //Get schemas
397
- $json_ld = $xpath->query( '//script[@type="application/ld+json"]' );
398
- if (!empty($json_ld)) {
399
- foreach($json_ld as $node) {
400
- $json = json_decode($node->nodeValue, true);
401
- if (isset($json['@type'])) {
402
- $data['json'][] = $json['@type'];
403
- }
404
- }
405
- }
406
- }
407
-
408
- libxml_use_internal_errors($internalErrors);
409
- }
410
-
411
- //Send data
412
- if(isset($data)){
413
- update_post_meta($seopress_get_the_id, '_seopress_analysis_data', $data);
414
- }
415
-
416
- //Return
417
- wp_send_json_success($data);
418
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
419
  }
420
  add_action('wp_ajax_seopress_do_real_preview', 'seopress_do_real_preview');
421
 
@@ -423,8 +446,8 @@ add_action('wp_ajax_seopress_do_real_preview', 'seopress_do_real_preview');
423
  //Flush permalinks
424
  ///////////////////////////////////////////////////////////////////////////////////////////////////
425
  function seopress_flush_permalinks() {
426
- check_ajax_referer( 'seopress_flush_permalinks_nonce', $_GET['_ajax_nonce'], true );
427
- flush_rewrite_rules();
428
  die();
429
  }
430
  add_action('wp_ajax_seopress_flush_permalinks', 'seopress_flush_permalinks');
@@ -433,7 +456,7 @@ add_action('wp_ajax_seopress_flush_permalinks', 'seopress_flush_permalinks');
433
  //Dashboard toggle features
434
  ///////////////////////////////////////////////////////////////////////////////////////////////////
435
  function seopress_toggle_features() {
436
- check_ajax_referer( 'seopress_toggle_features_nonce', $_POST['_ajax_nonce'], true );
437
 
438
  if ( isset( $_POST['feature']) && isset( $_POST['feature_value'] )) {
439
  $seopress_toggle_options = get_option('seopress_toggle');
@@ -448,14 +471,14 @@ add_action('wp_ajax_seopress_toggle_features', 'seopress_toggle_features');
448
  //Dashboard hide notices
449
  ///////////////////////////////////////////////////////////////////////////////////////////////////
450
  function seopress_hide_notices() {
451
- check_ajax_referer( 'seopress_hide_notices_nonce', $_POST['_ajax_nonce'], true );
452
-
453
- if ( isset( $_POST['notice']) && isset( $_POST['notice_value'] )) {
454
- $seopress_notices_options = get_option('seopress_notices');
455
- $seopress_notices_options[$_POST['notice']] = $_POST['notice_value'];
456
- update_option('seopress_notices', $seopress_notices_options, 'yes');
457
- }
458
- die();
459
  }
460
  add_action('wp_ajax_seopress_hide_notices', 'seopress_hide_notices');
461
 
@@ -463,150 +486,150 @@ add_action('wp_ajax_seopress_hide_notices', 'seopress_hide_notices');
463
  //Yoast migration
464
  ///////////////////////////////////////////////////////////////////////////////////////////////////
465
  function seopress_yoast_migration() {
466
- check_ajax_referer( 'seopress_yoast_migrate_nonce', $_POST['_ajax_nonce'], true );
467
-
468
- if ( current_user_can( seopress_capability( 'manage_options', 'migration' ) && is_admin() ) ) {
469
-
470
- if ( isset( $_POST['offset']) && isset( $_POST['offset'] )) {
471
- $offset = absint($_POST['offset']);
472
- }
473
-
474
- global $wpdb;
475
-
476
- $total_count_posts = (int)$wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts}" );
477
-
478
- $increment = 200;
479
- global $post;
480
-
481
- if ($offset > $total_count_posts) {
482
- wp_reset_query();
483
-
484
- $yoast_query_terms = get_option('wpseo_taxonomy_meta');
485
-
486
- if ($yoast_query_terms) {
487
-
488
- foreach ($yoast_query_terms as $taxonomies => $taxonomie) {
489
- foreach ($taxonomie as $term_id => $term_value) {
490
- if ($term_value['wpseo_title'] !='') { //Import title tag
491
- update_term_meta($term_id, '_seopress_titles_title', $term_value['wpseo_title']);
492
- }
493
- if ($term_value['wpseo_desc'] !='') { //Import meta desc
494
- update_term_meta($term_id, '_seopress_titles_desc', $term_value['wpseo_desc']);
495
- }
496
- if ($term_value['wpseo_opengraph-title'] !='') { //Import Facebook Title
497
- update_term_meta($term_id, '_seopress_social_fb_title', $term_value['wpseo_opengraph-title']);
498
- }
499
- if ($term_value['wpseo_opengraph-description'] !='') { //Import Facebook Desc
500
- update_term_meta($term_id, '_seopress_social_fb_desc', $term_value['wpseo_opengraph-description']);
501
- }
502
- if ($term_value['wpseo_opengraph-image'] !='') { //Import Facebook Image
503
- update_term_meta($term_id, '_seopress_social_fb_img', $term_value['wpseo_opengraph-image']);
504
- }
505
- if ($term_value['wpseo_twitter-title'] !='') { //Import Twitter Title
506
- update_term_meta($term_id, '_seopress_social_twitter_title', $term_value['wpseo_twitter-title']);
507
- }
508
- if ($term_value['wpseo_twitter-description'] !='') { //Import Twitter Desc
509
- update_term_meta($term_id, '_seopress_social_twitter_desc', $term_value['wpseo_twitter-description']);
510
- }
511
- if ($term_value['wpseo_twitter-image'] !='') { //Import Twitter Image
512
- update_term_meta($term_id, '_seopress_social_twitter_img', $term_value['wpseo_twitter-image']);
513
- }
514
- if ($term_value['wpseo_noindex'] =='noindex') { //Import Robots NoIndex
515
- update_term_meta($term_id, '_seopress_robots_index', "yes");
516
- }